evidence · 7.6 KiB

README.md

Committed at docs/evidence/clock-restyle/README.md. This is what grounds the requirements that cite it.

Open raw source

Clock restyle (change the-shell-has-one-visual-language, task group 1)

Evidence class: host renders from real theme generations. There is no native panel capture and no judgement on glass yet (tasks 5.1 and 5.2).

What changed

paint_widget_card_content in nix/rust-shell-client/src/render.rs:

Command

cargo run --offline -q --manifest-path nix/rust-shell-client/Cargo.toml \
  --example render_clock_styles_evidence -- <out> <state>/generations \
  default=5c64a4c1de62429c468041bc large=af7b32bfc4793dfe05c678e7 \
  larger=bcc10b3fb39a95aa3c43ea80 largest=0fc1fc47cd7b409f46f67425 \
  largest-high=c1792d0524753badee55226d

The generations are the ones in docs/evidence/coherent-shell/accessibility-scale/README.md (the default theme at each text step, and 200% with high contrast). The example draws each Clock style alone in slot 0 of Home at 1232x568, over a flat teal and a flat orange backdrop (the two halves of the vinyl wallpaper), cropped to the left 620 px. “Before” was rendered the same way from 9d213511, the base of this branch.

Files

Each sheet has four rows (Bubble, Thin, dot matrix, analog) and four columns: teal before, teal after, orange before, orange after. Tiles are half size. The clock reads 17:54 in the “before” tiles and 17:55 in the “after” tiles because they were rendered a minute apart.

FileStep
host-100-before-after.png100%
host-130-before-after.png130%
host-160-before-after.png160%
host-200-before-after.png200%
host-200-high-before-after.png200%, high contrast

Tests

Limits

Landscape only. Flat backdrops, not the wallpaper. No light theme. The Bubble clock in the card is a 2-column cell; wider cells were not rendered.

Board captures (2026-10-16, DSI-1 1232x568 landscape)

The system was /nix/store/5vj9z6z0ims1svg437qncsv7y2p5hw2z-nixos-system-…, built from integration commit e71dabce. That is this restyle plus the side-edge Back menu fix, which touches only main.rs and the card shell. It was deployed live by the coordinator. The text step was set with k230-theme vision --text-scale <step> --contrast standard. The theme was retro-82 with its vinyl wallpaper. Each frame is a native grim capture.

Evidence class: native captures. No judgement on glass yet.

FileStep
board-panel-100-home.png100%
board-panel-160-home.png160%
board-panel-200-home.png200%

On this theme the hour is cream and the minute is retro-82’s orange accent. Both have the dark halo over the teal and orange vinyl. The date is one cream line that grows with the step.

Host evidence (2026-10-17): portrait, wallpaper, light theme

Evidence class: host renders only, from real theme generations. No board capture and no judgement on glass. Tasks 1.3 and 1.4 of the change.

The example gained two optional environment variables: CLOCK_SIZE=portrait renders 568x1232, cropped to the top 620 px, and CLOCK_WALLPAPER=<png> replaces the flat backdrops with that image, scaled to cover the panel. Each Clock style is drawn alone in slot 0 of Home, so the dock placeholder shows below it. The text step comes from the generation, not from the name. The generations were prepared on the host with tools/theme_activate.py and tools/theme_vision.py at each of default, large, larger and largest (100/130/160/200%), contrast standard.

Sources: nix/handheld-theme-default/catppuccin (the default theme), and /nix/store/sk567bs144zc0fpn7v16q10amjsz4wsb-source/themes/retro-82 and .../themes/catppuccin-latte.

Theme100%130%160%200%
catppuccin3ca9e2aff350ca417e2ff4d44bb1717c22218debb2901ff751892a062666a9636a15a91100b94d7cb2c378c9e167bfea
retro-8232b73c36b03bf9f4e1836b3b3ac6617e73fc472072bb22a542d25c3f28bba5ca4b7b50930017cb90ff4788c72a594ed0
catppuccin-lattec3f3ed1da29e4794867c6407055d709f012e41598de6e193122e3e491beb0684d6a9580a3d3427bb1dcfe70d59c085c3

Commands (from the worktree root; wallpapers converted with ImageMagick to 1800 px wide PNG first):

magick .../themes/retro-82/backgrounds/1-in-the-groove.webp -resize 1800x groove.png
magick .../themes/catppuccin-latte/backgrounds/1-color-fade.webp -resize 1800x fade.png
E="cargo run --offline -q --manifest-path nix/rust-shell-client/Cargo.toml \
  --example render_clock_styles_evidence --"
CLOCK_SIZE=portrait $E <out> <catppuccin-state>/generations default=<id> large=<id> larger=<id> largest=<id>
CLOCK_WALLPAPER=groove.png $E <out> <retro-82-state>/generations default=<id> ...
CLOCK_WALLPAPER=fade.png   $E <out> <catppuccin-latte-state>/generations default=<id> ...

Each sheet has four rows (Bubble, Thin, dot matrix, analog) and four columns (100%, 130%, 160%, 200%), built with magick montage and then -resize 50% -strip. The clock reads a different minute on each sheet because they were rendered at different times.

FileShows
host-portrait-steps.pngcatppuccin, 568x1232 portrait (top 620 px), over flat teal
host-retro82-wallpaper.pngretro-82 over its 1-in-the-groove vinyl wallpaper, landscape
host-latte.pngcatppuccin-latte over its 1-color-fade wallpaper, landscape

What the images show:

Limits: host renders only. The wallpaper is scaled to cover and is not the panel’s exact crop or the shell’s wallpaper pipeline. The clock is in slot 0 only, so its position over the vinyl is not where a user would place it. The sheets were re-rendered after the dot-ring change, from the same generations.