转向直接移植LinuxCNC源程序

结论:明确禁止继续扩展自写 CNC 主体语义,最小 runtime 仅保留为迁移探针;新增 interp_convert.cc 源码直连编译探针,并以最小 emcStatus 状态边界 shim 暴露 native runtime 阻塞点。检查:git diff --check 通过;wasm-port/tests/native/verify_native_probes.sh 通过,linuxcnc_interp_convert_source_probe exitcode=0。
This commit is contained in:
cnc
2026-06-06 23:13:44 +08:00
parent 15b04e8758
commit fb8d8b2d9d
7 changed files with 93 additions and 12 deletions

View File

@@ -38,6 +38,8 @@ Use this skill when the work involves any of the following:
4. Native runtime dependencies are replaced at the edges, not copied whole.
5. Machine state and controller-visible behavior are first-class compatibility
targets, not optional nice-to-haves.
6. Do not continue building a project-authored CNC program once the porting
harness runs; move behavior back to vendored LinuxCNC source functions.
## Source Reuse Priorities
@@ -96,6 +98,16 @@ Preferred order of work:
6. Build the WASM export layer second.
7. Build the JS SDK and HTML frontend last.
Current migration emphasis:
- Treat `linuxcnc_interp_minimal_runtime.cpp` as a temporary probe surface.
- Retire hand-written `convert_g()` behavior by linking and calling vendored
LinuxCNC interpreter conversion code.
- Add shims only for host/runtime edges that prevent vendored LinuxCNC source
from compiling.
- Do not add new G-code behavior in JavaScript or in standalone C++ wrappers
except as a short-lived adapter around LinuxCNC code.
## Filesystem And Browser Guidance
For browser use: