# Graph Report - d:/Int SandCastle (2026-04-15) ## Corpus Check - Large corpus: 1277 files · ~9,282,356 words. Semantic extraction will be expensive (many Claude tokens). Consider running on a subfolder, or use --no-semantic to run AST-only. ## Summary - 77 nodes · 113 edges · 6 communities detected - Extraction: 94% EXTRACTED · 6% INFERRED · 0% AMBIGUOUS · INFERRED: 7 edges (avg confidence: 0.84) - Token cost: 0 input · 0 output ## Community Hubs (Navigation) - [[_COMMUNITY_REST API + Control Panel|REST API + Control Panel]] - [[_COMMUNITY_UI Controller (ui.js)|UI Controller (ui.js)]] - [[_COMMUNITY_Cesium Capture Pipeline|Cesium Capture Pipeline]] - [[_COMMUNITY_Coordinate Math Helpers|Coordinate Math Helpers]] - [[_COMMUNITY_Legacy app.js|Legacy app.js]] - [[_COMMUNITY_UAV-GeoLoc Dataset Tree|UAV-GeoLoc Dataset Tree]] ## God Nodes (most connected - your core abstractions) 1. `SandCastleUI` - 15 edges 2. `Control Panel (index.html)` - 9 edges 3. `server.js (Express backend)` - 9 edges 4. `generateCoordinates()` - 6 edges 5. `output/ directory tree` - 5 edges 6. `cameraFrames` - 5 edges 7. `captureNextTile()` - 4 edges 8. `getBoundsFromSettings()` - 4 edges 9. `Cesium` - 4 edges 10. `Camera trajectory JSON` - 4 edges ## Surprising Connections (you probably didn't know these) - `server.js (Express backend)` --exposes--> `POST /api/save-db-crop` [EXTRACTED] README.md → README.md _Bridges community 0 → community 5_ - `server.js (Express backend)` --exposes--> `POST /api/save-trajectory` [EXTRACTED] README.md → README.md _Bridges community 0 → community 2_ ## Hyperedges (group relationships) - **Capture pipeline** — readme_control_panel, readme_capture_html, readme_mapview_html, readme_broadcastchannel, readme_server_js [EXTRACTED 1.00] - **Trajectory schema fields** — readme_camera_frames, readme_ecef_position, readme_rotation, readme_coordinate, readme_fov_vertical [EXTRACTED 1.00] - **UAV-GeoLoc output layout** — readme_output_tree, readme_db_crop, readme_db_position_txt, readme_drone_frame, readme_trajectory, readme_region_txt [EXTRACTED 1.00] ## Communities ### Community 0 - "REST API + Control Panel" Cohesion: 0.13 Nodes (18): POST /api/create-folders, GET /api/get-settings, POST /api/save-settings, POST /api/start-capture, Control Panel (index.html), DMS coordinates, Express, Grid step (meters) (+10 more) ### Community 1 - "UI Controller (ui.js)" Cohesion: 0.28 Nodes (1): SandCastleUI ### Community 2 - "Cesium Capture Pipeline" Cohesion: 0.15 Nodes (16): POST /api/save-trajectory, BroadcastChannel('sandcastle-map'), cameraFrames, capture.html (Cesium Viewer), Cesium, Cesium Ion Token (asset 2275207), coordinate (geodetic), ECEF position (Cartesian3.fromDegrees) (+8 more) ### Community 3 - "Coordinate Math Helpers" Cohesion: 0.26 Nodes (10): computeGrid(), decimalToDMS(), generateCoordinates(), getBoundsFromSettings(), getScenePath(), metersToLat(), metersToLon(), normalizeSettings() (+2 more) ### Community 4 - "Legacy app.js" Cohesion: 0.43 Nodes (4): captureNextTile(), downloadFile(), metersToLat(), metersToLon() ### Community 5 - "UAV-GeoLoc Dataset Tree" Cohesion: 0.33 Nodes (7): POST /api/save-db-crop, POST /api/save-drone-frame, Dataset/Country/City/Region tree, DB crop (ortho crop), db_postion.txt, Drone frame (query), output/ directory tree ## Knowledge Gaps - **16 isolated node(s):** `Cesium Ion Token (asset 2275207)`, `ui.js (UI controller)`, `package.json`, `db_postion.txt`, `{region}.txt (bounds)` (+11 more) These have ≤1 connection - possible missing edges or undocumented components. ## Suggested Questions _Questions this graph is uniquely positioned to answer:_ - **Why does `Camera trajectory JSON` connect `Cesium Capture Pipeline` to `UAV-GeoLoc Dataset Tree`?** _High betweenness centrality (0.131) - this node is a cross-community bridge._ - **Why does `server.js (Express backend)` connect `REST API + Control Panel` to `Cesium Capture Pipeline`, `UAV-GeoLoc Dataset Tree`?** _High betweenness centrality (0.110) - this node is a cross-community bridge._ - **Why does `output/ directory tree` connect `UAV-GeoLoc Dataset Tree` to `REST API + Control Panel`, `Cesium Capture Pipeline`?** _High betweenness centrality (0.086) - this node is a cross-community bridge._ - **Are the 4 inferred relationships involving `Control Panel (index.html)` (e.g. with `ui.js (UI controller)` and `POST /api/save-settings`) actually correct?** _`Control Panel (index.html)` has 4 INFERRED edges - model-reasoned connections that need verification._ - **What connects `Cesium Ion Token (asset 2275207)`, `ui.js (UI controller)`, `package.json` to the rest of the system?** _16 weakly-connected nodes found - possible documentation gaps or missing edges._ - **Should `REST API + Control Panel` be split into smaller, more focused modules?** _Cohesion score 0.13 - nodes in this community are weakly interconnected._