# 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。