def rows
bendvy-ecs-core@0.1.0.3 · execution_save_rows.bend:17
import bendvy-ecs-core@0.1.0.3/execution_save_rows.bend as ExecutionSaveRows
import Base
import bendvy-ecs-core@0.1.0.3/execution_save_plan.bend as Plan
import bendvy-ecs-core@0.1.0.3/execution_save_traversal.bend as Traverse
import bendvy-ecs-core@0.1.0.3/execution_save_data.bend as Saved
import bendvy-ecs-core@0.1.0.3/execution_save_recipe.bend as Recipe
import bendvy-ecs-core@0.1.0.3/execution_composer_layout.bend as Layout
import bendvy-ecs-core@0.1.0.3/world.bend as W
import bendvy-ecs-core@0.1.0.3/entity_key.bend as Key
17def rows(~S:Data,~plan:Plan.Plan,handles:List<&2,W.Handle<S>>,recipes:Plan.Recipes(~S,plan),columns:Layout.columns(~S,Plan.layout(plan))) -> Plan.Recipes(~S,plan) & (Layout.columns(~S,Plan.layout(plan)) & (List<&2,Saved.Entity> & Maybe<&2,Recipe.Refusal>)):
18 match handles:
19 case []:(recipes,(columns,([],None{})))
20 case W.Handle{_,+key} <> rest:projected(~S,~plan,key,recipes => columns => rows(~S,~plan,rest,recipes,columns),Traverse.components(~S,plan)(recipes,Key.index(key),columns))