Source code for simvx.editor.panels.inspector_sections
"""Inspector sections package.
Split into one private leaf module per section type:
- ``_base`` -- InspectorContext, InspectorSection base class, the
section registry, theme/layout helpers, widget factories.
- ``_mesh_section`` -- MeshSection
- ``_material_section`` -- MaterialSection
- ``_audio_section`` -- AudioStreamSection
- ``_collision_section`` -- CollisionShapeSection
- ``_post_process_section`` -- PostProcessToggleSection
- ``_camera_section`` -- CameraPreviewSection (+ _CameraPreview)
- ``_particle_section`` -- ParticlePreviewSection (+ _EmissionShapePreview)
- ``_sprite_section`` -- SpriteAnimationSection
- ``_path_section`` -- PathCurveSection
Each concrete section registers itself via @register_inspector_section at
import time; this package imports every leaf so those side effects fire.
Public API is re-exported so
``from simvx.editor.panels.inspector_sections import
InspectorContext, get_sections_for_node`` keeps working.
"""
# Side-effect imports: importing each leaf runs its @register_inspector_section
# decorators so every section type is registered.
from . import ( # noqa: F401
_audio_section,
_camera_section,
_collision_section,
_material_section,
_mesh_section,
_particle_section,
_path_section,
_post_process_section,
_sprite_section,
)
# Re-export the private mutation helpers that editor tests reach for
# (tests treat them as inspectable internals, not private-to-module).
# Leading underscores document "not for new consumers," not "must not
# be imported."
from ._audio_section import _set_audio_stream
from ._base import (
InspectorContext,
InspectorSection,
get_sections_for_node,
register_inspector_section,
)
from ._collision_section import (
_change_box_extents,
_change_capsule_param,
_change_shape_type,
)
from ._mesh_section import _set_mesh
from ._path_section import _curve_add_point, _curve_clear_points
from ._sprite_section import (
_set_animation,
_set_fps,
_set_frame,
_toggle_playing,
)
__all__ = [
"InspectorContext",
"InspectorSection",
"get_sections_for_node",
"register_inspector_section",
"_change_box_extents",
"_change_capsule_param",
"_change_shape_type",
"_curve_add_point",
"_curve_clear_points",
"_set_animation",
"_set_audio_stream",
"_set_fps",
"_set_frame",
"_set_mesh",
"_toggle_playing",
]