Skip to content

Add title-first search to the Graph and Flows views#21

Merged
damusix merged 13 commits into
mainfrom
graph-flow-search
Jul 14, 2026
Merged

Add title-first search to the Graph and Flows views#21
damusix merged 13 commits into
mainfrom
graph-flow-search

Conversation

@damusix

@damusix damusix commented Jul 14, 2026

Copy link
Copy Markdown
Contributor

Summary

  • Graph view: a search bar that highlights matching entities in place while the rest of the model dims, with an n of N count and Enter panning through matches.
  • Flows view: search spans every diagram including sub-DFDs; results group by owning diagram and navigate there with the full breadcrumb path, dimming non-matches in the rendered diagram.
  • An "Include descriptions" switch opts markdown body text into matching; / 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

damusix added 13 commits July 14, 2026 03:23
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.
@damusix
damusix merged commit 367d786 into main Jul 14, 2026
1 of 2 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.

Searchable highlight of matching entities in the Graph view

1 participant