Skip to content

Flex, couleurs, polices, taille, positionnement - #4

Merged
jsboige merged 2 commits into
masterfrom
nouveau_design
Apr 18, 2020
Merged

Flex, couleurs, polices, taille, positionnement#4
jsboige merged 2 commits into
masterfrom
nouveau_design

Conversation

@lpelleti

Copy link
Copy Markdown
Collaborator

No description provided.

@lpelleti lpelleti changed the title Flex + corrections bug niveau Flex, couleurs, polices, taille, positionnement Apr 18, 2020
@lpelleti
lpelleti marked this pull request as ready for review April 18, 2020 13:11
@lpelleti
lpelleti requested a review from jsboige April 18, 2020 13:11
@lpelleti

Copy link
Copy Markdown
Collaborator Author

@jsboige pour revue et merge

@jsboige jsboige left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Nickel, c'est nettement mieux !

@jsboige
jsboige merged commit f0ebaf1 into master Apr 18, 2020
jsboige added a commit that referenced this pull request Jun 30, 2025
Flex, couleurs, polices, taille, positionnement

Former-commit-id: f0ebaf1
Former-commit-id: 7833838012082346cecb6897e022fd4a6ee59a50
jsboige added a commit that referenced this pull request Jun 4, 2026
…overflowing footer (#250)

jsboige reported Rules card images with overflow regressions on the stylized
bullet-point body running into the footer band. Root cause: the Rules body
markdown was rendered in a bare <div> with no `.texte` wrapper, so CardPen's
#190 autoFitBodyText (frame.js) never engaged — it bails early when `.texte`
is absent and, even when present, only shrinks when `.texte` has a BOUNDED
clientHeight. Dense cards therefore grew past the absolute footer band
(.colorPalette / .pageNumber / variant labels).

Fix (two surgical edits, source-of-truth JSON template):
- mustache: wrap the body in `.texte > .desc_fr` so #190 sees the body and
  the localization field tokens resolve as before.
- css: `card:not([class~="1"]) .texte { max-height: 390px; overflow: hidden; }`
  bounds the body height on every non-cover card so #190 binary-searches the
  font factor down to fit; the cover (variant 1) is excluded — its art lives
  on bleed/safe backgrounds, not in `.texte`.

Validated on the live CardPen engine (Playwright harness, real engine #190 +
domtoimage capture) against the canonical dataset CSV
(Cards/Rules/Argumentum Rules - Cards.csv), 15 cards x 8 languages.

BEFORE (footer collisions, body bottom under footer top):
- FR  #9 +20px, #15 +22px
- RU  #9 +12px, #12 +23px
- PT  #4 +31px, #9 +28px, #10 +39px, #12 +95px
- EN  none
AFTER: zero non-cover collisions across fr/en/ru/pt/es/ar/zh/fa; cover
unchanged. Worst case (PT #12, +95px) now renders cleanly with the body
auto-shrunk above the footer (eyeballed PNGs).

This is the check the #412/#431 mechanical harness missed (it never drove the
live #190 engine), which is why the "0px overflow" claim in the #140 dossier
was wrong; that claim is corrected in a follow-up.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
jsboige added a commit that referenced this pull request Jun 5, 2026
…SS remap (#250, supersedes #437) (#438)

* fix(rules): editorial restructure Tarot Rules 24→15 cards + 15-card CSS remap (#250)

Treats ALL #250 Rules layout problems in one pass; supersedes #437 (CSS-only,
24-card). Card model = 1 CSV row = 1 card, so rebalancing = restructuring rows.

- #250.1 École: move 2 paragraphs so §5 décompte fits entirely on card 5
- #250.2 covers: merge cover+Matériel+Résumé+Installation into 1 setup card per
  variant (Bingo/DBP/Moulin/Parlote); École keeps full-page art cover
- #250.3 colours: remap CSS [class~=N] selectors to real 15-card boundaries
- #250.4 DBP: merge orphan "Fin de partie" into gameplay card
- #250.5 Moulin: merge orphan "Fin de partie + Variantes" into gameplay card
- #250.6 Parlote: move §3 "tours de jeu" to last Parlote card

Content-preservation invariant proven: for every column the \n\n-join of
non-empty cells is byte-identical before/after (no content lost/added). Peak
card length reduced 1829→1573. Merges applied to all 8 langs; FR paragraph
moves mirrored on 7 other langs by po-2023 (heading-anchored).

CSS: indices now 1..15, only css value changed (34 non-css keys byte-identical).
Visual validation by FR Rules régén pending before merge.

Refs #250. Supersedes #437.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>

* @
fix(rules): tighten Argumentum H1 on variant setup cards so dense DBP setup fits (#250)

The 4 merged variant setup cards (7/9/11/13) carry the full-size "Argumentum"
H1 (32px, ~83px vertical footprint) plus 4 sections. The densest — DBP setup
(card 9) — overflowed by 14px, clipping the last Installation line. Reducing the
H1 vertical margins (21.44px -> 6px/8px) on those 4 cards frees ~28px; all 15
cards now fit with zero overflow (verified live + baked render). École cover
(card 1) keeps its full-page art. Index-based selector => covers all 8 languages.

Only the css value of Argumentum_Rules_fr.json changes (1 JSON line).

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
@

* @
docs(rules): add #250 visual validation dossier (15-card layout, 0px overflow) (#250)

CardPen render proof (ai-01 Playwright/IIS) for PR #438: 6 representative cards
covering all 6 reported Rules layout problems + the card-9 fit fix. Pixel-measured
0px overflow on all 15 cards. Index-based CSS => FR render validates layout/colours
for all 8 languages.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
@

* fix(rules): mirror 3 FR paragraph moves to 7 translation languages (#250)

Mirror ai-01's editorial paragraph moves (commit 6fc3644) from FR Text
to Text_en, Text_ru, Text_pt, Text_ar, Text_es, Text_zh, Text_fa:

1. École move 1: saynète continuation from card 5 → end of card 4
2. École move 2: tie-breaking paragraph from card 6 → end of card 5
3. Parlote move: 'tours de jeu' section from card 14 → beginning of card 15

Invariant verified: \n\n-join byte-identical before/after for all 7 columns.
1 file changed, 172 insertions, 172 deletions (moves only, no content change).

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>

* fix(rules): bound .texte so dense Rules cards auto-shrink instead of overflowing footer (#250)

jsboige reported Rules card images with overflow regressions on the stylized
bullet-point body running into the footer band. Root cause: the Rules body
markdown was rendered in a bare <div> with no `.texte` wrapper, so CardPen's
#190 autoFitBodyText (frame.js) never engaged — it bails early when `.texte`
is absent and, even when present, only shrinks when `.texte` has a BOUNDED
clientHeight. Dense cards therefore grew past the absolute footer band
(.colorPalette / .pageNumber / variant labels).

Fix (two surgical edits, source-of-truth JSON template):
- mustache: wrap the body in `.texte > .desc_fr` so #190 sees the body and
  the localization field tokens resolve as before.
- css: `card:not([class~="1"]) .texte { max-height: 390px; overflow: hidden; }`
  bounds the body height on every non-cover card so #190 binary-searches the
  font factor down to fit; the cover (variant 1) is excluded — its art lives
  on bleed/safe backgrounds, not in `.texte`.

Validated on the live CardPen engine (Playwright harness, real engine #190 +
domtoimage capture) against the canonical dataset CSV
(Cards/Rules/Argumentum Rules - Cards.csv), 15 cards x 8 languages.

BEFORE (footer collisions, body bottom under footer top):
- FR  #9 +20px, #15 +22px
- RU  #9 +12px, #12 +23px
- PT  #4 +31px, #9 +28px, #10 +39px, #12 +95px
- EN  none
AFTER: zero non-cover collisions across fr/en/ru/pt/es/ar/zh/fa; cover
unchanged. Worst case (PT #12, +95px) now renders cleanly with the body
auto-shrunk above the footer (eyeballed PNGs).

This is the check the #412/#431 mechanical harness missed (it never drove the
live #190 engine), which is why the "0px overflow" claim in the #140 dossier
was wrong; that claim is corrected in a follow-up.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>

* docs(rules): correct false "0px overflow" claim in #250 validation dossier

The dossier README claimed "0 px d'overflow partout (scrollHeight ==
clientHeight)". That measured container auto-fit (trivially scroll==client
when height is unbounded), not body-vs-footer collision. The live #190 engine
check (real CSV, 8 langs) found residual collisions on the restructured
template — FR/RU/PT, worst PT #12 +95px — now resolved by 74ef097 (.texte
hook + bound). README updated with the corrected before/after data.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>

---------

Co-authored-by: Claude Opus 4.8 <noreply@anthropic.com>
jsboige added a commit that referenced this pull request Jun 19, 2026
…rget, recommend closure (#547)

Closure assessment for #498 (dispatched by ai-01, PRIMARY). Evaluates cluster-level
coverage against the #498 target and recommends CLOSURE of #498 (content-proposal
layer), with phase-4 mopup documented as optional finish.

Key findings (all verified against the real 1408-row prod Fallacies CSV, master 4dd3c6b):
- 70 direct cluster AIF mappings (depth 2-4), broadMatch-dominant (57/10/3) — intact,
  no regression from phases 1-3.
- Effective coverage by inheritance: 1292/1408 = 91.8% (direct+inherited).
- The "~31% (442/1408)" figure in the issue body is jsboige's measure with unspecified
  derivation — recorded transparently rather than reproduced (DoD #5 fail-loud on the metric).
- Generative work (phases 1-3): 50 depth-3 leaves with full triple-AIF exception structures,
  17 distinct Walton schemes, 49 distinct CA-nodes. rebut-type progression (absent phases
  1-2, appears phase 3) is independent semantic-fidelity evidence.
- Phase-4 mopup (13 remaining depth-3 leaves) is OPTIONAL, not a gap: all 13 already carry
  native cluster AIF skos mappings in prod. Phase 4 would add generative density (50->63/63),
  not coverage.
- Fail-loud: the 4 unmapped depth-2 categorical parents (Technique rhetorique, Appel a
  l'emotion, Conclusion mathematique invalide, Sabotage du debat) are category umbrellas
  whose children carry the mapping — no scheme fabricated.

DoD assessment: #1 (numbering) met, #2 (generative structures) met for 50 leaves, #3
(mapping-type coherence) met, #4 (fail-loud) met. No coverage gap. Recommends closure;
gated prod write + OWL regen + jsboige content validation remain as separate downstream gates.

Doc-only gated. No production data changed.

Co-authored-by: Your <your.email@example.com>
Co-authored-by: Claude Opus 4.6 <noreply@anthropic.com>
jsboige added a commit that referenced this pull request Jun 29, 2026
…ublish) (#612)

Idle #135 (endorsed by ai-01). Net-new public-facing announcement article
for the v0.9.0 release, prepped for the DNN News5 module. FR canonical +
EN mirror (docs/publication/ convention). Publish action stays GATED on
#134 (tag) + #131 (DNN 10.3.2 live) + #132 (deploy) — this is text prep only.

Grounded in RELEASE-NOTES-v0.9.0.md + release-dossier README (no figure
invented): 8 languages (fr/en/ru/pt/es/ar/fa/zh, config-verified), 1408
fallacy nodes + 223 virtues + 167 scenarios 100% translated, 4 new game
variants (Bingo mixologie argumentative + Dernier Beau Parleur + Moulin a
Baratin + Parlote Coinchee, Rules deck-verified), 64 PDFs (8 langs x 8
types), FreeMind SVG mind maps, OWL 5.3MB SKOS+AIF, Print&Play A4.

Issue #135 body is STALE ("4 languages") — live scope is 8 (decision #4,
merged via #359/#360/#361). Reflected current scope, not the stale brief.

All version/download/og:image fields = [PLACEHOLDER] filled at tag time.
Downloads taxonomy by language x format x package (extends release-dossier
section 5 snippet). SEO meta block (title/description/og:image/twitter:card
/hreflang) + sitemap note. Publish checklist (gates #134/#131/#132).
Indexed in docs/publication/README.{fr,en}.md inventory (doc #3).

Scope: docs/publication/ only. 0 write Cards/, 0 AssetConverter code change
(pre-tag safe). Base ba8e4a6.

Relates to #135, #134, #131, #132.

Co-authored-by: Your <your.email@example.com>
Co-authored-by: Claude-Code <noreply@anthropic.com>
jsboige added a commit that referenced this pull request Jul 11, 2026
#774 export (#786)

Closes the 2 open "a clarifier" rows in the spec S2 scope table, using the live
v21 export (#774, already on master) as ground truth.

- S2 #3 Glossary entries: RESOLVED -- no 2sxc export needed. Glossary3 does not
  exist as an app=60 content-type (export lists 13 types, none glossary). The
  fallacies glossary IS the Fallacies taxonomy (content-type Fallacy id=376),
  served via the 8-lang CSV cards + App.Query["FallaciesFromCSV"] -- already
  localized. The "Glossary3" name was a 15.02 hypothesis; the glossary was never
  a separate 2sxc entity set.
- S2 #4 FAQ entries: DEFERRED jsboige. Faq4 absent from the 13 app=60 types.
  Cross-app Question (app=18/38) unconfirmed as the Argumentum FAQ. Action =
  jsboige confirm whether a FAQ section exists (and in which 2sxc app) before
  any export. If no FAQ -> row is moot.

Doc-only. No DB write. No Cards/ edit. Closes open questions flagged in #777
before jsboige/ops consumes the spec for the gated apply.

Co-authored-by: Claude-Code <noreply@anthropic.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants