Repository navigation
Draw the patched synths' routing from their cables and pins (t-145) - #118
Merged
Merged
Conversation
… grid (t-145) A block on none of a routing's edges is now placed by the cables that join it, so a modular's diagram follows its patch; a block an edge places never moves for a cable. A block nothing joins sits in a grid beneath. Cables carry a signal from the routing's audioJacks, and one from a jack whose gain is at zero carries nothing. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
One block per 900-series module and no edges; every path is a cable. Built from the definition, so getSynthRouting() now takes it: importing the definitions into the registry would bundle them into every synth page. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
… (t-145) An audio cable now places both its ends in the audio band, so a pin-matrix synth's main line runs straight even between blocks its edges also join. Only the patched synths declare audio jacks, so wired synths are unchanged. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
…ched routings (t-145) Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
An audio block with no way to the output along the band (the Syntrx II's ring modulator, a modular's filter not yet patched on) was placed in the output's column, where it reads as feeding it. On the wired synths this moves only such dead-ends, one column left. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
…eders sit left of them (t-145) A control cable into a sink an edge places no longer moves it; only edges and audio cables do. An audio dead-end is counted as feeding a stand-in in the output's column, so what feeds it lands left of it rather than beside it. An unknown 900-series module is left out (routingProblems reports it) instead of throwing as the page renders. A row gain that reads NaN draws its pin. The layout reuses reachBack, and two comments are re-wrapped. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
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.
Summary
t-145 (f-routing-view): adds routing diagrams for the patched synths, whose paths come from the patch rather than being built in. That covers the System 15, 35 and 55, the EMS VCS3 and the Syntrx II.
routing-layout.ts). Blocks that no edge places are placed by the cables that join them. An audio cable (from the routing'saudioJacks) puts both of its ends on the main line. A block that no edge or cable joins goes in a spare grid, so an unpatched modular shows as a tray of its modules. An audio dead-end sits one column left of the output, and whatever feeds it sits further left. On a synth whose path is wired, a control cable never moves a block that an edge places.routing/moog900.ts). Built from the definition's modules: one block per module, with cables as the only paths. A module this file doesn't know is left out, not thrown on, so the page still renders.routingProblemsthen reports the module's controls and jacks as belonging to no block..context/app/synths.mddocuments how patched routings are drawn.No CHANGELOG entry: all of this is fork-owned app code, outside the public surface.
Gates
/pre-pr,/security-reviewand/code-reviewran. The last commit fixes every/code-reviewfinding and adds a test for each behaviour change; I checked that each new test fails on the old code. After those fixes I re-ran type-check, eslint and Prettier on the changed files, andnpm run test:changed(185 files, 6533 tests passed).🤖 Generated with Claude Code