import { mountBeadString } from './bead-string/page'; export interface Instrument { id: string; name: string; blurb: string; mount?: (root: HTMLElement) => void; // absent = not built yet } export const INSTRUMENTS: Instrument[] = [ { id: 'bead-string', name: 'String of beads', blurb: 'Point masses joined by pre-tensioned springs, moving in 3D. Pluck, strike or hammer it; clamp, slide or free the ends; pin beads.', mount: mountBeadString, }, { id: 'bead-drum', name: 'Bead drum', blurb: 'A membrane: a tensioned 2D net of beads with a clamped rim.' }, { id: 'bead-bar', name: 'Bar', blurb: 'A stiff chain with bending springs, free ends: xylophone-like overtones.' }, { id: 'bead-plate', name: 'Plate', blurb: 'A 2D net with bending, free or clamped edge.' }, ];