simvx.core.events

Input event types for the node tree.

Module Contents

Classes

InputEvent

Mouse click event delivered to 3D nodes via on_picked().

TreeInputEvent

Input event propagated through the scene tree to @on_input handlers.

Data

log

API

simvx.core.events.log

‘getLogger(…)’

class simvx.core.events.InputEvent(screen_pos: tuple[float, float], button: simvx.core.input.enums.MouseButton, ray_origin: tuple[float, float, float], ray_direction: tuple[float, float, float], distance: float = 0.0)[source]

Mouse click event delivered to 3D nodes via on_picked().

Attributes: screen_pos: Click position in screen pixels. button: Mouse button (typed MouseButton enum). ray_origin: World-space ray origin. ray_direction: World-space ray direction (normalized). distance: Distance along ray to the hit point.

Initialization

__slots__

(‘screen_pos’, ‘button’, ‘ray_origin’, ‘ray_direction’, ‘distance’)

class simvx.core.events.TreeInputEvent(type: str, *, pressed: bool = False, position: tuple[float, float] = (0.0, 0.0), delta: tuple[float, float] = (0.0, 0.0), key: simvx.core.input.enums.Key | None = None, mouse_button: simvx.core.input.enums.MouseButton | None = None, joy_button: simvx.core.input.enums.JoyButton | None = None, joy_axis: simvx.core.input.enums.JoyAxis | None = None, joy_value: float = 0.0, ctrl: bool = False, shift: bool = False, alt: bool = False, meta: bool = False, echo: bool = False)[source]

Input event propagated through the scene tree to @on_input handlers.

Carries typed key/button enums alongside legacy string/int fields so SceneTree dispatch tables can route by Key / MouseButton / JoyButton / JoyAxis directly without per-event string lookups.

Attributes: type: Event kind: “key”, “mouse_button”, “mouse_motion”, “scroll”, “joy_button”, or “joy_axis”. pressed: True on press, False on release (key, mouse_button, joy_button). position: Mouse position in screen pixels (mouse events). delta: Motion delta (mouse_motion) or scroll offset (scroll). key: Typed key enum for “key” events; None otherwise. mouse_button: Typed mouse-button enum for “mouse_button” events; None otherwise. joy_button: Typed joypad-button enum for “joy_button” events; None otherwise. joy_axis: Typed joypad-axis enum for “joy_axis” events; None otherwise. joy_value: Axis value for “joy_axis” events (-1.0 to 1.0). ctrl, shift, alt, meta: Modifier state at event time. echo: True for key-repeat events (auto-fired while a key is held). handled: True if any handler returned truthy. Stops on_unhandled_input dispatch.

Initialization

__slots__

(‘type’, ‘pressed’, ‘position’, ‘delta’, ‘key’, ‘mouse_button’, ‘joy_button’, ‘joy_axis’, ‘joy_value…

__repr__() str[source]