Skip to content

feat: intra-file coupling arcs from module refs - #12

Draft
bryan-uipath wants to merge 2 commits into
feat/holo-projectionfrom
feat/intra-file-arcs
Draft

bryan-uipath wants to merge 2 commits into
feat/holo-projectionfrom
feat/intra-file-arcs

Conversation

@bryan-uipath

Copy link
Copy Markdown
Owner

Stacked on #11.

AnalyzerModuleInfo.refs?: { name, n }[]: for each top-level module, the same-file top-level modules its body names, with occurrence counts. Lexical identifier match against the file's own top-level names; obj.name and { name: v } are excluded as member names. Not type-resolved (a shadowing local reads as a reference) — good enough for arcs. Requires a re-analyze to populate.

Viewer — inside a file isolate with the coupling layer on, intraFileArcs draws referrer → referenced arcs between module roofs (a slab's top or the top of a member stack), strength by count, top 150. Nothing selected: the whole web, thin. A module selected: only its arcs, thick. Module scopes (inside a class) draw none.

Verified on this repo's viewer/src/main.ts isolate (318 modules, 1,409 refs repo-wide): dense web with no selection; selecting fpsAccum shows the single animate → fpsAccum arc.

🤖 Generated with Claude Code

bryan-uipath and others added 2 commits September 7, 2026 13:10
Analyzer records, per top-level module, which same-file modules its body
names (lexical identifier match, property names excluded) as
ModuleInfo.refs with counts. Inside a file isolate the coupling layer draws
them as arcs between roofs: the whole web thin, a selection's arcs thick.

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
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