def save
import bendvy-ecs-core@0.1.0.4/restore_graph_save.bend as RestoreGraphSaveimport Base
import bendvy-ecs-core@0.1.0.4/restore_graph_data.bend as R
import bendvy-ecs-core@0.1.0.4/world.bend as W
import bendvy-ecs-core@0.1.0.4/relation_commands.bend as Relation
import bendvy-ecs-core@0.1.0.4/owner_product.bend as Product
import bendvy-ecs-core@0.1.0.4/decode_data.bend as D
import bendvy-ecs-core@0.1.0.4/snapshot_data.bend as Basic
import bendvy-ecs-core@0.1.0.4/relation_failure_reader.bend as Ordinary
45# Save graph and committed machine values only after structural admission.
46# RefusedPending preserves World and skips even saveBasic/readMachines callbacks.
47# Separate queued machine transitions remain outside this committed-value snapshot;
48# this operation neither rejects them nor applies a machine marker/barrier.
49def save(~S:Data,~C:Type,~Resources:Type,~Machines:Type,~E:Data,~readMachines:Machines -> Machines & List<&2,D.Field>,~saveBasic:W.World<S,Relation.Store<S,C>,Product.Owner<Resources,Machines>,E> -> W.World<S,Relation.Store<S,C>,Product.Owner<Resources,Machines>,E> & Basic.Outcome<Basic.Snapshot>,declarations:List<&2,Ordinary.Declaration<S>>,world:W.World<S,Relation.Store<S,C>,Product.Owner<Resources,Machines>,E>) -> W.World<S,Relation.Store<S,C>,Product.Owner<Resources,Machines>,E> & Basic.Outcome<R.Snapshot>:
50 save_ready(~S,~C,~Resources,~Machines,~E,~readMachines,~saveBasic,declarations,Basic.ready(~S,~Relation.Store<S,C>,~Product.Owner<Resources,Machines>,~E,world))
Uses (12)
Used by (0)
No other definition uses this definition.