Adapter la taille du texte des classes et sous-classes au format paysage #82

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

Contexte

Les cartes de créatures ajustent automatiquement la taille du texte au format
paysage grâce à fitCardText et à l'échelle creatureLandscape de
CARD_TEXT_FIT_SIZES (shared.js) : le corps du texte rétrécit jusqu'à tenir
sur une seule carte.

Les cartes de classes (classes.html) et sous-classes
(subclasses.html) fonctionnent différemment au format paysage : la taille de
police est fixe (.card.landscape .feature-entry { font-size: 6px }) et le
contenu trop long est paginé sur plusieurs cartes via
renderPagesToWrappers / distributePages / measureGroupHeights (#73), sans
jamais réduire la police. Il n'existe pas d'entrée classLandscape /
subclassLandscape dans CARD_TEXT_FIT_SIZES.

Résultat : au format paysage, le texte des classes/sous-classes ne « s'adapte »
pas comme celui des monstres — il garde une taille fixe là où un léger
rétrécissement suffirait à mieux remplir la colonne.

Modifications a faire

  • Étendre l'ajustement adaptatif du texte au format paysage des classes et
    sous-classes, à l'image de creatureLandscape.
  • Ajouter les échelles nécessaires dans CARD_TEXT_FIT_SIZES
    (p. ex. classLandscape, subclassLandscape).
  • Articuler l'ajustement avec la pagination existante (#73) : d'abord tenter de
    faire tenir une carte en réduisant la police dans une plage lisible, puis
    paginer si le contenu reste trop long (éviter les micro-tailles illisibles).
  • Réutiliser les helpers partagés (fitCardText, cardTextFitMargin,
    cardTextFitOuterHeight) plutôt que de dupliquer la logique.
  • Conserver les dimensions de carte (148 × 105 mm, A6 paysage) et le flux
    d'impression ; ne pas régresser le format portrait.

Criteres d'acceptation

  • Au format paysage, le texte des cartes de classes et de sous-classes rétrécit
    automatiquement pour tenir, de la même façon que les créatures.
  • Le rétrécissement s'arrête à un seuil lisible ; au-delà, la pagination #73
    prend le relais.
  • Aucun débordement à l'impression : checkAlignedPrintOverflow reste à 0 px
    pour classes.html et subclasses.html.
  • node scripts/smoke-test.js et node tests/visual-validation.js passent.
  • Le format portrait et le flux d'impression restent inchangés.
## Contexte Les cartes de créatures ajustent automatiquement la taille du texte au format paysage grâce à `fitCardText` et à l'échelle `creatureLandscape` de `CARD_TEXT_FIT_SIZES` (`shared.js`) : le corps du texte rétrécit jusqu'à tenir sur une seule carte. Les cartes de **classes** (`classes.html`) et **sous-classes** (`subclasses.html`) fonctionnent différemment au format paysage : la taille de police est **fixe** (`.card.landscape .feature-entry { font-size: 6px }`) et le contenu trop long est **paginé** sur plusieurs cartes via `renderPagesToWrappers` / `distributePages` / `measureGroupHeights` (#73), sans jamais réduire la police. Il n'existe pas d'entrée `classLandscape` / `subclassLandscape` dans `CARD_TEXT_FIT_SIZES`. Résultat : au format paysage, le texte des classes/sous-classes ne « s'adapte » pas comme celui des monstres — il garde une taille fixe là où un léger rétrécissement suffirait à mieux remplir la colonne. ## Modifications a faire - Étendre l'ajustement adaptatif du texte au format paysage des classes et sous-classes, à l'image de `creatureLandscape`. - Ajouter les échelles nécessaires dans `CARD_TEXT_FIT_SIZES` (p. ex. `classLandscape`, `subclassLandscape`). - Articuler l'ajustement avec la pagination existante (#73) : d'abord tenter de faire tenir une carte en réduisant la police dans une plage lisible, puis paginer si le contenu reste trop long (éviter les micro-tailles illisibles). - Réutiliser les helpers partagés (`fitCardText`, `cardTextFitMargin`, `cardTextFitOuterHeight`) plutôt que de dupliquer la logique. - Conserver les dimensions de carte (148 × 105 mm, A6 paysage) et le flux d'impression ; ne pas régresser le format portrait. ## Criteres d'acceptation - Au format paysage, le texte des cartes de classes et de sous-classes rétrécit automatiquement pour tenir, de la même façon que les créatures. - Le rétrécissement s'arrête à un seuil lisible ; au-delà, la pagination #73 prend le relais. - Aucun débordement à l'impression : `checkAlignedPrintOverflow` reste à 0 px pour `classes.html` et `subclasses.html`. - `node scripts/smoke-test.js` et `node tests/visual-validation.js` passent. - Le format portrait et le flux d'impression restent inchangés.
Reliodas added this to the 1.0.0-beta milestone 2026-07-09 10:00:38 +00:00
Author
Owner

Livré dans la MR #85, fusionnée dans develop. Le texte paysage des classes et sous-classes utilise désormais une plage adaptative de 7 à 5,5 px avant que la pagination prenne le relais. Les smoke tests et la validation Playwright passent, y compris les contrôles d'impression et de non-régression portrait.

Livré dans la MR #85, fusionnée dans develop. Le texte paysage des classes et sous-classes utilise désormais une plage adaptative de 7 à 5,5 px avant que la pagination prenne le relais. Les smoke tests et la validation Playwright passent, y compris les contrôles d'impression et de non-régression portrait.
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#82
No description provided.