Files
2025-08-31 14:23:18 +02:00

89 lines
3.1 KiB
Markdown

# Pixel Palette Art - Agent Configuration
## Vue d'ensemble
Projet de nœuds ComfyUI pour manipulation de palettes de couleurs pixel art.
Architecture orientée espaces de couleur avec séparation claire lib/nodes.
## Testing Strategy
- **Framework**: Mamba (BDD framework Python)
- **Coverage**: Activé systématiquement avec `--enable-coverage`
- **Flag obligatoire**: `--format=documentation` pour sortie lisible
- **Commande standard**: `mamba spec/ --enable-coverage --format=documentation`
## Architecture Orientée Color Spaces
```
lib/
├── color/
│ ├── color_spaces/ # Espaces RGB, HSV, etc.
│ │ ├── rgb/ # Mixers et exporters RGB
│ │ └── hsv/ # Mixers HSV avec interpolation circulaire
│ ├── color_space_context.py # Context pour changement d'espace
│ └── color_space_registry.py # Registre des espaces disponibles
├── pixel_color.py # Classe PixelColor avec méthodes de blend
└── pixel_palette.py # Gestion palettes avec create_gradient()
```
### Points clés architecture :
- **Séparation claire** : logique métier (lib/) vs interface ComfyUI (nodes/)
- **Extensible** : nouveaux espaces de couleur faciles à ajouter
- **Testable** : toute la logique dans lib/ est testée, nodes/ seulement intégration
## Règles de développement
- ✅ **Tester lib/** : Tous les composants métier doivent avoir des specs
- ❌ **Ne pas tester nodes/** : Les nœuds ComfyUI sont des wrappers d'intégration
- 🔄 **Coverage obligatoire** : Toujours lancer avec `--enable-coverage`
- 📚 **Documentation** : Format documentation pour lisibilité des tests
## Development Commands
### Testing
```bash
# Tests complets avec coverage (OBLIGATOIRE)
mamba spec/ --enable-coverage --format=documentation
# Tests rapides (développement)
mamba spec/ --format=documentation
# Tests d'un module spécifique
mamba spec/pixel_palette_spec.py --enable-coverage
```
### Development Setup
```bash
pip install -r requirements-dev.txt
```
### Linting (if available)
```bash
# Add linting commands here when implemented
# ruff check . # Example
# black --check . # Example
```
## Git Workflow
- Uses Git Flow
- Default branch: `develop`
- Main branches: `main`, `develop`
- Feature branches: `feature/*`
- Release branches: `release/*`
- Hotfix branches: `hotfix/*`
## Project Structure
- `lib/`: Core color manipulation libraries (TESTÉ)
- `nodes/`: ComfyUI custom nodes (NON TESTÉ - wrappers d'intégration)
- `spec/`: Test specifications (Mamba)
- `docs/`: Documentation and images
## Common Tasks
- Run tests before PR: `mamba spec/ --enable-coverage --format=documentation`
- Extract palette from image: Use PixelPaletteExtractor node
- Load GIMP palettes: Use gimp_gpl_loader node
- Mix colors: Use color mixer nodes (RGB/HSV)
- Create gradients: Use PixelPalette.create_gradient(index1, index2, color_space)
## Évolution future
- Ajout d'espaces HSL, LAB, etc.
- Tests d'intégration ComfyUI (si nécessaire)
- Benchmarks de performance des mixers
- Nouveaux algorithmes de génération de palettes