GlowHalo Skills

Watch Face Legibility & Safe-Zone Audit

Watch Face Legibility & Safe-Zone Audit is for the last look before you publish a smartwatch face. You give it the face image(s) (or a description) plus the planned time and complication zones and the text colour. It measures what it can, labels what it cannot, and never edits or uploads anything.

Gumroad · $2Groble · 2,900원SkillHQ · €2

Example output

Mode M — 2 faces — PASS 0 / FIX 2 / UNSURE 0

## Faces and zones

- Mode M: Python 3 with Pillow is available and both files were readable. Script saved to /tmp/qa3/wfaudit.py, run with `python3 -I`, one run per zone per face.
- good.png: 400x400, square file, round face (visible area = inscribed circle, radius 200 px).
- bad.png: 400x400, square file, round face.
- Planned layout (user): time in the centre, date near the top.
- Zone boxes (x0,y0,x1,y1) were chosen by me as tight boxes around the glyphs I measured in the pixels. All are "derived", not user-supplied.

| Face | Zone | Box | Text colour | Source of colour |
|---|---|---|---|---|
| good | time | 36,155,370,243 | #FFFFFF | user: "white-ish"; pixels show exactly (255,255,255) |
| good | date | 142,58,256,81 | #C8C8C8 | not stated; sampled from pixels (200,200,200) |
| bad | time | 36,155,370,243 | #808080 | user: "grey"; pixels show exactly (128,128,128) |
| bad | date | 152,25,248,49 | #787878 | not stated; sampled from pixels (120,120,120) on a yellow plate (250,250,120) |

- Ambient image supplied: no (C3a is the script's dimmed grayscale simulation, an estimate).
- Preview/mockup supplied: no.
- Defaults used: 4.5:1 target, 6% bezel inset (limit 94% of radius), 0.5 ambient dimming, 9 px minimum zone height at 120 px, busy-art thresholds.

## Per-face results

| Face | L1 time contrast | L2 safe zone | L3 ambient/small | L4 preview | Verdict | Evidence |
|---|---|---|---|---|---|---|
| good | PASS | UNSURE | FIX | UNSURE | FIX | Time zone: `C1 contrast median 16.09:1 \| worst-5% 15.34:1 \| 1% of zone <3:1 -> PASS`; `C2a busy art 3% ... -> PASS`; `C2b ... 88% of radius (limit 94%) -> PASS`; `C3a ambient median 9.54:1 \| 2% <3:1 -> PASS`; `C3b zone height 26.4px \| median 15.97:1 -> PASS`. Date zone: `C1 median 10.81:1 \| worst-5% 5.09:1 \| 4% <3:1 -> PASS`; `C2a busy art 9% of zone pixels are strong edges -> UNSURE`; `C2b 77% of radius -> PASS`; `C3a median 6.27:1 -> PASS`; `C3b small 120px preview: zone height 6.9px \| median 9.93:1 \| 11% <3:1 -> FIX` (under 9 px). L4: no preview or real-layout statement supplied; image time box centre 51% across, 50% down, date box centre 50% across, 17% down, consistent with the plan but no preview to compare. |
…

Real output from running the skill on a sample problem, shortened. The skill file itself is not published here.

Also in a bundle

← All skills