Repository navigation
Turn the panel over to its signal routing (t-142) - #114
Merged
Merged
Conversation
A hand-rolled layered layout rather than a layout library: a routing is a dozen or two blocks in a known shape, and a pure layout draws the same every time and can be tested. Long links run along the channel between the bands so none passes behind a block. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
A Signal routing toggle on the panel's head rail, for a synth with a routing, flips the panel (a view transition, so nothing holding the panel takes a transform; reduced motion swaps) to a diagram of its blocks with the live path lit and running, following the panel as it changes. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
…t (t-142) Review round 1: a find, a lesson step, the tour, a layer or the Inspector coming on now flips the routing view back, since each works on the hidden panel. The layout is redone only when a cable's ends change, a cable whose block is missing is skipped rather than crashing, a small routing is never drawn bigger than its own size, a dead-end block sits right of what feeds it, back links take lanes of their own, and the key names cables. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
… sinks together (t-142) Review round 2: a find replacing a find, and the Inspector opened as a sheet below lg, now flip the routing view back; Dim unused and Sensitive no longer do, since they come from settings that can land after the view opens. Sinks fed by sinks are settled together, back-link lanes stay inside the margin, and the layout memo is keyed on JSON so no block id can split it. 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.
What
A Signal routing toggle on the panel's top rail turns the panel over to a diagram of how the synth is wired, for any synth that has a routing (Model D today). Synths without one show no toggle.
routingState()is lit, with dashes running in the signal's direction; everything else is dimmed. Audio lines are thick, CV thin, gate dotted, and cables are drawn in their patch colours. The key names all four, and says that "lit" means wired to be used, which is not the same as heard.routing-flip). Only the browser's snapshots rotate, so nothing that holds the panel ever carries a transform, which the fixed info cards and magnifier depend on. With reduced motion, or in a browser without view transitions, it simply swaps. The panel stays laid out underneath (hidden andinert), so its fit and scroll are unchanged when it comes back.Why this shape
lib/app/synths/lib/routing-layout.ts) draws the same routing the same way every time, so a test can hold it.Review rounds
There were two
/code-reviewrounds, with the fixes in their own commits.lg; sinks fed by other sinks; back-link lanes leaving the margin; and the memo key.panelValuesfor synths with sequencer buttons: those values only add the sequencer's lamps, and the routing should read the patch.Gates
/pre-pr:routing-layout.ts98% lines and 93% branches,routing-view.tsx100% lines and 92% branches.test:changed:coveragerun failed with timeouts while the machine's load average was about 22. The slow test it hit ("opens every one of Model D's 200 sounds") takes about 33–43s alone both with and without this change, against a 90s budget./security-review: no findings./code-review: two rounds, as above.npm run format: clean.Still open
🤖 Generated with Claude Code