Skip to content

Add interactive semantic diff graph explorer#52

Merged
forhappy merged 4 commits into
mainfrom
codex/interactive-semantic-diff-graph
Jul 26, 2026
Merged

Add interactive semantic diff graph explorer#52
forhappy merged 4 commits into
mainfrom
codex/interactive-semantic-diff-graph

Conversation

@forhappy

Copy link
Copy Markdown
Contributor

What changed

  • replace the dense semantic-diff graph with a bounded, collision-free capsule layout
  • add a persistent node inspector with incoming/outgoing relationships, related findings, and source-patch navigation
  • highlight the selected node and its connected topology while dimming unrelated nodes and edges
  • add keyboard controls, responsive stacking, reduced-motion support, and a safe no-JavaScript/runtime fallback
  • sample changed, added, and removed nodes fairly so every non-empty change category is visible
  • keep exhaustive node/edge lists and embedded JSON as the authoritative complete result

Why

The previous force-directed visualization produced overlapping labels and was difficult to inspect. Its status-priority truncation could also fill the visual sample with changed and removed nodes before any added nodes were rendered, even when the report contained many additions.

This makes the standalone semantic-diff report practical for understanding code evolution beyond line-level diffs while preserving deterministic, bounded rendering performance.

Validation

  • cargo fmt --all -- --check
  • cargo clippy -p compass-cli --all-targets --no-deps -- -D warnings
  • focused semantic-diff renderer and CLI integration tests
  • cargo test --workspace
  • 4 Chromium Playwright interaction tests
  • fresh CocoIndex report generated from 9057153 to 71f9cc9
  • real report visual sample verified as 17 added, 16 removed, 9 changed, 42 total
  • deterministic semantic-diff JSON verified across repeated runs
  • graphify update .

@forhappy
forhappy marked this pull request as ready for review July 26, 2026 23:11
@forhappy
forhappy merged commit d627208 into main Jul 26, 2026
4 of 10 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.

1 participant