Project Model Codegen Docs
February 22, 2026 ยท View on GitHub
This section documents the tools and runtime behavior used to build and synchronize Anthem's project model between Dart (UI) and C++ (engine).
Reading Order
If you are new to this area, read in this order:
- Project Model Authoring and Annotations
- Dart Sync Runtime (
AnthemModelBaseand Collections) - Change Events and Listeners
- Engine-Side Change Application (Generated C++)
Quick Page Guide
- Analyzer Plugin
- Plugin-based diagnostics for codegen/model authoring constraints (including union field assignment checks).
- Project Model Authoring and Annotations
- How to author model classes, required patterns, annotation behavior, and synced-model constraints.
- Dart Sync Runtime (
AnthemModelBaseand Collections)- Attachment lifecycle, parent metadata, change propagation, and collection runtime mechanics.
- Change Events and Listeners
- Event shapes, generated listener APIs, filter builders, and Dart-to-engine conversion flow.
- Engine-Side Change Application (Generated C++)
- How generated C++ applies updates, initializes child models, and exposes coarse observability hooks.