docs: the README animation is built from photos in the tree, with new characters

The six hero GIFs were rendered from pages that lived only in a scratch folder, so
changing one character meant editing frames. docs/hero/ now holds every piece, in
three layers, each made from the one before:

  photos/  characters.png as an image model draws it, on white; cut_out.py turns
           it into one cut-out per theme (shadows kept on light, removed on dark,
           and only the white connected to the edge touched, so the eyes stay)
  html/    wide, mobile and small pages that compose the photos; renderLoop(t)
           draws the frame at second t, and opened in a browser each page plays
           its own loop
  build.mjs  photos -> frames (Chromium, 12 a second) -> docs/images/hero-*.gif,
           with the same palette and dither as before

A fourth page, html/social.html, builds docs/images/social-preview.png, the
repository's social preview, from the same photos.

The characters are new: the same four, colours inverted, each with a role it can
carry (a hard hat, sunglasses, a beret, a magnifying glass), all still angry. The
scenes, their words and their timing are unchanged.
This commit is contained in:
feder-cr committed 2026-10-12 02:45:30 +02:00
1 parent 96eee2ba8c
commit 9151ce3386
19 files changed
+1014

No files matched your search

+3
View File
@@ -30,3 +30,6 @@ vitest-report.json
# Editor and Python leftovers of the gates
__pycache__/
.venv/
# The README animation's frames: docs/hero/build.mjs writes them on every run, from the pages and photos beside it
/docs/hero/frames/