Skip to main content

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

ActionBehavior
Mouse wheelZoom in/out
Left-click + dragPan the view
Click on directoryNavigate there
HoverShow directory info/preview

Use Cases

  1. File picker dialog - Replace or augment standard open/save dialogs
  2. Directory overview - Understand project structure at a glance
  3. Navigation widget - Embed in file managers or IDEs
  4. 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

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