Add project vision and architecture to CLAUDE.md

This commit is contained in:
rob 2026-01-05 18:52:21 -04:00
parent 38d1718393
commit 0a18cb7b39
1 changed files with 33 additions and 6 deletions

View File

@ -4,7 +4,24 @@ This file provides guidance to Claude Code (claude.ai/code) when working with co
## Project Overview ## Project Overview
**Directory MapView** - Map-style directory navigator with zoom and pan **Directory MapView** - A reimagined file picker dialog that displays the filesystem like a road map.
### Vision
Traditional file dialogs show directories as indented trees or lists. You never see what's beside you or the broader context. Directory MapView changes this:
- Directories appear as connected pathways/roads with labels
- Current path highlighted like a navigation route
- "You are here" marker at current location
- Zoom out to see the big picture, zoom in for details
- Pan around to explore like Google Maps
### Interaction Model
- **Mouse wheel**: Zoom in/out
- **Left-click + drag**: Pan the view
- **Click on directory**: Navigate there
- **Hover**: Show directory info
## Development Commands ## Development Commands
@ -15,21 +32,31 @@ pip install -e ".[dev]"
# Run tests # Run tests
pytest pytest
# Run a single test # Run the demo
pytest tests/test_file.py::test_name python -m dir_mapview.demo
``` ```
## Architecture ## Architecture
*TODO: Describe the project architecture* ### Technical Approach
- **PyQt6/PySide6** for the widget
- **QGraphicsScene** for zoomable/pannable canvas
- **Tree layout algorithm** for positioning directories
- Lazy loading for large filesystems
- Caching for performance
### Key Modules ### Key Modules
*TODO: List key modules and their purposes* - `src/dir_mapview/widget.py` - Main MapView widget (QGraphicsView subclass)
- `src/dir_mapview/scene.py` - Scene management and directory rendering
- `src/dir_mapview/layout.py` - Directory tree layout algorithm
- `src/dir_mapview/scanner.py` - Filesystem scanning with lazy loading
- `src/dir_mapview/dialog.py` - Drop-in file picker dialog replacement
### Key Paths ### Key Paths
- **Source code**: `src/dir-mapview/` - **Source code**: `src/dir_mapview/`
- **Tests**: `tests/` - **Tests**: `tests/`
- **Documentation**: `docs/` (symlink to project-docs) - **Documentation**: `docs/` (symlink to project-docs)