def define_world

bendvy-ecs-core@0.1.0.4 · ordinary_reader_system.bend:245

import bendvy-ecs-core@0.1.0.4/ordinary_reader_system.bend as OrdinaryReaderSystem
import Base
import bendvy-ecs-core@0.1.0.4/change_tick.bend as Tick
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/reader_parameter.bend as RP

245def define_world(~S:Data,~C:Type,~R:Type,~E:Data,~Context:Type,~Meta:Type,~Reader:Type,~View:Data,~Delta:Type,~Args:Type,~Declaration:Type,~Failure:Data,~Output:Type,~Facts:Data,
246  ~validateFn:Context -> Reader -> Context & (Reader & Bool),~prepareFn:Context -> @+cursor:Maybe<&2,Tick.Tick> -> Reader -> Context & (Reader & (View & Delta)),~commitFn:Context -> Reader -> Delta -> @+cursor:Tick.Tick -> Context & Reader,~releaseFn:Context -> Reader -> Context,
247  ~split:Context -> W.World<S,C,R,E> & Meta,~join:W.World<S,C,R,E> -> Meta -> Context,
248  ~runner:W.World<S,C,R,E> -> Invocation<Meta,Reader,RP.Param<Context,Reader,View,Delta,validateFn,prepareFn,commitFn,releaseFn>,Declaration,Args> -> Sys.Outcome<W.World<S,C,R,E>,Empty,Envelope<Meta,Reader,RP.Param<Context,Reader,View,Delta,validateFn,prepareFn,commitFn,releaseFn>,Declaration,Failure,Output>>,
249  ~factsFn:Sys.Registry<S,C,R,E,Invocation<Meta,Reader,RP.Param<Context,Reader,View,Delta,validateFn,prepareFn,commitFn,releaseFn>,Declaration,Args>,Empty,Envelope<Meta,Reader,RP.Param<Context,Reader,View,Delta,validateFn,prepareFn,commitFn,releaseFn>,Declaration,Failure,Output>,runner> -> Sys.Registry<S,C,R,E,Invocation<Meta,Reader,RP.Param<Context,Reader,View,Delta,validateFn,prepareFn,commitFn,releaseFn>,Declaration,Args>,Empty,Envelope<Meta,Reader,RP.Param<Context,Reader,View,Delta,validateFn,prepareFn,commitFn,releaseFn>,Declaration,Failure,Output>,runner> & Facts,
250  ~initialize:Context -> Facts -> Context & (Reader & RP.Param<Context,Reader,View,Delta,validateFn,prepareFn,commitFn,releaseFn>),
251  descriptor:RP.Param<Context,Reader,View,Delta,validateFn,prepareFn,commitFn,releaseFn>,declaration:Declaration,name:String,access:List<&2,String>,parts:W.World<S,C,R,E> & Meta) -> Definition<Context,Provider<Sys.Registry<S,C,R,E,Invocation<Meta,Reader,RP.Param<Context,Reader,View,Delta,validateFn,prepareFn,commitFn,releaseFn>,Declaration,Args>,Empty,Envelope<Meta,Reader,RP.Param<Context,Reader,View,Delta,validateFn,prepareFn,commitFn,releaseFn>,Declaration,Failure,Output>,runner>,Reader,RP.Param<Context,Reader,View,Delta,validateFn,prepareFn,commitFn,releaseFn>,Declaration>,RP.Param<Context,Reader,View,Delta,validateFn,prepareFn,commitFn,releaseFn>,Declaration>:
252  match parts:
253    case (world,meta):registered_parts(~S,~C,~R,~E,~Context,~Meta,~Reader,~View,~Delta,~Args,~Declaration,~Failure,~Output,~Facts,~validateFn,~prepareFn,~commitFn,~releaseFn,~split,~join,~runner,~factsFn,~initialize,descriptor,declaration,meta,Sys.register(~S,~C,~R,~E,~(Invocation<Meta,Reader,RP.Param<Context,Reader,View,Delta,validateFn,prepareFn,commitFn,releaseFn>,Declaration,Args>),~Empty,~Envelope<Meta,Reader,RP.Param<Context,Reader,View,Delta,validateFn,prepareFn,commitFn,releaseFn>,Declaration,Failure,Output>,~runner,world,name,access))

Uses (18)

Used by (1)