def unrelate
bendvy-ecs-core@0.1.0.4 · trace_relation.bend:40
import bendvy-ecs-core@0.1.0.4/trace_relation.bend as TraceRelation
import Base
import bendvy-ecs-core@0.1.0.4/trace_facts.bend as Facts
import bendvy-ecs-core@0.1.0.4/relation_types.bend as G
import bendvy-ecs-core@0.1.0.4/world.bend as W
40def unrelate(~S:Data,state:Facts.State,descriptor:G.Descriptor<S>,operation:Facts.Operation,source:W.Handle<S>,result:Facts.FactResult) -> Facts.State:
41 match state:
42 case Facts.Off{}:Facts.Off{}
43 case Facts.On{facts}:Facts.On{Facts.RelationFact{identity(~S,descriptor),operation,handle(~S,source),Facts.UnrelateAction{},result} <> facts}