# Image credits

The static README examples are lossless PNGs generated by `scripts/generate-site-assets.mjs` using ditherto itself. The homepage instead uses the original photographs with `observeDitherDOM`, rerendering each tile at its display width when the layout changes. Its shared worker keeps processing off the main thread.

Coffee: Rachel Michetti, CC0. Chelsea the cat: Stefan van der Walt, CC0. Eileen Collins portrait: NASA, public domain. Source files and pinned checksums are in [the photographic corpus](https://github.com/jcinis/ditherto/blob/main/tests/fixtures/photos/README.md). No generated or simulated dither results are used.

The site’s sharing card, `arcana-share.png`, is generated by `scripts/generate-social-preview.mjs` from The Magician and The Empress tarot originals using the Blue Mono palette. It contains real ditherto output rendered at its final pixel dimensions. Rebuild it with `node scripts/generate-social-preview.mjs` after building the library, or use `npm run assets:site` to regenerate all static assets. See [the tarot artwork notes](../tarot/README.md).

The Why page uses real, fixed 320-pixel PNG exports in `why/`, generated offline by `scripts/generate-why-assets.mjs`. Both comparison sides use Atkinson, area resizing, 0.3 EV exposure, and identical palettes. Only the middle panel rerenders on the client; the fixed PNGs use normal browser image scaling unless the pixelated-CSS option is selected. Regenerate with `node scripts/generate-why-assets.mjs` after building the library.
