roundtrip-tree-render
The groupant beside tools/roundtrip/src/tree.rs in the Mova repository: what the code computes, what it never does, how to go back from its outputs, its invariants, cost and checks.
Facts
Implementation material. A Mova code model describes this code at one source revision: partial models, finite checks and their stated scope. It is not a reviewed general exposition, and its labels are shown as written, never raised.
Components
| component | label | where |
|---|---|---|
| approximant | partial | approximant |
| ast | partial | ../syntax.json |
| cost | partial | invariant-and-cost |
| descriptant | present | descriptant |
| invariant | partial | invariant-and-cost |
| tests | bounded checks | tests |
Obernants
The typed relations around the forward model: the behaviour complement (what the code never does), the reverse reconstruction (every input compatible with an output) and specialised views.
| id | type | label | where |
|---|---|---|---|
behavior_complement | behavior_complement | partial source derived model | behavior_complement |
reverse_reconstruction | reverse_reconstruction | partial source derived model | reverse_reconstruction |
render_precedence | render_precedence | partial source derived model | render_precedence |
scope_precondition | scope_precondition | partial source derived model | scope_precondition |
resource_boundary | resource_boundary | partial source derived model | resource_boundary |
observation_projection | observation_projection | partial source derived model | observation_projection |
Model text
descriptant
Two-pass surface rendering
2026-10-31 epoch: source scope bytes [10930,12350); Right-to-left plain forms resolve next-word articles, then left-to-right capitals skip raw/hinted/NoCap forms.
No annotator/model loading, live corpus, full suite, teacher, GPU or persistent-learning evidence. No executable percentage surrogate: categorical codecs/effects need a useful metric before future caps 1/2/5/10%.
approximant
Two-pass surface rendering
Right-to-left plain forms resolve next-word articles, then left-to-right capitals skip raw/hinted/NoCap forms.
Domain: bounded synthetic values, valid source-specific coordinates, nonoverflowing counts, available allocation; fixed environment controls. Relations are source-derived partial models with finite checks, not universal proofs.
catalog
behavior_complement
Subject: roundtrip-tree-render, source hash 3db953874807575403c8d2857006e1932cc72df16fa615b64c5b9e7eceae8da7, transition observation.
For Two-pass surface rendering, excluded transitions violate the stated scoped rule: Right-to-left plain forms resolve next-word articles, then left-to-right capitals skip raw/hinted/NoCap forms. This is an inner source-derived exclusion under the domain, not a complement of arbitrary unseen runtime behavior.
Domain: bounded synthetic values, valid source-specific coordinates, nonoverflowing counts, available allocation; fixed environment controls. Relations are source-derived partial models with finite checks, not universal proofs.
Evidence: external wave32 rt_core receipt includes native-commands.json, exact named outcomes twice debug/twice release, raw status/log files, compiled production controls with byte restoration and paired syntax. Only named synthetic helpers execute; model_path/export and live CLI paths have representation/source evidence.
Status: partial source-derived model.
reverse_reconstruction
Subject: roundtrip-tree-render, source hash 3db953874807575403c8d2857006e1932cc72df16fa615b64c5b9e7eceae8da7, transition observation.
Fix outputs and post-state of render; compatible antecedents are all scoped inputs/pre-state satisfying: Right-to-left plain forms resolve next-word articles, then left-to-right capitals skip raw/hinted/NoCap forms. Fields outside this byte scope are held fixed; discarded fields remain ambiguous.
Domain: bounded synthetic values, valid source-specific coordinates, nonoverflowing counts, available allocation; fixed environment controls. Relations are source-derived partial models with finite checks, not universal proofs.
Evidence: external wave32 rt_core receipt includes native-commands.json, exact named outcomes twice debug/twice release, raw status/log files, compiled production controls with byte restoration and paired syntax. Only named synthetic helpers execute; model_path/export and live CLI paths have representation/source evidence.
Status: partial source-derived model.
render_precedence
Subject: roundtrip-tree-render, source hash 3db953874807575403c8d2857006e1932cc72df16fa615b64c5b9e7eceae8da7, transition observation.
Spell Raw overrides Case and hints; Case overrides hints; hints override morphology. NoCap suppresses sentence capital; a/an inspects next output form right-to-left.
Domain: bounded synthetic values, valid source-specific coordinates, nonoverflowing counts, available allocation; fixed environment controls. Relations are source-derived partial models with finite checks, not universal proofs.
Evidence: external wave32 rt_core receipt includes native-commands.json, exact named outcomes twice debug/twice release, raw status/log files, compiled production controls with byte restoration and paired syntax. Only named synthetic helpers execute; model_path/export and live CLI paths have representation/source evidence.
Status: partial source-derived model.
scope_precondition
Subject: roundtrip-tree-render, source hash 3db953874807575403c8d2857006e1932cc72df16fa615b64c5b9e7eceae8da7, transition observation.
Two-pass surface rendering requires the coordinate/state assumptions of this fragment; inspect its exact byte range. Right-to-left plain forms resolve next-word articles, then left-to-right capitals skip raw/hinted/NoCap forms. Invalid arbitrary state is outside the reconstruction law.
Domain: bounded synthetic values, valid source-specific coordinates, nonoverflowing counts, available allocation; fixed environment controls. Relations are source-derived partial models with finite checks, not universal proofs.
Evidence: external wave32 rt_core receipt includes native-commands.json, exact named outcomes twice debug/twice release, raw status/log files, compiled production controls with byte restoration and paired syntax. Only named synthetic helpers execute; model_path/export and live CLI paths have representation/source evidence.
Status: partial source-derived model.
resource_boundary
Subject: roundtrip-tree-render, source hash 3db953874807575403c8d2857006e1932cc72df16fa615b64c5b9e7eceae8da7, transition observation.
Two-pass surface rendering: allocations/clones and recursion/scans within this scope are retained. Parent cost bound is conservative for this subroutine: kids O(n), locals O(n+sum d_h log d_h), emit O(n) on valid acyclic local-order tree. projective O(n) on rooted valid trees. Dec adds lin/morph costs and string rendering; no learned-model inference cost or accuracy measured here.
Domain: bounded synthetic values, valid source-specific coordinates, nonoverflowing counts, available allocation; fixed environment controls. Relations are source-derived partial models with finite checks, not universal proofs.
Evidence: external wave32 rt_core receipt includes native-commands.json, exact named outcomes twice debug/twice release, raw status/log files, compiled production controls with byte restoration and paired syntax. Only named synthetic helpers execute; model_path/export and live CLI paths have representation/source evidence.
Status: partial source-derived model.
observation_projection
Subject: roundtrip-tree-render, source hash 3db953874807575403c8d2857006e1932cc72df16fa615b64c5b9e7eceae8da7, transition observation.
Observe only outputs/state produced by Two-pass surface rendering, holding caller state fixed. Right-to-left plain forms resolve next-word articles, then left-to-right capitals skip raw/hinted/NoCap forms. Downstream aggregation is not an injective observation of this scope.
Domain: bounded synthetic values, valid source-specific coordinates, nonoverflowing counts, available allocation; fixed environment controls. Relations are source-derived partial models with finite checks, not universal proofs.
Evidence: external wave32 rt_core receipt includes native-commands.json, exact named outcomes twice debug/twice release, raw status/log files, compiled production controls with byte restoration and paired syntax. Only named synthetic helpers execute; model_path/export and live CLI paths have representation/source evidence.
Status: partial source-derived model.
tests
Scoped evidence
Evidence: external wave32 rt_core receipt includes native-commands.json, exact named outcomes twice debug/twice release, raw status/log files, compiled production controls with byte restoration and paired syntax. Only named synthetic helpers execute; model_path/export and live CLI paths have representation/source evidence.
Coverage is limited to this fragment's reached branches; parent tests do not prove every scoped branch.
invariant-and-cost
Scoped invariant and cost
Right-to-left plain forms resolve next-word articles, then left-to-right capitals skip raw/hinted/NoCap forms.
kids O(n), locals O(n+sum d_h log d_h), emit O(n) on valid acyclic local-order tree. projective O(n) on rooted valid trees. Dec adds lin/morph costs and string rendering; no learned-model inference cost or accuracy measured here.
The parent bound is conservative; unrelated parent effects are excluded from this fragment.
This page in Markdown โ https://md.groupants.elamur.ai/free/en/mova/tools/roundtrip/src/tree.rs.groupant/render.groupant/