Repository navigation
Conversation
The PK, FK, and IX badge colors lived as literals in the SVG node renderer, so the HTML viewer could not reuse them. They now sit in ThemeColors::badges with an AA contrast test against the card surface; the SVG output is unchanged.
The detail drawer still drew PK, FK, and IX pills in the old orange, indigo, and teal tints, which failed AA in the light theme and no longer matched the cards. The pills and the join table badge now use the theme's badge colors through CSS variables.
Groups stacked a dashed frame, a header band, a divider, and a drop shadow, which competed with the cards they hold. A group is now a plain tinted surface with its label, and gets a thin solid boundary only when another group or a card outside it overlaps the surface. Without the band the label needs less room, so the space above a group's first card shrinks from 44px to 34px; group dimensions moved to relune_layout::metrics next to the label metrics.
The legend described only the key badges and the nullable marker, so a diff diagram's + / − / ~ markers and its breaking 1-style labels went unexplained. When an overlay marks changes, the legend adds the three change kind markers and a sample risk label, widening the bar to fit; the risk pill drawing is shared with the card labels.
The explorer sidebar opened with the filter facets and kept groups at the bottom, so the object list got whatever height was left. Search and the object list now come first in a narrower sidebar, while Filters and Groups are collapsed sections that show an active filter count or hidden group count and remember being opened. The sidebar can be put away with its button or S, leaving a small Explore button, and / or G bring it back. The detail drawer is only as tall as its content, the minimap drops its header and steps left of an open drawer, and the floating filter bar appears only while the sidebar is away. Hiding a group also hides its surface, label, and minimap rectangles, and the viewer chrome uses the blue-grey selection color on a plain background instead of orange accents and a top glow.
Only the selected table reached the URL hash, so a link to a highlighted relationship opened on the plain diagram. The selected relationship is now written as r=from(columns)>to(columns), which names both ends rather than an index so it survives unrelated schema changes, and restoring it takes precedence over the table selection. Selecting or clearing a relationship emits relation-selected and relation-cleared events that drive the hash update.
Every relationship line was its own Tab stop, so tabbing past the diagram meant walking each line of a large schema. The lines now share one Tab stop that arrow keys, Home, and End move along, skipping lines a hidden group or filter removed; a described hint tells screen reader users about the arrow keys, and selecting a relationship elsewhere moves the Tab stop to its line.
…legends The CLI reference covers how groups are drawn, the viewer's sidebar, drawer, and minimap placement, its keyboard shortcuts and relationship line navigation, what the URL hash records, and the diff legend; the README and agent skill mention shareable relationship links and the legend. ARCHITECTURE.md describes the shared badge and group colors, the group boundary rule, and the viewer changes, and the README viewer preview is re-captured with a relationship selected.
With Filters and Groups both open on a short window, the sections could not shrink and the sidebar clipped their lower controls, and a floating Groups panel without search lost the section styles that scroll a long group list. The sidebar and the floating panel now scroll as a whole while the object list keeps its minimum height, and the shared section styles ship whenever Groups is enabled.
Going back to a history entry without a table or relationship left the old selection in place, so a later write could bring the stale r= back; restoring such a hash now clears the selection. Relationship keys percent-escape the delimiters inside quoted identifiers so a column named "a,b" no longer shares a key with the composite key (a, b), and restoring a relationship hidden by a group leaves the Tab stop on a visible line.
Schema reviewTip ✅ No risk findings — schema changes look safe to merge. |
mhiro2
added this pull request to stack #294
October 11, 2026 12:37
This branch has not been deployed
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
S)r=from(columns)>to(columns)) and give relationship lines one Tab stop with arrow-key navigationChanges
ThemeColors::badgeswith an AA contrast test; SVG output is unchangedambiguous_groupsadds a thin solid boundary only where membership would be unclearrelune_layout::metrics+/−/~markers and a sample risk label, sharing the risk pill drawing with the cardsS