def offset
bendvy-ecs-core@0.1.0.3 · execution_recoverable_component.bend:51
import bendvy-ecs-core@0.1.0.3/execution_recoverable_component.bend as ExecutionRecoverableComponent
import Base
import bendvy-ecs-core@0.1.0.3/world.bend as W
import bendvy-ecs-core@0.1.0.3/execution_composer_layout.bend as Layout
import bendvy-ecs-core@0.1.0.3/execution_query_identity.bend as Identity
import bendvy-ecs-core@0.1.0.3/recoverable_component.bend as RC
51def offset(~S:Data,~C:Type,~R:Type,~E:Data,~layout:Layout.Layout,~route:Layout.Route,~same:{C == Layout.columns(~S,layout) : Type},incoming:Maybe<Layout.payload(layout,route)>,result:W.World<S,C,R,E> & Identity.Offset<S>) -> RC.Replacement<W.World<S,C,R,E>,S,Layout.payload(layout,route)>:
52 match result:
53 case (world,Identity.Physical{handle,index}):timed(~S,~C,~R,~E,~layout,~route,~same,handle,index,incoming,W.write_clock(~S,~C,~R,~E,world))
54 case (world,Identity.MissingEntity{_}):RC.Refused{world,incoming,W.MissingEntity{}}
55 case (world,Identity.OutsideStorage{_,_}):RC.Refused{world,incoming,W.CapacityExceeded{}}