Initial-load path for a single kind=partitionGroup scene-graph node.
Mirrors the generic-group branch in load-scene-nodes.ts — creates
a THREE.Group, applies the transform, recurses into children — and
additionally:
Reads display_type and max_elements from the parent's attrs
for layers-panel use (currently the layer-state walker pulls
these directly; this loader doesn't need to expose anything).
Recurses each child via loadSceneNodes so the children's own
type-specific loaders run, then registers validated per-part bounds
for frustum-only visibility and fetch gating.
Validates a stored bsp_tree before exposing it to depth sorting;
malformed or geometrically unsound trees fall back to centroid order.
The wrapper's position_bounds (union over children) is on the
on-disk attrs already; loaders that need it read node.attrs .position_bounds rather than re-computing it.
Sibling of load-lod-group-node.ts (which has a per-frame selector).
Initial-load path for a single kind=
partitionGroupscene-graph node.Mirrors the generic-group branch in
load-scene-nodes.ts— creates aTHREE.Group, applies the transform, recurses into children — and additionally:display_typeandmax_elementsfrom the parent's attrs for layers-panel use (currently the layer-state walker pulls these directly; this loader doesn't need to expose anything).loadSceneNodesso the children's own type-specific loaders run, then registers validated per-part bounds for frustum-only visibility and fetch gating.bsp_treebefore exposing it to depth sorting; malformed or geometrically unsound trees fall back to centroid order.The wrapper's
position_bounds(union over children) is on the on-disk attrs already; loaders that need it readnode.attrs .position_boundsrather than re-computing it.Sibling of
load-lod-group-node.ts(which has a per-frame selector).