Progressive Mesh LOD refinement — thin wrapper over the generic helper at
data/scene-loader/progressive/refinement.ts.
The fourth member of the family (data/points/, data/lines/,
data/gsplats/lod-refinement.ts), and the loop that actually makes a reveal
ladder reveal: the initial load commits level 0 and this drains the rest a
level per pass, yielding to the render loop between them.
Shaped after the LINES wrapper rather than the Points one, because mesh
likewise has an async project step between load and commit
(processMeshData). Its one mesh-specific wrinkle is that the projection
needs the node's normal_dims / double_sided / extend_to_all to decide
winding and the slab, and the refinement path — like the retry path — can only
reach them through the committed object's userData.
Progressive Mesh LOD refinement — thin wrapper over the generic helper at
data/scene-loader/progressive/refinement.ts.The fourth member of the family (
data/points/,data/lines/,data/gsplats/lod-refinement.ts), and the loop that actually makes a reveal ladder reveal: the initial load commits level 0 and this drains the rest a level per pass, yielding to the render loop between them.Shaped after the LINES wrapper rather than the Points one, because mesh likewise has an async project step between load and commit (
processMeshData). Its one mesh-specific wrinkle is that the projection needs the node'snormal_dims/double_sided/extend_to_allto decide winding and the slab, and the refinement path — like the retry path — can only reach them through the committed object'suserData.