Source code for simvx.editor.panels.scene_tree
"""Scene Tree Panel package.
Split from the former flat ``scene_tree.py`` into:
- ``type_registry`` -- node type metadata (icons, categories, descriptions).
- ``dialogs`` -- Add Node popup and inline rename overlay.
- ``panel`` -- the main SceneTreePanel widget.
Public API is re-exported here so ``from simvx.editor.panels.scene_tree
import SceneTreePanel`` keeps working.
"""
from simvx.editor.project_classes import ProjectClass, ProjectClassIndex
from .panel import SceneTreePanel
from .type_registry import (
_ADDABLE_TYPES,
_DEFAULT_EXPANDED,
_NODE_CATEGORIES,
_NODE_DESCRIPTIONS,
_NODE_ICONS,
_RECENT_MAX,
_RECENT_TYPES,
_get_inheritance_chain,
_get_node_icon,
_get_source_file,
_record_recent_type,
is_composed_node,
register_addable_type,
)
__all__ = [
"ProjectClass",
"ProjectClassIndex",
"SceneTreePanel",
"register_addable_type",
"is_composed_node",
# Internal-but-test-referenced symbols (leading underscore indicates
# private API; re-exported here so test files keep their existing
# import paths after the flat -> package refactor).
"_ADDABLE_TYPES",
"_DEFAULT_EXPANDED",
"_NODE_CATEGORIES",
"_NODE_DESCRIPTIONS",
"_NODE_ICONS",
"_RECENT_MAX",
"_RECENT_TYPES",
"_get_inheritance_chain",
"_get_node_icon",
"_get_source_file",
"_record_recent_type",
]