Skip to content

feat(division): intro enrichie — partage visuel en lots + compte#49

Open
isc wants to merge 2 commits into
mainfrom
claude/division-intro-grid-grouping
Open

feat(division): intro enrichie — partage visuel en lots + compte#49
isc wants to merge 2 commits into
mainfrom
claude/division-intro-grid-grouping

Conversation

@isc

@isc isc commented Jun 6, 2026

Copy link
Copy Markdown
Owner

L'intro d'un nouveau fait de division réutilisait la grille de points telle quelle (juste a × b animé, comme la multiplication). On la rend pédagogique et conforme aux références (modèle array / equal-groups relié à la table connue — Van de Walle, Make Math Moments, PBS LearningMedia ; specs §11.4).

Animation (modèle partitif « partage »)

Une fois la grille remplie :

  1. les rangées se séparent en lots distincts (au nombre du diviseur), en pastilles ;
  2. un lot est mis en avant et son compte (= le quotient = la réponse) apparaît ;
  3. légende « On partage N en D lots égaux — combien dans chaque ? » (la grille répond), puis l'astuce « 7 × ? = 56 » juste en dessous relie à la table.

Choix tranchés : séparation en rangées-pastilles (plutôt que distribuer point par point, trop long pour ≤81 points) ; compte qui pop d'un coup sur le lot mis en avant.

Implémentation

  • DotGrid : nouveau prop opt-in groupReveal. Après remplissage : phase grouped (rangées → lots) puis counted (lot en avant + compte qui pop), via deux délais nommés. Mirroir du précédent showRotation. Zéro impact sur les usages multiplication (intro, commutativité, feedback, image mystère) — prop absent → aucun timer/classe/DOM en plus.
  • SessionScreen (intro division) : passe groupReveal + la légende (classe existante .session-intro-explanation).
  • Guide : la capture 16-division-intro attend la révélation du compte (état final enrichi).

Vérification

Vérifié visuellement (capture du guide, 12 ÷ 6 → 6 lots de 2). ✅ tsc -b · ✅ lint · ✅ 161 tests (+2 : rendu du badge de compte, et absence sans groupReveal). /simplify appliqué (délais nommés, condition allégée).

https://claude.ai/code/session_011fdoBoa4wtauybCcDVPuGt


Generated by Claude Code

claude added 2 commits June 6, 2026 07:26
L'intro division réutilisait la grille de points telle quelle (juste a×b
animé). On la rend pédagogique, conforme aux références (modèle array /
equal-groups relié à la table, cf. Van de Walle, specs §11.4) : une fois la
grille remplie, les rangées se séparent en LOTS distincts (le diviseur),
puis un lot est mis en avant et son compte (= le quotient) est dévoilé —
c'est la réponse, par partage équitable.

- DotGrid : nouveau prop opt-in `groupReveal`. Après remplissage : étape
  `grouped` (rangées → pastilles/lots) puis `counted` (un lot en avant + son
  compte qui pop). Aucun impact sur les usages multiplication (prop absent).
- SessionScreen (intro div) : passe `groupReveal` + légende « On partage N en
  D lots égaux — combien dans chaque ? » (la grille répond, l'astuce facteur-
  manquant relie à la table juste en dessous).
- Guide : capture 16-division-intro attend la révélation du compte (état final).

Vérifié visuellement (12 ÷ 6 → 6 lots de 2). 161 tests, tsc + lint OK.

https://claude.ai/code/session_011fdoBoa4wtauybCcDVPuGt
- Délais de la révélation "lots" nommés (GROUP_DELAY_MS / COUNT_DELAY_MS) au
  lieu de 350/1300 en dur dans l'effet.
- Condition de highlight allégée : `grouped && counted` → `counted` (counted
  survient toujours après grouped via les timers, donc `grouped &&` redondant).

Écartés : hook useSequenceTimeout (2 effets simples), keyframe/pilule honey
partagées (hors diff, params distincts), attribut data- pour le guide (il cible
déjà des classes internes), orchestration côté SessionScreen / i18n (sur-
ingénierie). Aucun changement de comportement. 161 tests, tsc + lint OK.

https://claude.ai/code/session_011fdoBoa4wtauybCcDVPuGt
@github-actions

github-actions Bot commented Jun 6, 2026

Copy link
Copy Markdown
Contributor

Preview déployée pour cette PR :

Commit : 2297376546478c39fbe1cbb45682feef52a2eea5
Le preview est mis à jour à chaque push et supprimé à la fermeture de la PR.

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