def unselect
import bendvy-ecs-core@0.1.0.4/query_contract.bend as QueryContractimport Base
import compose.bend as Q
import world.bend as W
import transaction.bend as T
28# Selection is a read-only observation even if a trusted plan accidentally mutates.
29def unselect(~S: Data,~Store: Type,~R: Type,~E: Data,observed: Q.Frame<S,Store,R,E> & Bool) -> W.World<S,Store,R,E> & Bool:
30 match observed:
31 case (Q.Frame{T.Tx{world,undo,_,_,_},_,_,_},selected): (T.rollback(~W.World<S,Store,R,E>,undo,world),selected)