# 3axis-tutorial Native/Web 工具对标验证 本验证使用两个独立工具执行同一案例: - native AXIS:`tool/linuxcnc-axis-manual-execution` - Web/WASM:`tool/linuxcnc-web-wasm-manual-execution` 案例和程序固定为: - `linuxcnc/configs/sim/axis/vismach/3axis-tutorial/3axis-tutorial.ini` - `linuxcnc/nc_files/3dtest.ngc` ## 执行流程 两边均执行同一操作意图: 1. 启动前清理 LinuxCNC 仿真和 stale lock。 2. 打开案例并确认界面可见。 3. F1 取消急停。 4. F2 上电。 5. Home All / `Ctrl+Home`。 6. 运行 G-code。 7. 采集窗口或页面、DRO、运行态、Canvas/截图和最终状态。 8. 退出并再次清理 LinuxCNC。 native 使用真实 AXIS 窗口和 Xlib 键盘事件;Web 使用真实 Chromium CDP DOM 点击、production Vite preview、真实 WASM module 和 Dedicated Worker。两边都不使用物理硬件。 ## 结果 机器可读结果见 [comparison report](../coverage/axis3-tutorial-native-web-tool-comparison.report.json)。 报告字段: - native AXIS 标题:`3dtest.ngc - AXIS 2.10.0~pre1 on 3axis-tutorial` - native 窗口:`1300x1297` - Web browser:Google Chrome headless + SwiftShader - native screenshots:4 - Web screenshots:4 - Web Canvas:非空,`941x471` - Web exact source:54 行 `3dtest.ngc` - Web canonical toolpath:49 segments - selected-case WASM acceptance:`20/20` - report self-hash:见 comparison report 的 `report_sha256` 结论为 `native_and_web_tools_match_selected_case_workflow`,表示在固定案例的仿真控制流程、状态门禁、程序加载/运行、HOME 和可视化证据范围内对标通过。 ## 边界 该结论仅覆盖固定 `3axis-tutorial` 案例。native 使用 POSIX non-realtime 仿真,Web 使用 Chromium SwiftShader;不代表实时硬件、真实 LinuxCNC 全量配置、Safari 或全量 LinuxCNC parity。