Étendre les tableaux de référence aux éditeurs Sorts, Créatures et Origines #83

Closed
opened 2026-07-09 10:30:10 +00:00 by Reliodas · 1 comment
Owner

Contexte

Le bloc « tableau » de référence (en-tête + lignes alternées, à l'image des
tables du PHB) est en place et partagé : renderCardTable(), le champ optionnel
table: { headers, rows } sur une capacité/effet, le sous-éditeur
initTableEditor() et cloneTable() (card-editor.js), plus les styles
.card-table / .table-editor (shared.css).

Il est déjà branché dans 5 éditeurs : classes, sous-classes (via
renderGroupsHtml — mesure, pagination #73 et impression gratuites) et espèces,
dons, équipement (via initEditableList avec l'option tables: true).

Restent 3 éditeurs à rendu sur-mesure qui n'entrent pas dans la couture
partagée sans travail dédié :

  • Sorts (spells.html) : le modèle des blocs est relu depuis le DOM
    (readBlocksFromForm) au lieu d'un tableau persistant ; le sous-éditeur de
    tableau (basé sur un modèle résolu par clé) ne peut pas s'y accrocher en
    l'état.
  • Créatures (creatures.html) : bloc de stats + découpe en deux colonnes
    au format paysage + ajustement adaptatif (#72) ; l'insertion d'un tableau doit
    cohabiter avec la mesure et la répartition en colonnes.
  • Origines (origins.html) : fiche à schéma fixe (caractéristiques, don,
    compétences, outils, équipement, ambiance) sans liste de sections libre pour
    accueillir un tableau — à évaluer (possiblement hors sujet).

Modifications a faire

  • Sorts : persister les blocs (spellBlocks) comme source de vérité (au lieu
    de relire le DOM), puis brancher initTableEditor + renderCardTable par bloc
    (aperçu + snapshot d'impression + clone profond).
  • Créatures : permettre un tableau sur les traits/actions, en l'intégrant à
    la mesure de hauteur et à la découpe portrait/paysage à deux colonnes ; le
    tableau doit participer à l'ajustement adaptatif.
  • Origines : décider si un tableau a un emplacement pertinent (p. ex. une
    section libre optionnelle) ; sinon, documenter la mise hors périmètre.
  • Réutiliser strictement les primitives existantes (renderCardTable,
    initTableEditor, cloneTable) — pas de logique de tableau dupliquée.

Criteres d'acceptation

  • Sorts et Créatures peuvent porter un tableau de référence, rendu comme sur les
    classes/sous-classes (en-tête + lignes alternées), en aperçu et à l'impression.
  • Le tableau est édité via le sous-éditeur partagé et cloné en profondeur au
    panier / au chargement de préréglage (aucune référence partagée avec le modèle).
  • Le tableau participe à l'ajustement adaptatif (#72) là où il s'applique ;
    aucun débordement à l'impression.
  • Le cas Origines est tranché (implémenté ou explicitement hors périmètre).
  • node scripts/smoke-test.js et node tests/visual-validation.js passent ;
    aucune régression sur les 5 éditeurs déjà couverts.
## Contexte Le bloc « tableau » de référence (en-tête + lignes alternées, à l'image des tables du PHB) est en place et partagé : `renderCardTable()`, le champ optionnel `table: { headers, rows }` sur une capacité/effet, le sous-éditeur `initTableEditor()` et `cloneTable()` (card-editor.js), plus les styles `.card-table` / `.table-editor` (shared.css). Il est déjà branché dans **5 éditeurs** : classes, sous-classes (via `renderGroupsHtml` — mesure, pagination #73 et impression gratuites) et espèces, dons, équipement (via `initEditableList` avec l'option `tables: true`). Restent **3 éditeurs à rendu sur-mesure** qui n'entrent pas dans la couture partagée sans travail dédié : - **Sorts** (`spells.html`) : le modèle des blocs est **relu depuis le DOM** (`readBlocksFromForm`) au lieu d'un tableau persistant ; le sous-éditeur de tableau (basé sur un modèle résolu par clé) ne peut pas s'y accrocher en l'état. - **Créatures** (`creatures.html`) : bloc de stats + **découpe en deux colonnes** au format paysage + ajustement adaptatif (#72) ; l'insertion d'un tableau doit cohabiter avec la mesure et la répartition en colonnes. - **Origines** (`origins.html`) : fiche à **schéma fixe** (caractéristiques, don, compétences, outils, équipement, ambiance) sans liste de sections libre pour accueillir un tableau — à évaluer (possiblement hors sujet). ## Modifications a faire - **Sorts** : persister les blocs (`spellBlocks`) comme source de vérité (au lieu de relire le DOM), puis brancher `initTableEditor` + `renderCardTable` par bloc (aperçu + snapshot d'impression + clone profond). - **Créatures** : permettre un tableau sur les traits/actions, en l'intégrant à la mesure de hauteur et à la découpe portrait/paysage à deux colonnes ; le tableau doit participer à l'ajustement adaptatif. - **Origines** : décider si un tableau a un emplacement pertinent (p. ex. une section libre optionnelle) ; sinon, documenter la mise hors périmètre. - Réutiliser strictement les primitives existantes (`renderCardTable`, `initTableEditor`, `cloneTable`) — pas de logique de tableau dupliquée. ## Criteres d'acceptation - Sorts et Créatures peuvent porter un tableau de référence, rendu comme sur les classes/sous-classes (en-tête + lignes alternées), en aperçu et à l'impression. - Le tableau est édité via le sous-éditeur partagé et cloné en profondeur au panier / au chargement de préréglage (aucune référence partagée avec le modèle). - Le tableau participe à l'ajustement adaptatif (#72) là où il s'applique ; aucun débordement à l'impression. - Le cas Origines est tranché (implémenté ou explicitement hors périmètre). - `node scripts/smoke-test.js` et `node tests/visual-validation.js` passent ; aucune régression sur les 5 éditeurs déjà couverts.
Reliodas added this to the 1.0.0-beta milestone 2026-07-09 10:30:10 +00:00
Author
Owner

Livré dans la MR #86, fusionnée dans develop. Les tableaux de référence sont disponibles pour les blocs de sorts et les traits/actions de créatures, avec édition partagée, clone profond, fit et impression. Le cas Origines est documenté hors périmètre en raison de son schéma fixe. Les smoke tests et la validation Playwright passent.

Livré dans la MR #86, fusionnée dans develop. Les tableaux de référence sont disponibles pour les blocs de sorts et les traits/actions de créatures, avec édition partagée, clone profond, fit et impression. Le cas Origines est documenté hors périmètre en raison de son schéma fixe. Les smoke tests et la validation Playwright passent.
Sign in to join this conversation.
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference: dnd/cards#83
No description provided.