def install

bendvy-ecs-core@0.1.0.3 · execution_reservation_materialization.bend:112

import bendvy-ecs-core@0.1.0.3/execution_reservation_materialization.bend as ExecutionReservationMaterialization
import Base
import bendvy-ecs-core@0.1.0.3/execution_reservation_bundle.bend as Bundle
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

112def install(~S:Data,layout:Layout.Layout) -> U32 -> Tick.Tick -> Layout.columns(~S,layout) -> Bundle.Payload(layout) -> Layout.columns(~S,layout) & Bundle.Payload(layout):
113  match layout:
114    case Layout.EmptyLayout{}:index => tick => store => bundle => (store,Unit{})
115    case Layout.LayoutLeaf{P,V,refresh,key,accessPolicy}:index => tick => slot => bundle => install_leaf(~S,P,V,refresh,key,Layout.LayoutLeaf{P,V,refresh,key,accessPolicy},index,tick,slot,bundle)
116    case Layout.ClassifiedLayoutLeaf{P,V,refresh,key,policy,accessPolicy}:index => tick => slot => bundle => install_leaf(~S,P,V,refresh,key,Layout.ClassifiedLayoutLeaf{P,V,refresh,key,policy,accessPolicy},index,tick,slot,bundle)
117    case Layout.LayoutPair{left,right}:index => tick => store => bundle => install_pair(~S,left,right,install(~S,left),install(~S,right),index,tick,store,bundle)

Uses (10)

Used by (1)