Repository navigation
feat(web): layered architecture layout with orthogonal routes (1.6.1) - #250
Merged
Merged
Conversation
Lay out cards without authored positions in group blocks ordered left to right along their links, route connections orthogonally between facing sides with spread ports, card avoidance, separate lanes and a crossing-aware cost, show edge labels on the line, and give each group a theme tone for its frame, cards and outgoing connections. Hover/focus/selection highlights related connections. Authored positions never move. Frontend only; the architecture JSON format, schema 30 and MCP contracts are unchanged. Bump to 1.6.1. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Ponpon55837
enabled auto-merge
October 19, 2026 02:21
…der-layout-1.6.1 # Conflicts: # CHANGELOG.md
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
Redraws the Work Intelligence architecture diagram reader. This changes only the frontend: the architecture JSON v1 format, database schema 30 and MCP contracts stay the same. It also bumps the version to 1.6.1. The 1.6.1 release also includes the unreleased change from #249 (per-section refresh buttons removed), which this PR moves from
[Unreleased]into the 1.6.1 CHANGELOG section and release notes.layoutArchitecture): cards without an authored position are laid out along their links. Groups become blocks, and the blocks are layered left to right by the links between groups using longest-path layering. Cycles are broken at the node declared first. Blocks in the same column stack and are centered vertically. Inside a block, cards form sub-columns by their internal links, at most 6 cards tall. Barycenter sweeps order the blocks and the cards. Cards with no links wrap into a near-square grid. An authoredpositionnever moves, and automatic cards are placed below authored ones.edge.labelis drawn as a pill on the line. Long labels are cut to 28 characters, and the full text stays in<title>. Six new categorical tokens,--diagram-tone-1..6, exist in both themes. Each reaches at least 5.2:1 as 12px text on its tint, which passes WCAG AA. A group's tone colors its frame, its cards (tint plus a leading stripe) and its outgoing connections, with arrow markers in the same color. Hovering, focusing or selecting a card highlights its connections in accent and dims the others.Before/after screenshots were taken with synthetic data only, on a dev server with a scratch database, in both themes. They are not committed. Before: a 3-per-row index grid with cubic curves that cut through cards. After: a compact left-to-right block layout.
Test plan
pnpm --filter @work-intelligence/web typecheckpnpm lint,pnpm format:checkpnpm --filter @work-intelligence/web test: 187 passed, including 9 new layout tests covering layering, compactness, tones, authored positions kept, side selection, port spreading, card avoidance, lane separation and labels🤖 Generated with Claude Code