evidence · 8.4 KiB

README.md

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

Open raw source

feat/shell-responsive host render captures

Generated 2026-09-29, regenerated the same day after the density-scale/ Home-grid-reflow/Settings-content-column follow-up, with:

cargo run --example render_responsive_evidence -- <out-dir>

from nix/rust-shell-client at commit history on branch feat/shell-responsive (base feat/hdmi-pillarbox @ 4c2eb57c8cc5, later rebased onto that same branch’s 46a8e37e), then copied into this directory. The harness is nix/rust-shell-client/src/evidence_render.rs, called from both examples/render_responsive_evidence.rs (produces these PNGs) and tests/responsive_pixel_identity.rs (asserts the *-568x1232.png files below stay byte-for-byte identical to a fresh render on every cargo test — see that test file’s own doc for exactly what it does and does not prove).

What this proves

Each of home-*.png, drawer-*.png, settings-*.png, wallpaper-*.png is rendered through the exact production paint path (render::paint_home, render::export_png → scene()/paint_drawer, render::RendererCache:: draw_wallpaper) at four surface sizes:

home-* and drawer-* use 30 synthetic apps (evidence.appN.desktop, no real icon) placed by HomeLayout::place_first_fit/DrawerNavigation’s own tile math — enough to overflow one page/viewport and show real reflow, not just an empty grid. settings-* uses Route::Settings with no live service snapshot (hence the static “Loading settings” row). wallpaper-* has no theme loaded, so it is render::RendererCache::draw_wallpaper’s flat palette_rgb_or fallback fill (0x1e1e2e), not a decoded image — this directory does not carry evidence for background_decode.rs’s image crop/center/fit paths, which are unit-tested directly in nix/rust-shell-client/tests/background_decode_module.rs instead (including the widened MAX_OUTPUT_WIDTH/MAX_OUTPUT_PIXELS bounds this change adds).

Confirmed by inspection (drawer-568x1232.png vs drawer-1920x1080.png, home-1920x1080.png vs home-568x1232.png, settings-1080x1920.png vs settings-1920x1080.png):

What this does NOT prove

Integrated HDMI candidate, 2026-09-29

Branch integrate/hdmi-touch-responsive, based on master c5158fa8, combines HDMI driver 848d24c0 and responsive-shell fdd26105. The build at e0e3b04a passed:

cargo test --manifest-path nix/rust-shell-client/Cargo.toml --lib --bin k230-shell-rust
nix build .#nixosConfigurations.k230-coherent-shell.config.system.build.toplevel --max-jobs 1 --cores 4 --out-link result-hdmi-touch-responsive
nix build .#deviceTreeHdmi --max-jobs 1 --cores 4 --out-link result-hdmi-dtb
nix build .#sdImage-coherent --max-jobs 1 --cores 4 --out-link result-hdmi-touch-responsive-image

The 401 library and 22 binary tests pass. Both OpenSpec changes validate strictly. Artifact inspection pins the system, image and HDMI DTB and verifies the SD layout, kernel, ramdisk and init selection against that system. The HDMI tree retains the Goodix touchscreen; the normal image still boots the panel.

UNVERIFIED: This combined candidate has not been installed or booted on the board. The removed resize handshake is a proposed HDMI touch fix, not physical touch acceptance. Trackpad and mainline-kernel work are separate.

After merging master at 67985088, nix eval --raw .#nixosConfigurations.k230-coherent-shell.config.system.build.toplevel.outPath still resolves to the system pinned in integration-host.json. cargo test --manifest-path nix/rust-shell-client/Cargo.toml --test responsive_pixel_identity passes all four exact native-panel comparisons. cargo clippy --manifest-path nix/rust-shell-client/Cargo.toml --all-targets exits successfully but reports style warnings (37 in the library-test target, including duplicates); this is not a warning-free check. The site build passes at that revision: 395 pages, 12,787,729 bytes, 46.57 seconds.

Physical closeout — 2026-10-09

The retained fill and Home/All Apps/Settings target gates are complete under the normal-runtime acceptance. That report combines a separately recorded operator confirmation with matching native/configure evidence; it does not change the host proof class above. Density, Wi-Fi/theme reflow and dock slot-count design remain open as landscape tasks 7.1–7.3 under the authorized scope transfer.

2026-10-14: drawer-568x1232.png regenerated

drawer_568x1232_matches_the_committed_evidence_exactly had failed since 3a1a3e51 (“Complete applicable handheld theme consumers and host coverage”, 2026-10-10), found with git bisect on that test. That commit deliberately draws the drawer’s search field as a themed service card (service_card_interaction), which changes 61152 bytes of this render (the search field only, bbox (24, 54)-(456, 102)), and did not refresh this PNG. It is regenerated with cargo run --example render_responsive_evidence -- <dir>; the other renders here are unchanged.