Expand description
History → scene: run a whole feature history through the kernel’s native
execute_history (same process, same thread — the solid registry is
thread-local) and populate a RenderScene from the resident handles via
the kernel’s native display payload accessor. No JSON, no typed-array
boundary — the R1 promise.
Structs§
- RunOutput
- The delta a
SceneRunner::runproduces: the displayed KERNEL solids IN ORDER plus the run’sSceneBuildReport. The applier walkssnapshotin order, reusing or replacing each entry (see the field docs). - Scene
Build Report - Non-fatal diagnostics from a scene build (mirrors the previous app’s run-history reporting: a failed feature halts the remaining features but the solids built so far still display — seeing what a failing history DID build is the point of the artifact).
- Scene
Runner - Executes history without accessing the render scene and emits display deltas.
Tracks resident handles so unchanged solids retain their meshes and GPU
buffers when the main thread applies the resulting
RunOutput.
Functions§
- resident_
solid_ handles - Execute
requestand return the FINAL resident solids as(name, handle)in display order — the export lane (STEP/STL) needs the current solids’ resident handles, which the scene build does not itself retain. Run right after a scene build (warm incremental cache) this replays the cached features, so the handles it returns are the very ones the displayed scene was built from; run cold it re-executes and registers fresh (still-valid) handles. Either way the handles are live in the thread-local registry when this returns, ready to hand tobrep_kernel::export_step_handles. - scene_
from_ history - Typed-request variant of
scene_from_history_json. - scene_
from_ history_ json - Execute a serialized
HistoryRequest(theexecute_history_jsonrequest shape — a saved part file parses as one) and build the display scene from the final resident solids. - update_
scene_ from_ history - Execute the history and reconcile
scenein place (R10 incremental update): reused solids already present keep theirSolidDisplayverbatim (stablerevision⇒ the renderer reuses their GPU buffers); everything else is (re-)tessellated from the resident handle; departed solids are dropped.