Page template renderer: HERO1, HERO2, QUAD, GRID6 #59
Labels
No labels
area:companion
area:docs
area:shared
area:tooling
area:watchapp
blocker
kind:chore
kind:feature
kind:spike
kind:test
No milestone
No project
No assignees
1 participant
Notifications
Due date
No due date set.
Dependencies
No dependencies set
Reference
robert/PedalPebble#59
Loading…
Reference in a new issue
No description provided.
Delete branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Goal
A generic renderer that draws any page descriptor. Replaces the hand-built ride layout originally planned in #9.
Acceptance criteria
HERO1: one field, full 200x208, ~140 px digitsHERO2: hero 200x118 plus two cells 100x90; 96 px and 44 px digitsQUAD: 2x2 of 100x104, 56 px digitsGRID6: 2x3 of 100x69, 40 px digits.,:,-,/- system fonts stop around 42-49 px and cannot serve HERO1 or HERO2basalt-GRID6may fall back toQUADFiles
watchapp/src/c/page_render.cwatchapp/resources/fonts/Notes
See docs/DESIGN.md section 3.
Update — 2026-09-01: drawn digits, an emphasised slot, and a narrower Phase 1
Three changes.
1 — Digits are drawn, not shipped as fonts (D33). "A custom numeric font", singular, understated
the cost: Pebble bitmap fonts are generated per size, and this design needs 140, 96, 56, 44 and 40
px on
emeryplus round variants — about eight font resources. Since the glyph set is a dozencharacters, draw them procedurally instead.
0–9,.,:,-,/drawn procedurally from rounded barsCustom numeric font subsetandresource size measured— no longer applicable2 —
QUADandGRID6get an emphasised slot (D29). As written, both present only equal-weightnumbers, which contradicts NFR-U7 — and two of the three shipped pages are
QUAD.QUADandGRID6drawn larger than the rest: one emphasised cell plus three, andone plus five
3 — Phase 1 narrows to
emery,HERO2andQUAD(D32).HERO1andGRID6move to Phase 1balongside #51 and #62, so the first rideable build lands sooner.
them on the host — this is what makes the deferred round work safe to do later
At the corrected ~200 DPI (see the D24 correction),
GRID6's 40 px digits are 5.0 mm tall. It ships,but it is not a default and should not be recommended in the configuration UI.
Update — 2026-09-02: render the two states differently
--(unavailable) are visually distinct, not the same treatment (D44)docs/DESIGN.md, neither state is signalled by colour alone (#56)