def structural_replace

bendvy-ecs-core@0.1.0.3 · component.bend:165

import bendvy-ecs-core@0.1.0.3/component.bend as Component
import Base
import column.bend as Col
import world.bend as W

165# Deferred creation may populate reserved entities before activation. This is
166# provisioning/structural command machinery, not a gameplay capability.
167# Trusted structural adapter permitting metadata-valid reserved entities as well
168# as live ones. Retains replacement owners/results like replace; this is not a
169# public gameplay bypass for accessing an arbitrary inactive entity.
170def structural_replace(~S: Data,~Store: Type,~R: Type,~E: Data,~Rest: Type,~C: Type,~V: Data,~Token: Data,~take: Store -> Rest & Col.Column<S,C>,~put: Rest -> Col.Column<S,C> -> Store,~project: C -> C & V,family: Family<S,Store,Rest,C,V,Token,take,put,project>,world: W.World<S,Store,R,E>,+handle: W.Handle<S>,incoming: Maybe<&1,C>) -> Replacement<W.World<S,Store,R,E>,C>:
171  replace_allowed(~S,~Store,~R,~E,~Rest,~C,~V,~Token,~take,~put,~project,W.metadata_valid(~S,~Store,~R,~E,world,handle),handle,incoming)

Uses (9)

Used by (0)

No other definition uses this definition.