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

3.1 KiB

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

# 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

pip install -r requirements-dev.txt

Linting (if available)

# 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