- Binder en flex column pour que la légende apparaisse
- Vue active sauvegardée dans localStorage, restaurée au chargement
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
- Légende en bas du Binder (points colorés + labels)
- CSS statuts alignés sur NocoDB (Validée, À étudier, Abandonnée, En conflit)
- Suppression référence Germe/Posée dans le code
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
- Fix parseHTML commentaires (attributs perdus au rechargement)
- Statut: Posée → Validée, Germe supprimé (17 fiches migrées)
- Bouton "+" pour ajouter un personnage directement depuis le formulaire
- Zone "Après l'histoire" sur la frise (couleur prune)
- Icône frise harmonisée (symbole plat)
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
- Nouvelle section frise avec couleur prune (#8a6a8a)
- CSS light + dark theme
- Option ajoutée dans NocoDB
- Icône frise: sablier emoji remplacé par symbole plat
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Grip handle (⠿) appears on hover, drag to reorder cards.
Separate from image repositioning (which uses direct mousedown on image).
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
- Phrase + Tags side by side (2 columns)
- Moodboard full width
- Synopsis full width
- On veut / On ne veut pas as separate cards (2 columns)
- Moodboard images: drag to reposition in any direction (2D)
- Double-click to replace image, single-click to upload on empty
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Remove type system (ambiance/epoque/rythme/genre/theme).
Tags are now plain strings. Old format auto-migrated.
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
- Remove category/label system, replace with free text captions
- Click image area to upload, caption editable below
- Images uploaded as files to server (same as hero, avoids NocoDB limit)
- Wider cards (160px min), cleaner layout
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Use background-image instead of background shorthand to prevent
background-size: cover from being reset when toggling dark/light.
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
NocoDB LongText field has ~95KB limit, hero image is ~456KB base64.
New approach: POST /api/hero-upload saves image as file in /public/uploads/,
NocoDB stores only the path. Docker volume configured for persistence.
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Collaborative annotation system:
- Select text + click "Commenter" → enter author (E/M) + comment
- Highlighted text with author-colored underline (green=Etienne, terra=Myriam)
- Click highlighted passage → popup shows comment, author, date
- Delete comment from popup
- Comments stored as marks in HTML (no separate table needed)
- Custom TipTap Mark extension loaded via esm.sh
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
TipTap 2.x is ESM-only, no UMD on CDN. Use esm.sh to serve
ES modules from npm, expose as window globals.
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Phase 1 of Solution 3 (Scrivener-inspired writing environment):
- Binder panel: scenes grouped by act, status indicators, word counts
- TipTap rich text editor with toolbar (bold, italic, headings, lists, blockquote)
- Auto-save after 1.5s of inactivity
- New NocoDB table "Contenu" (SceneId, Texte, Mots)
- API routes: GET/PUT /api/contenu/:sceneId, GET /api/contenu (word counts)
- Total word count in binder footer
- Navigation: Vision / Frise / Rédaction
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
- Replace Inspirations with Moodboard (image cards with labels)
- Tags and Moodboard on same row (two columns)
- Ce qu'on veut/ne veut pas: items now support title + expandable
description (click "développer" to add detail text)
- Backwards compatible: old plain-string list items auto-migrate
- Fix hero-meta default height to 400px
- Moodboard images resized to 400px, JPEG 0.8 quality
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Image base64 stored in hero-image section (raw), position/height
in hero-meta section (small JSON). Fixes save failure caused by
oversized JSON payload when wrapping base64 inside JSON.
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
- Click and drag the hero image vertically to adjust framing
- Height slider appears on hover below the banner
- Position (Y%) and height saved to NocoDB as JSON
- Backwards compatible with legacy base64-only format
- Upload button moved to top-right controls overlay
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
- Hauteur 280px (était 180px)
- Clic sur la bannière ouvre un sélecteur de fichier
- Image redimensionnée (max 1600px) et stockée en base64 dans NocoDB
- Indicateur "Cliquer pour changer l'image" au survol
- Texte reste éditable (clic ne déclenche pas l'upload)
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
- Nouvelle table NocoDB Vision (9 sections : trois-mots, phrase, synopsis, tags, listes, inspirations)
- Routes API /api/vision GET + PATCH dans server.js
- Frontend : contenteditable sur les champs texte, sauvegarde auto au blur
- Tags, listes et inspirations : ajout/suppression/édition en place
- Indicateur "Enregistré" discret en bas à droite
- Variable NOCODB_VISION_TABLE_ID ajoutée
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Myriam doit découvrir la page et se sentir invitée à écrire
son propre contenu — pas lire un synopsis qu'elle n'a pas validé.
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Navigation sidebar Frise/Vision. Page Vision statique avec :
- Banniere trois mots fondateurs (gracieux/ingenieux/chaleureux)
- Synopsis complet
- Tags ambiance/themes
- Ce qu'on veut / ne veut pas
- 12 references d'inspiration
- Citation en filigrane
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Recalcule la largeur de chaque section d'acte dans applyFilters()
en comptant uniquement les cartes visibles (non filtrées).
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Filters hide non-matching cards via CSS class. Filter options
are populated dynamically from NocoDB data and column options.
Clear button resets all filters.
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
- Card top border now reflects the Acte color (blue-grey, brown, terra, olive)
instead of the Type
- Increased card width to 260px, title to 18px, summary to 15px, badges to 13px
- Bumped acte labels, topbar title, sidebar logo, button sizes
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>