100 Commits
Author SHA1 Message Date
unamed 6fc236fa86 Merge pull request #44 from ranska/feature/coverage-aco-parser
implementation parser ACO, coverage 96%, doc exporters
v0.1.1
2026-02-16 11:23:02 +01:00
Ranska 5ebe41adb9 implementation parser ACO, coverage 94% -> 96%, doc exporters
- parser adobe_aco_parser : implementation reelle avec struct.unpack
  (RGB uniquement, gestion fichiers tronques)
- specs exporter_registry : reset, get unknown, available_formats
- specs exporter_context : context manager, export, export_list,
  export_tuples, appels hors context
- specs hsv_mixer : wrapping teinte quand ecart > 180 degres
- doc palette_formatter : ajout formats css et amiga
2026-02-16 10:03:32 +01:00
unamed 8e79870c8a Merge pull request #43 from ranska/feature/exporters-amiga-css
Ajout exporters CSS et Amiga OCS/ECS
2026-02-16 09:21:09 +01:00
Ranska b7a8f5e115 ajout exporters CSS et Amiga OCS/ECS
- CSSExporter : export en custom properties CSS (:root, selecteur custom, sanitisation noms)
- AmigaExporter : export 12-bit Amiga en format txt (#RGB) et C (tableau UWORD)
- enregistrement des deux exporters dans le registry
- ajout des formats css et amiga dans le node PaletteFormatter
- specs completes pour les deux exporters
- section Export Formats dans le README
2026-02-16 09:20:26 +01:00
unamed f4300a5913 Merge pull request #42 from ranska/feature/coverage-threshold-badge
Ajout seuil coverage 90% en CI et badges README
v0.1.0
2026-02-16 09:10:35 +01:00
Ranska 322982f29f ajout seuil coverage 90% en CI et badges README
- etape check coverage threshold dans le workflow GitHub Actions
- section [report] fail_under=90 dans .coveragerc
- badges tests CI et coverage dans le README
- mention du seuil dans la section tests du README
2026-02-16 09:08:59 +01:00
unamed 9e0d246780 Merge pull request #41 from ranska/feature/screenshots-batch2
ajout screenshots workflows batch 2
2026-02-16 07:24:43 +01:00
Ranska 68a088ca34 ajout screenshots workflows copy_subset, append, insert, mix palettes 2026-02-15 21:36:17 +01:00
Ranska 5265cda9f4 ajout specs parsers et gimp exporter, coverage 90% -> 94%
specs pour GimpExporter, AdobeAcoParser et GenericParser.
mise a jour .coveragerc et CLAUDE.md.
2026-02-15 20:50:50 +01:00
Ranska 51c9d1fa53 exclusion des scripts utilitaires du coverage 2026-02-15 20:05:17 +01:00
Ranska 16726b6e2b ajout .mcp.json au gitignore v0.0.4 2026-02-15 19:45:32 +01:00
Ranska 9d83033863 bump version 0.0.4 2026-02-15 17:30:35 +01:00
unamed c5e0981063 Merge pull request #40 from ranska/feature/readme-english-node-docs
reecriture README en anglais + fiches doc par node
2026-02-15 16:47:42 +01:00
Ranska ba829ed950 reecriture README en anglais + fiches doc par node
README reecrit entierement en anglais avec sommaire par categorie
(Colors, Palette, Output, IO, Image) et liens vers les fiches
individuelles dans docs/nodes/.

16 fiches creees avec description, tableaux inputs/outputs,
screenshots et categorie ComfyUI pour chaque node.
2026-02-15 15:16:31 +01:00
unamed 66c8c07e8c Merge pull request #39 from ranska/feature/fix-git-flow-docs
Clarification git flow dans la documentation
2026-02-15 14:41:33 +01:00
Ranska d875330b73 clarification git flow dans CLAUDE.md et pr-conventions
PR toujours vers develop, master reserve aux releases taggees.
Ajout workflow detaille et section releases dans la doc.
2026-02-15 13:42:32 +01:00
unamed c7501dd4e3 Merge pull request #38 from ranska/master
Merge pull request #37 from ranska/develop
2026-02-15 12:55:36 +01:00
unamed 2f186fcfbc Merge pull request #37 from ranska/develop
Ajout nodes manipulation de palettes (batch 2)
2026-02-15 12:55:00 +01:00
Ranska 1aa58df99d ajout nodes manipulation de palettes (batch 2)
4 nouvelles methodes sur PixelPalette : copy_subset, append_palette,
insert_palette et mix_with_palette avec leurs specs mamba (31 tests).

4 nouveaux nodes ComfyUI : CopySubsetNode, AppendPaletteNode,
InsertPaletteNode et MixPaletteNode avec workflows de test 11-14.
2026-02-14 22:21:20 +01:00
unamed 263053e3cd Merge pull request #36 from ranska/feature/doc-screenshots-batch
Screenshots de tous les workflows de test
2026-02-14 21:32:02 +01:00
Ranska 63274e0f51 ajout screenshots workflows 02 a 10
Captures d'ecran de tous les workflows de test dans ComfyUI :
workflow charge + resultat apres execution pour chaque node.
Le workflow 08 (palette_formatter) n'a que le workflow car
sa sortie est du texte uniquement.
2026-02-14 20:47:02 +01:00
unamed 9afd48f511 Merge pull request #35 from ranska/feature/doc-screenshots
Ajout screenshots color preview et mise a jour README
2026-02-14 20:38:09 +01:00
Ranska 302ef14b4a ajout screenshots color preview et mise a jour README
Screenshots du workflow 01 (color preview) dans ComfyUI :
avant et apres execution. Mise a jour de la section Nodes
du README avec descriptions en francais.
2026-02-14 20:36:28 +01:00
unamed 7db1c0b39e Merge pull request #34 from ranska/feature/workflow-numbering-and-ci
Ajout numerotation workflows, lefthook, CI et docs PR
2026-02-14 18:23:38 +01:00
Ranska 6ed770d606 ajout Pillow dans requirements.txt pour la CI
Pillow est fourni par ComfyUI en local mais manque en CI.
Les tests palette_renderer_spec.py en ont besoin.
2026-02-14 17:39:06 +01:00
Ranska 1d486fc58d ajout numerotation workflows, lefthook, CI et docs PR
- numerotation 01_ a 10_ des workflows par complexite croissante
- lefthook pre-commit avec mamba pour bloquer si tests cassent
- github actions CI (python 3.10/3.11/3.12) sur push et PR
- docs/pr-conventions.md pour les conventions de messages PR
- mise a jour README section Contribute (tests, CI, git flow)
- ajout coverage et lefthook dans requirements-dev.txt
2026-02-14 17:11:45 +01:00
Ranska 647e176bd3 Merge branch 'develop' of github-ranska.com:ranska/pixel_palette_art into develop 2026-02-14 11:14:27 +01:00
unamed c7ce4b1ecd Merge pull request #32 from ranska/feature/claude-docs
Add CLAUDE.md and project documentation
2026-02-13 22:19:06 +01:00
unamed a74fbc5814 Merge pull request #33 from ranska/feature/batch1-integration
Batch 1 : 5 nodes palette + workflows + fix imports
2026-02-13 22:18:35 +01:00
Ranska 01373585c8 ajoute generateur de workflows et skill reload-comfyui
Generateur Python (workflows/generate_workflows.py) qui produit
10 workflows de test en format UI et API, avec PreviewImage connecte
automatiquement apres chaque node produisant une IMAGE.

Ajoute aussi la skill Claude Code /reload-comfyui pour redemarrer
le serveur ComfyUI dans tmux et recharger un workflow dans le navigateur.
2026-02-13 22:14:08 +01:00
Ranska dc0ab4e34d fix imports nodes palette/ et text_size police
Remplace le chargement importlib des nodes palette/ par des imports
relatifs standard. L'ancien mecanisme creait des instances de classes
PixelColor/PixelPalette differentes entre nodes/ et nodes/palette/,
ce qui faisait echouer tous les isinstance() a l'execution ComfyUI.

Corrige aussi le text_size du ColorPreviewNode et PaletteRenderer
qui utilisaient un try/except arial.ttf avec fallback silencieux sur
la police par defaut sans taille — le texte restait toujours minuscule.
Utilise maintenant ImageFont.load_default(size=N) (Pillow 10+).
2026-02-13 22:14:00 +01:00
Ranska 47be89fae6 register all batch 1 nodes in ComfyUI
Register SortPaletteNode, GradientBetweenNode, CreateGradientPaletteNode
and PaletteViewNode in the main __init__.py using the importlib pattern
for compatibility. All nodes appear in the pixel_art/ category.
Refactored the importlib boilerplate into a shared _load_palette_node helper.
2026-02-13 13:47:55 +01:00
Ranska 8ed2f13f12 Merge branch 'feature/palette-view' into feature/batch1-integration
# Conflicts:
#	nodes/palette/__init__.py
2026-02-13 13:47:20 +01:00
Ranska 2c3fee5fd1 Merge branch 'feature/create-gradient-palette' into feature/batch1-integration
# Conflicts:
#	lib/pixel_palette.py
#	nodes/palette/__init__.py
2026-02-13 13:47:09 +01:00
Ranska 60bf0e6612 Merge branch 'feature/gradient-between' into feature/batch1-integration
# Conflicts:
#	nodes/palette/__init__.py
2026-02-13 13:46:36 +01:00
Ranska dc9de9f349 Merge branch 'feature/sort-palette' into feature/batch1-integration 2026-02-13 13:46:21 +01:00
Ranska 4c6c0711dc restore PixelPalette constructor and reactivate 26 pending specs
The custom __init__ was missing all attributes except colors, breaking
the dataclass constructor interface and the GimpPaletteLoader node.
Restored full constructor with all parameters (name, raw_content,
source_filename, metadata, format_type).

Reactivated 26 specs from spec_pending covering: initialization,
GIMP parsing, generic parsing, PixelColor validation, utility methods,
formatting, export, properties, and error handling.
5 specs remain pending (parser metadata, generic hex parser, raw format).
2026-02-13 13:23:19 +01:00
Ranska 6f7eb5c444 add palette view node with renderer
PaletteRenderer in lib/palette renders palettes as PIL images
with grid, horizontal and vertical layouts. Optional text overlay
for names, indices and hex values.
PaletteViewNode wraps it for ComfyUI, outputting IMAGE tensors.
13 specs covering all layouts, pixel accuracy, text areas, edge cases.
2026-02-13 13:19:51 +01:00
Ranska bb8475bf34 add create gradient palette node and lib method
New class method PixelPalette.create_gradient_palette() generates
a palette with N interpolated colors between two endpoints.
Supports RGB and HSV color spaces via the existing mixer system.
CreateGradientPaletteNode wraps it for ComfyUI.
Specs cover RGB/HSV interpolation, boundary preservation, validation.
2026-02-13 13:17:55 +01:00
Ranska 6b5c6036c5 add gradient between indices node
GradientBetweenNode wraps palette.create_gradient() to interpolate
colors between two indices. Supports RGB and HSV color spaces.
Uses deepcopy to preserve the original palette.
2026-02-13 13:16:42 +01:00
Ranska bb820efc42 add sort palette node and specs
New SortPaletteNode wraps palette.sort_by_hue() and sort_by_brightness()
with deepcopy to avoid mutating the original palette.
Specs cover hue sorting, brightness sorting (perceptual luminosity),
edge cases (single color, achromatic colors).
2026-02-13 13:16:02 +01:00
Ranska 3323237e67 add CLAUDE.md and project documentation
- CLAUDE.md with architecture overview, conventions, and strict commit rules
- docs/architecture-registries.md: registry pattern details
- docs/color-spaces.md: color space system guide
- docs/testing.md: BDD testing guide with mamba
- docs/nodes-comfyui.md: ComfyUI nodes reference
- docs/data-models.md: PixelColor and PixelPalette models
2026-02-13 10:38:29 +01:00
Ranska dd696cac6c add replace color at node 2025-09-02 10:34:43 +02:00
Ranska 56100b9d86 add replace color at node 2025-09-02 10:13:58 +02:00
unamed d0b7dd44f3 Merge pull request #29 from ranska/feature/practice_with_agent_2
Feature/practice with agent 2
2025-08-31 19:41:08 +02:00
levaleureux 3445e8dfa8 Cleanup duplication methods 2025-08-31 16:01:42 +02:00
levaleureux ddfcd21d30 refactor export add context switcher 2025-08-31 15:57:03 +02:00
levaleureux 97fe69fdb1 refactor export 2025-08-31 15:37:01 +02:00
levaleureux 1472d27d65 move code to exporter 2025-08-31 15:28:59 +02:00
levaleureux 1cc792527b clean dead code 2025-08-31 15:07:03 +02:00