genesis_perception
The measurement domain, built on the genesis_tree
spine by subclassing. Pure Dart, bare VM.
A measurement is a read-only projection of the world: the model never
constructs perceptions directly — it observes, and its only write is a
hit-tested action after which the tree re-measures (the action half is
genesis_consent).
Surface
Perception extends Component— a measurement node;createElement()is the domain factory.PerceptionElement extends Element— reserved for artifact elements (NodeElement,FieldElement, custom measurement leaves); composition elements are thin subclasses of the tree composition elements that only upgrade the handle.PerceptionContext— a capability extension ofBuildContext(addsperceptionId+markNeedsHarvest; inherits throw-after-unmount); the seam where the token budget lands.PerceptionOwner extends BuildOwner—flushHarvest()returns the rebuilt list.Node(named container, children widened toList<Component>) andField(String name, Object? value)(the non-generic leaf — aField<T>would breakcanUpdateacross value-type changes, andnullis a legal measurement).
The tree spine is re-exported in full, so one import surfaces
Component/Element/BuildContext/BuildOwner and the composition layer
(Watch, HookComponent, …) alongside the domain.
Status
Pre-1.0; tracks genesis_tree. The measurement domain is stable in shape.
License
Libraries
- genesis_perception
- Measurement domain on the tree spine.