tessera / tree / backgroundsREADME.md
Backgrounds
Tessera generates Facets and Drift from the reviewed 0.1 recipes. The executable contains their code and ships no PNG wallpapers. Both recipes support Orpiment, Lichen, Smalti, Verdigris and Workbench; Workbench Drift keeps its copper sweep.
tessera theme apply workbench --wallpaper drift --seed 4
tessera theme apply lichen # keeps the recipe and seed
tessera theme wallpaper facets --seed 1The default is Facets, seed 1. Preview and revert preserve palette, recipe and seed together. (theme-wallpaper) and (theme-wallpaper-seed) expose the current selection to configurations. Seeds are whole numbers, including zero and negative numbers.
Each connected output gets its oriented native pixel size, including its scale and rotation. A cold request shows the palette's bg0 while a separate renderer runs. One image renders at a time; the compositor continues handling input and frames. A completed image replaces the colour after it is published atomically. Changing selection during rendering cannot apply the previous selection's result.
Generated images live under $XDG_DATA_HOME/tessera/backgrounds, defaulting to ~/.local/share/tessera/backgrounds. The cache includes recipe version, palette, seed and pixel size:
v1/facets/lichen/seed-4/3840x2160.pngThe renderer uses Mesa's software rasterizer with two threads. Identical inputs produce identical PNG bytes with the same executable and Mesa renderer version. Rendering requires Mesa EGL/OpenGL ES 3.2 and Cairo. Existing cache files avoid a new render. Stock lock configuration uses a completed selected image available when the configuration loads, and uses bg0 before one is available.
Render a recipe explicitly, with no compositor required:
tessera wallpaper render facets --palette current
tessera wallpaper render drift --palette workbench --seed 4 --size 2880x1920 --output drift.pngThe default explicit-render size is 3840x2160 and its seed is 1. Without --output, the command prints the cached file's path. --force renders that cache entry again. An explicit output always renders the supplied inputs. current follows a preview, the active palette, or Orpiment before the first theme selection.
Configurations can select a recipe per output or keep an explicit image file:
(import (tessera config) (tessera theme config))
(config-with (stock-config-for (theme-palette))
outputs: (list
(output "eDP-1" background: (wallpaper "drift" "lichen" seed: 4))
(output "DP-1" background: "~/Pictures/background.png")))The 0.1 bundled-background names remain aliases for recipe data at seed 1. Their old size argument validates the alias; generated output now follows native pixel size automatically. An existing explicit TESSERA_DATA_DIR/backgrounds file still overrides its legacy alias. Custom palettes without a bundled recipe use bg0.
The original art scripts and their additional settings remain in wallpapers, under GPL-3.0-or-later. The reference catalog retains the reviewed 0.1 digests. bash scripts/test-wallpaper-matrix regenerates all fourteen reviewed sizes and checks each against its matching palette's text colours.