def whole_bound

bendvy-ecs-core@0.1.0.3 · execution_query_lifecycle.bend:39

import bendvy-ecs-core@0.1.0.3/execution_query_lifecycle.bend as ExecutionQueryLifecycle
import Base
import bendvy-ecs-core@0.1.0.3/execution_composer_layout.bend as L
import bendvy-ecs-core@0.1.0.3/execution_query_schema.bend as Schema
import bendvy-ecs-core@0.1.0.3/execution_query_recipe.bend as Recipe
import bendvy-ecs-core@0.1.0.3/execution_query_admission.bend as Admission
import bendvy-ecs-core@0.1.0.3/change_tick.bend as Tick

39def whole_bound(~S:Data,~layout:L.Layout,+info:List<&2,Schema.Info>,selection:Recipe.Bound,+index:U32,+prior:Maybe<&2,Tick.Tick>,+tick:Tick.Tick,owner:L.columns(~S,layout)) -> L.columns(~S,layout) & Bool:
40  match selection:
41    case Recipe.Changed{route}:whole_changed(~S,~layout,prior,tick,whole_stamp(~S,layout,route,owner,index))
42    case Recipe.And{left,right}:whole_rest(~S,~layout,True{},(owner => whole_bound(~S,~layout,info,right,index,prior,tick,owner)),whole_bound(~S,~layout,info,left,index,prior,tick,owner))
43    case Recipe.Or{left,right}:whole_rest(~S,~layout,False{},(owner => whole_bound(~S,~layout,info,right,index,prior,tick,owner)),whole_bound(~S,~layout,info,left,index,prior,tick,owner))
44    case selection:(owner,Admission.bound(info,selection,index))

Uses (15)

Used by (2)