From cb88a0644ed6cf11e3927cba02c0d803919c92fa Mon Sep 17 00:00:00 2001 From: "github-actions[bot]" <41898282+github-actions[bot]@users.noreply.github.com> Date: Tue, 8 Sep 2026 10:53:41 +0000 Subject: [PATCH] Version Packages --- .changeset/look-input-3d.md | 51 --------- .changeset/look-input-input.md | 47 -------- .changeset/physics-poses-physics-2d.md | 38 ------- .changeset/physics-poses-physics.md | 28 ----- .changeset/post-process-live-tuning.md | 31 ------ .changeset/shape-cast-ignore.md | 34 ------ .changeset/third-person-orbit-roll.md | 21 ---- packages/2d/CHANGELOG.md | 7 ++ packages/2d/package.json | 2 +- packages/2d/skills/2d/SKILL.md | 2 +- packages/3d/CHANGELOG.md | 105 ++++++++++++++++++ packages/3d/package.json | 2 +- packages/3d/skills/3d/SKILL.md | 2 +- packages/audio/CHANGELOG.md | 7 ++ packages/audio/package.json | 2 +- packages/audio/skills/audio/SKILL.md | 2 +- packages/cli/CHANGELOG.md | 4 + packages/cli/package.json | 2 +- packages/core/CHANGELOG.md | 32 ++++++ packages/core/package.json | 2 +- packages/devtools/CHANGELOG.md | 16 +++ packages/devtools/package.json | 2 +- packages/devtools/skills/devtools/SKILL.md | 2 +- packages/electron/CHANGELOG.md | 7 ++ packages/electron/package.json | 2 +- packages/electron/skills/electron/SKILL.md | 2 +- packages/ignifx/CHANGELOG.md | 22 ++++ packages/ignifx/package.json | 2 +- packages/input/CHANGELOG.md | 50 +++++++++ packages/input/package.json | 2 +- packages/input/skills/input/SKILL.md | 2 +- packages/physics-2d/CHANGELOG.md | 42 +++++++ packages/physics-2d/package.json | 2 +- .../physics-2d/skills/physics-2d/SKILL.md | 2 +- packages/physics/CHANGELOG.md | 60 ++++++++++ packages/physics/package.json | 2 +- packages/physics/skills/physics/SKILL.md | 2 +- packages/ui/CHANGELOG.md | 9 ++ packages/ui/package.json | 2 +- packages/ui/skills/ui/SKILL.md | 2 +- packages/vite-plugin/CHANGELOG.md | 7 ++ packages/vite-plugin/package.json | 2 +- skills/ignifx/SKILL.md | 2 +- .../references/formats/ignifx.schemas.json | 2 +- 44 files changed, 392 insertions(+), 274 deletions(-) delete mode 100644 .changeset/look-input-3d.md delete mode 100644 .changeset/look-input-input.md delete mode 100644 .changeset/physics-poses-physics-2d.md delete mode 100644 .changeset/physics-poses-physics.md delete mode 100644 .changeset/post-process-live-tuning.md delete mode 100644 .changeset/shape-cast-ignore.md delete mode 100644 .changeset/third-person-orbit-roll.md diff --git a/.changeset/look-input-3d.md b/.changeset/look-input-3d.md deleted file mode 100644 index ef136fc..0000000 --- a/.changeset/look-input-3d.md +++ /dev/null @@ -1,51 +0,0 @@ ---- -"@ignifx/3d": patch ---- - -The look rigs re-arm pointer lock, ignore an unlocked mouse, and read a stick as a rate - -`FirstPersonController` and `ThirdPersonCamera` were each doing their own look arithmetic, and both -were wrong in the same four ways. The look half of both now lives in one internal module and the -four defects are fixed together. - -**Pointer lock re-arms.** `FirstPersonController` set a latch on its first request and never cleared -it, so once the browser released the lock — Escape, which the templates also bind to the pause menu, -or a focus change — no later click could take it back and the player finished the session with an -unlocked mouse. The lock is now requested on **every** frame that carries a `pointerdown` -while the lock is not held; the only guard is a request already in flight. A refusal is logged and -dropped, exactly as before. - -**An unlocked mouse no longer turns the view.** While `lockPointerOnClick` is on and the lock is not -held, a `Look` reading whose `InputAction.activeDevice` is `Mouse` or `Pointer` is ignored. Before, -the view spun whenever the cursor crossed the canvas — on its way to a menu button, say — and stopped -dead when the cursor left the frame. Gamepad, touch, and virtual sticks are never gated: they have no -cursor to lose. `lockPointerOnClick: false` keeps unconditional mouse look for drag-to-look designs. - -**A stick is a rate, a pointer is a displacement.** Both rigs did `yaw += look.x * sensitivity` for -every device. That is right for a pointer delta, which is this frame's motion, and wrong for a stick, -whose value is a deflection: at 120 Hz the stick turned twice as fast as at 60 Hz, and games papered -over it with a `scale(18)` processor. A gamepad or virtual reading is now multiplied by the new -`stickLookSpeed` (degrees per second at full deflection, default 180) and the frame delta, so the -same push turns through the same angle in the same second at any frame rate, and slow motion slows -the look with everything else. `sensitivity` keeps its meaning for pointer readings — degrees per unit, -which with `@ignifx/input`'s CSS-pixel deltas is degrees per CSS pixel, so 0.08–0.15 suits most mice -on every display and at every render scale. - -**Up is up on every device.** A screen's `movementY` grows downward and a stick's `y` grows upward, -and both rigs subtracted `look.y` from their pitch regardless — so one `invertY` could only ever suit -one device family, and a first-person mouse looked *down* when it was pushed forward. The pitch axis -is normalised where the device is known: `Mouse`, `Pointer`, and `Touch` readings are negated, gamepad -and virtual are not, and the rigs apply their own sign and `invertY` on top as before. Moving the -mouse forward and pushing a stick up now both look up in first person, and both lower the boom and -aim the camera up in third person; `invertY` flips every device together. - -`ThirdPersonCamera` also gains `lockPointerOnClick`, defaulting to **`false`**: a rig that orbits on a -held mouse button needs its cursor, so nothing changes for an existing third-person game until it -opts in to the console-style "click to capture, Escape to release" behaviour. - -Public API change: `FirstPersonController.stickLookSpeed`, `ThirdPersonCamera.stickLookSpeed`, and -`ThirdPersonCamera.lockPointerOnClick` are new schema fields. No field was removed or renamed. Two -behaviour changes need a look from any game that ships a look binding: drop the `scale(...)` -processors from stick look bindings, which double-count against `stickLookSpeed`, keeping the -`deadzone(...)`; and drop any `scale(1, -1)` that existed to line a stick up with the mouse, because -the rigs agree on which way is up now — reach for `invertY` instead. diff --git a/.changeset/look-input-input.md b/.changeset/look-input-input.md deleted file mode 100644 index eeab452..0000000 --- a/.changeset/look-input-input.md +++ /dev/null @@ -1,47 +0,0 @@ ---- -"@ignifx/input": patch ---- - -Pointer deltas are CSS pixels, the canvas wheel no longer scrolls the page, `InputAction.activeDevice`, and pointer lock asks for raw mouse motion - -Four fixes to the things a look control is built out of, all found while chasing "the camera on the -third-person example does not behave correctly" and "scroll interferes with page scrolling". - -**The wheel is taken non-passively.** The canvas `wheel` listener was registered `{ passive: true }`, -which forbids `preventDefault`, so a wheel over a running game zoomed the camera _and_ scrolled the -page underneath it — obvious on ignifx.com, where the examples live in an `