Archived
deploy.
This commit is contained in:
@@ -93,10 +93,10 @@ knows which directory a change landed in but not which screen it shows up on.</p
|
||||
<p>Ordered the way a request travels: the front end first, then the process that serves it.</p>
|
||||
<h2 id="directories">Directories</h2>
|
||||
<ul>
|
||||
<li><a href="webservice-spa/index.html">Web Service SPA Source Tree</a> — the Quasar front end under
|
||||
<li><a href="webservice-spa.html">Web Service SPA Source Tree</a> — the Quasar front end under
|
||||
<code>wwwroot-src/src</code>: how <code>components/</code> is grouped two ways at once, what the Control-Tree registry
|
||||
actually is, and why half the route table is redirects</li>
|
||||
<li><a href="webservice-backend/index.html">Web Service Backend Source Tree</a> — the ASP.NET Core half: how to read
|
||||
<li><a href="webservice-backend.html">Web Service Backend Source Tree</a> — the ASP.NET Core half: how to read
|
||||
a filename, why folder nesting does not predict a route, and which declared hub is never mapped</li>
|
||||
</ul>
|
||||
<h2 id="what-this-layer-is-for">What This Layer Is For</h2>
|
||||
@@ -118,8 +118,8 @@ retired the page-by-page map of its files.</p>
|
||||
<h2 id="see-also">See Also</h2>
|
||||
<ul>
|
||||
<li><a class="xref" href="../index.html">HiNC App Anatomy</a> — the section index, and the surface-keyed way in</li>
|
||||
<li><a class="xref" href="webservice-spa/index.html">Web Service SPA Source Tree</a> — the flagship front end</li>
|
||||
<li><a class="xref" href="webservice-backend/index.html">Web Service Backend Source Tree</a> — the process that
|
||||
<li><a class="xref" href="webservice-spa.html">Web Service SPA Source Tree</a> — the flagship front end</li>
|
||||
<li><a class="xref" href="webservice-backend.html">Web Service Backend Source Tree</a> — the process that
|
||||
serves it</li>
|
||||
<li><a class="xref" href="../platform/index.html">Platform</a> — the machinery under every screen, entered by mechanism rather
|
||||
than by directory</li>
|
||||
|
||||
@@ -16,10 +16,10 @@
|
||||
<a href="index.html" name="" title="Overview">Overview</a>
|
||||
</li>
|
||||
<li>
|
||||
<a href="webservice-spa/index.html" name="" title="Web Service SPA">Web Service SPA</a>
|
||||
<a href="webservice-spa.html" name="" title="Web Service SPA">Web Service SPA</a>
|
||||
</li>
|
||||
<li>
|
||||
<a href="webservice-backend/index.html" name="" title="Web Service Backend">Web Service Backend</a>
|
||||
<a href="webservice-backend.html" name="" title="Web Service Backend">Web Service Backend</a>
|
||||
</li>
|
||||
</ul>
|
||||
</div>
|
||||
|
||||
@@ -1,2 +1,2 @@
|
||||
|
||||
{"items":[{"name":"Overview","href":"index.html","topicHref":"index.html"},{"name":"Web Service SPA","href":"webservice-spa/index.html","topicHref":"webservice-spa/index.html"},{"name":"Web Service Backend","href":"webservice-backend/index.html","topicHref":"webservice-backend/index.html"}]}
|
||||
{"items":[{"name":"Overview","href":"index.html","topicHref":"index.html"},{"name":"Web Service SPA","href":"webservice-spa.html","topicHref":"webservice-spa.html"},{"name":"Web Service Backend","href":"webservice-backend.html","topicHref":"webservice-backend.html"}]}
|
||||
|
||||
+42
-42
@@ -7,13 +7,13 @@
|
||||
<meta name="title" content="Web Service Backend Source Tree | HiAPI-C# 2025 ">
|
||||
|
||||
|
||||
<link rel="icon" href="../../../img/HiAPI.favicon.ico">
|
||||
<link rel="stylesheet" href="../../../public/docfx.min.css">
|
||||
<link rel="stylesheet" href="../../../public/main.css">
|
||||
<meta name="docfx:navrel" content="../../../toc.html">
|
||||
<meta name="docfx:tocrel" content="../toc.html">
|
||||
<link rel="icon" href="../../img/HiAPI.favicon.ico">
|
||||
<link rel="stylesheet" href="../../public/docfx.min.css">
|
||||
<link rel="stylesheet" href="../../public/main.css">
|
||||
<meta name="docfx:navrel" content="../../toc.html">
|
||||
<meta name="docfx:tocrel" content="toc.html">
|
||||
|
||||
<meta name="docfx:rel" content="../../../">
|
||||
<meta name="docfx:rel" content="../../">
|
||||
|
||||
|
||||
|
||||
@@ -30,7 +30,7 @@
|
||||
<meta name="loc:copy" content="Copy">
|
||||
<meta name="loc:downloadPdf" content="Download PDF">
|
||||
|
||||
<script type="module" src="./../../../public/docfx.min.js"></script>
|
||||
<script type="module" src="./../../public/docfx.min.js"></script>
|
||||
|
||||
<script>
|
||||
const theme = localStorage.getItem('theme') || 'auto'
|
||||
@@ -43,8 +43,8 @@
|
||||
<header class="bg-body border-bottom">
|
||||
<nav id="autocollapse" class="navbar navbar-expand-md" role="navigation">
|
||||
<div class="container-xxl flex-nowrap">
|
||||
<a class="navbar-brand" href="../../../index.html">
|
||||
<img id="logo" class="svg" src="../../../img/HiAPI.logo.png" alt="">
|
||||
<a class="navbar-brand" href="../../index.html">
|
||||
<img id="logo" class="svg" src="../../img/HiAPI.logo.png" alt="">
|
||||
|
||||
</a>
|
||||
<button class="btn btn-lg d-md-none border-0" type="button" data-bs-toggle="collapse" data-bs-target="#navpanel" aria-controls="navpanel" aria-expanded="false" aria-label="Toggle navigation">
|
||||
@@ -145,7 +145,7 @@ list is unreachable however complete its class looks — see the trap under <cod
|
||||
<li><strong>The tree is not self-contained.</strong> The project service types <code>Program.cs</code> leans on hardest live in
|
||||
the sibling HiNc engine repository, not here.</li>
|
||||
</ul>
|
||||
<p>Documented in <a class="xref" href="../../platform/program-and-hosting.html">Program and Hosting</a>.</p>
|
||||
<p>Documented in <a class="xref" href="../platform/program-and-hosting.html">Program and Hosting</a>.</p>
|
||||
<h2 id="execution">Execution</h2>
|
||||
<p><code>Execution/</code> is the run cockpit's whole backend: playback control, the strip and cycle-line charts,
|
||||
the NC-program branch index, run-output queries, and the real-time push layer.</p>
|
||||
@@ -166,10 +166,10 @@ the repository references. The Execution canvas rides <code>Disp/RenderingHub.cs
|
||||
canvas. A reader looking for “the hub behind the Execution page” by name will find this file first
|
||||
and be wrong.</p>
|
||||
</div>
|
||||
<p>Documented in <a class="xref" href="../../execution/index.html">Execution Page</a>,
|
||||
<a class="xref" href="../../execution/program.html">Program Branch</a>,
|
||||
<a class="xref" href="../../execution/selected-step-info-panel.html">Selected-Step Info Panel</a>,
|
||||
<a class="xref" href="../../execution/strip-charts.html">Strip Charts</a> and <a class="xref" href="../../execution/cycle-line-charts.html">Cycle-Line Charts</a>.</p>
|
||||
<p>Documented in <a class="xref" href="../execution/index.html">Execution Page</a>,
|
||||
<a class="xref" href="../execution/program.html">Program Branch</a>,
|
||||
<a class="xref" href="../execution/selected-step-info-panel.html">Selected-Step Info Panel</a>,
|
||||
<a class="xref" href="../execution/strip-charts.html">Strip Charts</a> and <a class="xref" href="../execution/cycle-line-charts.html">Cycle-Line Charts</a>.</p>
|
||||
<h2 id="mech">Mech</h2>
|
||||
<p><code>Mech/</code> is the largest domain folder: the REST surfaces for the machine tool, the tool house and
|
||||
cutter editing, fixtures and workpieces, spindle capability, background and coolant, and the three
|
||||
@@ -179,20 +179,20 @@ connection. <code>Mech/CutterDtoBuilder.cs</code> is the shared read-side DTO sh
|
||||
loaded project actually plays them. No SignalR hub lives here.</p>
|
||||
<ul>
|
||||
<li><code>Mech/MechBuilder/</code> — the standalone mechanism-building session, held by a process-wide singleton
|
||||
rather than per user. Documented in <a class="xref" href="../../util/mech-builder.html">Mechanism Builder Page</a>.</li>
|
||||
rather than per user. Documented in <a class="xref" href="../util/mech-builder.html">Mechanism Builder Page</a>.</li>
|
||||
<li><code>Mech/Topo/</code> — one thin controller per transformer kind, each editing an instance held in the
|
||||
keyed object store. Documented in
|
||||
<a class="xref" href="../../geom/transformer-panel.html">Transformer Select Panel</a>.</li>
|
||||
<a class="xref" href="../geom/transformer-panel.html">Transformer Select Panel</a>.</li>
|
||||
<li><code>Mech/SoftNcRunnerController.cs</code> — the one endpoint family behind the Controller branch, and the
|
||||
file whose snapshot decides which of that branch's nodes exist. Documented in
|
||||
<a class="xref" href="../../general-setup/controller/index.html">Controller Branch</a>, with
|
||||
<a class="xref" href="../../general-setup/controller/brand-matrix.html">Brand Matrix</a> for the snapshot flags themselves.</li>
|
||||
<a class="xref" href="../general-setup/controller/index.html">Controller Branch</a>, with
|
||||
<a class="xref" href="../general-setup/controller/brand-matrix.html">Brand Matrix</a> for the snapshot flags themselves.</li>
|
||||
<li><code>Mech/CsvRunnerController.cs</code> and <code>Mech/ClRunnerController.cs</code> — the two resident non-brand runner
|
||||
suits, reached from tree branches the Preference menu hides by default. Documented in
|
||||
<a class="xref" href="../../shell/preference-menu.html">Preference Menu Dropdown</a> until those branches have a page.</li>
|
||||
<a class="xref" href="../shell/preference-menu.html">Preference Menu Dropdown</a> until those branches have a page.</li>
|
||||
</ul>
|
||||
<p>Documented in <a class="xref" href="../../general-setup/index.html">General Setup Page</a> and
|
||||
<a class="xref" href="../../tool-house/index.html">Tool House Page</a> and the panels beneath them.</p>
|
||||
<p>Documented in <a class="xref" href="../general-setup/index.html">General Setup Page</a> and
|
||||
<a class="xref" href="../tool-house/index.html">Tool House Page</a> and the panels beneath them.</p>
|
||||
<h2 id="missions">Missions</h2>
|
||||
<p><code>Missions/</code> is the mission command tree's backend. Two things here surprise readers:</p>
|
||||
<ul>
|
||||
@@ -207,7 +207,7 @@ attribute once per process, replacing hand-maintained kind switches, and
|
||||
command gets an editor without a bespoke panel. <code>Missions/ScriptCompletionService.cs</code> and
|
||||
<code>Missions/ScriptCompileCheckService.cs</code> are the Roslyn pair behind the script editor; the compile
|
||||
check reuses the same options and globals type the script command uses at run time.</p>
|
||||
<p>Documented in <a class="xref" href="../../execution/mission/mission-root-panel.html">Mission Root Panel</a> and the command panels under it.</p>
|
||||
<p>Documented in <a class="xref" href="../execution/mission/mission-root-panel.html">Mission Root Panel</a> and the command panels under it.</p>
|
||||
<h2 id="disp">Disp</h2>
|
||||
<p><code>Disp/</code> is the rendering layer. <code>Disp/RenderingHub.cs</code> is the single transport surface for every 3D
|
||||
canvas in the application — canvas initialization, pointer, key and touch input, resize, view
|
||||
@@ -217,21 +217,21 @@ engines the hub resolves against. <code>Disp/StlPreviewController.cs</code> is t
|
||||
<p>The <code>*Displayee.cs</code> files are scene-graph composition objects rather than web types, and each has a
|
||||
live instantiation site: the execution scene, the equipment-setup scene, the step-subtraction scene
|
||||
and the two coordinate-frame displayees the first two compose in.</p>
|
||||
<p>Documented in <a class="xref" href="../../conventions/rendering-canvas-web-service.html">Rendering Canvas on Web Service</a>,
|
||||
<a class="xref" href="../../widget/renderingcanvas-tool-bar.html">RenderingCanvas Tool Bar</a> and — for
|
||||
<p>Documented in <a class="xref" href="../conventions/rendering-canvas-web-service.html">Rendering Canvas on Web Service</a>,
|
||||
<a class="xref" href="../widget/renderingcanvas-tool-bar.html">RenderingCanvas Tool Bar</a> and — for
|
||||
<code>Disp/StlPreviewController.cs</code> and the per-connection slot behind it —
|
||||
<a class="xref" href="../../util/stl-preview-pane.html">STL Preview Pane</a>.</p>
|
||||
<a class="xref" href="../util/stl-preview-pane.html">STL Preview Pane</a>.</p>
|
||||
<h2 id="environments">Environments</h2>
|
||||
<p><code>Environments/</code> is session and environment scope: the project lifecycle, per-user preference
|
||||
persistence, the Execution page's division flags, and the shipped localized step-present catalog. It
|
||||
is also where the Log Viewer's data comes from — the log endpoints sit on the project controller
|
||||
beside status, new, load, save, reload, save-as and close.</p>
|
||||
<p>Documented in <a class="xref" href="../../shell/main-panel.html">Main Panel</a>,
|
||||
<a class="xref" href="../../platform/session-state.html">Session State</a>,
|
||||
<a class="xref" href="../../shell/preference-menu.html">Preference Menu Dropdown</a>,
|
||||
<a class="xref" href="../../platform/i18n.html">Internationalization</a>,
|
||||
<a class="xref" href="../../platform/log-viewer.html">Log Viewer Page</a> and
|
||||
<a class="xref" href="../../execution/step-present-dialog.html">Step Present Dialog</a>.</p>
|
||||
<p>Documented in <a class="xref" href="../shell/main-panel.html">Main Panel</a>,
|
||||
<a class="xref" href="../platform/session-state.html">Session State</a>,
|
||||
<a class="xref" href="../shell/preference-menu.html">Preference Menu Dropdown</a>,
|
||||
<a class="xref" href="../platform/i18n.html">Internationalization</a>,
|
||||
<a class="xref" href="../platform/log-viewer.html">Log Viewer Page</a> and
|
||||
<a class="xref" href="../execution/step-present-dialog.html">Step Present Dialog</a>.</p>
|
||||
<h2 id="common-geom-and-widget">Common, Geom and Widget</h2>
|
||||
<ul>
|
||||
<li><code>Common/</code> — cross-cutting infrastructure with no single domain owner: the optional login gate, the
|
||||
@@ -245,31 +245,31 @@ disconnect handler always walks an empty registry. The bound comes from the brow
|
||||
<code>wwwroot-src/src/composables/useCleanupHub.ts</code> posts the index-remove endpoint on
|
||||
<code>Common/IndexController.cs</code> for every key it holds when its host unmounts, and again whenever a
|
||||
key it registered is replaced. Documented in
|
||||
<a class="xref" href="../../conventions/dictionary-service-pattern.html">Dictionary Service Pattern</a>,
|
||||
<a class="xref" href="../../conventions/webapi-hub-cleanup-pattern.html">WebAPI Hub Cleanup Pattern</a>,
|
||||
<a class="xref" href="../../platform/login-and-auth.html">Login and Authentication</a> and
|
||||
<a class="xref" href="../../platform/log-viewer.html">Log Viewer Page</a>.</li>
|
||||
<a class="xref" href="../conventions/dictionary-service-pattern.html">Dictionary Service Pattern</a>,
|
||||
<a class="xref" href="../conventions/webapi-hub-cleanup-pattern.html">WebAPI Hub Cleanup Pattern</a>,
|
||||
<a class="xref" href="../platform/login-and-auth.html">Login and Authentication</a> and
|
||||
<a class="xref" href="../platform/log-viewer.html">Log Viewer Page</a>.</li>
|
||||
<li><code>Geom/</code> — one CRUD controller per geometry kind, on the same keyed-object pattern, and nothing
|
||||
else: no hubs, no services. Documented in <a class="xref" href="../../geom/index.html">Geometry Panels</a>.</li>
|
||||
else: no hubs, no services. Documented in <a class="xref" href="../geom/index.html">Geometry Panels</a>.</li>
|
||||
<li><code>Widget/</code> — the generic value and lifecycle controllers the reusable inputs post to: the 3D vector,
|
||||
the 4×4 matrix, and the object-management surface that handles file operations, XML editing and
|
||||
copy-paste for indexed objects. Documented in
|
||||
<a class="xref" href="../../widget/object-management-menu-button.html">Object Management Menu Button</a>,
|
||||
<a class="xref" href="../../widget/vec3d-control.html">Vec3dControl Component</a> and
|
||||
<a class="xref" href="../../widget/mat4d-control.html">Mat4dControl Component</a>.</li>
|
||||
<a class="xref" href="../widget/object-management-menu-button.html">Object Management Menu Button</a>,
|
||||
<a class="xref" href="../widget/vec3d-control.html">Vec3dControl Component</a> and
|
||||
<a class="xref" href="../widget/mat4d-control.html">Mat4dControl Component</a>.</li>
|
||||
</ul>
|
||||
<h2 id="controller-and-demo">Controller and Demo</h2>
|
||||
<p><code>Controller/</code> is the single-file surface behind the legacy controller page. It has a successor in
|
||||
<code>Mech/SoftNcRunnerController.cs</code>, whose own doc comment says so, but <strong>both are live</strong> — the legacy
|
||||
page has not been removed. Documented in <a class="xref" href="../../legacy-controller.html">Legacy Controller</a>.</p>
|
||||
page has not been removed. Documented in <a class="xref" href="../legacy-controller.html">Legacy Controller</a>.</p>
|
||||
<p><code>Demo/</code> is customer-facing sample code — a custom colour guide and a per-step optimization sweep —
|
||||
compiled into the assembly with no call site in the running application. Read it as an example of
|
||||
how to extend the engine, not as part of the shipped behaviour.</p>
|
||||
<h2 id="see-also">See Also</h2>
|
||||
<ul>
|
||||
<li><a class="xref" href="../index.html">Anatomy by Source Directory</a> — the other two source trees, and how this
|
||||
<li><a class="xref" href="index.html">Anatomy by Source Directory</a> — the other two source trees, and how this
|
||||
layer is meant to be entered</li>
|
||||
<li><a class="xref" href="../webservice-spa/index.html">Web Service SPA Source Tree</a> — the front end this process
|
||||
<li><a class="xref" href="webservice-spa.html">Web Service SPA Source Tree</a> — the front end this process
|
||||
serves and answers</li>
|
||||
</ul>
|
||||
|
||||
+39
-39
@@ -7,13 +7,13 @@
|
||||
<meta name="title" content="Web Service SPA Source Tree | HiAPI-C# 2025 ">
|
||||
|
||||
|
||||
<link rel="icon" href="../../../img/HiAPI.favicon.ico">
|
||||
<link rel="stylesheet" href="../../../public/docfx.min.css">
|
||||
<link rel="stylesheet" href="../../../public/main.css">
|
||||
<meta name="docfx:navrel" content="../../../toc.html">
|
||||
<meta name="docfx:tocrel" content="../toc.html">
|
||||
<link rel="icon" href="../../img/HiAPI.favicon.ico">
|
||||
<link rel="stylesheet" href="../../public/docfx.min.css">
|
||||
<link rel="stylesheet" href="../../public/main.css">
|
||||
<meta name="docfx:navrel" content="../../toc.html">
|
||||
<meta name="docfx:tocrel" content="toc.html">
|
||||
|
||||
<meta name="docfx:rel" content="../../../">
|
||||
<meta name="docfx:rel" content="../../">
|
||||
|
||||
|
||||
|
||||
@@ -30,7 +30,7 @@
|
||||
<meta name="loc:copy" content="Copy">
|
||||
<meta name="loc:downloadPdf" content="Download PDF">
|
||||
|
||||
<script type="module" src="./../../../public/docfx.min.js"></script>
|
||||
<script type="module" src="./../../public/docfx.min.js"></script>
|
||||
|
||||
<script>
|
||||
const theme = localStorage.getItem('theme') || 'auto'
|
||||
@@ -43,8 +43,8 @@
|
||||
<header class="bg-body border-bottom">
|
||||
<nav id="autocollapse" class="navbar navbar-expand-md" role="navigation">
|
||||
<div class="container-xxl flex-nowrap">
|
||||
<a class="navbar-brand" href="../../../index.html">
|
||||
<img id="logo" class="svg" src="../../../img/HiAPI.logo.png" alt="">
|
||||
<a class="navbar-brand" href="../../index.html">
|
||||
<img id="logo" class="svg" src="../../img/HiAPI.logo.png" alt="">
|
||||
|
||||
</a>
|
||||
<button class="btn btn-lg d-md-none border-0" type="button" data-bs-toggle="collapse" data-bs-target="#navpanel" aria-controls="navpanel" aria-expanded="false" aria-label="Toggle navigation">
|
||||
@@ -116,7 +116,7 @@ page exists for it.</p>
|
||||
<li><code>wwwroot-src/src/App.vue</code> — not the shell. It is a bare router view plus the once-per-load wiring
|
||||
that subscribes the project store to the execution-status hub. The real shell is
|
||||
<code>wwwroot-src/src/layouts/MainLayout.vue</code>. Documented in
|
||||
<a class="xref" href="../../platform/session-state.html">Session State</a>.</li>
|
||||
<a class="xref" href="../platform/session-state.html">Session State</a>.</li>
|
||||
<li><code>wwwroot-src/src/boot/auth.ts</code>, <code>wwwroot-src/src/boot/i18n.ts</code>,
|
||||
<code>wwwroot-src/src/boot/routine-toast.ts</code> — Quasar boot files, run once before mount and in a
|
||||
declared order. The auth boot file patches the global fetch and inspects every 401, which is why
|
||||
@@ -125,13 +125,13 @@ fires only while the auth store reports the login gate enabled, and not when the
|
||||
already on the login route, so on a build with the gate off a 401 redirects nowhere. The toast
|
||||
boot file patches the shared notify helper so every toast is mirrored into the footer history
|
||||
without touching a call site. Documented in
|
||||
<a class="xref" href="../../platform/login-and-auth.html">Login and Authentication</a> and
|
||||
<a class="xref" href="../../platform/i18n.html">Internationalization</a>.</li>
|
||||
<a class="xref" href="../platform/login-and-auth.html">Login and Authentication</a> and
|
||||
<a class="xref" href="../platform/i18n.html">Internationalization</a>.</li>
|
||||
<li><code>wwwroot-src/src/layouts/MainLayout.vue</code> — the shell: menu bar, the routed page container, footer.
|
||||
It also owns the mechanism every page depends on and no page implements: a project epoch, bumped
|
||||
when the loaded project changes, is the keep-alive key, so a project change destroys and rebuilds
|
||||
every cached page. Documented in <a class="xref" href="../../shell/main-panel.html">Main Panel</a> and
|
||||
<a class="xref" href="../../platform/session-state.html">Session State</a>.</li>
|
||||
every cached page. Documented in <a class="xref" href="../shell/main-panel.html">Main Panel</a> and
|
||||
<a class="xref" href="../platform/session-state.html">Session State</a>.</li>
|
||||
</ul>
|
||||
<h2 id="the-rest-edge">The REST Edge</h2>
|
||||
<p><code>wwwroot-src/src/api/</code> is one thin typed module per backend controller family — functions, DTO types
|
||||
@@ -142,7 +142,7 @@ application: each module wraps one named controller almost one-to-one.</p>
|
||||
deliberately bypass it, so “every API module goes through it” would be wrong.</li>
|
||||
<li><code>wwwroot-src/src/api/index-service.ts</code> — <strong>not</strong> a barrel file. It wraps the backend's keyed object
|
||||
store, which is where the <code>key</code> string threaded through the whole application comes from.
|
||||
Documented in <a class="xref" href="../../conventions/dictionary-service-pattern.html">Dictionary Service Pattern</a>.</li>
|
||||
Documented in <a class="xref" href="../conventions/dictionary-service-pattern.html">Dictionary Service Pattern</a>.</li>
|
||||
</ul>
|
||||
<h2 id="components">Components</h2>
|
||||
<ul>
|
||||
@@ -152,9 +152,9 @@ Documented in <a class="xref" href="../../conventions/dictionary-service-pattern
|
||||
The canvas does not render locally: it opens a SignalR connection and paints server-rendered
|
||||
frames, which is why several pages each own a canvas bound to a different backend scene.
|
||||
Documented in
|
||||
<a class="xref" href="../../conventions/rendering-canvas-web-service.html">Rendering Canvas on Web Service</a>,
|
||||
<a href="../../util/file-explorer.html">File Explorer</a> and
|
||||
<a class="xref" href="../../util/stl-preview-pane.html">STL Preview Pane</a>.</li>
|
||||
<a class="xref" href="../conventions/rendering-canvas-web-service.html">Rendering Canvas on Web Service</a>,
|
||||
<a href="../util/file-explorer.html">File Explorer</a> and
|
||||
<a class="xref" href="../util/stl-preview-pane.html">STL Preview Pane</a>.</li>
|
||||
<li><code>wwwroot-src/src/components/controlTree/</code> — the largest folder in the SPA by a factor of two, and
|
||||
a <strong>registry-driven panel system</strong> rather than a folder of tree widgets.
|
||||
<code>wwwroot-src/src/components/controlTree/itemTypes.ts</code> and its domain siblings map an item-type
|
||||
@@ -164,14 +164,14 @@ tree, gates a dirty selection switch, and syncs <code>?tree=</code>; the many
|
||||
panel components are the editors the registry resolves. It serves <strong>three</strong> consumers, not one —
|
||||
the Execution and General Setup pages each instantiate their own scoped host, while the Tool House
|
||||
page reuses the identical panels and registry through a tab cascade and never touches the host.
|
||||
Documented in <a class="xref" href="../../platform/control-tree.html">Control Tree</a> — the folder's own page — with
|
||||
<a class="xref" href="../../execution/index.html">Execution Page</a>, <a class="xref" href="../../general-setup/index.html">General Setup Page</a> and
|
||||
<a class="xref" href="../../tool-house/index.html">Tool House Page</a> for the three consumers, and
|
||||
<a class="xref" href="../../execution/program.html">Program Branch</a> for the NC-program item types and panels that live in
|
||||
Documented in <a class="xref" href="../platform/control-tree.html">Control Tree</a> — the folder's own page — with
|
||||
<a class="xref" href="../execution/index.html">Execution Page</a>, <a class="xref" href="../general-setup/index.html">General Setup Page</a> and
|
||||
<a class="xref" href="../tool-house/index.html">Tool House Page</a> for the three consumers, and
|
||||
<a class="xref" href="../execution/program.html">Program Branch</a> for the NC-program item types and panels that live in
|
||||
this folder. The nineteen <code>SoftNc*</code> panels and their registry are a wave of their own, documented
|
||||
under <a class="xref" href="../../general-setup/controller/index.html">Controller Branch</a>: which of them the tree mounts at all is decided
|
||||
by <a class="xref" href="../../general-setup/controller/brand-matrix.html">Brand Matrix</a>, and what they share is
|
||||
<a class="xref" href="../../general-setup/controller/editing-contract.html">Editing Contract</a>.</li>
|
||||
under <a class="xref" href="../general-setup/controller/index.html">Controller Branch</a>: which of them the tree mounts at all is decided
|
||||
by <a class="xref" href="../general-setup/controller/brand-matrix.html">Brand Matrix</a>, and what they share is
|
||||
<a class="xref" href="../general-setup/controller/editing-contract.html">Editing Contract</a>.</li>
|
||||
<li><code>wwwroot-src/src/components/controlTree/toolhouse/</code> — the Tool House branch's panels. Easy to
|
||||
confuse with <code>wwwroot-src/src/components/toolhouse/</code>: these are the panels the registry mounts,
|
||||
that folder holds
|
||||
@@ -180,24 +180,24 @@ the content fragments those panels embed, and the dependency runs one way only.<
|
||||
sub-folder, the uPlot charting layer. Not purely page-local:
|
||||
<code>wwwroot-src/src/components/execution/ExecutionToolBar.vue</code> is mounted by the Control Tree's
|
||||
primary panel, and the spindle contours chart imports from the charts folder. Documented in
|
||||
<a class="xref" href="../../execution/index.html">Execution Page</a>, <a class="xref" href="../../execution/strip-charts.html">Strip Charts</a> and
|
||||
<a class="xref" href="../../execution/cycle-line-charts.html">Cycle-Line Charts</a>.</li>
|
||||
<a class="xref" href="../execution/index.html">Execution Page</a>, <a class="xref" href="../execution/strip-charts.html">Strip Charts</a> and
|
||||
<a class="xref" href="../execution/cycle-line-charts.html">Cycle-Line Charts</a>.</li>
|
||||
<li><code>wwwroot-src/src/components/geom/</code> and <code>wwwroot-src/src/components/topo/</code> — structural twins: one
|
||||
editor per kind, the same <code>modelKey</code> prop and <code>changed</code> / <code>error</code> emits, and a single kind → editor
|
||||
map — <code>wwwroot-src/src/components/geom/geometryEditors.ts</code> and
|
||||
<code>wwwroot-src/src/components/topo/transformerEditors.ts</code> — that is the source of truth for both the
|
||||
switchboard and the Control Tree. A new kind must be registered there,
|
||||
not merely dropped in the folder. “topo” means coordinate <strong>transformers</strong>, not mesh topology.
|
||||
Documented in <a class="xref" href="../../geom/index.html">Geometry Panels</a> and
|
||||
<a class="xref" href="../../geom/transformer-panel.html">Transformer Select Panel</a>.</li>
|
||||
Documented in <a class="xref" href="../geom/index.html">Geometry Panels</a> and
|
||||
<a class="xref" href="../geom/transformer-panel.html">Transformer Select Panel</a>.</li>
|
||||
<li><code>wwwroot-src/src/components/widgets/</code> — the reusable input library: numeric, vector and matrix
|
||||
inputs, the file-path input and picker, the CodeMirror text editor, the display-options and
|
||||
object-management menus. Documented in <a class="xref" href="../../widget/index.html">Widgets</a>.</li>
|
||||
object-management menus. Documented in <a class="xref" href="../widget/index.html">Widgets</a>.</li>
|
||||
<li><code>wwwroot-src/src/components/panels/</code> — pure layout machinery with no domain: the collapsible
|
||||
expansion panel and the resizable stack whose registration contract produces the “rows collapse in
|
||||
place” behaviour the tree pages describe. Documented in
|
||||
<a class="xref" href="../../platform/control-tree.html">Control Tree</a>, whose dock rows are both expansion rows, and
|
||||
<a class="xref" href="../../platform/session-state.html">Session State</a> for the keep-mounted flag that decides whether a
|
||||
<a class="xref" href="../platform/control-tree.html">Control Tree</a>, whose dock rows are both expansion rows, and
|
||||
<a class="xref" href="../platform/session-state.html">Session State</a> for the keep-mounted flag that decides whether a
|
||||
collapse unmounts its content.</li>
|
||||
<li><code>wwwroot-src/src/components/mission/</code>, <code>.../toolhouse/</code>, <code>.../spindle/</code>, <code>.../preference/</code>,
|
||||
<code>.../mech/</code>, <code>.../workpiece/</code> and <code>.../controller/</code> — the domain and page folders named above. The
|
||||
@@ -212,21 +212,21 @@ behind every hub composable, so a hub opens only while something consumes it.
|
||||
<code>wwwroot-src/src/composables/useToolHouse.ts</code> and <code>wwwroot-src/src/composables/useSpindleCapability.ts</code> are module-level
|
||||
singletons, not per-component instances. <code>wwwroot-src/src/composables/useViewPrefs.ts</code> stores layout state in the
|
||||
browser only — it is neither in the project file nor in the server's user config. Documented in
|
||||
<a class="xref" href="../../platform/session-state.html">Session State</a>.</li>
|
||||
<a class="xref" href="../platform/session-state.html">Session State</a>.</li>
|
||||
<li><code>wwwroot-src/src/stores/</code> — four Pinia stores. <code>wwwroot-src/src/stores/index.ts</code> is <strong>not</strong> a barrel; it is the
|
||||
Quasar factory. Most shared state lives in <code>composables/</code> instead. Documented in
|
||||
<a class="xref" href="../../platform/session-state.html">Session State</a>.</li>
|
||||
<a class="xref" href="../platform/session-state.html">Session State</a>.</li>
|
||||
<li><code>wwwroot-src/src/router/</code> — <code>wwwroot-src/src/router/routes.ts</code> is the table plus the legacy redirects, and
|
||||
<code>wwwroot-src/src/router/treeRoutes.ts</code> is the load-bearing file its name understates: it holds the accumulated
|
||||
chain of tree-id renames and the id → page resolver, plus the tab-name constants both the router
|
||||
and the tab composable consume. A route's <code>meta.title</code> holds an i18n key, not a title.
|
||||
Documented in <a class="xref" href="../../platform/tree-ids-and-routes.html">Tree Ids and Routes</a>.</li>
|
||||
Documented in <a class="xref" href="../platform/tree-ids-and-routes.html">Tree Ids and Routes</a>.</li>
|
||||
<li><code>wwwroot-src/src/i18n/</code> — three locales shipped together, each a list of namespace files.
|
||||
<strong>English is the schema</strong>, not merely a locale: the two Chinese bundles are typed against it, so a
|
||||
key present in English and missing there is a build error. Keys are split by UI region rather than
|
||||
by source file, so there is no one-to-one mapping between an i18n file and a components folder.
|
||||
Documented in <a class="xref" href="../../platform/i18n.html">Internationalization</a> and
|
||||
<a class="xref" href="../../conventions/translation-remarks.html">Translation Remarks</a>.</li>
|
||||
Documented in <a class="xref" href="../platform/i18n.html">Internationalization</a> and
|
||||
<a class="xref" href="../conventions/translation-remarks.html">Translation Remarks</a>.</li>
|
||||
<li><code>wwwroot-src/src/pages/</code> — one file per route, and page size is a poor guide to importance: the
|
||||
General Setup page is small because it delegates almost everything to the Control Tree dock and the
|
||||
equipment canvas, while the File Explorer page is a thin wrapper around a large shared component.</li>
|
||||
@@ -237,9 +237,9 @@ is a separate, shorter toast scale.</li>
|
||||
</ul>
|
||||
<h2 id="see-also">See Also</h2>
|
||||
<ul>
|
||||
<li><a class="xref" href="../index.html">Anatomy by Source Directory</a> — the other two source trees, and how this
|
||||
<li><a class="xref" href="index.html">Anatomy by Source Directory</a> — the other two source trees, and how this
|
||||
layer is meant to be entered</li>
|
||||
<li><a class="xref" href="../webservice-backend/index.html">Web Service Backend Source Tree</a> — the process that
|
||||
<li><a class="xref" href="webservice-backend.html">Web Service Backend Source Tree</a> — the process that
|
||||
serves this application and answers its REST and hub traffic</li>
|
||||
</ul>
|
||||
|
||||
Reference in New Issue
Block a user