Kit-as-data close-out: euclid overlay compiled to lane notation

Phase 1 already made the 18 named kits data (KITS + drumEvents); the one procedural remnant was the euclid overlay — three hardcoded place() calls with inline amp lambdas.

• Kept procedural with in-code reason: the euclid pass remains a once-per-bar post-pass — byte-identity pins (a) the shadowed kit lane's rng draws having already fired, (b) the closed-vs-open hat distinction per…

• ZERO fixture drift: 1047/1047 incl. all 102 kit-stream hashes vs the pre-edit baseline. verify.sh --full --no-cache PASS (matrix 63/63, validate 5-seed, engine).

▶ Play it: Mercury Interrogation — where the harmony organ has the least anywhere to hide https://stellate.app/?genre=bebop&seed=1950&path=694.13834,713.13867,675.13867&xdur=13.122

96ec2f1 https://github.com/aboard-io/stellate/commit/96ec2f1645b5feb3ba1a70a622415a65d89ca4ec