Archived
deploy.
This commit is contained in:
@@ -90,19 +90,14 @@
|
||||
<p>The Main Panel is the primary window of the HiNC application, providing navigation and access to all major features.</p>
|
||||
<h2 id="key-models">Key Models</h2>
|
||||
<ul>
|
||||
<li>Project Service
|
||||
<ul>
|
||||
<li><strong>WPF Single-User Desktop Application</strong>: Uses self-hosted <a class="xref" href="../../api/Hi.MachiningProcs.LocalProjectService.html">LocalProjectService</a></li>
|
||||
<li><strong>Web Service Application</strong>: injects <a class="xref" href="../../api/Hi.MachiningProcs.ProxyProjectService.html">ProxyProjectService</a>, the <a class="xref" href="../../api/Hi.MachiningProcs.IProjectService.html">IProjectService</a> implementation that reaches the session's project across the connection</li>
|
||||
</ul>
|
||||
</li>
|
||||
<li><strong>Project Service</strong>: injects <a class="xref" href="../../api/Hi.MachiningProcs.ProxyProjectService.html">ProxyProjectService</a>, the <a class="xref" href="../../api/Hi.MachiningProcs.IProjectService.html">IProjectService</a> implementation that reaches the session's project across the connection</li>
|
||||
<li><strong>User Service</strong>: <code>UserService</code></li>
|
||||
</ul>
|
||||
<h2 id="layout-structure">Layout Structure</h2>
|
||||
<ul>
|
||||
<li>Top <code>Navigation Menu</code>
|
||||
<ul>
|
||||
<li><p>Brand logo, and in the web application the HiAPI version as an outlined badge beside it. The
|
||||
<li><p>Brand logo, and the HiAPI version as an outlined badge beside it. The
|
||||
badge carries the HiNc assembly version reported by the anonymous authentication-status probe
|
||||
the router runs before the first route resolves, so it needs neither a loaded project nor a
|
||||
signed-in session; it is omitted only while that probe has reported no version.</p>
|
||||
@@ -112,33 +107,14 @@ signed-in session; it is omitted only while that probe has reported no version.<
|
||||
<li><code>Project Path Text Field</code> — readonly; reads “No Project Loaded” until a project is loaded</li>
|
||||
<li><code>New MenuItem</code></li>
|
||||
<li><code>Load MenuItem</code></li>
|
||||
<li><code>ReLoad MenuItem</code> (web application only)</li>
|
||||
<li><code>ReLoad MenuItem</code></li>
|
||||
<li><code>Save MenuItem</code></li>
|
||||
<li><code>Save As MenuItem</code></li>
|
||||
<li><code>Close Project MenuItem</code> (web application only, below a separator)</li>
|
||||
<li><code>Close Project MenuItem</code> (below a separator)</li>
|
||||
</ul>
|
||||
<p>In the web application ReLoad, Save, Save As and Close Project are disabled until a project is loaded, and New, Load and Save As open the shared file-picker dialog with a <code>.hincproj</code> filter. The picker is allowed the Admin and Project roots and is denied the Resource root, which holds read-only templates the project endpoints cannot save through; it asks for the Admin root by name, so that is where it opens, and it seeds its path box with the directory holding the loaded project, or with the admin root itself when there is none. The Project root is one of the two only while a project is loaded: the roots endpoint lists a root only when its directory resolves, and the project directory resolves to nothing until a project is open, so with no project the picker offers Admin alone. The WPF client's dropdown stops at Save As.</p>
|
||||
<p>ReLoad, Save, Save As and Close Project are disabled until a project is loaded, and New, Load and Save As open the shared file-picker dialog with a <code>.hincproj</code> filter. The picker is allowed the Admin and Project roots and is denied the Resource root, which holds read-only templates the project endpoints cannot save through; it asks for the Admin root by name, so that is where it opens, and it seeds its path box with the directory holding the loaded project, or with the admin root itself when there is none. The Project root is one of the two only while a project is loaded: the roots endpoint lists a root only when its directory resolves, and the project directory resolves to nothing until a project is open, so with no project the picker offers Admin alone.</p>
|
||||
</li>
|
||||
<li><p><code>Environment Menu Dropdown</code> (WPF application only — the web application has no such dropdown; see below)</p>
|
||||
<ul>
|
||||
<li>Machine Tool MenuItem
|
||||
Open <a class="xref" href="../general-setup/machine-tool.html">Machine Tool Page</a>
|
||||
Sole window in WPF app.
|
||||
The page manages <a class="xref" href="../../api/Hi.MachiningProcs.LocalProjectService.html#Hi_MachiningProcs_LocalProjectService_MachiningEquipment">MachiningEquipment</a>.<a class="xref" href="../../api/Hi.Machining.MachiningEquipmentUtils.MachiningEquipment.html#Hi_Machining_MachiningEquipmentUtils_MachiningEquipment_MachiningChain">MachiningChain</a>.</li>
|
||||
<li>Controller MenuItem
|
||||
Open <a class="xref" href="../legacy-controller.html">Legacy Controller Page</a></li>
|
||||
<li>Tool House MenuItem</li>
|
||||
<li>Fixture MenuItem
|
||||
Open <a class="xref" href="../general-setup/fixture.html">Fixture Page</a></li>
|
||||
<li>Workpiece MenuItem
|
||||
Open <a class="xref" href="../general-setup/workpiece.html">Workpiece Page</a></li>
|
||||
</ul>
|
||||
</li>
|
||||
<li><p>Mission MenuItem
|
||||
Open <a class="xref" href="../execution/mission/mission-root-panel.html">Mission Page</a>
|
||||
In the web application the Mission editor is a branch of the Execution page's Control Tree; <code>/mission</code> redirects there.</p>
|
||||
</li>
|
||||
<li><p><code>Page Menu Dropdown</code> (web application only) — the three workflow pages in setup order (fill the tool house, set up the equipment, run), then the utilities.</p>
|
||||
<li><p><code>Page Menu Dropdown</code> — the three workflow pages in setup order (fill the tool house, set up the equipment, run), then the utilities.</p>
|
||||
<ul>
|
||||
<li>Tool House MenuItem
|
||||
Open <a class="xref" href="../tool-house/index.html">Tool House Page</a></li>
|
||||
@@ -156,18 +132,9 @@ Open <a class="xref" href="../legacy-controller.html">Legacy Controller Page</a>
|
||||
</li>
|
||||
<li><p><a class="xref" href="preference-menu.html">Preference Menu Dropdown</a></p>
|
||||
</li>
|
||||
<li><p><code>Debug Menu Dropdown</code> (WPF application only) — Transformers and Geometry Management, visible only while the client runs in debug mode</p>
|
||||
</li>
|
||||
<li><p>Help MenuItem</p>
|
||||
<ul>
|
||||
<li>HiAPI Version label
|
||||
A label to show the HiNc library version.
|
||||
The web application shows this as a version badge next to the brand logo, with no Help dropdown.</li>
|
||||
</ul>
|
||||
</li>
|
||||
</ul>
|
||||
</li>
|
||||
<li><code>Show Log</code> Button — a button on both clients, not a menu item. In the web application it sits on the menu bar's right side and routes to the Log Viewer page; in the WPF client it sits at the right end of the bottom message bar.
|
||||
<li><code>Show Log</code> Button — a button, not a menu item. It sits on the menu bar's right side and routes to the Log Viewer page.
|
||||
The Log Viewer presents the server's application log for the current day, with a manual refresh, a selectable auto-refresh interval, copy to the clipboard, and download of the day's log file for offline analysis.</li>
|
||||
<li>Central <code>Page Panel</code> — one router outlet wrapped in a keep-alive cache keyed on a project epoch: an
|
||||
integer the layout owns, raised by two watchers and read by nothing else. The first watches the project
|
||||
@@ -183,7 +150,7 @@ A bump discards every cached page and rebuilds it, so each page initializes on i
|
||||
watching for project changes itself.</li>
|
||||
<li>Bottom footer — the routine-progress bar: the latest foreground message with a recent-messages history menu on the left, the live session status in the middle, and in-flight background job progress on the right. See <a class="xref" href="bottom-message-bar.html">Message Section on Main Panel</a>.</li>
|
||||
</ul>
|
||||
<p>In the WPF application the run tool bars belong to the menu shell and appear only while the central panel is the player. The web application does not carry them on the menu bar at all: the transport controls ride the <a class="xref" href="../execution/index.html">Execution Page</a>‘s primary panel header and the view controls ride its canvas panel header. What the menu bar keeps instead is the page's set of column quick-toggles, the connection badge, the active page's title, the <code>Show Log</code> button and — when authentication is on — the logout button. The toggles follow whichever tree page is current: four on the Execution page (control dock, canvas, strip charts, step info) and three on General Setup (control dock, content, canvas); the Tool House page lays itself out with plain splitters and gets none. The connection badge is Execution-only — the other pages’ canvases carry their own in-panel badges.</p>
|
||||
<p>The menu bar carries no run tool bars at all: the transport controls ride the <a class="xref" href="../execution/index.html">Execution Page</a>‘s primary panel header and the view controls ride its canvas panel header. What the menu bar keeps instead is the page's set of column quick-toggles, the connection badge, the active page's title, the <code>Show Log</code> button and — when authentication is on — the logout button. The toggles follow whichever tree page is current: four on the Execution page (control dock, canvas, strip charts, step info) and three on General Setup (control dock, content, canvas); the Tool House page lays itself out with plain splitters and gets none. The connection badge is Execution-only — the other pages’ canvases carry their own in-panel badges.</p>
|
||||
<h2 id="project-menu-behavior">Project Menu Behavior</h2>
|
||||
<p>The <code>Project Path Text Field</code> displays the current project path when a project is loaded. It is implemented as a pure text field (not a button) that allows users to select and copy the path.</p>
|
||||
<p>The <code>Project</code> Menu manages <a class="xref" href="../../api/Hi.MachiningProcs.MachiningProject.html">MachiningProject</a> with the following operations:</p>
|
||||
@@ -228,17 +195,12 @@ watching for project changes itself.</li>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
<p>In the web application every Project action reports through two channels: a background progress line on the footer while it runs, then a toast when it lands — positive on success, a “busy” warning when a concurrent action has already claimed the service (HTTP 409), negative otherwise. In the WPF client the operations log through <code>ILogger</code> and, after a load, set the player panel's DispEngine to the isometric view. What a project change drives in the web shell is the layout's keep-alive epoch, not a canvas view: every cached page is discarded and rebuilt.</p>
|
||||
<p>Every Project action reports through two channels: a background progress line on the footer while it runs, then a toast when it lands — positive on success, a “busy” warning when a concurrent action has already claimed the service (HTTP 409), negative otherwise. What a project change drives in the shell is the layout's keep-alive epoch, not a canvas view: every cached page is discarded and rebuilt.</p>
|
||||
<div class="NOTE">
|
||||
<h5>Note</h5>
|
||||
<p>The web implementation reports through the toast helper and the routine-progress footer store; the WPF client reports through <code>ILogger</code>. Neither routes project messages through MessageUtil. Project I/O is asynchronous on both clients, so the shell stays responsive during file I/O.</p>
|
||||
<p>Project actions report through the toast helper and the routine-progress footer store, and none of them routes a message through MessageUtil. Project I/O is asynchronous, so the shell stays responsive during file I/O.</p>
|
||||
</div>
|
||||
<h2 id="platform-specific-differences">Platform-Specific Differences</h2>
|
||||
<h3 id="wpf-application">WPF Application</h3>
|
||||
<ul>
|
||||
<li>Only a single instance of each sub-window (Mission, Workpiece, Fixture) can exist at a time</li>
|
||||
<li>There is no menu entry for the run cockpit: the Main Panel itself is the player</li>
|
||||
</ul>
|
||||
<h3 id="web-application">Web Application</h3>
|
||||
<ul>
|
||||
<li>The <a class="xref" href="../execution/index.html">Execution Page</a> is the landing route — <code>/</code> redirects to <code>/execution</code></li>
|
||||
|
||||
Reference in New Issue
Block a user