Skip to content

v0.16.26 — Bauhaus colour pass, HA add-on, design handoff

Choose a tag to compare

@dmellok dmellok released this 04 Jun 07:53

First consolidated release covering everything since v0.12.14
(2026-06-02). What people see when they install Tesserae from r/homeassistant
or from the HA add-on store.

Home Assistant integration

The headline. Tesserae now ships as a Home Assistant add-on,
synced to the companion repo on every release. HA entity widgets
pull from your install directly: ha_sensor, ha_entities,
ha_lights, ha_locks, ha_media, ha_camera, ha_climate,
ha_energy, ha_zones, ha_history, ha_battery, ha_todo.

Per-entity rename + icon picker on the multiselect widgets, with
drag-to-reorder so the order in the picker matches the order on
the panel.

Add-on repo: https://github.com/dmellok/homeassistant-tesserae-addon

Bauhaus/Swiss design system

Every widget now ships 5 visual directions behind a variant cell
option:

  • r1 Refined — dark Bauhaus title bar + tinted hero section
    with a solid --c-accent anchor block. The default.
  • g2 Geometric — De Stijl colour-block tiles, Archivo Black
    numerals.
  • s3 Swiss — hairline header + tabular rows, low-contrast type.
  • d4 Data — stats forward: charts, sparklines, histograms.
  • legacy — quiet paper-and-ink card, no solid accent panels.
    Conservative fallback for users who prefer the pre-colour-pass
    look.

Theme-aware tokens throughout. No hardcoded Spectra hex left in
widget-bauhaus-wx.css; the title bar inverts against the body so
refined widgets read correctly in both light and dark themes. New
--wx-tint* family for soft accent washes (R1 hero sections paint
with these).

34 widgets ship the variant picker. Light themes that previously
read as "95% paper + 5% dusty rose" now have meaningful accent
coverage on the four-direction variants.

New widgets

ha_todo, spotify_queue, octoprint_status, weather_wind, plus
7 new HA widgets covering common entity types. 58 widgets ship in
total.

Editor improvements

  • Per-cell resize handles. Every cell is independently resizable
    even when neighbours don't align.
  • Drag-to-reorder for ticked entities on ha_sensor / ha_entities.
  • Snap-to-grid toggle with adjustable cols / rows.
  • Push from dashboards/editor stays on the origin page instead
    of redirecting to Send → History.
  • Reusable Phosphor icon picker shared between editor + settings.
  • Density pass (v0.16.24+): Settings → Devices closed card drops
    from ~400 px to ~110 px (diagnostic block moves into the
    Configure body); System → Recent updates collapses behind a
    count summary; Themes gallery packs 5 columns instead of 4 at
    desktop width, scrolls ~30% shorter.

Stability

  • Renderer retries Page.goto on transient Playwright TimeoutErrors
    (up to 3 attempts).
  • Dropped networkidle from the wait condition (fonts + icon CSS
    kept it busy after the page was visually ready). Replaced with
    an explicit __tesseraeComposed signal the renderer polls.
  • Renderer pool self-heals on poisoned browser instances.
  • Image-wait render phase so shadow-DOM <img> tags load before
    the screenshot.
  • Editor memory leak fixes: icon-picker uses delegated document
    listeners (no per-instance closures), preview iframe hard-resets
    every hour via about:blank (was an issue for overnight-open
    editor tabs reaching multi-GB).

CSS scale

Mechanical token-migration sweep across the admin chrome CSS
(v0.16.22 / v0.16.23). ~100+ hardcoded pixel values for padding /
margin / gap converted to --t-space-* tokens; off-grid values
(10px, 14px) snapped to the scale. Rhythm now consistent across
surfaces — a card in Settings reads with the same gutters as a
card in Schedules.

Wiki gallery refresh

All 58 single screenshots recaptured against the v0.16.21+ design.
34 widgets with variants got a new <id>--variants.png composite
showing every direction in one 2×N grid. The gallery generator now
embeds a "N directions — click to view" caption under each card's
hero shot.

Other

  • TRMNL hardware integration via HTTP pull.
  • macOS native install via install.sh.
  • 10 light + 10 dark + 5 neon + 6 monochrome themes.
  • Widget gallery dev page.
  • Settings → System updates UI now handles bare installs without .git.
  • Picture widget family + calendar widgets reworked under the
    design system.
  • Widget contract + design system docs refreshed (v0.16.26) for
    the theme-aware token rework — --wx-yellow, --wb-bar-bg/fg,
    the --wx-tint* family, and the legacy variant all documented
    now.

Full commit log: v0.12.14...v0.16.26