def start
import bendvy-ecs-core@0.1.0.4/ordinary_app_event_notice_runtime.bend as OrdinaryAppEventNoticeRuntimeimport Base
import bendvy-ecs-core@0.1.0.4/event_notice_runtime.bend as Mixed
import bendvy-ecs-core@0.1.0.4/relation_commands.bend as Notice
import bendvy-ecs-core@0.1.0.4/ordinary_event_family.bend as Family
import bendvy-ecs-core@0.1.0.4/ordinary_app_event_family_runtime.bend as App
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
import bendvy-ecs-core@0.1.0.4/world.bend as W
15# Start a mixed typed-event/relation-notice runtime around the sole schema App
16# World. Canonical provision creates typed leaves; actual event owners and separate
17# failure-domain state are retained. This does not register/run a gameplay reader
18# or conflate typed publication ticks with failure-domain timing.
19def start(~S:Data,~C:Type,~R:Type,~P:Data,~D:Data,~F:Type,~H:Type,~make:D -> Nat -> F,~sync:F -> Nat -> List<&2,P> -> F,~frame:F -> Nat -> F,~retain:F -> Nat -> List<&2,P> -> F & List<&2,P>,~inventory:F -> F & List<&2,String>,~Owners:Type,~Rows:Data,~observe:W.World<S,C,R,Notice.Notice<S,P>> -> W.World<S,C,R,Notice.Notice<S,P>> & DTO.Observation<Rows>,~fold:Owners -> Owners & List<&2,Records.Fields<S>>,provision:Family.Provision<S,P,D,F,make,sync,frame,retain,inventory>,events:H,capacity:Nat,value:SchemaApp.Application<S,C,R,Notice.Notice<S,P>,Owners,Rows,observe,fold>) -> App.Application<S,C,R,Notice.Notice<S,P>,Mixed.State<S,P,F,H>,Owners,Rows,observe,fold>:
20 match provision value:
21 case Family.Provision{domains} SchemaApp.Application{schema,Build.Registered{world,owners,recipe,debug}}:App.Application{schema,Mixed.start(~S,~C,~R,~P,~F,~H,world,make(domains,capacity),events),owners,recipe,debug}
Uses (14)
Used by (0)
No other definition uses this definition.