Skip to content

Node UX PR-2: docked Card/Contents/Diagram inspector (decouple legibility from zoom)#67

Merged
mvalancy merged 1 commit into
developfrom
feat/node-inspector-v2
Jun 14, 2026
Merged

Node UX PR-2: docked Card/Contents/Diagram inspector (decouple legibility from zoom)#67
mvalancy merged 1 commit into
developfrom
feat/node-inspector-v2

Conversation

@mvalancy

Copy link
Copy Markdown
Member

Selecting a node opens a docked right-hand inspector with an explicit
Card · Contents · Diagram toggle (per-node, remembered for the session),
each rendered at full legible size regardless of canvas zoom — directly
addressing the "zoom in to a tiny unreadable diagram → tiny code → finally
readable code" problem. Mode switching is intentional, not a side effect of zoom.

What's in it

  • Contentsnode.description rendered as readable GitHub-flavored markdown
    • syntax-highlighted fenced code (lazy NodeContentRenderer from PR-1).
  • Diagram — the node's sub-graph drawn statically from persisted positions
    (NodeSubgraphPreview), capped to 300 nodes / 600 edges so even the 1000-node
    "Compute Core" sub-graph previews instantly; Open descends in.
  • Card — type/status/priority/tags summary with a "Read full contents →" jump.
  • Plain node click now selects (opens the inspector) instead of descending;
    descending a sheet node is the explicit ⤢ glyph or the inspector's Open — a
    click never navigates you away unexpectedly.
  • handleClickOutside ignores clicks inside the inspector so its own controls
    don't deselect the node and close it.
  • Selection lifted to Workspace via onNodeSelected through SafeGraphVisualization.

Verification

  • tests/diagnostics/node-inspector.spec.ts — select node → inspector opens →
    Contents renders markdown → Diagram renders the sub-graph preview + Open →
    Card shows summary → zoom way out, Contents still readable. green
  • tests/diagnostics/hierarchy-navigation.spec.ts updated for glyph-descend. green
  • THE GATE (TEST_URL=http://localhost:3127 npm run test:smoke) 5/5.
  • web typecheck: 0 errors.

Stacked on PR-1 (#66, merged). Next: PR-3 (on-canvas expand-in-place), PR-4 (card legibility floor).

🤖 Generated with Claude Code

… (PR-2)

Selecting a node opens a docked right-hand inspector with an explicit
Card · Contents · Diagram toggle (per-node, session-remembered), each rendered
at full legible size regardless of canvas zoom — replacing the old "zoom in to
make text readable" anti-pattern.

- Contents renders node.description as readable markdown + syntax-highlighted
  code (lazy NodeContentRenderer).
- Diagram draws the node's sub-graph statically from persisted positions
  (NodeSubgraphPreview), capped to 300 nodes / 600 edges so even the 1000-node
  Compute Core sub-graph previews instantly; "Open" descends in.
- Plain node click now SELECTS (opens inspector) instead of descending; sheet
  nodes descend via the explicit ⤢ glyph or the inspector's Open button, so a
  click never navigates you away unexpectedly.
- handleClickOutside ignores clicks inside the inspector so its own controls
  don't deselect the node and close it.
- Selection lifted to Workspace via onNodeSelected through SafeGraphVisualization.

Verified: tests/diagnostics/node-inspector.spec.ts (Contents/Diagram/Card +
legible-when-zoomed-out) and hierarchy-navigation.spec.ts green; THE GATE 5/5.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
@github-actions

Copy link
Copy Markdown

🧪 Comprehensive Test Suite

  • Unit suites (Node 18.x & 20.x) — core, web, server, mcp-server: ✅ passed
  • Installer & deploy config: ✅ passed

Full-stack smoke gate runs in the CI workflow.

@mvalancy mvalancy merged commit 2ed0012 into develop Jun 14, 2026
16 checks passed
@mvalancy mvalancy deleted the feat/node-inspector-v2 branch June 14, 2026 20:51
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