Each note is a hand strike convolved with an impulse response synthesised for that exact note: three to fourteen milliseconds of low-passed noise with a leading click, driving a bank of exponentially-decaying sinusoids. The bank is where the instrument lives. A tone field's first three partials sit at exactly 1, 2 and 3 times the fundamental, because that is what the maker hammered them to, and only the modes above them, the shell's own, which nobody tunes, are inharmonic. The upper modes also die fastest, and that ordering is the shimmering attack: everything arrives at once, the top of the bank leaves within a second, and what remains is the tuned 1 : 2 : 3 core.
The ding gets a different bank, not a transposed one. It is a dome rather than a dimple, so its partials are lower and denser, and its octave is a PAIR of modes at 1.994 and 2.011 rather than a single one, a real asymmetry in a real dome. Rendering both and letting them interfere is what makes a struck ding shimmer and a struck tone field not, and it is the same mechanism modal-ir.ts uses for a gamelan's ombak rather than an amplitude modulation applied afterwards.
Strike position is applied to the modes before the impulse response is rendered, so it changes which partials exist rather than filtering the ones that do. The dimple at the centre of a field is the antinode of its tuned fundamental; the shoulder around it belongs to the shell. Two lobes blended across the bank express that: at the dimple the fundamental is full and the shell modes are down at a fifth of their weight, at the shoulder it inverts. Nothing is ever weighted to zero, because a hand has width and never lands on a mathematical point.
Velocity does two things, both physical. Level follows velocity squared, which is the repo's own perceptual curve. And a harder tap is a shorter contact, which is a wider excitation spectrum, so velocity is coupled into the hand's effective hardness, a quiet note is genuinely duller and not merely quieter. There is no knob to defeat that coupling, because there is no way to defeat it on the instrument. The exciter burst is drawn from a seeded generator forked by the hand setting, so a given touch always produces the same burst; Math.random has no place in this path.
Rendering an impulse response is a few hundred thousand sine evaluations, so they are cached per note and dropped wholesale whenever a parameter that changes the samples moves, scale, base pitch, position, ring, damping, size or width. A nine-note instrument fills its cache in nine strikes. Voices are capped at ten with oldest-first stealing. Each strike is a one-shot whose duration grows from 1.4 to 5.5 seconds with velocity, followed by the Release fade, with an eight-second resource cap.
Which note a key plays is decided before any synthesis by the shared note remapper. In Scale quantises to the nearest field in the selected root-relative layout, including correct held-note release and collision handling; 12-TET passes the chromatic note through and lets the model build a matching field. Keyboard, MIDI, clips and the on-screen surfaces all use the same boundary.