Not an original idea: the software city is CodeCity, by Richard Wettel (USI Lugano, 2008), re-implemented here over other metrics.
This page is a self-contained snapshot of one repository. The same generators turn any folder of Java sources into this 3-D city — a building per file, grouped into districts by package. Point the pipeline at another repo and open the result:
compute_complexity.py / compute_fanio.py — per-file
cognitive complexity (Sonar-style) and internal fan-in/out (tree-sitter).build_heatmap.py — joins git history (commits, fix:
commits) and file size into codemap.tsv.render_codecity.py — extrudes each file into a building and
writes this self-contained codecity.html (Three.js, all data inline).Java sources only. Re-run anytime to refresh. open is
macOS — use xdg-open on Linux or start on Windows.
⌘/Ctrl-double-click a building in the city to jump to its file in VS Code.