diff --git a/ROADMAP.md b/ROADMAP.md index 3982986..a21e269 100644 --- a/ROADMAP.md +++ b/ROADMAP.md @@ -158,7 +158,8 @@ Treat JSON config as a declarative control plane that compiles into scene, resou - MaterialXShaderGenerator (~1100 LOC): split MaterialX graph prep, shader emit, validation. ### Phase A: Mechanical Extraction (1-3 days) -- [~] JsonConfigService: extracted config document load/merge helpers into `src/services/impl/json_config_document_loader.cpp` to isolate parsing + extends/@delete merging. +- [~] JsonConfigService: extracted config document load/merge helpers into `src/services/impl/json_config_document_loader.cpp` plus small parser/extend/merge services to keep files <100 LOC. +- [~] JsonConfigService: split schema validation/versioning/migration into `json_config_*` services (`schema_validator`, `version_validator`, `migration_service`). - Move self-contained helpers into `*_helpers.cpp` with clear headers. - Extract pure data transforms into free functions with unit tests. - Preserve public interfaces; no behavior change in this phase.