Hail (SPRINT5 §E-1) ships two ways because Lane C's rain is a BoxGeometry with a flat material and skyfx loads no external texture at all: hail_stone_01 as geometry that drops into their existing InstancedMesh pattern, and hail_pips.png as a 4-cell atlas for impacts. A flat quad can't be round and an impact is round — that's the only reason the atlas is a texture. Both come with a copy-paste recipe, because a grep showed exactly one of my five shipped textures is consumed: sail_weave, the one I wrote a recipe for. grass_atlas has sat unreferenced for four sprints. plant_shred (§E-2) is elongated after the first pass came out radial and read as green potatoes — it's the long axis plus the midrib that says "leaf". tools/yardshot/ finally lands the DESIGN.md pictures, carried since Sprint 2. It does NOT touch server.py or main.js: it's a Lane E stdlib server that serves the repo and takes POST /shot, so the browser posts a Blob and bytes go straight to disk instead of base64 through a console. do_POST is ~25 lines and Lane A is welcome to lift it and delete this. Three traps found on the way, all documented: toBlob is async so the WebGL buffer is already cleared (toDataURL is sync); a backgrounded tab lays the canvas out at 0x0 and toDataURL then returns "data:,"; rAF is paused there so step() must be driven by hand. Selftest 209/0/0, 36 output files byte-identical across two runs. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2.6 KiB
256x256px
2.6 KiB
256x256px