docs(site): document the whole instrument catalog - #27
Merged
Conversation
The site rendered examples for three voices — gameBoyDmg, gbaDirectSound, basicOsc — and said nothing about the other thirty. The catalog page now covers all 33: label, description, every parameter with its default, and the factory presets where they exist. Generated from generatorCatalog() and defaultParamsForGeneratorId() rather than written by hand, so it cannot drift from the code. Presets come from the app that authored them. packages/synths also had no presence on the site at all — site/build.mjs listed packages/player explicitly and never mentioned it, so the package README did not render. It has an Instruments section now. Verified: site builds, /synths/ and /synths/catalog/ render, all 33 ids appear on the page, 26 preset blocks, and the catalog is in the sidebar.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
The site documented three voices —
gameBoyDmg,gbaDirectSound,basicOsc— and said nothing about the other thirty.packages/synthshad no presence on the site at all:site/build.mjslistspackages/playerexplicitly and never mentioned synths, so even the package README never rendered.What this adds
packages/synths/CATALOG.md— all 33 voices, grouped (chip emulations, hard sync, analog & electronic, atmospheric, acoustic models, percussion, vocal), each with its label, description, every parameter with its default, and the factory presets where they exist (26 of them).Instrumentssection insite/build.mjs, rendering/synths/and/synths/catalog/.The catalog is generated from
generatorCatalog()anddefaultParamsForGeneratorId(), not written by hand, so it cannot drift from the code. Presets are read from the app that authored them.This matters beyond completeness: I wrote pieces against this catalog by guessing parameter scales from UI knob ranges and got several badly wrong —
acid303'senvModis 3000–6000 Hz and I used0.8, killing the filter envelope that is the instrument;sub808'sdriveis 0–1 and I used20. The defaults and presets being written down is what stops that.Verified
node site/build.mjssucceeds;/synths/index.htmland/synths/catalog/index.htmlrender; all 33 generator ids appear on the catalog page; 26 factory-preset blocks; the page is in the sidebar.Not in this PR
The site's player still synthesizes only its own three voices, so a ```deck block using
syncLeadwould be substituted for `basicOsc` and play the wrong sound. Playable examples for the other thirty need `deck-player` to consume this catalog first — the `{ stopTime, disconnects }` retrofit. Documenting them without that would put audible lies on the page, so this PR documents the catalog and adds no new playable blocks.