Files
cnc_wams/完善wasm/working/08-源码资产映射与证据索引.md
2026-07-10 21:26:42 -04:00

51 lines
6.3 KiB
Markdown
Raw Permalink Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# 08-源码资产映射与证据索引
## 使用规则
本文件用于回答“Web/WASM 中某个行为对应 LinuxCNC 哪个源文件、哪个配置、哪个证据入口”。后续新增功能时,必须先在本表登记来源和验证入口,再更新代码或测试。
## 核心源码映射
| 功能域 | LinuxCNC 权威来源 | `wasm-port` 入口 | `xyzbc-trt` Web 入口 | 主要证据 |
| --- | --- | --- | --- | --- |
| 上游基线 | `linuxcnc` commit `60597ee0718873d2449058c824262a275e5e4bad` | `tools/upstream-baseline.txt``docs/scope-and-baseline.md` | `working/11-LinuxCNC源码与真实执行严格对标任务.md` | `verify_upstream_baseline.sh` |
| vendored 同步 | `src/emc/*``src/hal/*``src/libnml/*``configs/sim/*` 选定文件 | `tools/source-manifest.txt``docs/source-reuse-map.md` | `app/src/profiles/source-reference-map.js` | `verify_vendor_sync.sh` |
| 禁止自研 CNC 语义 | LinuxCNC RS274、TP、kinematics、tooldata、task/HAL 源码 | `tools/verify_no_standalone_cnc_semantics.sh` | Node smoke 与 evidence 中的 `sourceMode``semanticBoundary` 字段 | guard 命令和源码审计 |
| INI | `src/emc/ini/inifile.cc``configs/sim/.../xyzbc-trt.ini` | `runtime/sdk/src/linuxcnc-ini.js``tests/wasm/node/verify_ini_wasm.sh` | `app/src/runtime/linuxcnc-ini-runtime.js``app/src/profiles/xyzbc-trt.js` | INI WASM、browser INI panel、Web evidence |
| RS274 解释器 | `src/emc/rs274ngc/*` | `runtime/sdk/src/linuxcnc-interp.js``tests/wasm/node/verify_interp_wasm.sh` | `app/src/runtime/linuxcnc-interpreter-runtime.js` | canonical events、interp browser、machine-file remap run |
| nc_files | `linuxcnc/nc_files` | `tests/native/verify_nc_files.sh``tests/wasm/node/verify_nc_files_wasm.sh` | 代表程序由 Web app 通过 machine-file staging 或内置 selector 间接覆盖 | nc_files summary |
| configs/sim | `linuxcnc/configs/sim` | `tests/native/verify_sim_configs.sh``verify_sim_configs_wasm.sh``verify_sim_configs_inventory_wasm.sh` | `xyzbc-trt` profile 和 staged machine files | sim configs summary、inventory audit |
| XYZBC TRT 配置 | `configs/sim/axis/vismach/5axis/table-rotary-tilting/xyzbc-trt.ini` | five-axis sim-config/remap harness | `app/src/profiles/xyzbc-trt.js` | native/Web/compare evidence |
| PyVCP/POSTGUI HAL | `xyzbc-trt.xml``switchkins_postgui.hal` | sim-config assets 和 HAL boundary docs | `panelSchema`、HAL model、axis shell | browser buttons、POSTGUI HAL evidence |
| switchkins/remap | `remap_subs/428remap.ngc``429remap.ngc``430remap.ngc``interp_remap.cc` | `linuxcnc_5axis_remap_execute_harness`、interp WASM | M428/M429/M430 UI 和 task/HAL runtime | switchkins transitions、line trace |
| TRT 运动学 | `src/emc/kinematics/xyzbc-trt-kins.c``trtfuncs.c``switchkins.c` | `build_kinematics_wasm.sh``verify_kinematics_wasm.sh` | `app/src/runtime/linuxcnc-kinematics-runtime.js` | kinematics readiness、forward/inverse evidence |
| TP/轨迹规划 | `src/emc/tp/*` | `build_tp_wasm.sh``verify_tp_wasm.sh` | interpreter runtime 的 TP timing boundary | TP WASM smoke、planner timing |
| Task/HAL/Motion | `src/emc/task/*``src/emc/motion/*``src/hal/*` | `build_task_hal_wasm.sh``verify_task_hal_wasm.sh`、source reuse map | `app/src/runtime/linuxcnc-task-hal-runtime.js` | task/HAL Node/browser smoke、readiness JSON |
| HAL 基础组件预编译 | `src/hal/components/and2.comp``or2.comp``not.comp``mux2.comp``scale.comp``src/hal/utils/halcompile.g` | 五个 `.comp` 已进入双清单/vendor`tools/verify_hal_component_source_sync.sh` 已通过;生成/执行合同见 `24`,实施证据见 `26` | 代表配置中的 `loadrt mux2/scale` 仍只能作来源;后续消费 task-HAL WASM runtime | P1 source/hash 已有generated report、precompile manifest、truth-table/formula、thread/net evidence 待补 |
| Host runtime opt-in/promotion | `emctask.cc``emctaskmain.cc``tooldata_db.cc`、Python remap、RTAPI/HAL/motion、HAL drivers | `docs/host-runtime-boundary-handoff.md`、native probe summary、runtime-boundary TSV、project release readiness | `full-execution-boundary.js``native-task-hal-audit.js`;只发布 `web_simulation_only` | `host_runtime_opt_in_evidence`、native evidence acceptance、Node/Browser gate、manual lock decision |
| tool table | `src/emc/tooldata/tooldata_common.cc``xyzbc-trt.tbl` | tooldata probes、tool DB process boundary | `tool-db-simulation.js`、profile tool table staging | tool table evidence、tool offset closure |
| parameter file | `xyzbc.var`、RS274 parameter restore/save | interpreter/OPFS bridges | OPFS staging/session | OPFS/session evidence |
| AXIS UI 参考 | `src/emc/usr_intf/axis/scripts/axis.py` | 不作为实现代码,只作行为参考 | `app/src/ui/axis-shell.js`、button parity | button parity JSON、browser button tests |
| Vismach 参考 | `src/hal/user_comps/vismach/xyzbc-trt-gui.py` | 不作为浏览器实现代码,只作模型/pin 参考 | `five-axis-scene.js``vismach-model-state.js` | canvas smoke、vismachEquivalent |
## 证据文件入口
| 类型 | 路径 |
| --- | --- |
| `wasm-port` 源码复用地图 | `wasm-port/docs/source-reuse-map.md` |
| `wasm-port` 兼容性验证 | `wasm-port/docs/compatibility-validation.md` |
| `wasm-port` 测试迁移 tracker | `wasm-port/docs/linuxcnc-test-porting-tracker.md` |
| `wasm-port` release handoff | `wasm-port/docs/project-release-handoff.md` |
| `xyzbc-trt` runtime 文件说明 | `web-rtcp-5axis-xyzbc-trt-sim-plan/doc/xyzbc-trt-runtime-files.md` |
| `xyzbc-trt` 全量对标矩阵 | `web-rtcp-5axis-xyzbc-trt-sim-plan/working/07-全量对标追踪矩阵.md` |
| native evidence | `web-rtcp-5axis-xyzbc-trt-sim-plan/working/evidence/native-xyzbc-trt-evidence.json` |
| Web evidence | `web-rtcp-5axis-xyzbc-trt-sim-plan/working/evidence/web-xyzbc-trt-evidence.json` |
| compare evidence | `web-rtcp-5axis-xyzbc-trt-sim-plan/working/evidence/compare-xyzbc-trt-evidence.json` |
## 复核要求
- 表中任何 `wasm-port` 入口变更后,必须至少跑对应 Node/WASM gate。
- 表中任何 `xyzbc-trt` Web 入口变更后,必须至少跑 `npm --prefix web-rtcp-5axis-xyzbc-trt-sim-plan/app run smoke:node`
- 影响 browser UI、OPFS、canvas、按钮或截图证据时必须补跑对应 browser smoke。
- 影响 native/Web/compare JSON 字段时,必须重采 evidence 并更新 compare。