Skip to content

Patcher lane 6: TUI patch view, /patch, panes, macro knobs - #181

Merged
0thernet merged 6 commits into
mainfrom
patch-lane6
Oct 10, 2026
Merged

0thernet merged 6 commits into
mainfrom
patch-lane6

Conversation

@0thernet

@0thernet 0thernet commented Oct 10, 2026 •

Copy link
Copy Markdown
Member

Patcher lane 6 (design §7): the TUI patch view. Built-ins shipped in #178, the user library and github: packs in #180.

  • src/tui/patch-view.ts: the model (nodes in signal order, ports, a neighbourhood cable matrix with pinned headers; f shows the whole thing), each key's typed patch … command (--fx <name> on an effect patch), and the paint. The add-node list auditions, the wire picker lists only legal inputs.
  • tui/patch.ts: the painter, at 60x16 up to 500x150, NO_COLOR/mono and ASCII (TERM=dumb), with the compiler's dropped-cable warnings above the knobs and dropped cells marked.
  • /patch [--fx <name>] [off] opens it in place of the highway; dawg pane patch [track] [fx] opens a pane on it (pane screen patch). A cable wired by a typed command, the agent or another pane moves the selection to its cell (§7.5 show-me).
  • Ctrl-K: Sound › patch › {Edit patch, knobs, nodes} and Effects › " patch" (src/tui/patch-menu.ts). Enter on a node opens its group in the fader drawer.
  • Knobs: the first four macros are the four knobs, via a sound:patch row in src/tui/knob-map.ts (new #n path segment).
  • KEYS.patch ? panel, help rows, patch scenario in the size matrix (test/sizes-lib.ts, also in the check sample), DAWG.md and guides/panes.md.

Rebased over lane 5 (#182): the view's keys emit lane 5's typed patch add|wire|unwire|rm|set|knob|macro|rate|save lines, and a test applies every command each key can produce. src/tui/patch-menu.ts merges both lanes: Sound › patch holds Edit patch, knobs and nodes, then lane 5's entry rows; Effects holds one " patch" group per effect patch plus lane 5's "add effect patch". Space toggles the audition loop in the view, and the add-node list plays each row on it (enter keeps, esc reverts). A ctrl-k table test and 80x24 frame snapshots (unicode and ASCII) cover §7.2 and §7.4.

Local gate: bun run check green; the patch size scenario is clean at every FULL_SIZES entry under default, NO_COLOR and TERM=dumb.

🤖 Generated with Claude Code

@vercel

vercel Bot commented Oct 10, 2026 •

Copy link
Copy Markdown

The latest updates on your projects. Learn more about Vercel for GitHub.

1 Skipped Deployment
Project Deployment Actions Updated
dawg Ignored Ignored Preview Oct 10, 2026 10:31pm UTC

Request Review

0thernet and others added 6 commits October 10, 2026 18:15
src/tui/patch-view.ts: the model (nodes in signal order, ports, a
neighbourhood cable matrix), each key's typed patch command, and the
paint. tui/patch.ts paints it at every size, NO_COLOR/mono and ASCII,
with the compiler's dropped-cable warnings. /patch [--fx <name>] [off]
opens it in place of the highway; dawg pane patch [track] [fx] opens a
pane on it. Sound > patch and Effects > <name> patch in Ctrl-K; the
first four macros are the four knobs (KNOB_MAPS sound:patch, with a #n
path segment). KEYS.patch, help rows, size-matrix scenario, DAWG.md.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
…ode (§7.2)

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
… §7.4)

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
…5's grammar

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
@0thernet
0thernet enabled auto-merge (squash) October 10, 2026 22:31
@0thernet
0thernet merged commit e41a6fc into main Oct 10, 2026
14 checks passed
@0thernet
0thernet deleted the patch-lane6 branch October 10, 2026 22:50
@0thernet 0thernet mentioned this pull request Oct 11, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant