No-op staged commit — the "unchanged data" fast path shared by all
three geometry types.
The progressive loaders MEMOIZE their LOD concatenation: an update whose
view state is unchanged and that loaded no new LODs returns the SAME
object reference as the previous update. The commit pipeline stamps that
reference onto the mesh (the committedData stamp — accessors and
contract in types/committed-data.ts) whenever geometry actually reaches
the GPU, so a handler seeing isAlreadyCommitted(mesh, data) knows the
GPU already holds this exact data and can skip the expensive process
(nD→3D projection) and upload steps entirely.
The skip must NOT be a plain null staged result: the LOD freshness
registry requires loadedViewVersion to be re-stamped every update
(scene/lod-freshness.ts checks exact equality), and the stamp is only
written by commits. A StagedNoopCommit therefore flows through the
atomic commit stage like any staged result — still under the superseded-
update abort guard — and the commit helper performs a STAMP-ONLY commit:
loadedViewVersion is refreshed, geometry is untouched.
No-op staged commit — the "unchanged data" fast path shared by all three geometry types.
The progressive loaders MEMOIZE their LOD concatenation: an update whose view state is unchanged and that loaded no new LODs returns the SAME object reference as the previous update. The commit pipeline stamps that reference onto the mesh (the
committedDatastamp — accessors and contract intypes/committed-data.ts) whenever geometry actually reaches the GPU, so a handler seeingisAlreadyCommitted(mesh, data)knows the GPU already holds this exact data and can skip the expensive process (nD→3D projection) and upload steps entirely.The skip must NOT be a plain
nullstaged result: the LOD freshness registry requiresloadedViewVersionto be re-stamped every update (scene/lod-freshness.tschecks exact equality), and the stamp is only written by commits. AStagedNoopCommittherefore flows through the atomic commit stage like any staged result — still under the superseded- update abort guard — and the commit helper performs a STAMP-ONLY commit:loadedViewVersionis refreshed, geometry is untouched.