OrdinarySystem.run: def of bendvy-ecs-core@0.1.0.4 Import: import bendvy-ecs-core@0.1.0.4/ordinary_system.bend as OrdinarySystem Lines 63-70 of bendvy-ecs-core@0.1.0.4/ordinary_system.bend: https://jend.leeeet.dev/read.txt?path=bendvy-ecs-core@0.1.0.4/ordinary_system.bend&start_line=63&end_line=70 import Base import bendvy-ecs-core@0.1.0.4/change_tick.bend as Tick import bendvy-ecs-core@0.1.0.4/ordinary_query_declaration.bend as Query import bendvy-ecs-core@0.1.0.4/compose.bend as Q import bendvy-ecs-core@0.1.0.4/world.bend as W import bendvy-ecs-core@0.1.0.4/system.bend as Sys import bendvy-ecs-core@0.1.0.4/transaction.bend as T # Execute the registered query using its retained lifecycle cursor. # Returns System.RunResult plus retained slot/clauses; Registry is inside # the RunResult and can be rewrapped as Owner. Success advances cursor to # the captured execution tick; completed failure consumes it too. Row transaction # rollback and deferred visibility follow Compose/explicit barriers. def run(~S:Data,~C:Type,~R:Type,~E:Data,~Ops:Type -> Type,~A:Data,~U:Data,~Out:Data,~query:Query.Declaration,Ops(Q.Frame)>,~body:@-H:Type -> @-caps:Ops(H) -> A -> H -> H & (T.Outcome & Out),owner:Owner,Q.Error,List<&2,Out>,runner(~S,~C,~R,~E,~Ops,~A,~U,~Out,~query,~body)>>,world:W.World,args:A) -> Sys.RunResult,Q.Error,List<&2,Out>,runner(~S,~C,~R,~E,~Ops,~A,~U,~Out,~query,~body)> & (String & List<&2,Query.Clause>): match owner: case Owner{registry,slot,clauses}:run_cursor(~S,~C,~R,~E,~Ops,~A,~U,~Out,~query,~body,slot,clauses,Sys.cursor(~S,~C,~R,~E,~(A & Maybe<&2,Tick.Tick>),~Q.Error,~List<&2,Out>,~runner(~S,~C,~R,~E,~Ops,~A,~U,~Out,~query,~body),registry),world,args) Uses (17): https://jend.leeeet.dev/definition.txt?path=Base/base.bend&name=List https://jend.leeeet.dev/definition.txt?path=Base/base.bend&name=Maybe https://jend.leeeet.dev/definition.txt?path=Base/base.bend&name=Pair https://jend.leeeet.dev/definition.txt?path=Base/base.bend&name=String https://jend.leeeet.dev/definition.txt?path=bendvy-ecs-core@0.1.0.4/change_tick.bend&name=Tick https://jend.leeeet.dev/definition.txt?path=bendvy-ecs-core@0.1.0.4/compose.bend&name=Error https://jend.leeeet.dev/definition.txt?path=bendvy-ecs-core@0.1.0.4/compose.bend&name=Frame https://jend.leeeet.dev/definition.txt?path=bendvy-ecs-core@0.1.0.4/ordinary_query_declaration.bend&name=Clause https://jend.leeeet.dev/definition.txt?path=bendvy-ecs-core@0.1.0.4/ordinary_query_declaration.bend&name=Declaration https://jend.leeeet.dev/definition.txt?path=bendvy-ecs-core@0.1.0.4/ordinary_system.bend&name=Owner https://jend.leeeet.dev/definition.txt?path=bendvy-ecs-core@0.1.0.4/ordinary_system.bend&name=run_cursor https://jend.leeeet.dev/definition.txt?path=bendvy-ecs-core@0.1.0.4/ordinary_system.bend&name=runner https://jend.leeeet.dev/definition.txt?path=bendvy-ecs-core@0.1.0.4/system.bend&name=Registry https://jend.leeeet.dev/definition.txt?path=bendvy-ecs-core@0.1.0.4/system.bend&name=RunResult https://jend.leeeet.dev/definition.txt?path=bendvy-ecs-core@0.1.0.4/system.bend&name=cursor https://jend.leeeet.dev/definition.txt?path=bendvy-ecs-core@0.1.0.4/transaction.bend&name=Outcome https://jend.leeeet.dev/definition.txt?path=bendvy-ecs-core@0.1.0.4/world.bend&name=World