Expand description
In-memory point-keyed display updates (no files).
KeyedDiff: diffs the whole composed display cloud (unique point keys + owner zone per point) against what the viewer shows and yields aDisplayDelta(adds / moves / removes with denseu32slot ids). This is the exact logic behind the file stream ofcrate::blocks::DiffStream.DisplayMirror: the viewer side, applies deltas to a slot table (reference implementation for clients and tests).DisplayFeed: event driven end to end (zone results ->crate::post::LiveDisplaycomposition ->KeyedDiff); it is whatNodeBuilder::display_deltasandcrate::pipeline::Pipeline::deriveuse to emitEvent::DisplayDelta.
Semantics of a delta: a key that stays keeps its id (a move when its position changed by more than POSITION_EPS or its
colour changed); a key that leaves frees its id; a new key takes the lowest free id or capacity++; an id freed in a delta is
not handed out in the same delta; a zone change is a remove plus an add with a new id. Apply a delta in this order: removes,
adds, moves.
Structs§
- Display
Delta - Changes between two consecutive display clouds.
- Display
Feed - Event-driven display feed: collects the zone results of the session events, composes the display
(
LiveDisplay: key-hash thinning, sticky voxel ownership, zone composition) and diffs it (KeyedDiff). - Display
Frame - Coordinate frame of the display clouds.
- Display
Mirror - Viewer-side slot table: applies
DisplayDeltas the way a GPU-buffer viewer does (writes at index = id). - KeyHasher
- Cheap hasher for the already well-mixed 64-bit pixel keys.
- Keyed
Diff - Diff state of a point-keyed display: key -> slot id, free ids, capacity.
- Mirror
Point - One slot of a
DisplayMirror. - Pending
Delta - A prepared (not yet committed) delta of
KeyedDiff::prepare. Commit it withKeyedDiff::commitor give it back withKeyedDiff::abort(e.g. when writing it somewhere failed). - Point
Add - A point that appears: it takes slot
id. - Point
Move - A shown point whose position or colour changed (same slot id, new values).
Enums§
- Delta
Kind - Why a
Event::DisplayDeltawas emitted.
Constants§
- POSITION_
EPS - A point whose position moved by more than this (display units, any axis) is sent as a move.