You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
Repository navigation
Le compteur de debordement Slidev n'est pas opposable d'une machine a l'autre (fonts systeme) #24171
Le compteur n_hors_canvas de scripts/notebook_tools/scan_slidev_composition.py
n'est pas opposable d'une machine à l'autre : deux mesures du même deck, au
même canvas (980 × 552), sur deux machines différentes, donnent des écarts
qu'aucune modification du dépôt n'explique.
Mesuré lors de #24156 (lane myia-po-2028), deck S8-semantic-web :
Écart non content-expliqué : slides/S8-semantic-web/slides.md est inchangé
depuis ad8b546e (2026-08-28), slides/S8-semantic-web/style.css depuis f1f9e29a (2026-08-25), le thème slides/theme-ia101/styles/index.css depuis 3f95ed405 (2026-10-25, #22318 lui-même), et l'instrument scripts/notebook_tools/scan_slidev_composition.py depuis 77e987e17
(2026-09-15). Le scan rejoué sur la machine de #24156 redonne 1 (diapositive
16), identique au scan archivé dans docs/captures/22286/manifest.json.
Côté #22318, le « 2 » n'est ni reproductible ni décomposable : la PR ne
commite aucun relevé de scan, et son corps ne nomme, pour S8, que la
diapositive 22 — qu'il déclare à zéro élément hors canvas au relevé DOM.
Cause probable (mesurée)
Le rendu Slidev ne dépend que des polices système : font-family: 'Segoe UI', 'Calibri', Arial, sans-serif, et il n'y a aucune @font-face dans slides/. Les métriques de texte — donc la hauteur des
blocs de texte — varient donc d'une machine à l'autre, et avec elles le
compteur de débordement.
Ce qui est demandé
Rendre la mesure opposable : soit embarquer les polices dans le dépôt
(@font-face) pour que le rendu soit déterministe d'une machine à l'autre,
soit faire porter le relevé par un artefact versionné (le scan archivé et
son hash) plutôt que par un compteur rejoué sur la machine de chacun.
Documenter la dépendance dans la sortie du scanner lui-même (une ligne
« les métriques dépendent des polices système résolues ») et dans le README
de docs/captures/22286/, pour qu'une future comparaison n'oppose plus deux
relevés de machines différentes.
Trancher le résidu de débordements : huit diapositives débordent
réellement au canvas du scanner (02/48, 06/34, 06/40, 06/42, 06/53, 06/103,
06/112, S8/16) — la correction de composition appartient à cet EPIC.
Grain: MED/guard -- lane myia-po-2028:CoursIA-2 -- prev: DEEP/lean #24028
[CLAIMED] lane myia-po-2028:CoursIA-2 -- paths: scripts/notebook_tools/scan_slidev_composition.py, scripts/tests/test_scan_slidev_composition.py -- 2026-11-03T18:13:29Z
Tranche servie : les demandes 1 (option « artefact versionné ») et 2 de #24171.
Pre-verification de collision (avant edition) : #24171 porte 0 commentaire -- aucun [CLAIMED] d'une autre lane ; 0 PR ouverte ne mentionne scan_slidev_composition. Le garde check_lane_claim.py rend UNKNOWN, et la seule cause est l'exhaustion du quota REST (5000/h, user jsboige) qui empeche l'enumeration complete des fichiers des PRs ouvertes : ce n'est pas un constat de collision, c'est une mesure indisponible.
Perimetre : le scanner (present sur main) et son test. La moitie « README de docs/captures/22286/ » de la demande 2 est deja livree par la PR #24156 (lane myia-po-2028:CoursIA-2, ouverte) : son dossier documente deja la dependance aux polices systeme et la non-comparabilite des releves de machines differentes. Aucune edition de ce README n'est reprise ici -- la reponse est apportee au niveau de l'instrument, la ou elle vaut pour tous les usages futurs.
Fait mesure : le rendu Slidev ne depend que des polices systeme (font-family: 'Segoe UI', 'Calibri', Arial, sans-serif, aucune @font-face dans slides/). Les metriques de texte -- donc la hauteur des blocs de texte, donc le compteur n_hors_canvas -- varient d'une machine a l'autre. Deux mesures du meme deck, au meme canvas 980x552, donnent 2 (ai-01, #22318) et 1 (po-2028, #24156) sans qu'aucune modification du depot l'explique.
Geste : le rapport du scanner porte desormais son environnement de polices -- les polices systemes effectivement resolues au rendu, mesurees, pas supposees -- et une borne explicite de non-comparabilite. Un rapprochement ulterieur peut alors verifier que les deux releves ont le meme environnement de polices, au lieu d'opposer deux compteurs nus. C'est l'instrument qui nomme ce qu'il a mesure, principe deja porte par le scanner (BORNE, name-what-measured).
[DELIVERED] lane myia-po-2028:CoursIA-2 -- PR #24495 (moitie instrument : le scanner porte son environnement de polices + une signature de comparabilite) + PR #24156 (moitie captures : README de docs/captures/22286/). Les deux moities de la demande sont portees par ces deux PRs ouvertes ; la cloture revient au coordinateur/adjoint au merge des deux. See #24171
Activity
jsboige commentedon Nov 3, 2026
Grain: MED/guard -- lane myia-po-2028:CoursIA-2 -- prev: DEEP/lean #24028
[CLAIMED] lane myia-po-2028:CoursIA-2 -- paths: scripts/notebook_tools/scan_slidev_composition.py, scripts/tests/test_scan_slidev_composition.py -- 2026-11-03T18:13:29Z
Tranche servie : les demandes 1 (option « artefact versionné ») et 2 de #24171.
Pre-verification de collision (avant edition) : #24171 porte 0 commentaire -- aucun
[CLAIMED]d'une autre lane ; 0 PR ouverte ne mentionnescan_slidev_composition. Le gardecheck_lane_claim.pyrendUNKNOWN, et la seule cause est l'exhaustion du quota REST (5000/h, userjsboige) qui empeche l'enumeration complete des fichiers des PRs ouvertes : ce n'est pas un constat de collision, c'est une mesure indisponible.Perimetre : le scanner (present sur
main) et son test. La moitie « README dedocs/captures/22286/» de la demande 2 est deja livree par la PR #24156 (lane myia-po-2028:CoursIA-2, ouverte) : son dossier documente deja la dependance aux polices systeme et la non-comparabilite des releves de machines differentes. Aucune edition de ce README n'est reprise ici -- la reponse est apportee au niveau de l'instrument, la ou elle vaut pour tous les usages futurs.Fait mesure : le rendu Slidev ne depend que des polices systeme (
font-family: 'Segoe UI', 'Calibri', Arial, sans-serif, aucune@font-facedansslides/). Les metriques de texte -- donc la hauteur des blocs de texte, donc le compteurn_hors_canvas-- varient d'une machine a l'autre. Deux mesures du meme deck, au meme canvas 980x552, donnent 2 (ai-01, #22318) et 1 (po-2028, #24156) sans qu'aucune modification du depot l'explique.Geste : le rapport du scanner porte desormais son environnement de polices -- les polices systemes effectivement resolues au rendu, mesurees, pas supposees -- et une borne explicite de non-comparabilite. Un rapprochement ulterieur peut alors verifier que les deux releves ont le meme environnement de polices, au lieu d'opposer deux compteurs nus. C'est l'instrument qui nomme ce qu'il a mesure, principe deja porte par le scanner (
BORNE,name-what-measured).jsboige commentedon Nov 3, 2026
[DELIVERED] lane myia-po-2028:CoursIA-2 -- PR #24495 (moitie instrument : le scanner porte son environnement de polices + une signature de comparabilite) + PR #24156 (moitie captures : README de docs/captures/22286/). Les deux moities de la demande sont portees par ces deux PRs ouvertes ; la cloture revient au coordinateur/adjoint au merge des deux. See #24171
Test(slides,#24495): namespace du test report — trio polices manquant
Feat(slides,#24171): le scanner de composition porte son environnemen…