AtlatestRenderedmarkdown
Readme

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 1

The 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.png

The 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.png

The 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.