Skip to main content

Module live

Module live 

Source
Expand description

In-memory point-keyed display updates (no files).

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§

DisplayDelta
Changes between two consecutive display clouds.
DisplayFeed
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).
DisplayFrame
Coordinate frame of the display clouds.
DisplayMirror
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.
KeyedDiff
Diff state of a point-keyed display: key -> slot id, free ids, capacity.
MirrorPoint
One slot of a DisplayMirror.
PendingDelta
A prepared (not yet committed) delta of KeyedDiff::prepare. Commit it with KeyedDiff::commit or give it back with KeyedDiff::abort (e.g. when writing it somewhere failed).
PointAdd
A point that appears: it takes slot id.
PointMove
A shown point whose position or colour changed (same slot id, new values).

Enums§

DeltaKind
Why a Event::DisplayDelta was emitted.

Constants§

POSITION_EPS
A point whose position moved by more than this (display units, any axis) is sent as a move.