rename XFactory.Regs to XFactory.Generators.

This commit is contained in:
2026-05-23 21:23:06 +08:00
parent 8b285cc863
commit 058003f395
155 changed files with 16416 additions and 1261 deletions
@@ -204,6 +204,55 @@ incremental logic.
</dd></dl>
<h2 id="Hi_NcParsers_LogicSyntaxs_IncrementalResolveSyntax_examples">Examples</h2>
<p>G90 (absolute) on the block — the syntax early-returns without
touching <code>Parsing.X/Y/Z</code>, even though the values look like
incremental deltas:
#BeforeBuild:</p>
<pre><code class="lang-csharp">{
"Positioning": { "Term": "G90", "Mode": "Absolute" },
"Parsing": { "X": 10, "Y": 20, "Z": 30 }
}</code></pre>
<p>#AfterBuild:</p>
<pre><code class="lang-csharp">{
"Positioning": { "Term": "G90", "Mode": "Absolute" },
"Parsing": { "X": 10, "Y": 20, "Z": 30 }
}</code></pre>
<p>G91 (incremental) with a <code>#Previous:</code> block carrying
<code>MachineCoordinateState=(100,200,300)</code>. Under the identity
<code>ProgramToMcTransform</code> chain, <code>GetLastProgramXyz</code> recovers
program XYZ equal to MC, so each axis in <code>Parsing</code> is rewritten
to <code>lastAbs + incremental</code>:
#Previous:</p>
<pre><code class="lang-csharp">{ "MachineCoordinateState": { "X": 100, "Y": 200, "Z": 300 } }</code></pre>
<p>#BeforeBuild:</p>
<pre><code class="lang-csharp">{
"Positioning": { "Term": "G91", "Mode": "Incremental" },
"Parsing": { "X": 10, "Y": 20, "Z": 30 }
}</code></pre>
<p>#AfterBuild:</p>
<pre><code class="lang-csharp">{
"Positioning": { "Term": "G91", "Mode": "Incremental" },
"Parsing": { "X": 110, "Y": 220, "Z": 330 }
}</code></pre>
<p>G91 + <code>Parsing.G28</code> sub-section — exercises the second entry
of the default <code>WorkingPathList</code>; the root <code>Parsing</code> has
no X/Y/Z so the first path no-ops, but the
<code>[&ldquo;Parsing&rdquo;,&ldquo;G28&rdquo;]</code> path picks up the G28 intermediate axes
and resolves them against the same <code>lastProgramXyz</code>:
#Previous:</p>
<pre><code class="lang-csharp">{ "MachineCoordinateState": { "X": 100, "Y": 200, "Z": 300 } }</code></pre>
<p>#BeforeBuild:</p>
<pre><code class="lang-csharp">{
"Positioning": { "Term": "G91", "Mode": "Incremental" },
"Parsing": { "G28": { "X": 5, "Y": 10, "Z": 15 } }
}</code></pre>
<p>#AfterBuild:</p>
<pre><code class="lang-csharp">{
"Positioning": { "Term": "G91", "Mode": "Incremental" },
"Parsing": { "G28": { "X": 105, "Y": 210, "Z": 315 } }
}</code></pre>