def start
import bendvy-ecs-core@0.1.0.4/ordinary_app_event_family_runtime.bend as OrdinaryAppEventFamilyRuntimeimport Base
import bendvy-ecs-core@0.1.0.4/ordinary_event_family.bend as Family
import bendvy-ecs-core@0.1.0.4/event_family_runtime.bend as FamilyRuntime
import bendvy-ecs-core@0.1.0.4/world.bend as W
import bendvy-ecs-core@0.1.0.4/ordinary_app_schema.bend as SchemaApp
import bendvy-ecs-core@0.1.0.4/ordinary_app_composer.bend as Build
import bendvy-ecs-core@0.1.0.4/ordinary_app_registration_fields.bend as Records
import bendvy-ecs-core@0.1.0.4/ordinary_app_observation_data.bend as DTO
38# Initialize the supplied canonical family provision with capacity and actual event
39# owners, retaining the schema App World/registrations/observer/debug. This starts
40# family storage/journal state; it does not register or execute gameplay readers.
41def start(~S:Data,~C:Type,~R:Type,~P:Data,~Domains:Data,~Leaves:Type,~EventOwners:Type,~make:Domains -> Nat -> Leaves,~sync:Leaves -> Nat -> List<&2,P> -> Leaves,~frame:Leaves -> Nat -> Leaves,~retain:Leaves -> Nat -> List<&2,P> -> Leaves & List<&2,P>,~inventory:Leaves -> Leaves & List<&2,String>,~Owners:Type,~Rows:Data,~observe:W.World<S,C,R,P> -> W.World<S,C,R,P> & DTO.Observation<Rows>,~fold:Owners -> Owners & List<&2,Records.Fields<S>>,provision:Family.Provision<S,P,Domains,Leaves,make,sync,frame,retain,inventory>,events:EventOwners,capacity:Nat,value:SchemaApp.Application<S,C,R,P,Owners,Rows,observe,fold>) -> Application<S,C,R,P,FamilyRuntime.State<P,Leaves,EventOwners>,Owners,Rows,observe,fold>:
42 match value:
43 case SchemaApp.Application{schema,Build.Registered{world,owners,recipe,debug}}:Application{schema,FamilyRuntime.setup(~S,~C,~R,~P,~Domains,~Leaves,~EventOwners,~make,~sync,~frame,~retain,~inventory,world,provision,events,capacity),owners,recipe,debug}
Uses (13)
Used by (0)
No other definition uses this definition.