Commit Graph
15 Commits
Author SHA1 Message Date
Claude b6f782d8af Fix stuck gestures and scene graph races; honour commitVelocity
Gestures
- Cancel a captured gesture on lostpointercapture, on a new primary
  pointer-down, and when its component unmounts, so operations are
  never left stuck mid-transition. Bindings gain onLostpointercapture.
- Warn (console.warn) when navigate() fails or the scene rejects an
  operation; stay quiet when two recognizers race for one origin.
- OriginGesture and OriginGestureSurface props are reactive. Changes
  apply from the next pointer-down; recognizers are kept per list
  position so re-renders never interrupt a drag.
- Remove the legacy direction/edge/threshold/action gesture form
  (OriginGestureOptions, legacy OriginGesture props, MaybeOriginAction).

Scene
- Honour choreography commitVelocity (default 0.3, as before).
- Scene errors are OriginSceneError with a stable code.
- update() during settling now really catches an operation: the spring
  stops, and only the latest finish() decides the outcome.
- Fix graph corruption found by the new property tests, all present on
  main: replacements escaping a cancelled push, edges left dangling when
  their current target differs from the original one, revealed targets
  keeping operations after their back is cancelled, history pointing at
  removed entries after replace, visual cycles from back through an
  undecided replace, exposed nodes reactivated as active, and a cancel
  cascade that could empty the whole scene.

Tests
- Add property tests checking structural invariants after every step of
  random operation sequences and pointer streams (PROPERTY_SEEDS).
- Add recognizer tests for stuck gestures, warnings, reactive props,
  and commitVelocity. Drop the main-comparison suites; keep benchmarks.

Also fix the origins demo's two pre-existing type errors.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01Faarh2Ts6StJPcz2mRiHiR
2026-10-16 04:09:57 +00:00
Harvmaster 056f341cd3 Increase complexity of test demo 2026-07-31 07:51:50 +00:00
Harvmaster 55dad11b25 V2: Origin based animations, Gesture Builder, New Demo, non-url-based-routing. Massive improvements. 2026-07-25 05:57:26 +00:00
Harvmaster 5a514906eb Separate out into files 2026-07-22 11:37:46 +00:00
Harvmaster 6aed7606ad Add experiments folder. Add usage.md and SKILL.md. Fix Sheet interactions and add dynamic sheet mode. 2026-07-22 07:04:39 +00:00
Harvmaster 18baa96848 Add prettier. Format. 2026-07-22 02:12:05 +00:00
Harvmaster c27e5906ca Add profiler 2026-07-22 01:03:27 +10:00
Harvmaster db864af147 Fix frame pacing 2026-07-21 21:59:26 +10:00
Harvmaster 7d134ff8c9 Improve caching 2026-07-21 18:45:59 +10:00
Harvmaster 92c61abcfe Add docs and further stress tests to the demo 2026-07-21 17:56:58 +10:00
Harvmaster 9af84760fa Fix animation stale reference 2026-07-21 16:03:28 +10:00
Harvmaster d2d82ae6ae Fix routing during animation 2026-07-21 15:31:43 +10:00
Harvmaster ee25b9a94d Pwa support, maybe 2026-07-21 15:13:16 +10:00
Harvmaster 49cecad06d Pwa support, maybe 2026-07-21 15:03:34 +10:00
Harvmaster e79c793b9c first commit 2026-07-21 14:54:36 +10:00