Archived
deploy webservice static-file routing for docsite folder URLs, per-instance step-cache db, and constant-height panel title bars.
This commit is contained in:
@@ -95,18 +95,71 @@
|
||||
Classes
|
||||
</h3>
|
||||
<dl class="jumplist">
|
||||
<dt><a class="xref" href="Hi.NcParsers.IndexedSentence.html">IndexedSentence</a></dt>
|
||||
<dd><p>Minimal <a class="xref" href="Hi.NcParsers.ISentenceCarrier.html">ISentenceCarrier</a> pairing a <a class="xref" href="Hi.NcParsers.Sentence.html">Sentence</a>
|
||||
with its execution-order <a class="xref" href="Hi.NcParsers.IndexedSentence.html#Hi_NcParsers_IndexedSentence_SentenceIndex">SentenceIndex</a>. Use when there is no
|
||||
richer host object that already carries the sentence — e.g. CSV-driven
|
||||
runs that go straight from an input line to a <a class="xref" href="Hi.NcParsers.IndexedSentence.html#Hi_NcParsers_IndexedSentence_Sentence">Sentence</a>
|
||||
without a <a class="xref" href="Hi.NcParsers.Syntaxs.SyntaxPiece.html">SyntaxPiece</a> wrapper.</p>
|
||||
<dt><a class="xref" href="Hi.NcParsers.ControllerPresetWriter.html">ControllerPresetWriter</a></dt>
|
||||
<dd><p>Writes the built-in brand controller presets out as standalone
|
||||
<a class="xref" href="Hi.NcParsers.SoftNcRunner.html">SoftNcRunner</a> resource files.</p>
|
||||
<p>
|
||||
A controller resource file is one serialized <a class="xref" href="Hi.NcParsers.SoftNcRunner.html">SoftNcRunner</a> — the
|
||||
whole pipeline (dependencies, segmenter, initializers, syntaxes, semantics)
|
||||
that decides how a brand's NC code is interpreted. The shipped copies live
|
||||
under <code>Resource/Controller/</code> so the Object Management <em>Load</em>
|
||||
browser starts populated; they are regenerable snapshots, not the source of
|
||||
truth — the brand properties on <a class="xref" href="Hi.NcParsers.SoftNcRunner.html">SoftNcRunner</a> are.
|
||||
</p>
|
||||
<p>
|
||||
Writing needs no <a class="xref" href="Hi.Common.XmlUtils.XFactory.html">XFactory</a> registration. Reading a file back
|
||||
does: call <a class="xref" href="Hi.NcParsers.SoftNcRunner.html#Hi_NcParsers_SoftNcRunner_Reg_Hi_Common_XmlUtils_XFactory_">Reg(XFactory)</a> first, otherwise
|
||||
<code>XFactory.GenListSkippingUnloadable</code> drops every unregistered pipeline
|
||||
entry and hands back a silently hollow runner.
|
||||
</p>
|
||||
</dd>
|
||||
</dl>
|
||||
<dl class="jumplist">
|
||||
<dt><a class="xref" href="Hi.NcParsers.NcCompositionGate.html">NcCompositionGate</a></dt>
|
||||
<dd><p>License gate for the NC composition layer — the capability of registering
|
||||
external (non-built-in) processing units into a <a class="xref" href="Hi.NcParsers.SoftNcRunner.html">SoftNcRunner</a>
|
||||
pipeline, and of executing NC-embedded C# scripts
|
||||
(<a class="xref" href="Hi.Numerical.Acts.ActLineCsScript.html">ActLineCsScript</a>).</p>
|
||||
<p>
|
||||
The boundary: the <b>script layer</b> (calling the public API from your own
|
||||
application code, e.g. session scripts) needs no extra license; the
|
||||
<b>composition layer</b> (registering or replacing processing units inside
|
||||
the interpretation pipeline — <a class="xref" href="Hi.NcParsers.SoftNcRunner.html#Hi_NcParsers_SoftNcRunner_NcSyntaxList">NcSyntaxList</a>,
|
||||
<a class="xref" href="Hi.NcParsers.SoftNcRunner.html#Hi_NcParsers_SoftNcRunner_PipelineNcDependencyList">PipelineNcDependencyList</a>,
|
||||
<a class="xref" href="Hi.NcParsers.SoftNcRunner.html#Hi_NcParsers_SoftNcRunner_NcSemanticList">NcSemanticList</a>,
|
||||
<a class="xref" href="Hi.NcParsers.SoftNcRunner.html#Hi_NcParsers_SoftNcRunner_NcInitializationList">NcInitializationList</a>,
|
||||
<a class="xref" href="Hi.NcParsers.SoftNcRunner.html#Hi_NcParsers_SoftNcRunner_Segmenter">Segmenter</a> — or injecting per-line scripts into
|
||||
it) requires <a class="xref" href="Hi.Licenses.AuthFeature.html#Hi_Licenses_AuthFeature_NcComposition">NcComposition</a>.
|
||||
</p>
|
||||
<p>
|
||||
A unit is <b>built-in</b> when its concrete type lives in this library's
|
||||
own assembly; anything else is <b>external</b>. Order, count, duplication
|
||||
and constructor configuration of built-in units are unrestricted — the
|
||||
gate never inspects the shape of the pipeline, only the identity of each
|
||||
unit.
|
||||
</p>
|
||||
<p>
|
||||
Degradation is silent and functional: without the license the built-in
|
||||
dialects run unchanged; external units are skipped for the session and a
|
||||
single <code>Composition--NotLicensed</code> diagnostic lists them. The decision
|
||||
and its rejection record live in the native license module.
|
||||
</p>
|
||||
</dd>
|
||||
</dl>
|
||||
<dl class="jumplist">
|
||||
<dt><a class="xref" href="Hi.NcParsers.NcDiagnostic.html">NcDiagnostic</a></dt>
|
||||
<dd><p>A structured diagnostic from the <a class="xref" href="Hi.NcParsers.SoftNcRunner.html">SoftNcRunner</a> pipeline,
|
||||
designed for <a class="xref" href="https://learn.microsoft.com/dotnet/api/system.iprogress-1">IProgress<T></a> consumption.</p>
|
||||
designed for <a class="xref" href="https://learn.microsoft.com/dotnet/api/system.iprogress-1">IProgress<T></a> consumption. Implements
|
||||
<a class="xref" href="Hi.Common.Messages.IMessage.html">IMessage</a> so it shares the common message channel with
|
||||
<a class="xref" href="Hi.Common.Messages.SimpleMessage.html">SimpleMessage</a>, step diagnostics, and progress fractions, while
|
||||
additionally carrying an NC-source <a class="xref" href="Hi.NcParsers.NcDiagnostic.html#Hi_NcParsers_NcDiagnostic_SentenceCarrier">SentenceCarrier</a> anchor that
|
||||
non-NC messages do not have.</p>
|
||||
<p>
|
||||
Also an <a class="xref" href="Hi.NcParsers.ISentenceCarrier.html">ISentenceCarrier</a> itself — <a class="xref" href="Hi.NcParsers.NcDiagnostic.html#Hi_NcParsers_NcDiagnostic_GetSentence">GetSentence()</a> and
|
||||
<a class="xref" href="Hi.NcParsers.NcDiagnostic.html#Hi_NcParsers_NcDiagnostic_SentenceIndex">SentenceIndex</a> delegate to <a class="xref" href="Hi.NcParsers.NcDiagnostic.html#Hi_NcParsers_NcDiagnostic_SentenceCarrier">SentenceCarrier</a> so a
|
||||
diagnostic can be used directly anywhere a carrier is expected, without the
|
||||
consumer unwrapping the inner anchor.
|
||||
</p>
|
||||
<p>
|
||||
<a class="xref" href="Hi.NcParsers.NcDiagnostic.html#Hi_NcParsers_NcDiagnostic_Id">Id</a> is composed as <code>{Primary}-{Secondary}--{Abbrev}</code>
|
||||
(e.g., <code>Cycle-Peck--BadPeckQ</code>, <code>Syntax-Build--Exception</code>).
|
||||
@@ -116,11 +169,37 @@ For irregular cases that don't fit the pattern, use a custom string.
|
||||
</dl>
|
||||
<dl class="jumplist">
|
||||
<dt><a class="xref" href="Hi.NcParsers.NcDiagnosticProgress.html">NcDiagnosticProgress</a></dt>
|
||||
<dd><p>Helper that emits <a class="xref" href="Hi.NcParsers.NcDiagnostic.html">NcDiagnostic</a> records via an
|
||||
<a class="xref" href="https://learn.microsoft.com/dotnet/api/system.iprogress-1">IProgress<T></a> sink. Provides one method per
|
||||
(<a class="xref" href="Hi.NcParsers.NcDiagnosticCategory.html">NcDiagnosticCategory</a>, <a class="xref" href="Hi.NcParsers.NcDiagnosticSeverity.html">NcDiagnosticSeverity</a>)
|
||||
pair, each with an optional <a class="xref" href="Hi.NcParsers.Sentence.html">Sentence</a> overload locating
|
||||
the issue in the NC source.</p>
|
||||
<dd><p>Helper that emits <a class="xref" href="Hi.NcParsers.NcDiagnostic.html">NcDiagnostic</a> records — retaining them in
|
||||
<a class="xref" href="Hi.NcParsers.NcDiagnosticProgress.html#Hi_NcParsers_NcDiagnosticProgress_Diagnostics">Diagnostics</a> (their canonical home) and forwarding each to an
|
||||
<a class="xref" href="https://learn.microsoft.com/dotnet/api/system.iprogress-1">IProgress<T></a> of <a class="xref" href="Hi.Common.Messages.IMessage.html">IMessage</a> sink for live consumption.
|
||||
Provides one method per (<a class="xref" href="Hi.Common.Messages.Category.html">Category</a>, <a class="xref" href="Hi.Common.Messages.Severity.html">Severity</a>) pair,
|
||||
each with an optional <a class="xref" href="Hi.NcParsers.Sentence.html">Sentence</a> overload locating the issue in the NC source.
|
||||
Each method has a <code>*Fmt</code> sibling taking a <a class="xref" href="https://learn.microsoft.com/dotnet/api/system.formattablestring">FormattableString</a> that keeps
|
||||
the interpolated template and values (<a class="xref" href="Hi.NcParsers.NcDiagnostic.html#Hi_NcParsers_NcDiagnostic_Format">Format</a> /
|
||||
<a class="xref" href="Hi.NcParsers.NcDiagnostic.html#Hi_NcParsers_NcDiagnostic_Args">Args</a>) for client-side localization; the sibling must be opted
|
||||
into by name — an interpolated string literal passed to the <a class="xref" href="https://learn.microsoft.com/dotnet/api/system.string">string</a> method
|
||||
binds to <a class="xref" href="https://learn.microsoft.com/dotnet/api/system.string">string</a> and is not captured.
|
||||
A caller that runs a bounded operation (an NC play, a writeback run) can wrap
|
||||
it in <a class="xref" href="Hi.NcParsers.NcDiagnosticProgress.html#Hi_NcParsers_NcDiagnosticProgress_BeginRepeatFold">BeginRepeatFold()</a> so identical repeated diagnostics fold
|
||||
into a first occurrence plus one counted summary instead of flooding the sink.</p>
|
||||
</dd>
|
||||
</dl>
|
||||
<dl class="jumplist">
|
||||
<dt><a class="xref" href="Hi.NcParsers.NcRunnerSuit.html">NcRunnerSuit</a></dt>
|
||||
<dd><p>A switchable “runner suit”: bundles the per-machine NC pipeline
|
||||
(<a class="xref" href="Hi.NcParsers.NcRunnerSuit.html#Hi_NcParsers_NcRunnerSuit_SoftNcRunner">SoftNcRunner</a> plus its optional side-file path
|
||||
<a class="xref" href="Hi.NcParsers.NcRunnerSuit.html#Hi_NcParsers_NcRunnerSuit_SoftNcRunnerFile">SoftNcRunnerFile</a>) with the per-workpiece
|
||||
<a class="xref" href="Hi.NcParsers.NcRunnerSuit.html#Hi_NcParsers_NcRunnerSuit_PerCaseNcDependencyList">PerCaseNcDependencyList</a> the runner's
|
||||
<a class="xref" href="Hi.NcParsers.Dependencys.INcDependencyProxy.html">INcDependencyProxy</a> placeholders resolve against. The suit is the
|
||||
proxies' <a class="xref" href="Hi.NcParsers.Dependencys.INcDependencyListHost.html">INcDependencyListHost</a>, so the runner and its case data
|
||||
switch together as one unit — load a different suit to switch the active
|
||||
parser (NC or CSV) within a session.</p>
|
||||
<p>
|
||||
Read/Write only (pure IO, no own <code>XxxFile</code> identity pointer): the owning
|
||||
project serializes the suit's two members <em>flat</em> in the project XML,
|
||||
keeping the per-workpiece <a class="xref" href="Hi.NcParsers.NcRunnerSuit.html#Hi_NcParsers_NcRunnerSuit_PerCaseNcDependencyList">PerCaseNcDependencyList</a> project-local
|
||||
rather than a shared side file.
|
||||
</p>
|
||||
</dd>
|
||||
</dl>
|
||||
<dl class="jumplist">
|
||||
@@ -163,21 +242,20 @@ needing two separate references.</p>
|
||||
<dd><p>Abstraction for an object that carries a <a class="xref" href="Hi.NcParsers.ISentenceIndexed.html#Hi_NcParsers_ISentenceIndexed_SentenceIndex">SentenceIndex</a> —
|
||||
a 0-based ordinal of its source <a class="xref" href="Hi.NcParsers.Sentence.html">Sentence</a> in NC execution
|
||||
order. Use as a cross-process alignment key (messages, ClStripPos,
|
||||
MachiningStep, etc.) when source order
|
||||
(<a class="xref" href="Hi.Common.FileLines.FileLineUtil.html#Hi_Common_FileLines_FileLineUtil_MixedIndex_Hi_Common_FileLines_IFileLineIndex_">MixedIndex(IFileLineIndex)</a>)
|
||||
MachiningStep, etc.) when the <code>(FileIndex, LineIndex)</code> source order
|
||||
is not enough because SubProgram inline reorders blocks relative to
|
||||
(FileIndex, LineIndex).</p>
|
||||
source order.</p>
|
||||
</dd>
|
||||
</dl>
|
||||
<dl class="jumplist">
|
||||
<dt><a class="xref" href="Hi.NcParsers.ISessionResettable.html">ISessionResettable</a></dt>
|
||||
<dd><p>Marker for objects that hold session-scoped runtime state which must be
|
||||
cleared when <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<string>, MachiningSession, SessionProgress, CancellationToken)</a> initializes a new
|
||||
cleared when <a class="xref" href="Hi.NcParsers.SoftNcRunner.html#Hi_NcParsers_SoftNcRunner_RunNcLines_System_String_System_Collections_Generic_IEnumerable_System_String__Hi_MachiningProcs_MachiningSession_Hi_MachiningProcs_StepDiagnosticProgress_Hi_NcParsers_NcDiagnosticProgress_System_Threading_CancellationToken_">RunNcLines(string, IEnumerable<string>, MachiningSession, StepDiagnosticProgress, NcDiagnosticProgress, CancellationToken)</a> initializes a new
|
||||
session pipeline (the <code>state.IsInitialized == false</code> edge).</p>
|
||||
<p>
|
||||
Implementers may live on either chain: <a class="xref" href="Hi.NcParsers.Dependencys.INcDependency.html">INcDependency</a>
|
||||
or <a class="xref" href="Hi.NcParsers.Syntaxs.INcSyntax.html">INcSyntax</a>. <a class="xref" href="Hi.NcParsers.SoftNcRunner.html">SoftNcRunner</a> scans
|
||||
<a class="xref" href="Hi.NcParsers.SoftNcRunner.html#Hi_NcParsers_SoftNcRunner_NcDependencyList">NcDependencyList</a> and
|
||||
<a class="xref" href="Hi.NcParsers.SoftNcRunner.html#Hi_NcParsers_SoftNcRunner_PipelineNcDependencyList">PipelineNcDependencyList</a> and
|
||||
<a class="xref" href="Hi.NcParsers.SoftNcRunner.html#Hi_NcParsers_SoftNcRunner_NcSyntaxList">NcSyntaxList</a> on the session-init edge and calls
|
||||
<a class="xref" href="Hi.NcParsers.ISessionResettable.html#Hi_NcParsers_ISessionResettable_OnSessionReset">OnSessionReset()</a> on every match.
|
||||
</p>
|
||||
@@ -188,22 +266,6 @@ retained-but-volatile state on a controller power cycle (e.g., Fanuc
|
||||
Session-reset clears state whose lifetime is one pipeline pass (iteration
|
||||
counters, file-index allocators, etc.).
|
||||
</p>
|
||||
</dd>
|
||||
</dl>
|
||||
<h3 id="enums">
|
||||
Enums
|
||||
</h3>
|
||||
<dl class="jumplist">
|
||||
<dt><a class="xref" href="Hi.NcParsers.NcDiagnosticCategory.html">NcDiagnosticCategory</a></dt>
|
||||
<dd><p>Diagnostic category of an NC diagnostic.</p>
|
||||
<ul><li><a class="xref" href="Hi.NcParsers.NcDiagnosticCategory.html#Hi_NcParsers_NcDiagnosticCategory_System">System</a> + Error → exception/bug, unconsidered case</li><li><a class="xref" href="Hi.NcParsers.NcDiagnosticCategory.html#Hi_NcParsers_NcDiagnosticCategory_Unsupported">Unsupported</a> + Warning → known unsupported, likely harmless</li><li><a class="xref" href="Hi.NcParsers.NcDiagnosticCategory.html#Hi_NcParsers_NcDiagnosticCategory_Unsupported">Unsupported</a> + Error → known unsupported, likely matters</li><li><a class="xref" href="Hi.NcParsers.NcDiagnosticCategory.html#Hi_NcParsers_NcDiagnosticCategory_Validation">Validation</a> + Warning → manufacturing/physics may be unfeasible</li><li><a class="xref" href="Hi.NcParsers.NcDiagnosticCategory.html#Hi_NcParsers_NcDiagnosticCategory_Validation">Validation</a> + Error → manufacturing/physics is unfeasible</li><li><a class="xref" href="Hi.NcParsers.NcDiagnosticCategory.html#Hi_NcParsers_NcDiagnosticCategory_Configuration">Configuration</a> + Message → dependency/config applied, informational event (e.g. a block skipped by an enabled <code>IBlockSkipConfig</code> layer)</li><li><a class="xref" href="Hi.NcParsers.NcDiagnosticCategory.html#Hi_NcParsers_NcDiagnosticCategory_Configuration">Configuration</a> + Warning → dependency/config missing, using fallback</li><li><a class="xref" href="Hi.NcParsers.NcDiagnosticCategory.html#Hi_NcParsers_NcDiagnosticCategory_Configuration">Configuration</a> + Error → dependency/config missing, cannot proceed</li></ul>
|
||||
</dd>
|
||||
</dl>
|
||||
<dl class="jumplist">
|
||||
<dt><a class="xref" href="Hi.NcParsers.NcDiagnosticSeverity.html">NcDiagnosticSeverity</a></dt>
|
||||
<dd><p>Importance level of an NC diagnostic.
|
||||
Combined with <a class="xref" href="Hi.NcParsers.NcDiagnosticCategory.html">NcDiagnosticCategory</a> to form the full
|
||||
diagnostic meaning (e.g., <code>Unsupported + Warning</code>).</p>
|
||||
</dd>
|
||||
</dl>
|
||||
|
||||
|
||||
Reference in New Issue
Block a user