Cheap half of Lines node loading: build the spatial-index loader and attach an
empty placeholder mesh — no array fetch, no commit, no registry
registration. Splitting this from the expensive half lets
load-lod-group-node.ts defer a Lines lod-group child (the finest level of a
lines-substitutive ladder), mirroring the points/gsplats loaders. The caller
owns registration: the combined loadLinesNode (eager path) registers
immediately; lod_group lazy levels are NEVER registered (so they don't join
the scene-wide updateView sweep and defeat the deferral) — the
LODGroupRegistry drives their (re)loads instead.
Cheap half of Lines node loading: build the spatial-index loader and attach an empty placeholder mesh — no array fetch, no commit, no registry registration. Splitting this from the expensive half lets
load-lod-group-node.tsdefer a Lines lod-group child (the finest level of a lines-substitutive ladder), mirroring the points/gsplats loaders. The caller owns registration: the combinedloadLinesNode(eager path) registers immediately; lod_group lazy levels are NEVER registered (so they don't join the scene-wideupdateViewsweep and defeat the deferral) — theLODGroupRegistrydrives their (re)loads instead.