How illuminarchie66/mario-map-project-v2 works
Mario Map Project is an interactive geography browser for exploring maps and locations in the Mario universe. The main workflow reads the requested map and view from the URL, loads the map and its waypoints, and presents map controls and location content through a responsive UI. The README documents model, image, plan, and tile maps, plus popup, pamphlet, and document waypoint displays. The graph captures these documented capabilities; some subsystem wiring is based on the README because its implementation was not sampled.
Main entry points: PanelManager.ts Panel manager · MapManager.ts Map manager · UIManager.ts UI manager · EventBus.ts Event bus
Components 28
Maps and waypoints
- Map manager
src/ts/map/MapManager.ts - Map registry
src/ts/map/MapRegistry.ts - Map config
src/ts/map/MapConfig.ts - Map factory
src/ts/map/maps/CreateMap.ts - Model maps
src/ts/map/maps/ModelMap.ts - Image maps
src/ts/map/maps/ImageMap.ts - Plan maps
src/ts/map/maps/PlanMap.ts - Tile maps
src/ts/map/maps/TileMap.ts - 3D globe
src/ts/map/models/Globe3D.ts - Data loader
src/ts/core/Loader.ts - Waypoint manager
src/ts/map/Waypoints/WaypointManager.ts - Icon registry
src/ts/map/Waypoints/IconRegistry.ts
Navigation and panels
- UI manager
src/ts/ui/UIManager.ts - Navigation bar
src/ts/ui/NavBar.ts - Panel manager
src/ts/ui/panels/PanelManager.ts - Map selector
src/ts/ui/panels/MapSelector.ts - Settings panel
src/ts/ui/panels/Settings.ts - Map toggles
src/ts/ui/panels/Toggles.ts - Attribution panel
src/ts/ui/panels/Attribution.ts - Coordinate display
src/ts/ui/modals/CoordDisplay.ts
Waypoint content
- Waypoint display
src/ts/ui/WaypointDisplay/WaypointDisplayManager.ts - Popup display
src/ts/ui/WaypointDisplay/PopupManager.ts - Pamphlet display
src/ts/ui/WaypointDisplay/PamphletManager.ts - Document display
src/ts/ui/WaypointDisplay/DocManager.ts - Content renderer
src/ts/ui/ComponentRenderer.ts
Other components
- Visitor
Connections 37
- Visitor → App entry: opens app
- App entry → Map registry: checks map ID
- App entry → UI manager: initializes UI
- App entry → Map manager: starts map load
- Map manager → Event bus: listens for load
- Map manager → Event bus: emits loaded
- Map manager → Map registry: gets config
- Map registry → Map config: provides config
- Map manager → Map factory: creates map
- Map factory → Model maps: creates model
- Map factory → Image maps: creates image
- Map factory → Plan maps: creates plan
- Map factory → Tile maps: creates tile
- Model maps → 3D globe: renders globe
- Map manager → Waypoint manager: loads waypoints
- Waypoint manager → Data loader: loads waypoint data
- Waypoint manager → Icon registry: gets marker icons
- Waypoint manager → Event bus: emits waypoint click
- UI manager → Waypoint display: manages displays
- UI manager → Panel manager: manages panels
- UI manager → Navigation bar: creates navigation
- UI manager → Coordinate display: shows coordinates
- UI manager → Event bus: handles map loaded
- Navigation bar → Panel manager: opens panels
- Panel manager → Map selector: hosts selector
- Panel manager → Settings panel: hosts settings
- Panel manager → Map toggles: hosts toggles
- Panel manager → Attribution panel: hosts attribution
- Map selector → Event bus: requests map load
- Panel manager → Event bus: updates on map loaded
- Waypoint display → Event bus: handles waypoint click
- Waypoint display → Popup display: shows popup
- Waypoint display → Pamphlet display: shows pamphlet
- Waypoint display → Document display: shows document
- Popup display → Content renderer: renders content
- Pamphlet display → Content renderer: renders content
- Document display → Content renderer: renders content