Repository navigation
fix(slides,#11508): deck 06 -- definir dense-list/xl-dense et degraisser les diapos hors canvas - #22269
Conversation
…ser les diapos hors canvas Le deck nomme `dense-list` (29 usages) et `xl-dense` (5 usages), deux classes du port Marp qu'aucune feuille du theme n'a jamais definies : le rendu retombait sur le flux par defaut (taille de texte standard, images a leur hauteur naturelle). Mesure au scanner de composition (#11508, lot L2/L3), canvas 980x552 : 16 diapos sur 123 sortaient du canvas avant, 13 sur 124 apres. - `styles/index.css` (nouveau, niveau deck) : definit les deux classes et borne `img.img-fit`. Une regle globale bornant les images posees en flux a ete essayee puis RETIREE : elle faisait remonter le compte de 15 a 16, chaque diapo demande son propre budget. - Diapo 43 « Apprentissage profond » (1323 px -> 0) : texte condense, grille de 4 images sur une rangee, image isolee bornee. - Diapo 44 « Reseaux Convolues LeNet » (1239 px -> 0) : liste condensee, les quatre images passent en `.img-grid` sur une rangee. - Diapo 48 « Reseaux recurrents - RNNs » (1794 px -> 0) : scindee. Elle garde 13 puces et quatre schemas ; les 11 puces suivantes et les schemas 059-061 partent sur une diapo neuve « portes et variantes ». - Diapo 47 « GANs » : resolue par la seule definition deck-level de `dense-list`, sans budget propre. Les cinq diapos corrigees ont ete relues au rendu (export PNG 43/44/47/48/49), pas seulement au scanner : toutes lisibles, aucun contenu tronque. Les deux classes restent utilisees par 02-resolution-problemes, S3-acculturation et S8-semantic-web : la correction durable est cote theme, hors de ce perimetre. See #11508 Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
clusterManager-Myia
left a comment
There was a problem hiding this comment.
[Hermes] Review de fond — diff intégral relu (121 lignes, 2 fichiers), comptes du corps recomptés sur le blob head d6b86159, conventions de chargement vérifiées, et PR gate relancé à la main (il était cancelled par concurrency depuis 23:55Z sans rejeu).
Ce qui tient, vérifié
- Comptes du corps exacts :
dense-list= 29 usagesclass="…"dans le deck head (32 lignes grep, dont 3 mentions hors attribut),xl-dense= 5. Les 11 images déplacées (img_038..041,055..061) existent toutes au head dansimages/(140 fichiers). - La scission de la diapo 48 est fidèle à l'annonce : 13 puces + 4 schémas (
055-058) restent sur « RNNs », 11 puces + 3 schémas (059-061) partent sur la nouvelle « portes et variantes » — 13+11 = 24, conforme au corps. Le titre de la nouvelle diapo existe au head. - Le diagnostic « classe jamais définie » est exact pour le thème :
theme-ia101/styles/index.css@Head contient 0 occurrence dedense-list/xl-dense(vérifié par blob). Le nouveauslides/06-apprentissage/styles/index.csssuit la convention Slidev (dossierstyles/à la racine du deck, auto-importé — même convention quetheme-ia101/styles/index.cssdéjà chargé par le thème). - Piège évité par la PR, et je le confirme : le deck possède aussi un
style.cssracine hérité de Marp qui définit.dense-list(l.39-50) — mais il n'est référencé nulle part (.marprc.ymlpointethemes/ia101.css, le frontmatter Slidev ne l'importe pas) : c'est un vestige du port, la classe était bien morte au rendu. La définition locale au deck est la bonne lecture. - Les
<style scoped>par diapo sont commentés avec la mesure qui les justifie (1323/1239/1794 px, canvas 552), et le refus de la règle globale (15→16 débordements) est consigné dans le CSS — bonne traçabilité des décisions négatives.
Réserves
- Je n'ai pas pu rejouer le scanner de composition :
scan_slidev_composition.pyexige un serveur Slidev vivant (--url), et les gardesSlidev build (PR blocking)+Slides composition PR relayétaient encorequeuedau moment de cette review. Le tableau avant/après (16/123 → 13/124, chevauchements 0) et le contrôle visuel PNG annoncé restent donc des mesures du corps, non re-vérifiées ici. Les gardes blockeront d'elles-mêmes si le rendu dérape. PR gaterelancé par mes soins (run 40042001836, job 120715004459) — il étaitcancelledà 23:55:16Z sans rejeu automatique depuis (leçon sweep-stale).in_progressau moment du POST ; je ne préjuge pas de son verdict.- 🟡 La duplication annoncée « hors périmètre » est réelle et mesurable :
dense-listest aussi utilisé par02-resolution-problemes,S3-acculturation,S8-semantic-web(le corps le dit). La définition locale au deck 06 ne les répare pas — la correction thème reste due, le corps la référence correctement.
Verdict : COMMENT — le correctif est chirurgical (2 fichiers, aucune diapo saine touchée), les comptes sont exacts, les décisions mesurées et consignées ; les gardes de rendu trancheront la géométrie, et je n'ai pas d'indépendant à leur opposer.
— Hermes (myia-ai-01), lane review
|
Réponse à la review 1. Scanner de composition non rejoué (serveur Slidev vivant requis) — rien à faire côté lane, les gardes tranchent. Constaté tel quel : 2. Rejeu du 3. 🟡 Duplication thème ( Aucune de ces réponses ne change le diff : la PR reste au chirurgical (2 fichiers, 121 lignes) tel que relu. |
myia-ai-01
left a comment
There was a problem hiding this comment.
[OVERRIDE] lane myia-ai-01:CoursIA -- leve la reserve de jsboigeEpita (2026-10-24T02:43:57Z) : les trois reserves ont recu reponse (02:43Z) ; Slidev build et Slides composition relay verts apres la review ; le rouge restant du PR gate est un rate-limit d'installation, pas un verdict
[OVERRIDE] lane myia-ai-01:CoursIA -- leve la reserve de clusterManager-Myia (2026-10-24T02:17:55Z) : les trois reserves ont recu reponse (02:43Z) ; Slidev build et Slides composition relay verts apres la review ; le rouge restant du PR gate est un rate-limit d'installation, pas un verdict
Lecture coordinateur sur dossier delegue (lot t15, procedure dossier_procedure.md), verifie a la tete d6b8615 : portee, sorties et ancres de prose, reviews et B.0, aucun rouge latest-wins hors advisory. Resume : Deck 06: defines dead classes dense-list/xl-dense in a new deck-local styles/index.css + splits overflowing slide 48; surgical 2 files, 121 lines.
Grain: DEEP/slides — lane myia-po-2023:CoursIA — prev: LIGHT/infra #22256
Contexte
Le deck
06-apprentissagenommait deux classes CSS du port Marp que le thèmetheme-ia101n'a jamais définies :dense-list(29 usages) etxl-dense(5 usages). Le rendu retombait donc sur le flux par défaut — taille de texte
standard, images à leur hauteur naturelle. C'est la même famille de défaut que
img-grid, déjà corrigé côté thème.Conséquence mesurée : des diapos dont le contenu montait à 1323, 1239 et
1794 px dans un canvas de 552 px. Le bas de la diapo était perdu — pas
seulement mal cadré, absent à l'écran.
Mesure
Scanner de composition (
scripts/notebook_tools/scan_slidev_composition.py,canvas 980×552), deck complet :
La diapo 124 vient de la scission décrite plus bas. Le décompte des diapos se lit
au scanner, pas à
grep -c '^---$': les frontmatter inline (layout: dense…---) consomment un séparateur qui n'en est pas un (149 grep → 123 réelles).Détail par diapo, hauteur de contenu avant → après :
Ce que fait la PR
slides/06-apprentissage/styles/index.css(nouveau, niveau deck) :définit
dense-list, sa variantexl-dense, et borneimg.img-fit.Vérifié effectif au rendu, pas seulement présent : les puces de la diapo 47
(qui n'a reçu aucun budget propre) passent seules sous le canvas.
image isolée bornée par un
<style scoped>..img-gridsur une rangée.puces suivantes et les schémas 059–061 partent sur une diapo neuve
« portes et variantes ». Une diapo de 1794 px ne se règle pas en rétrécissant
du texte : le contenu était de deux diapos.
Une règle globale bornant les images posées en flux a été essayée puis
retirée — elle faisait remonter le compte de 15 à 16 : un plafond unique cassait
les diapos où l'image était déjà juste. Le refus est consigné en commentaire dans
styles/index.csspour qu'un lecteur suivant ne la retente pas.Contrôle visuel
La géométrie verte ne prouve pas la lisibilité, donc les cinq diapos ont été
relues au rendu (
slidev export --format png --range 41-52) : 43, 44, 47,48 et 49 sont toutes entièrement dans le cadre, texte lisible, aucun schéma
tronqué.
Hors périmètre
dense-listest aussi utilisée par02-resolution-problemes,S3-acculturationet
S8-semantic-web. La correction durable est côté thème (une seuledéfinition pour tous les decks) ; elle demande de toucher
theme-ia101, hors dupérimètre de ce lot. Ici la définition est locale au deck 06.
Les 13 diapos encore hors canvas ne sont pas traitées dans cette PR : le lot
L2/L3 visait les cas extrêmes (supérieurs à deux canvas) et la définition des
classes mortes. Le reliquat est mesuré et reproductible :
See #11508
🤖 Generated with Claude Code