def exported
bendvy-ecs-core@0.1.0.3 · execution_save_world.bend:22
import bendvy-ecs-core@0.1.0.3/execution_save_world.bend as ExecutionSaveWorld
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_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_save_metadata.bend as Metadata
import bendvy-ecs-core@0.1.0.3/execution_save_gate.bend as Gate
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
22def exported(~S:Data,~cp:Plan.Plan,~rp:Plan.Plan,~E:Data,componentRecipes:Plan.Recipes(~S,cp),columns:Layout.columns(~S,Plan.layout(cp)),rest:Remainder<S,Layout.columns(~S,Plan.layout(cp)),Layout.resources(~S,Plan.layout(rp)),E>,metadata:Metadata.Metadata<S>,rows:List<&2,Saved.Entity>,result:Plan.Recipes(~S,rp) & (Layout.resources(~S,Plan.layout(rp)) & Saved.Fields)) -> Plan.Schema<S,cp,rp> & (W.World<S,Layout.columns(~S,Plan.layout(cp)),Layout.resources(~S,Plan.layout(rp)),E> & Gate.Outcome<Saved.Snapshot<S>,Recipe.Refusal>):
23 match result:
24 case (resourceRecipes,(resources,Saved.Fields{_,Some{error}})):(Plan.Schema{componentRecipes,resourceRecipes},(assembled(~S,~Layout.columns(~S,Plan.layout(cp)),~Layout.resources(~S,Plan.layout(rp)),~E,rest,columns,resources),Gate.Refused{error}))
25 case (resourceRecipes,(resources,Saved.Fields{fields,None{}})):(Plan.Schema{componentRecipes,resourceRecipes},(assembled(~S,~Layout.columns(~S,Plan.layout(cp)),~Layout.resources(~S,Plan.layout(rp)),~E,rest,columns,resources),Gate.Saved{Saved.Snapshot{2,metadata,rows,fields}}))