def without_component

bendvy-ecs-core@0.1.0.4 · ordinary_query_observable.bend:67

import bendvy-ecs-core@0.1.0.4/ordinary_query_observable.bend as OrdinaryQueryObservable
import Base
import bendvy-ecs-core@0.1.0.4/ordinary_query_declaration.bend as N
import bendvy-ecs-core@0.1.0.4/ordinary_component_binding.bend as B
import bendvy-ecs-core@0.1.0.4/ordinary_query_selections.bend as F
import bendvy-ecs-core@0.1.0.4/inspector_query_projection.bend as P
import bendvy-ecs-core@0.1.0.4/inspector.bend as I
import bendvy-ecs-core@0.1.0.4/compose.bend as Q
import bendvy-ecs-core@0.1.0.4/column.bend as Col

67# Require absence without granting payload operations; detached projection
68# contributes Unit. Structural membership changes at explicit barriers.
69def without_component(~S:Data,~Store:Type,~Rest:Type,~Payload:Type,~V:Data,~Token:Data,~take:Store -> Rest & Col.Column<S,Payload>,~put:Rest -> Col.Column<S,Payload> -> Store,~view:Payload -> Payload & V,~R:Type,~E:Data,~binding:B.Binding<S,Store,Rest,Payload,V,Token,take,put,view>) -> Declaration<S,Q.Frame<S,Store,R,E>,Unit,I.Frame<S,Store,R,E>,Unit>:
70  Declaration{_=>(N.without_component(~S,~Payload,~Store,~R,~E,~Rest,~V,~Token,~B.identity(~S,~Store,~Rest,~Payload,~V,~Token,~take,~put,~view,binding),~view,~take,~put)),_=>(P.constrain(~I.Frame<S,Store,R,E>,~S,~Unit,~P.empty(~I.Frame<S,Store,R,E>,~S),~F.inspect_without(~S,~Store,~R,~E,~Rest,~Payload,~V,~Token,~take,~put,~view,~binding)))}

Uses (12)

Used by (0)

No other definition uses this definition.