Snake 0.9: crown control via scroll-delta turns (firmware-derived)
This commit is contained in:
@@ -5,9 +5,21 @@ screen. **32px tiles** (60% larger than 0.7) occupy 89 legal cells of an 11×11
|
||||
bounding grid; every tile corner stays inside the actual circle. The square
|
||||
board frame is gone. Directional sprite artwork and user icon are preserved. Package identity: `com.ilias.snake`.
|
||||
|
||||
**Version 0.8 (versionCode 8): locally tested and release-built; the new features
|
||||
still need an on-watch check.** Earlier versions rendered and played on the
|
||||
user's Watch S4 41mm. Node tests and numeric layout checks are not device tests.
|
||||
**Version 0.9 (versionCode 9): crown control experiment, unit-tested, needs an
|
||||
on-watch check.** See docs/CROWN.md for the firmware reasoning.
|
||||
|
||||
## Crown control (new in 0.9)
|
||||
|
||||
- The watch firmware exposes **no crown event to quickapps**; it routes crown
|
||||
rotation into the scrollable container as scroll deltas. The page is now a
|
||||
full-screen vertical scroll with the dial centered; `onscroll` fires for both
|
||||
crown rotation and finger scroll.
|
||||
- Scroll deltas accumulate; every **40 px of scroll = one 90° turn**,
|
||||
clockwise = clockwise turn. Reversals are structurally impossible because
|
||||
turns are relative 90° steps (`rotateDir`-style), never absolute directions.
|
||||
- The scroller is snapped back to center after every event, so the board never
|
||||
visibly moves, even though the scroll travel exists.
|
||||
- Swipes still work exactly as before; both inputs share the two-slot queue.
|
||||
|
||||
## Play
|
||||
|
||||
|
||||
Reference in New Issue
Block a user