f3e99a14ca599380e196663e65e7c3c40314427e
Labels piled on top of each other (esp. in the neighborhood view) for two reasons, both fixed in graph-canvas.tsx: 1. Font grew as you zoomed OUT (size was divided by sqrt(globalScale) and had a +6 floor), so at overview zoom labels became huge and collided. Now the label font is a ~constant SCREEN size (fontPx / globalScale). 2. Every node drew its label at once. Now labels are zoom-gated: at overview zoom only the active node, the 3 practice-area hubs, and the most-cited precedents (size>=4) are labeled; topic hubs appear at >=1.05 and the rest at >=1.5 — by which point there is pixel room between nodes. Also: a white halo (strokeText) behind each label for legibility over edges and nearby nodes, and stronger d3 forces (charge -220, link distance 60) so nodes spread out and labels have more room. web-ui build passes; /graph in the route table. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Merge pull request 'feat(graph): in-app corpus citation graph (/graph) — Phase 1' (#113) from worktree-corpus-graph into main
Description
AI Legal Decision Drafting System — MCP server, web upload, RAG search
Languages
Python
63.2%
TypeScript
34.3%
JavaScript
1.3%
Shell
0.8%
CSS
0.3%
Other
0.1%