Load the mesh for the given view state
Optionalsession: UpdateSessionRe-serve the mesh for a new view state (see DataLoader.updateView for signal)
Optionalsession: UpdateSessionOptionalsignal: AbortSignalOptionalresidencyAllowanceBytes: numberClean up resources
OptionaladdLoaderMonitor surface (optional, for the data-loading-monitor UI).
Mirrors the surface the sibling loaders expose — implementations that
don't track metrics may omit these. Both shipped implementations
(MeshWholeNodeLoader, MeshProgressiveLoader) provide all four:
connectLoaderToMonitor duck-types the complete set, so a partial
implementation is silently skipped rather than partially reported.
OptionalremoveOptionalgetOptionalgetOptionalrecordReport how many triangles the just-committed slice indexes, for
LoaderMetrics.visibleElements.
Pushed IN (by commit-mesh-geometry.ts) rather than read out, because the
count is produced downstream of the loader: a mesh is resident in full and
projection decides which faces reach the index buffer. The three sibling
geometries set visibleElements inside their loaders instead, where the
range query that produced the visible set lives.
Optional for the same reason as the four above — a metrics-free implementation may omit it.
Data loader interface for Mesh nodes.
Mirrors
DataLoader/LinesDataLoader/GSplatsDataLoaderso the scene-loader machinery treats all four kinds uniformly — and so a spatial-index implementation can be swapped in behind this interface later with no caller change (spec §7).The
viewStateparameters are honoured but do not change what is fetched: a mesh is whole-node resident, so both methods return the same complete LoadedMeshData and the view state matters only downstream, where the cull decides which faces are indexed.