def prepare
bendvy-ecs-core@0.1.0.4 · machine_handler_engine.bend:45
import bendvy-ecs-core@0.1.0.4/machine_handler_engine.bend as MachineHandlerEngine
import Base
import bendvy-ecs-core@0.1.0.4/machine.bend as M
45def prepare(~S:Data,~K:Data,~V:Data,~same:V -> V -> Bool,slot:M.Slot<S,K,V>,captured:M.Snapshot<V>) -> Prepared<S,K,V>:
46 match slot captured:
47 case slot M.Unscheduled{}: Idle{M.clear_changed(~S,~K,~V,slot)}
48 case M.Missing{} M.Scheduled{_,_}: Idle{M.Missing{}}
49 case M.Present{+current,_,previous,_} M.Scheduled{+value,+skipSame}: choose(~S,~K,~V,Bool.and(skipSame,same(current,value)),current,value,previous,skipSame)