retrotoon-studio/server/_core
Ubuntu 6a875ad0d5 feat(M3): Édition par zone - inpainting localisé via masque
L'outil d'annotation existant ne servait qu'à créer un masque global.
Maintenant chaque masque peut déclencher un inpainting IA qui
modifie UNIQUEMENT la zone sélectionnée.

Backend:
- convertMaskForOpenAI(): convertit notre format (blanc=édit/noir=préserve)
  vers format OpenAI (alpha=0=édit/opaque=préserve)
- Auto-redimensionne le mask aux dims de l'image source
- generateImage() accepte maintenant un paramètre maskUrl
- OpenAI images.edits utilise le param "mask" + champ "image" (singulier)
  pour le mode inpainting
- Nouveau endpoint generation.inpaintZone(frameId, maskUrl, prompt, sourceType)
- sourceType: original / bg (regen actif) / fg (perso actif) / composite
- Crée une nouvelle variante du type approprié (Module 1)
- Synchronise les champs legacy

Frontend (AnnotationCanvas):
- Nouveau bouton "Inpainter zone" dans la toolbar
- Form dropdown avec sélecteur de source (original/composite/bg/fg)
  et prompt textarea
- handleInpaint: upload du masque + appel inpaintZone + new variant
- Sauve masque (bouton existant renommé "Sauver masque") séparé de l'inpainting
- AnnotationCanvas reçoit projectId + frameIndex pour pouvoir appeler les routes

Workflow utilisateur:
1. Mode "Annoter" dans le viewport (sur frame originale)
2. Dessine au pinceau/rectangle/lasso la zone à modifier
3. Click "Inpainter zone"
4. Choisit source (original/composite/etc.) + écrit le prompt
5. Click "Lancer inpainting"
6. OpenAI génère uniquement la zone masquée
7. Nouvelle variante créée et visible dans la galerie M1

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-05-21 06:48:21 +00:00
..
types Initial project bootstrap 2026-05-19 23:15:42 +00:00
context.ts Initial project bootstrap 2026-05-19 23:15:42 +00:00
cookies.ts fix: audit complet et pipeline fonctionnel RetroToon Studio 2026-05-21 01:37:08 +00:00
dataApi.ts feat: migration complète Manus -> auto-hébergé (MinIO + Gemini) 2026-05-21 04:27:48 +00:00
env.ts feat: migration complète Manus -> auto-hébergé (MinIO + Gemini) 2026-05-21 04:27:48 +00:00
heartbeat.ts feat: migration complète Manus -> auto-hébergé (MinIO + Gemini) 2026-05-21 04:27:48 +00:00
imageGeneration.ts feat(M3): Édition par zone - inpainting localisé via masque 2026-05-21 06:48:21 +00:00
index.ts Checkpoint: RetroToon Studio v1.0 - Application professionnelle de recomposition d'animation. Inclut : thème blueprint architectural, schéma DB complet (8 tables), timeline NLE multipistes, segmentation IA (SAM 2), assistant opérateur autonome avec LLM, moteur de regénération IA, système Character Sheet, administration IA modulaire, mode test/simulation, 22 tests passants, 0 erreur TypeScript. 2026-05-19 23:38:28 +00:00
llm.ts feat: migration complète Manus -> auto-hébergé (MinIO + Gemini) 2026-05-21 04:27:48 +00:00
localAuth.ts fix: audit complet et pipeline fonctionnel RetroToon Studio 2026-05-21 01:37:08 +00:00
map.ts feat: migration complète Manus -> auto-hébergé (MinIO + Gemini) 2026-05-21 04:27:48 +00:00
notification.ts feat: migration complète Manus -> auto-hébergé (MinIO + Gemini) 2026-05-21 04:27:48 +00:00
oauth.ts Initial project bootstrap 2026-05-19 23:15:42 +00:00
sdk.ts feat: améliorations UX/UI workspace 2026-05-21 03:13:34 +00:00
storageProxy.ts feat: migration complète Manus -> auto-hébergé (MinIO + Gemini) 2026-05-21 04:27:48 +00:00
systemRouter.ts feat: migration complète Manus -> auto-hébergé (MinIO + Gemini) 2026-05-21 04:27:48 +00:00
trpc.ts Initial project bootstrap 2026-05-19 23:15:42 +00:00
vite.ts Initial project bootstrap 2026-05-19 23:15:42 +00:00
voiceTranscription.ts feat: migration complète Manus -> auto-hébergé (MinIO + Gemini) 2026-05-21 04:27:48 +00:00