B: synth fonts — MiniMoog + DX7 in the ⚙ soundfont switcher

Two NON-sample fonts: picking one routes the sampler lane to a Faust synth voice per GM instrument instead of samples (Wendy-Carlos "Switched-On Bach"). Built-in, no assets — pure params, registered into the kernel at init.

• MiniMoog (analog): each GM instrument → a modeld voice by tonal family (brass/ reed/flute/string/mallet/pluck/bass/key/organ/voice/lead → cutoff/env/attack/ sustain/drive/oscMix/drift).

DX7 — each GM instrument → a Yamaha DX7 ROM patch ({algorithm,params} from the 114-patch bank) — per-instrument where the ROM names it (SITAR/KOTO/MARIMBA/ ACCORDION/…), else the family patch…

• genre-kernel: instrMerge() (default toState path) + _sampledOnlySpec() (the allSampled path) emit {model:modeld/juno60/dx7, params/dx7} instead of zones when a synth font is active

• state-engine forceSampled: one branch — spec.synth → route to the existing modeld/dx7 dispatch (level/sends/register ride through the recipe).

▶ Play it: Ballroom Leviathan — a horn-and-piano genre that plays almost entirely sampled instruments https://stellate.app/?genre=bigband&seed=8607&path=814.14134,833.14167,795.14167&xdur=13.122

dbc5c9f https://github.com/aboard-io/stellate/commit/dbc5c9ffc76af800befb875263eb54bd5c6fa916