def column_put
bendvy-ecs-core@0.1.0.3 · execution_composer_layout.bend:141
import bendvy-ecs-core@0.1.0.3/execution_composer_layout.bend as ExecutionComposerLayout
import Base
import bendvy-ecs-core@0.1.0.3/owner_product.bend as Product
141def column_put(~S:Data,layout:Layout,route:Route,rest:column_rest(~S,layout,route),slot:ColumnSlot<S,stored(layout,route),key(layout,route),origin(layout,route)>) -> columns(~S,layout):
142 match layout route rest:
143 case EmptyLayout{} _ rest:rest
144 case LayoutLeaf{P,V,_,key,_} AtLeaf{} _:slot
145 case ClassifiedLayoutLeaf{P,V,_,key,_,_} AtLeaf{} _:slot
146 case LayoutLeaf{P,V,_,key,_} InLeft{_} rest:rest
147 case ClassifiedLayoutLeaf{P,V,_,key,_,_} InLeft{_} rest:rest
148 case LayoutLeaf{P,V,_,key,_} InRight{_} rest:rest
149 case ClassifiedLayoutLeaf{P,V,_,key,_,_} InRight{_} rest:rest
150 case LayoutPair{left,right} AtLeaf{} rest:rest
151 case LayoutPair{left,right} InLeft{path}, (outer,inner):Product.Owner{column_put(~S,left,path,inner,slot),outer}
152 case LayoutPair{left,right} InRight{path}, (outer,inner):Product.Owner{outer,column_put(~S,right,path,inner,slot)}