Salah 0.6: restore user-confirmed smooth v0.3 native list

This commit is contained in:
2026-09-12 13:22:30 +01:00
parent 1c20c2927c
commit d7e707e800
7 changed files with 37 additions and 138 deletions
+12 -18
View File
@@ -19,24 +19,19 @@ Morocco (Ministry of Habous), matching AlAdhan `method=21`:
All computation happens **on the watch** — no GPS, no network. Pure solar math
(same Meeus approach as the sundial) lives in `src/common/prayer.js`.
## Screen (v0.5)
## Screen (v0.6)
- Pure #000000 AMOLED background, large 50px clock, no swipe hint
- Prayer names above their times, in fixed 104px native list rows
- After scrolling stops, the nearest-center prayer gets a 60px time and 28px
label; other rows use 30px times and 20px labels
- No font resizing or row-array replacement during gesture/inertial scrolling
- Duplicate stop notifications do not repaint unchanged focus; periodic refresh
defers while scrolling and resumes normally after hiding/showing the app
- Scroll viewport 320×264 at x73/y101 (center y233); 80px end spacers
- Fixed countdown below the list; lavender next-prayer highlight
- Normal system back exits; calculation logic unchanged
- Restores the exact native list markup, row styles and page logic from v0.3,
which the user confirmed scrolled smoothly on their watch
- Removes ALL scroll handlers, zoom logic and dynamic font-style bindings
- Fixed 28px prayer names and 36px times, side by side in 80px rows
- Pure black background; enlarged 50px header clock; no swipe hint
- Next-prayer countdown above the list; normal system back exits
User reported watch lag in v0.4. A 500-event VM replay measured 500 row-array
replacements in v0.4 versus zero during scrolling in v0.5. This verifies reduced
update work, NOT device frame rate. All automated tests and release build pass;
on-watch smoothness still needs confirmation. `preview-0.4.png` remains an
illustrative static layout mock; the settled appearance is unchanged.
The user reported v0.4 and v0.5 lag during swiping (not only when stopping).
`tests/native-scroll.cjs` verifies parity with the smooth v0.3 baseline and
absence of the zoom path. v0.6 tests/build pass; device smoothness still needs
confirmation. Old preview images document earlier releases, not v0.6.
## Project layout
@@ -62,8 +57,7 @@ npm run release
node tests/prayer.cjs
node tests/page.cjs
node tests/amoled.cjs
node tests/focus.cjs
node tests/scroll-performance.cjs
node tests/native-scroll.cjs
```
## Install