def run

bendvy-ecs-core@0.1.0.3 · execution_relation_buffer.bend:23

import bendvy-ecs-core@0.1.0.3/execution_relation_buffer.bend as ExecutionRelationBuffer
import Base
import bendvy-ecs-core@0.1.0.3/execution_command_buffer.bend as Buffer
import bendvy-ecs-core@0.1.0.3/execution_relation_context.bend as Context
import bendvy-ecs-core@0.1.0.3/execution_relation_resource_dispatch.bend as Dispatch
import bendvy-ecs-core@0.1.0.3/execution_relation_world_publication.bend as Publication
import bendvy-ecs-core@0.1.0.3/execution_relation_operation.bend as Operation
import bendvy-ecs-core@0.1.0.3/execution_composer_layout.bend as Layout
import bendvy-ecs-core@0.1.0.3/change_tick.bend as Tick
import bendvy-ecs-core@0.1.0.3/world.bend as W

23# The only callable program is generated by the same closed declaration's grant
24# factory. It consumes canonical resources, never a user-supplied World callback.
25def run(~S:Data,~C:Type,~WR:Type,~E:Data,~P:Type,~D:Type,~resources:Layout.Layout,~same:{WR == Layout.resources(~S,resources) : Type},~program:Dispatch.Program(~S,~resources),context:Context.Context<S,WR,resources,same>,+route:Layout.Route,operation:Operation.Operation<S>,world:W.World<S,C,WR,E>,tick:Tick.Tick) -> W.World<S,C,WR,E> & Buffer.Receipt<S,P,D>:
26  match context world:
27    case Context.Context{expected} W.World{+namespace,allocator,columns,owners,events,pending,registrations,nextSystem,clock,lifecycle}:restored(S,C,WR,E,P,D,Layout.resources(~S,resources),same,route,Publication.Frame{namespace,columns,events,pending,registrations,nextSystem,clock,lifecycle},program(expected,namespace,allocator,Layout.checked_owner(WR,Layout.resources(~S,resources),same,owners),route,operation,tick))

Uses (13)

Used by (1)