What changed
- makes Hand Ritual resilient to transient or backgrounded inference failures
- prevents stale inference results from unlocking a later camera retry
- rebuilds failed local MediaPipe instances and preflights both SIMD and non-SIMD runtimes
- refines the ritual hierarchy, state legibility, touch feedback, and mobile layout
- shortens gesture-browsing feedback so frequent focus changes remain responsive
Root cause
Camera permission, model construction, the first frame, and the first inference could all succeed, but one later runtime rejection was treated as a permanent block. Hand tracking now retries transient failures with backoff and only stops after repeated consecutive failures.
Validation
- full
npm testsuite passed - release
f3b261083a355ee8validated with 111 allowlisted files - forced asset failure recovered through the Retry action
- forced transient inference rejection recovered while the camera stayed live
- the real in-app browser camera remained live beyond the earlier failure window
- desktop, mobile, and reduced-motion previews passed without overflow or browser errors
The unchanged v0.3.0 Android wrapper continues to load the current HTTPS website.