转向直接移植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:
@@ -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:
|
||||
|
||||
Reference in New Issue
Block a user