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:
2026-08-27 14:51:37 +08:00
parent 1fc510af5e
commit 2a98ae7556
1468 changed files with 182837 additions and 18888 deletions
@@ -155,13 +155,50 @@ logged controller data onto <a class="xref" href="Hi.MachiningSteps.MachiningSte
<h3 id="Hi_Mapping_MappingUtil_ActualDateTimeTag" data-uid="Hi.Mapping.MappingUtil.ActualDateTimeTag">
ActualDateTimeTag
</h3>
<div class="markdown level1 summary"><p>Absolute controller-instant column written alongside
<a class="xref" href="Hi.Mapping.MappingUtil.html#Hi_Mapping_MappingUtil_ActualTimecodeTag">ActualTimecodeTag</a> (the <code>MachiningStep.ActualDateTime</code>
member) so the calendar date survives. Pinned to a literal so renaming
the member does not change the CSV header; optional companion column.</p>
</div>
<div class="markdown level1 conceptual"></div>
<div class="codewrapper">
<pre><code class="lang-csharp hljs">public const string ActualDateTimeTag = &quot;ActualDateTime&quot;</code></pre>
</div>
<h4 class="section">Field Value</h4>
<dl class="parameters">
<dt><a class="xref" href="https://learn.microsoft.com/dotnet/api/system.string">string</a></dt>
<dd></dd>
</dl>
<h3 id="Hi_Mapping_MappingUtil_ActualTimeTag" data-uid="Hi.Mapping.MappingUtil.ActualTimeTag">
ActualTimeTag
</h3>
<div class="markdown level1 summary"><p>Gets or sets the column title for actual time in the CSV.
The actual time basically obtained by the external data from controller.</p>
<div class="markdown level1 summary"><p>Legacy single-column title for actual time in the CSV (a bare
<a class="xref" href="https://learn.microsoft.com/dotnet/api/system.timespan">TimeSpan</a> timecode or an absolute
<a class="xref" href="https://learn.microsoft.com/dotnet/api/system.datetime">DateTime</a>). The step-file writer now splits this into
the <a class="xref" href="Hi.Mapping.MappingUtil.html#Hi_Mapping_MappingUtil_ActualTimecodeTag">ActualTimecodeTag</a> + <a class="xref" href="Hi.Mapping.MappingUtil.html#Hi_Mapping_MappingUtil_ActualDateTimeTag">ActualDateTimeTag</a>
pair; this column is still read for pre-split files.</p>
</div>
<div class="markdown level1 conceptual"></div>
@@ -187,6 +224,72 @@ The actual time basically obtained by the external data from controller.</p>
<h3 id="Hi_Mapping_MappingUtil_ActualTimecodeTag" data-uid="Hi.Mapping.MappingUtil.ActualTimecodeTag">
ActualTimecodeTag
</h3>
<div class="markdown level1 summary"><p>Run-relative actual timecode column written by the step-file exporter
(the <code>MachiningStep.ActualTimecode</code> member). Pinned to a literal so
renaming the member does not change the CSV header; preferred over the
legacy single <a class="xref" href="Hi.Mapping.MappingUtil.html#Hi_Mapping_MappingUtil_ActualTimeTag">ActualTimeTag</a> column when present.</p>
</div>
<div class="markdown level1 conceptual"></div>
<div class="codewrapper">
<pre><code class="lang-csharp hljs">public const string ActualTimecodeTag = &quot;ActualTimecode&quot;</code></pre>
</div>
<h4 class="section">Field Value</h4>
<dl class="parameters">
<dt><a class="xref" href="https://learn.microsoft.com/dotnet/api/system.string">string</a></dt>
<dd></dd>
</dl>
<h3 id="Hi_Mapping_MappingUtil_CoolantTag" data-uid="Hi.Mapping.MappingUtil.CoolantTag">
CoolantTag
</h3>
<div class="markdown level1 summary"><p>Coolant tag for CSV parsing. The cell holds the coolant mode name
(e.g. <code>Flood</code> / <code>Mist</code> / <code>Off</code>) or a boolean on/off flag.</p>
</div>
<div class="markdown level1 conceptual"></div>
<div class="codewrapper">
<pre><code class="lang-csharp hljs">public const string CoolantTag = &quot;Coolant&quot;</code></pre>
</div>
<h4 class="section">Field Value</h4>
<dl class="parameters">
<dt><a class="xref" href="https://learn.microsoft.com/dotnet/api/system.string">string</a></dt>
<dd></dd>
</dl>
<h3 id="Hi_Mapping_MappingUtil_CutterLocationPrefix" data-uid="Hi.Mapping.MappingUtil.CutterLocationPrefix">
CutterLocationPrefix
@@ -471,12 +574,49 @@ The actual time basically obtained by the external data from controller.</p>
</h3>
<div class="markdown level1 summary"><p>Alternative tag for <a class="xref" href="Hi.Mapping.MappingUtil.html#Hi_Mapping_MappingUtil_ActualTimeTag">ActualTimeTag</a> if the value of ActualTime is null.</p>
<div class="markdown level1 summary"><p>Fallback time column when <a class="xref" href="Hi.Mapping.MappingUtil.html#Hi_Mapping_MappingUtil_ActualTimeTag">ActualTimeTag</a> is absent or
unparseable: the simulated end timecode. Pinned to a literal (decoupled
from the model member name) so renaming the member does not change the
CSV header; pre-rename files that used the old &ldquo;AccumulatedTime&rdquo; header
are still read via <a class="xref" href="Hi.Mapping.MappingUtil.html#Hi_Mapping_MappingUtil_SimTimeTagLegacy">SimTimeTagLegacy</a> / <a class="xref" href="Hi.Mapping.MappingUtil.html#Hi_Mapping_MappingUtil_GetSimTimeCell_System_Collections_Generic_IReadOnlyDictionary_System_String_System_String__">GetSimTimeCell(IReadOnlyDictionary&lt;string, string&gt;)</a>.</p>
</div>
<div class="markdown level1 conceptual"></div>
<div class="codewrapper">
<pre><code class="lang-csharp hljs">public const string SimTimeTag = &quot;AccumulatedTime&quot;</code></pre>
<pre><code class="lang-csharp hljs">public const string SimTimeTag = &quot;EndTimecode&quot;</code></pre>
</div>
<h4 class="section">Field Value</h4>
<dl class="parameters">
<dt><a class="xref" href="https://learn.microsoft.com/dotnet/api/system.string">string</a></dt>
<dd></dd>
</dl>
<h3 id="Hi_Mapping_MappingUtil_SimTimeTagLegacy" data-uid="Hi.Mapping.MappingUtil.SimTimeTagLegacy">
SimTimeTagLegacy
</h3>
<div class="markdown level1 summary"><p>Legacy CSV header accepted as a fallback for <a class="xref" href="Hi.Mapping.MappingUtil.html#Hi_Mapping_MappingUtil_SimTimeTag">SimTimeTag</a>
(files written before the EndTimecode rename used the member name
<code>AccumulatedTime</code>).</p>
</div>
<div class="markdown level1 conceptual"></div>
<div class="codewrapper">
<pre><code class="lang-csharp hljs">public const string SimTimeTagLegacy = &quot;AccumulatedTime&quot;</code></pre>
</div>
@@ -683,6 +823,50 @@ The time generally obtained by the simulated data.</p>
<h2 class="section" id="methods">Methods
</h2>
<a id="Hi_Mapping_MappingUtil_GetSimTimeCell_" data-uid="Hi.Mapping.MappingUtil.GetSimTimeCell*"></a>
<h3 id="Hi_Mapping_MappingUtil_GetSimTimeCell_System_Collections_Generic_IReadOnlyDictionary_System_String_System_String__" data-uid="Hi.Mapping.MappingUtil.GetSimTimeCell(System.Collections.Generic.IReadOnlyDictionary{System.String,System.String})">
GetSimTimeCell(IReadOnlyDictionary&lt;string, string&gt;)
</h3>
<div class="markdown level1 summary"><p>Returns the de-quoted simulated-time cell from <code class="paramref">row</code>,
reading <a class="xref" href="Hi.Mapping.MappingUtil.html#Hi_Mapping_MappingUtil_SimTimeTag">SimTimeTag</a> first and falling back to the legacy
<a class="xref" href="Hi.Mapping.MappingUtil.html#Hi_Mapping_MappingUtil_SimTimeTagLegacy">SimTimeTagLegacy</a> header, or <code>null</code> when neither column
is present.</p>
</div>
<div class="markdown level1 conceptual"></div>
<div class="codewrapper">
<pre><code class="lang-csharp hljs">public static string GetSimTimeCell(IReadOnlyDictionary&lt;string, string&gt; row)</code></pre>
</div>
<h4 class="section">Parameters</h4>
<dl class="parameters">
<dt><code>row</code> <a class="xref" href="https://learn.microsoft.com/dotnet/api/system.collections.generic.ireadonlydictionary-2">IReadOnlyDictionary</a>&lt;<a class="xref" href="https://learn.microsoft.com/dotnet/api/system.string">string</a>, <a class="xref" href="https://learn.microsoft.com/dotnet/api/system.string">string</a>&gt;</dt>
<dd></dd>
</dl>
<h4 class="section">Returns</h4>
<dl class="parameters">
<dt><a class="xref" href="https://learn.microsoft.com/dotnet/api/system.string">string</a></dt>
<dd></dd>
</dl>
</article>