simvx.editor.gizmo_controller

Editor gizmo controller — wires mouse input to the Gizmo math layer.

Translates mouse hover / click / drag events into gizmo interactions and applies the resulting deltas to the selected node’s transform. Supports undo/redo via the UndoStack.

Usage (inside an editor panel’s process loop):

controller = GizmoController(state.gizmo, state.selection, state.undo_stack)
controller.update(dt)  # call each frame
render_data = controller.get_render_data()  # pass to GizmoPass

Module Contents

Classes

GizmoController

Connects mouse input to the core Gizmo and applies results to nodes.

Data

API

simvx.editor.gizmo_controller.__all__

[‘GizmoController’]

simvx.editor.gizmo_controller.log

‘getLogger(…)’

class simvx.editor.gizmo_controller.GizmoController(gizmo: simvx.core.Gizmo, selection: simvx.core.Selection, undo_stack: simvx.core.UndoStack)

Connects mouse input to the core Gizmo and applies results to nodes.

Parameters

gizmo: The core Gizmo instance that performs the picking/dragging math. selection: Editor selection — the primary selected node is the gizmo target. undo_stack: Editor undo stack for recording transform changes.

Initialization

update(dt: float) None

Process mouse input and update gizmo state. Call once per frame.

set_mode(mode: simvx.core.GizmoMode) None

Change the gizmo interaction mode (translate / rotate / scale).

get_render_data() Any

Build a GizmoRenderData for the current frame.