OptionalautoOptionalcameraOptional camera-flight animator. Wired to the per-row
Frame button — clicking it jumps the camera to the
union AABB of the matching ViewObjects. When omitted, the
Frame button still fires its event (hosts can subscribe
directly via TreeViewEvents.onNodeFrameClicked) but
the panel no-ops on its own.
OptionalcontainerDOM container; defaults to document.body.
Semantic Data graph to navigate. Doubles as the WeakMap key for ExplorerPanel.openFor idempotence — one Explorer per Data.
OptionallinkAggregation relationship type to traverse when building
the tree. Defaults to a single type detected from the
Data's existing relationships — we count how many
relationships of each type the loaded models hold and
pick the most common, with a preference for the
well-known aggregation types when present
(IfcRelAggregates for IFC, BasicAggregation for
dotBIM).
The TreeView is given a single string rather than a
multi-type array on purpose: when a model carries both
an aggregation and a containment relationship between
the same pair (e.g. an IFC IfcRelAggregates plus an
IfcRelContainedInSpatialStructure to the same target),
a multi-type traversal accumulates the child once per
matched type, producing duplicate nodes. One type at a
time avoids that.
Pass an explicit value to override the auto-pick.
OptionalstoragelocalStorage key for persisting drag position + closed
state. Defaults to "xkt-explorer-panel".
View whose ViewObjects the tree's checkboxes drive
(visibility / x-ray). The TreeView walks view.viewer
for object lookups.
OptionalvisibleShow on construction (default true).
Auto-expand the tree to this depth on first render. Defaults to
2— enough to show the model + its top-level spatial structure without overwhelming for big datasets.