Sampled drum kits: 6 real kits from FluidR3 percussion, additive

The drums were "super basic" — three Faust synth kicks (boom/808/909) + noise snare/hat. Add an ADDITIVE sampled-drum path: real recorded kits, synth stays the default so untouched genres render byte-identically.

• faust/sf2.js: new `drumkit` mode extracts GM percussion (bank 128) per-hit one-shots. fetch-found-samples.sh grows a drumkits section (FluidR3 GM/GS, MIT). 6 kits — acoustic/room/power/electronic/jazz/brush

• genre-kernel.js: DRUMKITS registry (len values inline, like SAMPLERS) + drumKitSpec() resolves drums.kit -> per-hit native-sampler specs on the kick/snare/hat/tom voices, riding the wavs into foundSources like…

• faust/state-engine.js: voiceUnits overlays .sampler on the drum voices when a kit is set (stays drum:true/mustLive)

• Rewired 10 genres for variety: acoustic->neoclassical/bossanova/blues, brush->jazz/whalejazz, room->lofi/triphop, power->citypop/disco, jazz->spacelounge/exotica.

Verified: engine.test ALL PASS (default renders unchanged), segment-parity byte- equal (+ jazz_s3 sampled-kit case), matrix diagonal-dominant 92/92 (drums are matrix-invisible: same events/levels)…

▶ Play it: Inclement Surveillance → Dust Census → Requiem Appendix — the three genres this change names, as one path https://stellate.app/?genre=triphop&seed=1965&path=388.8037,263.9071,859.2784&xdur=0.119

3359b4a https://github.com/aboard-io/stellate/commit/3359b4a55df0715143152d1f5535ee9af31acf7f