Phase D - Drag-drop layers réordonnance: - @dnd-kit/core + sortable + utilities installés - LayersPanel réécrit avec SortableContext + useSortable - Endpoint layers.reorder + db.reorderLayers - Drag handle via GripVertical, optimistic UI update Phase B - Compositing dual (sharp serveur + Canvas client): - sharp 0.34.5 + vips-dev + libvips installés dans Dockerfile - compositeLayers() réécrit: téléchargement frames, blend pixel par pixel, masques avec feathering, opacity, blend modes (over/multiply/screen/overlay) - Endpoints compositing.composeFrame + compositing.composeSequence - Composant CompositePreview: rendu client temps réel via <img> + mix-blend-mode - Mode composite du ViewportPanel utilise CompositePreview pour preview live Phase A - Outil d'annotation viewport: - Composant AnnotationCanvas: brush/rectangle/lasso/eraser - Taille pinceau ajustable, undo stack, clear all, save vers S3 - Raccourcis clavier B/R/Y/E + Ctrl+Z - Bouton "Annoter" dans toolbar ViewportPanel - Endpoint frames.saveMask, intégration mode original Phase C - Pipeline auto-compose réel: - inpaintBackgrounds: appelle vraiment segmentationService.inpaintBackground - regenerateBackgrounds: vraie regen + propagation aux frames de la séquence - regenerateCharacters: utilise character sheets + masks - compositeAll: compose toutes les frames avec bg+fg via sharp - fullAutoCompose chaîne tout: detect → analyze → segment → inpaint → regen → composite - Tracking via generationJobs (progress %) Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com> |
||
|---|---|---|
| .. | ||
| public | ||
| src | ||
| index.html | ||