Dirty bit set to true on every move and never cleared by the engine — flip it back to false after reading to detect "moved since last check".
Last raw PointerEvent received. null until any pointer event fires. Use for properties not surfaced as Vec2/booleans (pressure, pointerType, etc.).
Viewport-space coordinates (event.clientX/Y — CSS pixels relative to the page).
Previous tick's posReal. Subtract for a per-frame delta.
Canvas-space coordinates, mapped from the bounding rect into the main canvas's pixel buffer and clamped to its size. This is the position to use for in-game logic.
Previous tick's posScaled.
Per-button pressed state. Index with POINTER_KEYS (e.g. pressed[POINTER_KEYS.LEFT]). Sparse — unindexed entries are undefined, not false.
Pointer (mouse / pen / touch) state. Wired into
Gameautomatically. The preferred way to consume input is to subscribe to the EventSystem"inputPointer"event — it fires on every move and button transition, with thisPointerinstance as the payload. If you need the latest state on a frame boundary instead, pollgame.pointer.posScaledandgame.pointer.pressed[POINTER_KEYS.LEFT]fromupdate.Suppresses the browser context menu on right-click globally.