Directory MapView
Map-style directory navigator with zoom and pan - a reimagined file picker dialog.
Vision
Traditional file dialogs show directories as indented trees or hierarchical lists. You see your current location and maybe what's above you, but you never really see:
- What's beside you (sibling directories)
- The broader context of where you are in the filesystem
- How your current path relates to other areas
Directory MapView displays the entire filesystem like a road map:
- Directories appear as connected pathways/roads with labels
- The current path is highlighted like a route
- A prominent "you are here" marker shows your location
- Zoom out to see the big picture, zoom in for details
- Pan around to explore, just like a map application
Interaction Model
| Action | Behavior |
|---|---|
| Mouse wheel | Zoom in/out |
| Left-click + drag | Pan the view |
| Click on directory | Navigate there |
| Hover | Show directory info/preview |
Use Cases
- File picker dialog - Replace or augment standard open/save dialogs
- Directory overview - Understand project structure at a glance
- Navigation widget - Embed in file managers or IDEs
- Disk usage visualization - Show directory sizes as road widths
Technical Approach
Likely implementation:
- PyQt6/PySide6 for the widget (integrates with existing tools)
- QGraphicsScene for the zoomable/pannable canvas
- Graph layout algorithm for positioning directories (tree layout or force-directed)
- Lazy loading for large filesystems
- Caching for performance
Inspiration
- Google Maps / OpenStreetMap navigation
- Code visualization tools (CodeCity, Gource)
- Treemap visualizations
- Metro/subway maps
Related Projects
This project is part of the development ecosystem:
- Artifact Editor - Could embed MapView for navigating to save locations
- CmdForge - Could use MapView for tool configuration paths