deploy fixed MRR drift and webservice CylindroidHolder buckle branch update issue.

This commit is contained in:
2026-05-28 19:42:05 +08:00
parent d7836db45f
commit 95b5790622
140 changed files with 8079 additions and 14099 deletions
@@ -273,7 +273,7 @@ caller's <code>N{seq}</code> block via
<a class="xref" href="Hi.Common.Collections.LazyLinkedList-1.html#Hi_Common_Collections_LazyLinkedList_1_ReplaceSource_System_Collections_Generic_IEnumerable__0__">ReplaceSource(IEnumerable&lt;T&gt;)</a>. The caller's file is
resolved from the popped frame's
<a class="xref" href="Hi.NcParsers.Keywords.CallFrame.html#Hi_NcParsers_Keywords_CallFrame_CallerFilePath">CallerFilePath</a>; the scan uses the same
<a class="xref" href="Hi.NcParsers.EvaluationSyntaxs.LabelScanUtil.html#Hi_NcParsers_EvaluationSyntaxs_LabelScanUtil_SegmentAndSkipUntilLabel_Hi_NcParsers_Segmenters_ISegmenter_System_String_System_String_System_Int32_System_Int32_System_Int32_System_Collections_Generic_List_Hi_NcParsers_Syntaxs_ISituNcSyntax__Hi_NcParsers_NcDiagnosticProgress_">SegmentAndSkipUntilLabel(ISegmenter, string, string, int, int, int, List&lt;ISituNcSyntax&gt;, NcDiagnosticProgress)</a> helper as
<a class="xref" href="Hi.NcParsers.EvaluationSyntaxs.LabelScanUtil.html">LabelScanUtil</a>.<code>SegmentAndSkipUntilLabel</code> helper as
<a class="xref" href="Hi.NcParsers.EvaluationSyntaxs.Fanuc.FanucGotoSyntax.html">FanucGotoSyntax</a>, with hardcoded Fanuc-default
probes (<a class="xref" href="Hi.NcParsers.ParsingSyntaxs.CommentSyntaxs.QuoteCommentSyntax.html">QuoteCommentSyntax</a> + <a class="xref" href="Hi.NcParsers.ParsingSyntaxs.HeadIndexSyntax.html">HeadIndexSyntax</a>
with symbol <code>"N"</code>) because the M99 P semantic itself is
@@ -373,6 +373,22 @@ emitted per such RHS so the user is told the source-order semantics
were not honoured. Practical impact is near-zero for typical
CAM-emitted NC (one assignment per line).
</p>
<p>
<b>Formula mirror tree</b> — when either pass actually performs a
non-trivial expression evaluation (i.e. the RHS / tag value was not
already a pure literal and the evaluator returned a finite value),
the original expression string is mirrored to a parallel
<code>Formula.&lt;same path&gt;</code> entry at the root of the block JSON.
The <code>Parsing.*</code> subtree carries the resolved value (R-format
string for Assignments; numeric <a class="xref" href="https://learn.microsoft.com/dotnet/api/system.text.json.nodes.jsonvalue">JsonValue</a> for tags);
the <code>Formula.*</code> subtree preserves the source-text expression
for diagnostics, round-trip reconstruction, and downstream
inspection. Pure-literal RHS / tag values produce no Formula entry —
the Parsing value is already the original text. Evaluation failures
(parse error, vacant variable, non-finite result) also produce no
Formula entry — the original string is still in <code>Parsing.*</code>
untouched, no preservation needed.
</p>
</dd>
</dl>
<dl class="jumplist">