34 lines
1.7 KiB
Markdown
34 lines
1.7 KiB
Markdown
# LinuxCNC Web/WASM
|
||
|
||
本仓库的目标是将 LinuxCNC `2.10.0~pre0` 的仿真行为移植到浏览器。当前提交完成的是实施前 M0/M1 骨架,不是 LinuxCNC 功能完成声明。
|
||
|
||
恢复或开始工作时,首先读取 [`nextTask.md`](nextTask.md)。它是当前任务节点、下一任务节点、验证证据和切换规则的唯一接续入口。
|
||
|
||
## 当前状态
|
||
|
||
- LinuxCNC 来源基线:`linuxcnc/VERSION` 与 `context-lock.json`。
|
||
- 来源索引:`coverage/source-index.jsonl`,由 `scripts/generate_source_inventory.py` 生成。
|
||
- 覆盖种子:`coverage/manifest.jsonl`。所有条目初始为 `planned/needs_owner`,没有来源会被静默忽略。
|
||
- WASM ABI 骨架:`wasm-core/include/sim_api.h`;当前实现只验证生命周期、固定 tick、快照和状态导入导出。
|
||
- 前端、Worker、HAL、解释器、TP、Python、OPFS 和 UI 功能仍须按文档里程碑实现。
|
||
|
||
## 重建 M0
|
||
|
||
```bash
|
||
python3 scripts/generate_source_inventory.py
|
||
python3 scripts/validate_baseline.py
|
||
python3 -m unittest discover -s scripts -p 'test_*.py' -v
|
||
```
|
||
|
||
## 编译 ABI 骨架
|
||
|
||
需要 Emscripten。该命令同时运行原生 ABI 单测并生成 `build-wasm/linuxcnc-sim-core.js`/`.wasm`:
|
||
|
||
```bash
|
||
scripts/build-wasm.sh
|
||
```
|
||
|
||
完整路线、功能完整性和退出门禁见 [`docs/linuxcnc-web-wasm-implementation-readiness.md`](docs/linuxcnc-web-wasm-implementation-readiness.md)。专项设计仍分别位于 `docs/` 下的 roadmap、source map、coverage、communication、execution 和 playbook 文档。
|
||
|
||
依赖下载允许使用中国大陆镜像;请先阅读 `context-lock.json` 的 `downloads` 策略。镜像只改变传输位置,不能改变版本、文件字节或校验记录。
|