This commit is contained in:
2026-09-09 18:06:21 +08:00
parent 161af68fe3
commit 45b9f9ed5d
79 changed files with 1167 additions and 1532 deletions
@@ -91,9 +91,7 @@
<p>On the shipped web client the Stick Tool Panel is the <code>toolhouse/tool-&lt;n&gt;</code> node of the
<a class="xref" href="index.html">Tool House Page</a>: picking a tool in that page's left list mounts it, and
its editor is the tab strip filling the page's middle column.</p>
<p>The key model is <a class="xref" href="../../api/Hi.Milling.MillingTools.MillingTool.html">MillingTool</a>.
Other model: <code>UserService</code> — the WPF client reads its <code>EnablePhysics</code> to decide whether its
Intelligent Holder tab is shown.</p>
<p>The key model is <a class="xref" href="../../api/Hi.Milling.MillingTools.MillingTool.html">MillingTool</a>.</p>
<h2 id="layout">Layout</h2>
<ul>
<li>Tool Node (<code>toolhouse/tool-&lt;n&gt;</code>)
@@ -136,19 +134,14 @@ Intelligent Holder tab is shown.</p>
</ul>
</li>
</ul>
<p>All five tabs ship unconditionally on the web page: the Int. Holder tab is one of the five
<code>TOOL_TABS</code>, and the tool node always grows its <code>…/intelligent</code> child. The WPF Stick Tool Panel is
the client that hides its Intelligent Holder tab when <code>UserService.EnablePhysics</code> is false, from
<code>UpdateIntelligentHolderTabVisibility</code> in <code>Mech/ToolHouse/StickToolPanel.xaml.cs</code>.</p>
<p>Object Management on the web page is house-level rather than per-tool: the
<p>All five tabs ship unconditionally: the Int. Holder tab is one of the five <code>TOOL_TABS</code>, and the tool
node always grows its <code>…/intelligent</code> child. Nothing gates it on <code>UserService.EnablePhysics</code>.</p>
<p>Object Management is house-level rather than per-tool: the
<a class="xref" href="../widget/object-management-menu-button.html">Object Management Menu Button</a> sits on the Tool House root
panel with file extension <code>.MachiningToolHouse</code> (load type <code>Hi.Machining.MachiningToolHouse, HiMech</code>)
and covers the whole house, while the tool node offers Duplicate and Delete for the single tool. The
WPF Stick Tool Panel is the client that carries a per-tool Object Management Menu Button on its head
line, with file extension <code>.MillingTool</code> and the Stick Tool Management Panel as its pointed editor
panel. That client also gives the identity fields a tab of their own — <strong>Info</strong>, a read-only Abstract
Note TextBox over an editable Note TextBox; on the web page those two fields are the General tab,
alongside Tool ID and the Duplicate / Delete buttons.</p>
and covers the whole house, while the tool node offers Duplicate and Delete for the single tool.
There is no per-tool object-management button, and no separate tab for the identity fields — the
Abstract Note and Note sit on the General tab, alongside Tool ID and the Duplicate / Delete buttons.</p>
<h2 id="tabs-and-the-url">Tabs and the URL</h2>
<p>The tabs are <code>TOOL_TABS</code> — <strong>General</strong>, <strong>Cutter</strong>, <strong>Holder</strong>, <strong>Clamping</strong>, <strong>Int. Holder</strong> —
declared in <code>wwwroot-src/src/router/treeRoutes.ts</code>, and those same five names are the <code>:tab?</code> segment