Interactive HTML viewer adapter #2

Closed
opened 2026-06-16 14:47:22 +00:00 by GKaszewski · 0 comments
Owner

What to build

Add an HtmlRenderer adapter implementing DiagramRenderer. Produces a self-contained HTML file with an interactive graph visualization — clickable nodes, expand/collapse modules, zoom/pan. Use a JS graph library (e.g. D3, Cytoscape.js, or vis.js) embedded via CDN. The CodeGraph data is serialized as JSON inside the HTML file so no server is needed.

At module level: boxes for modules, click to drill into type-level view of that module. At type level: class boxes with fields/methods, hover for details.

Acceptance criteria

  • HtmlRenderer implements DiagramRenderer port
  • Produces a single self-contained HTML file (no external dependencies except CDN)
  • Module-level view with clickable nodes to drill into type detail
  • Type-level view showing class members
  • Zoom, pan, and search functionality
  • --format html CLI flag works end-to-end
  • Tests verify HTML output contains expected elements

Blocked by

None - can start immediately

## What to build Add an `HtmlRenderer` adapter implementing `DiagramRenderer`. Produces a self-contained HTML file with an interactive graph visualization — clickable nodes, expand/collapse modules, zoom/pan. Use a JS graph library (e.g. D3, Cytoscape.js, or vis.js) embedded via CDN. The CodeGraph data is serialized as JSON inside the HTML file so no server is needed. At module level: boxes for modules, click to drill into type-level view of that module. At type level: class boxes with fields/methods, hover for details. ## Acceptance criteria - [ ] `HtmlRenderer` implements `DiagramRenderer` port - [ ] Produces a single self-contained HTML file (no external dependencies except CDN) - [ ] Module-level view with clickable nodes to drill into type detail - [ ] Type-level view showing class members - [ ] Zoom, pan, and search functionality - [ ] `--format html` CLI flag works end-to-end - [ ] Tests verify HTML output contains expected elements ## Blocked by None - can start immediately
GKaszewski added the P4 label 2026-06-17 06:46:19 +00:00
Sign in to join this conversation.
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: GKaszewski/archlens#2