新迪 STEPViewer 嵌入菜单精简补丁 (欧霓博目录专用)
====================================================
用途: 网页目录 iframe 里只保留 剖切/线框/透明/视角/测量 五个功能。
本地副本 OnebotCatalog\viewer\STEPViewer\ 已改好 (app.js + style.css)。
Z 盘原项目 (Z:\web\FTP_ObjectStorage\上海新迪3D\dev) 未动 —— 生产环境 (3d.ruiguo.wang)
由 Z 盘 FTP 同步, 需要你们自己在 Z 盘那套部署文件里应用同样的两处改动:

【改动 1】app.js, 约 2075 行 "URL 参数自动加载" 注释块处, 把:
    const EMBED_MODE = new URLSearchParams(location.search).get('embed') === '1';
    if (EMBED_MODE) document.body.classList.add('embed');
改成 (加两行):
    const EMBED_MODE = new URLSearchParams(location.search).get('embed') === '1';
    if (EMBED_MODE) document.body.classList.add('embed');
    const MIN_MENU = new URLSearchParams(location.search).get('menu') === 'min';
    if (MIN_MENU) document.body.classList.add('menu-min');

【改动 2】style.css, "body.embed #topbar" 规则之后追加 (含隐藏模型树):
    body.menu-min #treePanel { display: none; }
    body.menu-min #viewport { left: 0; }
    body.menu-min .tool-btn[data-tool="select"],
    body.menu-min .tool-btn[data-tool="drag"],
    body.menu-min .tool-btn[data-tool="singalDrag"],
    body.menu-min .tool-btn[data-tool="explode"],
    body.menu-min #btnTree,
    body.menu-min #btnColorPanel,
    body.menu-min #btnShowAll,
    body.menu-min #btnBbox,
    body.menu-min #btnClear,
    body.menu-min #btnSingleReset,
    body.menu-min #btnAllReset,
    body.menu-min #btnAxes,
    body.menu-min #btnFull { display: none; }

【改动 3】index.html, <body> 之后紧接一段同步脚本 (首帧渲染前应用样式, 消除
加载瞬间完整界面闪烁; 2026-08-24 补丁):
    <script>
      (function () {
        var q = new URLSearchParams(location.search);
        if (q.get('embed') === '1') document.body.classList.add('embed');
        if (q.get('menu') === 'min') document.body.classList.add('menu-min');
      })();
    </script>

【目录站侧】OnebotCatalog\web\app.js 的 iframe 地址已带 &menu=min (本地已改),
生产发布时同样带上即可。独立打开查看器 (不带 menu=min) 时菜单保持原样, 互不影响。
