simvx.core.events

Input event types for the node tree.

Module Contents

Classes

InputEvent

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

TreeInputEvent

Input event propagated through the node tree.

API

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

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

Attributes: screen_pos: Click position in screen pixels. button: Mouse button (1=left, 2=middle, 3=right). 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, *, key: str = '', pressed: bool = False, button: int = 0, position: tuple[float, float] = (0.0, 0.0), delta: tuple[float, float] = (0.0, 0.0))

Input event propagated through the node tree.

Set handled = True in input() to stop propagation to later nodes. unhandled_input() is still called on remaining nodes regardless.

Attributes: type: Event kind — “key”, “mouse_button”, “mouse_motion”, “scroll”. key: Key name (for key events). pressed: True on press, False on release (key/mouse_button events). button: Mouse button number (1=left, 2=right, 3=middle). position: Mouse position in screen pixels (mouse events). delta: Motion delta (mouse_motion) or scroll offset (scroll). handled: Set True to consume the event (stops input() propagation).

Initialization

__slots__

(‘type’, ‘key’, ‘pressed’, ‘button’, ‘position’, ‘delta’, ‘handled’)

__repr__() str