codemap indexes 6,050 symbols in the carbon repository. This surface draws none of them until you ask it something, then renders exactly what the query returned. Every result below is captured from a real build.
Every codemap query refuses something. Results cap at 15 to 20 rows, hubs sort last, graph walks are opt-in. The existing export draws all 6,050 symbols at once, doing the exact opposite.
Ask what decision a picture supports. callers formula_index changes what you
do next. impact FormulaError changes what you test. A whole-graph render
changes how impressed someone is, and nothing follows from that.
The existing export hashes each node's cluster into a hue. Carbon's 216 communities are unnamed, so the four largest take most of the area and the colors mean nothing a reader can recover.
Here only the symbol you asked about wears the accent. Size carries degree, kind is a word on hover.
Confidence rides the dash pattern, which both the export and the command line throw away.
Solid means an import proved it. Dashed means a bare name matched and could be wrong. Try
callers is_owner: nine callers, six solid, three dashed.
Angles come from a symbol's position in the result, so the same query draws the same picture on every machine and every run.
A force simulation would settle somewhere new each time. codemap does guess, since 554 of its 11,609 edges are bare-name matches. It never guesses differently twice, and a layout that wandered would break that.
Shapes it cannot draw. The radial arrangement assumes one focus symbol with
relations around it, which fits callers, callees,
impact, def, and search. It does not fit
path, a chain wanting a left-to-right sequence, cluster, which has
no center to orbit, or locate, which returns a tree per hit.
The dropped count is not a virtue. Carbon emits 16,854 edges and keeps 11,609, so the map is 69 percent of what was found. The other 5,245 mixes two things: destinations that do not exist, and destinations the tie-breaker could not choose between. The second kind are real edges destroyed because an unrelated symbol shared a name, 15 imports into one module and 3 calls into another. That split has been measured on codemap's own map, never on carbon's.
callers under-reports. codemap binds bare names and
self.method(), and emits nothing for module.function(), the dominant
Python idiom. Mapping itself, it kept 156 edges and dropped 223, and callers
returned empty for two functions whose only caller is its own command line. Both queries here
check out against a text search, but only because both are called by bare name. A drawn
subgraph is a floor, not a census.
Scale. Twenty nodes is about the ceiling. Several hundred would crowd the canvas the way the current export does, and the honest answer there may be a table.
Loose ends. Below 600px the labels at top and bottom dead center overlap, and results are captured rather than live. This is also the narrowest of three directions: it scopes the render, skips visual hub suppression, and never tests whether a treemap would beat a graph.