evidence · 1.8 KiB

README.md

Committed at docs/evidence/keyboard-base/shell/host-renders/README.md. This is what grounds the requirements that cite it.

Open raw source

Shade battery and Settings Key backlight: host renders

Keyboard-base task 6.3. Evidence class: host render only (Cairo through the production RendererCache::draw, no compositor, no board, no glass).

Regenerate:

cd nix/rust-shell-client
cargo run --example render_keyboard_base_evidence -- ../../docs/evidence/keyboard-base/shell/host-renders

The example builds two temporary trees and reads them with keyboard_base::read_view_state, the reader the live client uses:

FilesShows
shade-with-base-*“64% - Charging” on the shade’s hint line
shade-without-base-*no battery element
settings-with-base-*a Key backlight row: the level (“High”) over a four-detent slider (Off, Low, Medium, High) before Power
settings-without-base-*no Key backlight row; Power section one row higher

Each exists at 568x1232 (portrait) and 1232x568 (landscape). At 1232x568 Settings lays its controls out in three columns (Wi-Fi, Brightness, Volume; Keyboard, Motion, Key backlight when the LED exists; Power), so every control, including the Key backlight row and the Power rows, is on the panel; the pair differs by that one row. The Settings data is a fixture (evidence_render::fixture_settings), the Volume row reads “No audio device found” because no PipeWire graph is attached, and the grey band under the portrait panel is the empty area below the sheet (the landscape sheet fills the panel).

Limits: this proves the paint and the hide-when-absent gating. It does not show a real gauge, the real LED, the preference file under /var/lib, or the panel. Those remain for task 6.5 (native captures on the board).