# GAB-074 · VisualSummaryCard — « Carte de synthèse »

**Archétype / renderer_key :** `text_cta` (cartographie) · **module :** EdTechVisualLearning
**Critère validé :** changer le JSON change la carte sans modifier le HTML. check.py 12/12.

## Pack (structure officielle par-GAB)
```
GAB-074/
  renderer.html            ← moteur carte de synthèse (ne pas modifier par instance)
  instance.example.json    ← SOURCE DE VÉRITÉ (contenu réel, à plat)
  schema.contract.json     ← contrat de validation
  README-contract.md       ← ce fichier
```

## Champs requis (instance, à plat)
`gab_id` · `summary_card_id` · `title` · `summary` · `key_points[]`
Optionnels : `icon`, `primary_cta{label,action}`, `fallback_text_summary`.

## Ce qui vient du JSON vs HTML
- **JSON** : titre de la notion, phrase d'accroche (summary), chaque point clé, icône, libellé du bouton.
- **HTML** : grille de points, layout carte, bouton structurel, animations, fallback.

## Archétype
VisualSummaryCard est une carte de révision visuelle : elle affiche un titre-notion, une phrase d'accroche mémorisable, et une grille de 2 à 8 points clés. Chaque point est rendu avec un dot coloré sky/mint. Le bouton CTA confirme la mémorisation.

## Garde-fous (child_safety)
- **Anti-invention** : aucun contenu pédagogique n'est généré par le renderer. Tout vient de l'instance.
- **key_points vide** → BLOCKED propre, grille non rendue.
- **title ou summary vides** → BLOCKED propre.
- **Pas de metadata inconnue** à gérer (GAB-074 ne porte pas de champ `known:false` — ce pattern appartient à DocumentLearning).

## QA à vérifier
1. Modifier un item de `key_points` → rendu change sans toucher au HTML (critère d'or).
2. `key_points: []` → BLOCKED affiché proprement.
3. `title` absent → BLOCKED affiché.
4. Instance externe injectée via `init(ext)` → rendu change complètement.
5. Responsive 375 px → grille passe en 1 colonne.

## external_refs / dependencies
- Signature couleur module : **sky** (`#4DA8FF`) — hero et dot points.
- Usage-panel source : Gabarit utilisé pour **résumer une notion en points clés**, fiche de révision, synthèse mémorisable.
- Do-not-use-when : une seule info typée (→ GAB-075), relations entre éléments (→ GAB-076), recap de session (→ GAB-021).

## Source
`INDEX-300-visuallearning-GAB-074-080-PLAYABLE.html` (stage `data-tpl="74"`, bloc `.vsum-card`).
