Capture session templates
Use this guide when the HEAT Capture app or protobuf uploads feed an agnostic-input node.
Canonical graph
agnostic-input
├── capture-discovery → discovery-dashboard (debug leaf)
└── system-protobuf-extract (scoped) → … → heat-system-next-dimensionThe discovery branch profiles formats, proto census, origin_uuid, and event names. Keep it a leaf: mainline analytics should not depend on discovery output.
Platform nodes
| Node | Role |
|---|---|
capture-discovery | Incremental profiler; emits $heat-dataservice for a discovery dashboard |
system-protobuf-extract | Scoped extract: EntityDataEvent, EntityState, or SimulationFrame |
system-arbex-js | Custom merge, KPIs, dataservice |
heat-system-next-dimension | Publish Next dashboard |
Enable incrementalHydration on streaming capture transforms.
Multi-user lanes
When several capture origins or simulation entities share one session, use captureIdentity session metadata and filterEntityIndex / filterOriginIndex on parallel extract branches. See Capture identity lanes.
Multi-origin sessions
One session may contain frames from multiple capture machines (origin_uuid). Keep per-record origin in extract outputs; aggregate in downstream nodes, not in a single bloated hydrate step.
Optional core-utils
When core-utils is registered, hydrate-protobuf-v2 and simulation-frame-merge can supplement platform extracts. Document the dependency; do not require it.
Shipped presets
| Preset | Purpose |
|---|---|
heat-capture-discovery | Discovery dashboard only |
heat-capture-mainline-scoped | Discovery leaf + identity registry + entity lanes + mainline |