simvx.editor.panels.inspector_sections¶
Inspector section registry – extensible node-type-specific inspector sections.
Each InspectorSection subclass handles a specific node type or pattern.
The inspector queries the registry via get_sections_for_node(node) and
calls build_rows() to create the section widgets.
Sections are registered with the @register_inspector_section decorator.
Module Contents¶
Classes¶
Helper passed to InspectorSection.build_rows(). |
|
Base class for node-type-specific inspector sections. |
|
Compact toggle summary for post-processing effects on WorldEnvironment. |
|
Visual 32-bit grid editor for collision_layer and collision_mask properties. |
|
Shows a live camera preview (captured framebuffer) and key camera parameters. |
|
Compact control bar and emission shape preview for particle emitter nodes. |
|
Playback controls and frame info for AnimatedSprite2D / AnimatedSprite3D. |
|
Compact curve point editor for Path2D and Path3D nodes. |
Functions¶
Decorator to register an InspectorSection subclass. |
|
Return instantiated sections applicable to the given node, sorted by priority. |
Data¶
API¶
- class simvx.editor.panels.inspector_sections.InspectorContext(inspector)[source]¶
Helper passed to InspectorSection.build_rows().
Provides undo-aware property editing without exposing InspectorPanel internals.
Initialization
- on_property_changed(node: simvx.core.Node, prop: str, old_val: Any, new_val: Any)[source]¶
Push a PropertyCommand through the undo stack.
- on_callable_command(do_fn, undo_fn, description: str)[source]¶
Push a CallableCommand through the undo stack.
- on_material_prop_changed(node, prop: str, value: Any)[source]¶
Handle material sub-object property change with undo.
- on_material_colour_changed(node, new_colour: tuple)[source]¶
Handle material colour change with undo.
- on_material_texture_changed(node, attr: str, path: str | None)[source]¶
Handle material texture URI change with undo.
- property editor_state¶
- register_widget(key: str, widget: simvx.core.Control)[source]¶
Register a widget in the inspector’s _property_widgets dict.
- property property_changed_signal: simvx.core.Signal¶
- class simvx.editor.panels.inspector_sections.InspectorSection[source]¶
Base class for node-type-specific inspector sections.
Subclasses override
can_handle(),build_rows(), and optionallyhandled_properties()to claim properties from the generic section.- section_title: str¶
‘Section’
- priority: int¶
0
- abstractmethod build_rows(node: simvx.core.Node, ctx: simvx.editor.panels.inspector_sections.InspectorContext) list[simvx.core.Control][source]¶
- simvx.editor.panels.inspector_sections.register_inspector_section(cls: type[simvx.editor.panels.inspector_sections.InspectorSection]) type[simvx.editor.panels.inspector_sections.InspectorSection][source]¶
Decorator to register an InspectorSection subclass.
- simvx.editor.panels.inspector_sections.get_sections_for_node(node: simvx.core.Node) list[simvx.editor.panels.inspector_sections.InspectorSection][source]¶
Return instantiated sections applicable to the given node, sorted by priority.
- class simvx.editor.panels.inspector_sections.MeshSection[source]¶
Bases:
simvx.editor.panels.inspector_sections.InspectorSection- section_title¶
‘Mesh’
- priority¶
10
- handled_properties(node: simvx.core.Node) set[str]¶
- class simvx.editor.panels.inspector_sections.MaterialSection[source]¶
Bases:
simvx.editor.panels.inspector_sections.InspectorSection- section_title¶
‘Material’
- priority¶
11
- handled_properties(node: simvx.core.Node) set[str]¶
- class simvx.editor.panels.inspector_sections.AudioStreamSection[source]¶
Bases:
simvx.editor.panels.inspector_sections.InspectorSection- section_title¶
‘Audio’
- priority¶
20
- handled_properties(node: simvx.core.Node) set[str]¶
- class simvx.editor.panels.inspector_sections.CollisionShapeSection[source]¶
Bases:
simvx.editor.panels.inspector_sections.InspectorSection- section_title¶
‘Collision Shape’
- priority¶
30
- class simvx.editor.panels.inspector_sections.PostProcessToggleSection[source]¶
Bases:
simvx.editor.panels.inspector_sections.InspectorSectionCompact toggle summary for post-processing effects on WorldEnvironment.
- section_title¶
‘Post Processing’
- priority¶
5
- class simvx.editor.panels.inspector_sections.CollisionLayerSection[source]¶
Bases:
simvx.editor.panels.inspector_sections.InspectorSectionVisual 32-bit grid editor for collision_layer and collision_mask properties.
- section_title¶
‘Collision Layers’
- priority¶
25
- class simvx.editor.panels.inspector_sections.CameraPreviewSection[source]¶
Bases:
simvx.editor.panels.inspector_sections.InspectorSectionShows a live camera preview (captured framebuffer) and key camera parameters.
- section_title¶
‘Camera Preview’
- priority¶
2
- class simvx.editor.panels.inspector_sections.ParticlePreviewSection[source]¶
Bases:
simvx.editor.panels.inspector_sections.InspectorSectionCompact control bar and emission shape preview for particle emitter nodes.
- section_title¶
‘Particle Controls’
- priority¶
3
- class simvx.editor.panels.inspector_sections.SpriteAnimationSection[source]¶
Bases:
simvx.editor.panels.inspector_sections.InspectorSectionPlayback controls and frame info for AnimatedSprite2D / AnimatedSprite3D.
- section_title¶
‘Sprite Animation’
- priority¶
4
- class simvx.editor.panels.inspector_sections.PathCurveSection[source]¶
Bases:
simvx.editor.panels.inspector_sections.InspectorSectionCompact curve point editor for Path2D and Path3D nodes.
- section_title¶
‘Curve’
- priority¶
6