Add project vision and architecture to CLAUDE.md
This commit is contained in:
parent
38d1718393
commit
0a18cb7b39
39
CLAUDE.md
39
CLAUDE.md
|
|
@ -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)
|
||||||
|
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue