type Tx

bendvy-ecs-core@0.1.0.4 · transaction.bend:5

import bendvy-ecs-core@0.1.0.4/transaction.bend as Transaction
import Base
import bendvy-ecs-core@0.1.0.4/deferred_command.bend as Deferred
import bendvy-ecs-core@0.1.0.4/trace_facts.bend as TraceFacts

5# Engine-owned transaction state; gameplay receives abstract providers instead.
6# The journal owns replacement values inside affine inverse closures.
7# Lower-level affine transaction owner with inverse journal, staged commands
8# and Data events. Raw fields/inverses are trusted engine setup; normal gameplay
9# uses declared opaque capabilities. Does not automatically journal arbitrary
10# mutations or make host IO reversible.
11type Tx<W: Type, E: Data> is Type:
12  Tx{world: W, undo: List<&1, (W -> W)>, commands:List<&1, Deferred.Command<W>>, events: List<&2, E>,trace:TraceFacts.State}

Uses (3)

Used by (331)