8000 Patch cables from the inspector without a pointer by adeelahmad · Pull Request #32 · adeelahmad/gadgetcast · GitHub
[go: up one dir, main page]

Skip to content

Patch cables from the inspector without a pointer - #32

Merged
adeelahmad merged 1 commit into
masterfrom
claude/project-thread-65265y
Oct 18, 2026
Merged

adeelahmad merged 1 commit into
masterfrom
claude/project-thread-65265y

Conversation

@adeelahmad
Copy link
Copy Markdown
Owner

Before: cables on the patch canvas could only be made by dragging from a port, so a keyboard or screen-reader user could select and delete a cable but never create one (WCAG 2.1.1).

After: the inspector shows a "Patch out to" select under Ports for each output that has somewhere to go, listing only inputs it may legally reach (same kind, free, not itself). Picking one patches the cable.

How: patchTargets(doc, catalog, node, port) in graph/validate.ts runs every input through the existing connectionError, so the rules stay in one place; unit tests cover kind matching, taken inputs and missing ports. Checked with a Playwright keyboard-only run of gadgetcast -dev in Chromium: Tab to the cable, Enter, Delete (1 → 0 cables), Tab to the mic node, Enter, ArrowDown in the select (0 → 1 cables). No screen-reader test.


Generated by Claude Code

The canvas only patches cables by dragging, so keyboard and screen-reader
users could delete a cable but not make one (WCAG 2.1.1). Each output port
in the inspector now has a "Patch … out to" select listing the inputs it
may legally reach (graph.patchTargets reuses connectionError).

Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01K4B4YKMC6fT9oWCCwWgt9S
@adeelahmad
adeelahmad merged commit 551c8dd into master Oct 18, 2026
3 checks passed
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.

2 participants

0