2222- ` --fix ` — auto-fix sûr (` wrap: true ` , ` auto_scroll: true ` )
2323- ` --report r.json ` — rapport JSON
2424- ` --strict-anim ` — vérification frame par frame
25+ - ` --strict-attrs ` — promeut en erreurs les attributs inconnus (détection schéma + did-you-mean, activée par défaut en warnings)
2526- ` --lenient ` — warnings au lieu d'errors
2627
2728## Encodage
@@ -137,7 +138,7 @@ crates/
137138│
138139├── rustmotion-components/src/
139140│ ├── lib.rs # Enum Component + dispatch (as_painter, as_animatable, etc.)
140- │ ├── box_builder.rs # build_scene() → BoxBuilderResult, component_size( )
141+ │ ├── box_builder.rs # build_scene() → BuiltScene (components + stagger_delays )
141142│ ├── intrinsic.rs # TextIntrinsic, BadgeIntrinsic, CounterIntrinsic, etc.
142143│ ├── legacy_dispatch.rs # LegacyPaintDispatcher (bridge NodeId → Painter)
143144│ ├── chart/ # 10 fichiers (mod + bar/line/pie/radar/scatter/radial/funnel/waterfall/axes)
@@ -154,13 +155,13 @@ crates/
1541553 . Ajouter le variant dans l'enum ` Component ` dans ` lib.rs `
1551564 . Ajouter les match arms dans les méthodes de dispatch (` as_painter ` , ` as_animatable ` , ` as_timed ` , ` as_styled ` )
1561575 . Ajouter ` pub mod mon_composant; ` et ` pub use mon_composant::MonComposant; ` dans ` lib.rs `
157- 6 . Ajouter un arm dans ` box_builder.rs::component_size() ` si le composant a une taille fixe
158+ 6 . Si le composant a une taille fixe: la déclarer via apply_intrinsic_overrides dans box_builder.rs
1581597 . Si le composant mesure son propre contenu : ajouter ` XxxIntrinsic ` dans ` intrinsic.rs `
159160
160161### Tests
161162
162163``` bash
163- cargo test # 31 tests (layout + variables + smoke)
164+ cargo test --workspace # ~200 tests (layout + serde round-trip + pixel regressions + smoke)
164165cargo check # Vérification compilation
165166rustmotion validate file.json # Validation scénario
166167```
0 commit comments