Split out of #120, item 3, now that items 1 and 2 (path resolution, and loading/validating bound data) have landed.
Problem
A DataSource binds a data file to a SchemaClass, and as of #120 that data can be resolved and validated against its class. Nothing yet produces anything from that binding.
Scope
Extend the code generation architecture from #119 so a generator can take a DataSource — the class plus the file binding — and emit a typed editor for that data.
This depends on #119 landing first: there is no generator abstraction to extend until it exists.
Notes
- The conformance rules a generated editor must enforce are already implemented in
SchemaDataValidator, and the data-file conventions (root shape, per-type JSON representation, required members, map key agreement) are documented in docs/schema-format.md. A generated editor should not invent a second, divergent set.
Schema.SourceDirectory and DataSource.TryResolveFile give the generator the anchor it needs to find the data.
Acceptance criteria
Split out of #120, item 3, now that items 1 and 2 (path resolution, and loading/validating bound data) have landed.
Problem
A
DataSourcebinds a data file to aSchemaClass, and as of #120 that data can be resolved and validated against its class. Nothing yet produces anything from that binding.Scope
Extend the code generation architecture from #119 so a generator can take a
DataSource— the class plus the file binding — and emit a typed editor for that data.This depends on #119 landing first: there is no generator abstraction to extend until it exists.
Notes
SchemaDataValidator, and the data-file conventions (root shape, per-type JSON representation, required members, map key agreement) are documented indocs/schema-format.md. A generated editor should not invent a second, divergent set.Schema.SourceDirectoryandDataSource.TryResolveFilegive the generator the anchor it needs to find the data.Acceptance criteria
SchemaDataValidatoraccepts.