Skip to content

Map: layered project cards, two-direction highlights and search - #2

Merged
Karzone merged 2 commits into
mainfrom
claude/beautiful-archimedes-dbzisv
Oct 11, 2026
Merged

Karzone merged 2 commits into
mainfrom
claude/beautiful-archimedes-dbzisv

Conversation

@Karzone

@Karzone Karzone commented Oct 11, 2026

Copy link
Copy Markdown
Owner

Summary

Redesigns the project map that testatlas map writes (ProjectMapBuilder.cs), following the dependency-map design handoff:

  • Layout: projects sit in left-to-right layers (entry points, shared code, foundation). The layering is computed in C# by longest outgoing path, with three barycentre sweeps to cut crossings, so the output stays deterministic.
  • Cards replace the dots, and labels drop the solution's common prefix (SampleShop.Core → Core).
  • Highlights show the two directions in two colours: blue for what a project uses, violet for what uses it. Pinning a project shows its transitive reach by depth, and an impact note lists the test projects a change can reach.
  • Edges are clickable and open a panel with the classes behind the dependency. Hovering an edge shows a plain-language tooltip.
  • Navigation: search-and-jump (/), zoom buttons, fit to view and keyboard navigation (arrow keys, T for scope, Esc to clear).
  • Header shows the figures, and a drawn edge key sits bottom-left.
  • Theme: JobFocus design tokens, in dark and light.

The page is still one self-contained file that opens offline. The window.__MAP__ blob keeps every existing key and adds prefix, short, col/row/x/y, the per-link kind tally k, ref, and lay.

Docs: docs/sample-map.html is regenerated from the current SampleShop sample. The map section of specs/codemap-indexer.md and the README's map link and capability row now describe the new map.

Related issue

None.

Type of change

  • Bug fix
  • New feature / analyzer
  • Documentation
  • Build / CI / tooling
  • Other

Checklist

  • dotnet build passes
  • dotnet test passes (258/258)
  • Added or updated tests for the change
  • Updated docs / README if behavior or usage changed
  • Change keeps TestAtlas zero-config, offline, and deterministic (generating the map twice gives identical files)

Notes for reviewers

  • Tests: ProjectMapBuilderTests assertions on the old markup are rewritten: collapsible header, .active highlight rules, Depended on by, toggleExp, API endpoints (. New tests cover prefix stripping, the SampleShop card positions from the handoff, a dependency cycle, and k/ref in the blob.
  • Sample map: the regenerated sample shows 1 build-only reference instead of the old 4. The old file came from an earlier version of the sample, where the test projects referenced Core directly; their project files no longer do.
  • Prototype options: the defaults are used (curved edges, comfortable density, transitive scope on pin). No CLI flags are added for them.
  • Fonts: only the font family names are declared, with system fallbacks, because the page can't link web fonts.
  • Browser check: tested in headless Chromium in dark, light and phone widths, covering pin, transitive and direct scope, edge hover and click, search, the arrow keys, drag panning, wheel zoom and the theme toggle, with no console errors.

🤖 Generated with Claude Code

https://claude.ai/code/session_013F6VMUcDtZmJX3ZibLuzXg


Generated by Claude Code

Redesign the project map that `testatlas map` writes, following the
dependency-map design handoff:

- Projects sit in left-to-right layers (entry points, shared code,
  foundation), placed in C# by longest-path layering plus barycentre
  sweeps, so the output stays deterministic.
- Cards replace the dots, and labels drop the shared solution prefix.
- Blue shows what a project uses and violet shows what uses it.
  Pinning shows transitive reach by depth, and an impact note lists the
  test projects a change can reach.
- Edges are clickable and open a panel listing the classes behind the
  dependency. Hovering an edge shows a plain-language tooltip.
- Adds search-and-jump, zoom buttons, fit to view, keyboard navigation,
  header figures and a drawn edge key.
- JobFocus design tokens, in dark and light.

The blob keeps every existing key and adds prefix, short, col/row/x/y,
the per-link kind tally (k) and ref. docs/sample-map.html is regenerated
from the current SampleShop sample.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_013F6VMUcDtZmJX3ZibLuzXg
@Karzone
Karzone merged commit 3c7bcd9 into main Oct 11, 2026
1 check passed
@Karzone Karzone mentioned this pull request Oct 11, 2026
4 of 10 tasks
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.

2 participants