Add title-first search to the Graph and Flows views#21
Merged
Conversation
Pure per-kind matchers with an includeBody opt-in and a recursive non-synthetic diagram walker producing token-keyed results (CP1 of docs/spec/graph-flow-search.md, groundwork for #18).
Title-first matching with an opt-in body toggle; matches keep full opacity with a mode-aware outline while the rest of the graph dims via dedicated search-* classes that survive hover tiers, lineage, relayout, and SSE refreshes. Enter pans through matches in id order. Bar offsets below the global error banner via a measured --search-bar-top var. CP2 of docs/spec/graph-flow-search.md (#18).
Search spans every non-synthetic diagram including sub-DFDs; grouped dropdown rows navigate via selectDiagramById with the full breadcrumb path, and the rendered diagram dims non-matches by base token (role- split suffixes stripped) with hover taking precedence while active. Tokens update live without tearing down the SVG renderer. CP3 of docs/spec/graph-flow-search.md.
Bare-key shortcut routed per view (graph/flow SearchBar focus, dict via a new DictionaryViewHandle.focusSearch). Help overlay, commands guide, keymap specs, and the feature map updated together per the shortcut-surface convention. CP4 of docs/spec/graph-flow-search.md.
User feedback on the live branch: descriptive toggle switch replaces the bare Body button, Cmd/Ctrl+K as the standard search chord, visual tightening pass, and the flow bar must clear the DFD breadcrumbs.
User-feedback round: the body toggle becomes an accessible switch labeled 'Include descriptions'; Cmd/Ctrl+K focuses search on all views (pre-editable-guard, like the zoom chords) alongside /; the flow bar offsets below the DFD breadcrumbs via a measured --flow-search-bar-top; visual tightening on the bar and dropdown in both themes. CP5 of docs/spec/graph-flow-search.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
n of Ncount and Enter panning through matches./and Cmd/Ctrl+K focus the active view's search everywhere, Dictionary included.What this solves
Closes #18 — neither the Graph nor the Flows view was searchable, so finding an entity or a process on a large model meant visual scanning or drilling into diagrams by luck.
Design:
docs/design/graph-flow-search.md· Contract:docs/spec/graph-flow-search.md