Every tile image gets ImageObject license data so search engines can list it
as Creative Commons, the build writes sitemap.xml with all tile images,
robots.txt points at it, unknown paths get a real 404 instead of the gallery,
and the page gets a descriptive title, canonical, large image previews and
an og.png collage for link previews.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
A square, trimmed copy of cat/blink.webp, so it isn't squished in the tab.
Browsers that don't animate favicons show the first frame, eyes open.
Files at the public/ root are no longer gallery tiles.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Black ink, screentone and white only: reaction tropes (gaan shock, gloom
corner, menacing aura, crow silence, petrify), comedy and action (harisen,
iai draw, kendo, kyudo, miko), school life (locker letters, zero test,
rooftop wind, shared umbrella), town and home (omikuji, shrine prayer,
tanabata, floating lantern, alarm smash) and fantasy (yurei, oni, dragon,
android, summoning circle, knight, pirate, detective, princess).
gen files can now export rim=<px> for a white sticker border, so solid
black ink still shows on the black page.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Generators now live in gen/<section>/<subject>/<action>.js; the section
folder picks where a tile shows in the gallery and isn't part of the URL.
The first 50 are in gen/bw, a dashed divider follows, then gen/color.
First colored ones: fox/sleep, pig/oink, duck/swim, whale/spout,
turtle/walk, owl/blink, crab/dance, butterfly/flutter, dino/stomp,
jellyfish/pulse.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
heart/wink.webp is the keyed-out version of heart/wink.gif. The standing
cat in cat/tail.gif is now cat/wag.{webp,gif} since cat/tail.webp is a
different drawing; cat/tail.gif stays so old links work but is no longer
listed. Gallery images get a content hash in the query so browsers pick
up changed files instead of showing cached copies.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Each animation is its own file in gen/<subject>/<action>.js; npm run gen
renders the missing ones to public/ as webp + gif. The homepage grid is
now generated at build time by a small Vite plugin.
First four: ghost/float, heart/beat, cloud/rain, coffee/steam.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>