Admit Scenario layout through the ordinary source parser inventory

This commit is contained in:
2026-09-23 00:51:05 -07:00
parent ffa7b16003
commit 846cae81e7
2 changed files with 16 additions and 3 deletions
+7 -1
View File
@@ -52,7 +52,13 @@ pub(crate) fn parser_fields(context: Context) -> Map<String, Value> {
_ => &["source", "target"], _ => &["source", "target"],
} }
} }
Context::Diagram => &[], Context::Diagram => {
// Admit the optional payload without restoring a synthetic null in
// CompleteForEdit: absence there distinguishes a real layout clear
// from an unrelated edit beside an authored explicit `layout none`.
fields.insert("layout".into(), Value::Null);
&[]
}
Context::Node => &["element"], Context::Node => &["element"],
Context::Artifact => &["owner"], Context::Artifact => &["owner"],
Context::Trace => &["oa", "sa"], Context::Trace => &["oa", "sa"],
+9 -2
View File
@@ -52,8 +52,15 @@ child 1, preserving the Properties/Connections reconciliation fix.
## Verification to perform after compiler lease ## Verification to perform after compiler lease
Rustfmt parsing and Git whitespace/conflict-marker checks precede the source Rustfmt parsing and Git whitespace/conflict-marker checks preceded the initial
commit. No compiler, tests or GUI have run for this candidate at this checkpoint. source commit. The first frozen `0b61771` core listing compiled and listed 129
tests. Its `scenario_layout` run passed 20 and failed seven source lifecycle
cases: the ordinary parser's field inventory did not admit `layout`. The repair
adds the optional field to Diagram's parser inventory only, preserving the
CompleteForEdit omission/clear distinction above. These first receipts bind 742
unchanged inputs and the actual executable; they are failed-run evidence, not
acceptance of the repaired source. A fresh listing and affected runs are required.
No desktop runtime or GUI gate has run at this checkpoint.
New discriminating tests combine ordinary omitted/authored defaults with New discriminating tests combine ordinary omitted/authored defaults with
Scenario row reorder, alias rename and layout clear, and retain a live saved Scenario row reorder, alias rename and layout clear, and retain a live saved
spacing gesture across stale Text commands and prior Scenario visit messages. spacing gesture across stale Text commands and prior Scenario visit messages.