rename XFactory.Regs to XFactory.Generators.
This commit is contained in:
@@ -105,6 +105,28 @@ inside the cloned section. Lets every block stand alone with its full
|
||||
modal context, so downstream readers (cache-file dumps, semantics, UI
|
||||
jumping to a single block) do not need
|
||||
<a class="xref" href="Hi.Common.Collections.LazyLinkedListNode-1.html#Hi_Common_Collections_LazyLinkedListNode_1_EnumerateBack">EnumerateBack()</a> to resolve modal state.</p>
|
||||
<p>
|
||||
A JSON section is a candidate for <a class="xref" href="Hi.NcParsers.PostLogicSyntaxs.ModalCarrySyntax.html#Hi_NcParsers_PostLogicSyntaxs_ModalCarrySyntax_TrackedKeys">TrackedKeys</a> when ALL
|
||||
four criteria hold:
|
||||
<ol><li><b>Writers concentrated</b> — one or two syntaxes own the
|
||||
section (e.g. <a class="xref" href="Hi.NcParsers.LogicSyntaxs.LinearMotionSyntax.html">LinearMotionSyntax</a> /
|
||||
<a class="xref" href="Hi.NcParsers.LogicSyntaxs.CircularMotionSyntax.html">CircularMotionSyntax</a> own
|
||||
<code>MotionState</code>; the call/return pair own
|
||||
<code>SubProgramCall</code>-derived state).</li><li><b>Readers distributed</b> — multiple downstream consumers
|
||||
each need the value, and none of them should walk back to find it.
|
||||
Single-reader sections do not benefit from blanket carry.</li><li><b>Every block must see the section</b> — cache-dump readers
|
||||
landing randomly, single-block UI views, and look-ahead syntaxes
|
||||
all require the section to be present on every block.</li><li><b>Carry is unconditional</b> — no frame-gating or other
|
||||
per-block veto. Sections that need conditional carry (e.g.
|
||||
<a class="xref" href="Hi.NcParsers.EvaluationSyntaxs.Fanuc.FanucLocalVariableReadingSyntax.html">FanucLocalVariableReadingSyntax</a>'s
|
||||
frame-aware <code>Vars.Local</code> dict-merge — carry only when
|
||||
<code>MacroFrame</code> matches) belong in the owning syntax's own
|
||||
carry logic, not here.</li></ol>
|
||||
A section failing any criterion should be carried through its owning
|
||||
syntax's own logic (single-step <code>node.Previous</code> read, or no carry
|
||||
at all if absence is meaningful — e.g. <code>MacroFrame</code> absent = main
|
||||
frame).
|
||||
|
||||
<p>
|
||||
This replaces the earlier <code>CacheSyntax</code> design (which sampled
|
||||
every <code>Pace</code> blocks). The legacy <code>CacheSyntax</code> XName is still
|
||||
|
||||
Reference in New Issue
Block a user