Added
- New device kind
pico_bin_client+ rendererpico_binfor the battery-powered Pico Plus 2 firmware (tesserae-device-pico-bin, in development) that drives a Pimoroni Inky-style Spectra 6 panel over SPI. The split exists because neither existing kind matched:pi_binpacks landscape-native (correct) but publishes non-retained (a deep-sleep client just-woken would miss the current frame), whileesp32_binretains (correct) but packs portrait-native (wrong, the Pico firmware uses the Inky library which expects landscape). pico_binis byte-identical topi_binfor the same input (content-addressed disk storage shares one file when both targets are active), but flipsretain: true.pico_bin_clientinheritsesp32_client'ssleep_interval_sconfig schema + heartbeat contract verbatim. Default panel is the Inky Impression 13.3" Spectra 6 (1600×1200 landscape).app/discovery.pyanddocs/dev/architecture.mdenumeratepico_bin_clientalongside the existing kinds; the auto-generateddocs/compatibility.mdregen picks it up automatically.
Changed
- Settings → Renderers tab is now dev-only. In prod every base renderer's user-facing settings (dither, saturation, contrast, calibrated) are already surfaced per-device-instance on the Devices tab via the
device_setting: trueflag on each field, so the base Renderers page was duplicate surface for the typical install. The tab now renders only when--devis set; the route itself is unchanged so deep-linking still works in prod.