Skip to content

Fix/core edge cases - #116

Merged
kvvasuu merged 4 commits into
mainfrom
fix/core-edge-cases
Oct 6, 2026
Merged

kvvasuu merged 4 commits into
mainfrom
fix/core-edge-cases

Conversation

@kvvasuu

@kvvasuu kvvasuu commented Oct 6, 2026

Copy link
Copy Markdown
Collaborator

Fixes

  • Throwing event listener stalls the queue. If a listener threw, every later event was dropped for good. The error still reaches the caller, but only the event that threw is lost. Events left in the queue are delivered on the next drain.
  • Recentering under frameloop="demand". An idle scene never ran the frames that recentering needs to wait and ease back. Input axes now report that they are still moving. PanTilt and Klipp.update pass that on, so the loop keeps going until the axis is back at center. InputController also invalidates on pointer events that feed the axes: dragging, touch and pointer lock.
  • Switching back to enabled. Going from standby or disabled back to enabled didn't write the shot when it hadn't changed, so the camera stayed where it was left. Re-enabling now always writes the current shot. <Klipp> invalidates when its mode prop changes.
  • GroupFraming with a single point member. A group made of one point was always skipped. With padding it is now framed. A group with no size and no padding still leaves the camera as it is.

Each fix has a regression test.

API cleanup

  • groups (Sequencer, MixingCamera, StateDrivenCamera, ClearShot) and cameraState.mix are no longer exported. They aren't finished or tested enough to be public yet. The code and its tests stay in the repo.
  • Removed BlendHints.inheritPosition and BlendHints.screenSpaceAimWhenTargetsDiffer. Neither was implemented. The remaining flags keep their bit values.

@kvvasuu
kvvasuu merged commit 3cb13f1 into main Oct 6, 2026
1 check passed
@kvvasuu
kvvasuu deleted the fix/core-edge-cases branch October 6, 2026 07:28
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant