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
@@ -6,7 +6,7 @@
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<meta name="title" content="Class FileIndexCounterDependency | HiAPI-C# 2025 ">
<meta name="description" content="Per-session monotonically-increasing file index allocator. Holds the counter as a private field; returns the next unused value and increments. rewinds to 0 — the owning calls on the same edge that initializes a fresh , so a controller power-reset clears both the syntax-piece pipeline and this counter in lock-step. Two consumers share one allocator: allocates one index per top-level NC file that streams through the runner. allocates a fresh index for each inlined subprogram invocation, including each L repetition — distinct indices ensure (FileIndex, LineIndex) pairs stay unique across overlapping subprogram line ranges. Holding the counter on this dependency rather than on avoids a duplicate source-of-truth: the dep is the single seam through which syntaxes reach the counter, and there is no third reader that would benefit from session-state visibility.">
<meta name="description" content="Per-session monotonically-increasing file index allocator. Holds the counter as a private field; returns the next unused value and increments. rewinds to 0 — the owning invokes it via the sweep on the same edge that initializes a fresh , so a controller power-reset clears both the syntax-piece pipeline and this counter in lock-step. Two consumers share one allocator: allocates one index per top-level NC file that streams through the runner. allocates a fresh index for each inlined subprogram invocation, including each L repetition — distinct indices ensure (FileIndex, LineIndex) pairs stay unique across overlapping subprogram line ranges. Holding the counter on this dependency rather than on avoids a duplicate source-of-truth: the dep is the single seam through which syntaxes reach the counter, and there is no third reader that would benefit from session-state visibility.">
<link rel="icon" href="../img/HiAPI.favicon.ico">
<link rel="stylesheet" href="../public/docfx.min.css">
<link rel="stylesheet" href="../public/main.css">
@@ -99,12 +99,12 @@ Class FileIndexCounterDependency
<div class="markdown summary"><p>Per-session monotonically-increasing file index allocator. Holds the
counter as a private field; <a class="xref" href="Hi.NcParsers.Dependencys.SystemWired.FileIndexCounterDependency.html#Hi_NcParsers_Dependencys_SystemWired_FileIndexCounterDependency_Allocate">Allocate()</a> returns the next
unused value and increments. <a class="xref" href="Hi.NcParsers.Dependencys.SystemWired.FileIndexCounterDependency.html#Hi_NcParsers_Dependencys_SystemWired_FileIndexCounterDependency_Reset">Reset()</a> rewinds to 0 — the
owning <a class="xref" href="Hi.NcParsers.SoftNcRunner.html#Hi_NcParsers_SoftNcRunner_RunControlLines_System_String_System_Collections_Generic_IEnumerable_System_String__Hi_MachiningProcs_MachiningSession_Hi_MachiningProcs_SessionProgress_System_Threading_CancellationToken_">RunControlLines(string, IEnumerable&lt;string&gt;, MachiningSession, SessionProgress, CancellationToken)</a> calls
<a class="xref" href="Hi.NcParsers.Dependencys.SystemWired.FileIndexCounterDependency.html#Hi_NcParsers_Dependencys_SystemWired_FileIndexCounterDependency_Reset">Reset()</a> on the same edge that initializes a fresh
<a class="xref" href="Hi.MachiningProcs.NcRunnerSessionState.html">NcRunnerSessionState</a>, so a controller
power-reset clears both the syntax-piece pipeline and this counter
in lock-step.</p>
unused value and increments. <a class="xref" href="Hi.NcParsers.Dependencys.SystemWired.FileIndexCounterDependency.html#Hi_NcParsers_Dependencys_SystemWired_FileIndexCounterDependency_OnSessionReset">OnSessionReset()</a> rewinds to 0 —
the owning <a class="xref" href="Hi.NcParsers.SoftNcRunner.html#Hi_NcParsers_SoftNcRunner_RunControlLines_System_String_System_Collections_Generic_IEnumerable_System_String__Hi_MachiningProcs_MachiningSession_Hi_MachiningProcs_SessionProgress_System_Threading_CancellationToken_">RunControlLines(string, IEnumerable&lt;string&gt;, MachiningSession, SessionProgress, CancellationToken)</a> invokes it via
the <a class="xref" href="Hi.NcParsers.ISessionResettable.html">ISessionResettable</a> sweep on the same edge that
initializes a fresh <a class="xref" href="Hi.MachiningProcs.NcRunnerSessionState.html">NcRunnerSessionState</a>,
so a controller power-reset clears both the syntax-piece pipeline and
this counter in lock-step.</p>
<p>
Two consumers share one allocator:
<ul><li><a class="xref" href="Hi.NcParsers.SoftNcRunner.html#Hi_NcParsers_SoftNcRunner_RunControlLines_System_String_System_Collections_Generic_IEnumerable_System_String__Hi_MachiningProcs_MachiningSession_Hi_MachiningProcs_SessionProgress_System_Threading_CancellationToken_">RunControlLines(string, IEnumerable&lt;string&gt;, MachiningSession, SessionProgress, CancellationToken)</a> allocates one
@@ -123,7 +123,7 @@ from session-state visibility.
<div class="markdown conceptual"></div>
<div class="codewrapper">
<pre><code class="lang-csharp hljs">public class FileIndexCounterDependency : INcDependency, IMakeXmlSource</code></pre>
<pre><code class="lang-csharp hljs">public class FileIndexCounterDependency : INcDependency, IMakeXmlSource, ISessionResettable</code></pre>
</div>
@@ -142,6 +142,7 @@ from session-state visibility.
<dd>
<div><a class="xref" href="Hi.NcParsers.Dependencys.INcDependency.html">INcDependency</a></div>
<div><a class="xref" href="Hi.Common.XmlUtils.IMakeXmlSource.html">IMakeXmlSource</a></div>
<div><a class="xref" href="Hi.NcParsers.ISessionResettable.html">ISessionResettable</a></div>
</dd>
</dl>
@@ -281,7 +282,7 @@ from session-state visibility.
</h3>
<div class="markdown level1 summary"><p>Returns the next unused file index and post-increments the
counter. First call after construction or <a class="xref" href="Hi.NcParsers.Dependencys.SystemWired.FileIndexCounterDependency.html#Hi_NcParsers_Dependencys_SystemWired_FileIndexCounterDependency_Reset">Reset()</a>
counter. First call after construction or <a class="xref" href="Hi.NcParsers.Dependencys.SystemWired.FileIndexCounterDependency.html#Hi_NcParsers_Dependencys_SystemWired_FileIndexCounterDependency_OnSessionReset">OnSessionReset()</a>
returns 0.</p>
</div>
<div class="markdown level1 conceptual"></div>
@@ -351,6 +352,38 @@ the counter implicitly reset to 0.</p>
<a id="Hi_NcParsers_Dependencys_SystemWired_FileIndexCounterDependency_OnSessionReset_" data-uid="Hi.NcParsers.Dependencys.SystemWired.FileIndexCounterDependency.OnSessionReset*"></a>
<h3 id="Hi_NcParsers_Dependencys_SystemWired_FileIndexCounterDependency_OnSessionReset" data-uid="Hi.NcParsers.Dependencys.SystemWired.FileIndexCounterDependency.OnSessionReset">
OnSessionReset()
</h3>
<div class="markdown level1 summary"><p>Rewinds the counter to 0. Called by
<a class="xref" href="Hi.NcParsers.SoftNcRunner.html#Hi_NcParsers_SoftNcRunner_RunControlLines_System_String_System_Collections_Generic_IEnumerable_System_String__Hi_MachiningProcs_MachiningSession_Hi_MachiningProcs_SessionProgress_System_Threading_CancellationToken_">RunControlLines(string, IEnumerable&lt;string&gt;, MachiningSession, SessionProgress, CancellationToken)</a> via the
<a class="xref" href="Hi.NcParsers.ISessionResettable.html">ISessionResettable</a> sweep on the same edge that
initializes a fresh session pipeline so a single brand-preset
runner can be reused across sessions without leaking file
indices from the previous session.</p>
</div>
<div class="markdown level1 conceptual"></div>
<div class="codewrapper">
<pre><code class="lang-csharp hljs">public void OnSessionReset()</code></pre>
</div>
<a id="Hi_NcParsers_Dependencys_SystemWired_FileIndexCounterDependency_Reg_" data-uid="Hi.NcParsers.Dependencys.SystemWired.FileIndexCounterDependency.Reg*"></a>
<h3 id="Hi_NcParsers_Dependencys_SystemWired_FileIndexCounterDependency_Reg_Hi_Common_XmlUtils_XFactory_" data-uid="Hi.NcParsers.Dependencys.SystemWired.FileIndexCounterDependency.Reg(Hi.Common.XmlUtils.XFactory)">
@@ -385,37 +418,6 @@ the counter implicitly reset to 0.</p>
<a id="Hi_NcParsers_Dependencys_SystemWired_FileIndexCounterDependency_Reset_" data-uid="Hi.NcParsers.Dependencys.SystemWired.FileIndexCounterDependency.Reset*"></a>
<h3 id="Hi_NcParsers_Dependencys_SystemWired_FileIndexCounterDependency_Reset" data-uid="Hi.NcParsers.Dependencys.SystemWired.FileIndexCounterDependency.Reset">
Reset()
</h3>
<div class="markdown level1 summary"><p>Rewinds the counter to 0. Called by
<a class="xref" href="Hi.NcParsers.SoftNcRunner.html#Hi_NcParsers_SoftNcRunner_RunControlLines_System_String_System_Collections_Generic_IEnumerable_System_String__Hi_MachiningProcs_MachiningSession_Hi_MachiningProcs_SessionProgress_System_Threading_CancellationToken_">RunControlLines(string, IEnumerable&lt;string&gt;, MachiningSession, SessionProgress, CancellationToken)</a> on the same edge that
initializes a fresh session pipeline so a single brand-preset
runner can be reused across sessions without leaking file
indices from the previous session.</p>
</div>
<div class="markdown level1 conceptual"></div>
<div class="codewrapper">
<pre><code class="lang-csharp hljs">public void Reset()</code></pre>
</div>
</article>