Plugin Selection Toys May 2026
function encodePreset(preset) return btoa(JSON.stringify(preset));
interface ToyPlugin "visual" interface ToyContext // shared state across plugins audioBuffer?: AudioBuffer; canvas?: HTMLCanvasElement; physicsWorld?: Matter.World; userParams: Record<string, any>; plugin selection toys
reorder() // sort: visual → physics → audio (example) this.activePlugins = new Map([...this.activePlugins.entries()] .sort((a,b) => orderMap[a[1].category] - orderMap[b[1].category])); function encodePreset(preset) return btoa(JSON
getPipeline() return Array.from(this.activePlugins.values()); orderMap[a[1].category] - orderMap[b[1].category]))
disable(pluginId) /* remove from maps */















