Make machine configuration authoritative and restore native checkpoints exactly
This commit is contained in:
@@ -1,5 +1,40 @@
|
||||
# 推进台账
|
||||
|
||||
## R08 / 2026-09-18 / 仓库保存
|
||||
|
||||
- 用户授权:将 R06 配置驱动改造、R07 三轴门控与五轴精确恢复完整保存到指定 Gitea 仓库的 `main` 分支。
|
||||
- 保存范围:自有源码、配置、测试脚本、项目文档与接续入口、`coverage/configuration/` 和 `coverage/recovery/` 验收证据。
|
||||
- 检查:远程 main 与提交前 HEAD 一致;提交前执行差异格式检查。功能验证沿用 E07/E08/E09/E10,本轮仅更新保存记录。
|
||||
- 原有大型 tick trace、linuxcnc 子模块本地改动、临时脚本和用户图片保留在本地,不纳入专项提交。
|
||||
- 推送完成以远程 main 与本地 HEAD 的提交 ID 一致为准;实际提交 ID 以 Git 记录为准。专项矩阵无待办任务,后续按新需求推进。
|
||||
|
||||
## R07 / 2026-09-18 / 三轴门控与五轴精确恢复
|
||||
|
||||
- 完成 CFG-R01:为直接工具准备/换刀补齐开机、空闲、操作者模式及运动队列检查;三轴综合测试先验证运行中拒绝,再等待实际队列完成。没有删除原断言或放宽急停/故障约束。
|
||||
- 完成 TRT-R01:TP 保存完整原生段状态、混合/速度/进度及队列;程序保存解释器参数、调用栈和子程序源;HAL 保存 tick、引脚/参数和组件内部状态;同时保存调度交接、核心及协议/事件状态。恢复不再根据剩余几何重新建队列或累加 HAL tick。
|
||||
- 指针与兼容性:TP 队列、程序缓冲区和解释器 owner 在恢复时重新绑定;CMake 生成源码/编译环境指纹;不同构建、不同配置、损坏块及旧的不完整记录明确拒绝。配置 hash 增加完整解析 INI 的 hash,包含回零参数变更。
|
||||
- 幂等性:恢复操作回执,重复 M428 不再执行;回执不递归携带旧 checkpoint 和 UI 快照,避免多次保存时内存增长。
|
||||
- 浏览器修复:OPFS 按机型隔离,仅冷启动自动恢复匹配记录;不兼容缓存保留并提示重新加载。关机记录省去可重建的预览,恢复后重新生成并校验。App 保留恢复出来的程序,不再覆盖为船体示例。
|
||||
- 额外实测修复:identity Jog 的 motion_delta 曾使用上一采样的关节值,导致增量 Jog 结束后模型落后约一个采样。现直接投影当前 WASM 规划器关节值。
|
||||
- 改动文件组:`wasm-core/src` 及对应头文件/CMake/单测;`web/worker/native-checkpoint.mjs`、TP/程序/IO 适配器、SimSession、OPFS 桥;`web/app/axis-contract.mjs`、React App;新增精确恢复和浏览器重启测试、验收汇总脚本。
|
||||
- 验证:E08/E09/E10。native 23/23;两机型各五个阶段、合计 120 个连续任务 tick 的状态 hash 完全一致;另有 12 个恢复后 Jog 样本。覆盖暂停、子程序、不同堆地址、trace 导入、新传输会话、损坏/不同构建拒绝及真实 OPFS 重启。
|
||||
- 本轮证据统一在 `coverage/recovery/`,旧 `coverage/trt-parametric/` 报告保持原版本;前轮配置证据保留。
|
||||
- 当前专项矩阵已无待办任务。代码和证据尚未提交/推送;后续按用户保存指令或新需求推进,不重复已通过整轮测试。
|
||||
|
||||
## R06 / 2026-09-18 / 配置驱动改造
|
||||
|
||||
- 用户确认范围:机床参数、轴配置、路径、可调界面设置改为配置驱动;保留数学/协议常量及 LinuxCNC 上游代码。
|
||||
- 新配置:`machine-catalog.json`、`simulation-resources.json`、`web-settings.json`;新增校验/解析模块 `web-settings.mjs`、`trt-configuration.mjs`。具体键和入口见 07。
|
||||
- 运行链路:`sim-case-loader`、`sim-session`、`wasm-linuxcnc-tp`、`wasm-xyzac-kinematics`、`wasm-native-homing`、IO/device-IO、`xyzac-session`;取消固定几何、限位、速度和周期覆盖。TRT 的 IO 时间基准跟随实际 task tick。旧兼容仿真的可调数值归入配置。
|
||||
- 核心:自有 `sim_linuxcnc_tp.c/.h` 增加逐轴动力学、倍率、缩放下限、轨迹混合配置入口和边界测试;修正加速度上限取值方向。重建 WASM/native。
|
||||
- 界面:App、模型和两个预览、资源路径及类型声明采用配置;支持不同默认机型、INI/程序文件名、图标目录、相机/材质/颜色、Jog 增量、刷新设置。物理计算仍走 WASM。
|
||||
- 修复:规划器初始化不再使用上一台机床的快速速度;默认 XYZBC 的会话来源信息同步;通用加载器不再把三轴 Z 上限写成 100;旧队列进给倍率投影使用 WASM 已确认的 controls 值。
|
||||
- 恢复:checkpoint 保存运行配置 hash,参数变化或旧记录缺少该 hash 时拒绝恢复,不把旧速度/限位状态带入新配置。
|
||||
- 验证:E07,native 23/23、专项 WASM/Worker、改配置的浏览器实际渲染、生产构建、子路径部署和 RTCP 回归通过。旧三轴综合脚本的操作门控问题登记 CFG-R01,不放宽 gate。
|
||||
- 证据:统一归档 `coverage/configuration/`,本轮重跑产生的旧测试报告已归档到该目录;`coverage/trt-parametric/` 保留原已提交版本,不破坏 E02/E06 的历史哈希。
|
||||
- 接续文件:用户要求后创建 `nextTask-hardcoding.md`;随后用户明确继续,现已更新为收口状态。
|
||||
- 未提交/推送;下一开发任务为 CFG-R01,随后 TRT-R01。原有大型 trace、linuxcnc 子模块及临时文件未纳入本轮。
|
||||
|
||||
## R05 / 2026-09-18 / 仓库保存
|
||||
|
||||
- 用户授权:保存到 `https://gitea.meswork.com/wangdequan/linuxcncWebWASM.git` 的 `main` 分支。
|
||||
|
||||
@@ -10,6 +10,10 @@
|
||||
| TRT-P04 | 参数化结构投影 | P02 | 已验收 | 旋转中心及偏置驱动两模型;转台路径层级一致 | E02 |
|
||||
| TRT-P05 | 参数编辑及文件流程 | P03,P04 | 已验收 | 分组布局、应用/重新读取/导入/保存、保留程序、错误反馈 | E03 |
|
||||
| TRT-P06 | 回归及证据收口 | P03,P04,P05 | 已验收 | 专项、相关回归、构建、桌面/移动交互截图和像素检查通过;既有恢复偏差独立登记 | E02,E03,E04 |
|
||||
| TRT-R01 | 既有 checkpoint 恢复状态精度 | P06 | 待办 | 定位 HAL tick 与 TP queue/progress 恢复差异;将恢复测试的相等性变为有效断言,再验证固定 tick 连续与恢复轨迹 | E04:遗留项 |
|
||||
| TRT-R01 | 既有 checkpoint 恢复状态精度 | P06 | 已验收 | HAL/TP/解释器原生状态恢复;相等性强断言;固定 tick 续跑、暂停、子程序、trace、新会话及浏览器重启通过 | E09,E10 |
|
||||
| TRT-UI01 | 机床预览路径改为黄色 | P04 | 已验收 | 工作台普通刀具预览路径使用黄色材质 | E05 |
|
||||
| TRT-JOG01 | M428 旋转轴 Jog 刀尖跟随 | P03,P04 | 已验收 | A/B/C 连续和增量 Jog 使用 RTCP 补偿;松开、重复 Jog 不丢失模式;WASM 与机床模型刀尖位置一致;M429 对照 | E06 |
|
||||
| CFG-01 | 机床运行参数由 INI 驱动 | P06 | 已验收 | 实际限位、逐轴速度/加速度、周期随文件改变;无固定机型值覆盖 | E07 |
|
||||
| CFG-02 | 机型资源及界面配置入口 | CFG-01 | 已验收 | 资源路径与可调界面设置独立配置;子路径部署、非默认设置可用 | E07 |
|
||||
| CFG-03 | 配置审计与回归 | CFG-01,CFG-02 | 已验收 | 本专项 native/WASM/Worker/UI 验证通过,保留项与范围在 07 记录;旧三轴综合测试单列 | E07 |
|
||||
| CFG-R01 | 旧三轴综合验收流程与 tool gate | 无 | 已验收 | 运行中拒绝工具命令,空闲且队列完成后允许;急停/关机/故障拒绝;完整三轴流程通过 | E08 |
|
||||
|
||||
@@ -75,3 +75,55 @@ PLAYWRIGHT_MODULE=/home/mes006/.npm/_npx/e41f203b7505f1fb/node_modules/playwrigh
|
||||
- 回归通过:`node web/react/src/test_trt_parametric.mjs`、`node web/worker/test_xyzac_trt_case.mjs`、`node web/worker/test_xyzac_program_replace.mjs`、`node web/worker/test_xyzac_runtime_followups.mjs`、`node web/worker/test_boat_trt_programs.mjs`、`npm --prefix web/react run build`。构建保留既有大 chunk 提示。
|
||||
- `runtime_followups` 初次失败因未等待 HOME 完成便启动程序;现等待 WASM homed,并断言 PROGRAM_LOAD/RUN 成功后再验收。
|
||||
- job_id / PDF:不适用;使用原有 WASM,无核心 ABI 变更。本轮不声称修复 TRT-R01。
|
||||
|
||||
## E07 配置驱动改造 / 2026-09-18
|
||||
|
||||
本轮新增兼容的 WASM 配置 setter,核心已重建。WASM SHA-256:`213b55e64b45c14df5c40e59827fa8bb4903135cd788664bb08263f08a49738f`。
|
||||
|
||||
| 命令 / 场景 | 实测结果 | 证据 |
|
||||
| --- | --- | --- |
|
||||
| `bash scripts/build-wasm.sh` | WASM 测试通过,native 23/23 通过;随后扩展的 TP 配置边界单测也通过 | `/tmp/trt-config-build.log`,native `sim_linuxcnc_tp_test` |
|
||||
| `node web/worker/test_trt_configuration.mjs` | 两机型 X 实际速度均为 4,实际加速度约 4 且不超过配置 8;周期 .002;axis X 上限 15、joint X 上限 17;非法值、倍率越界拒绝;改速度后拒绝旧 checkpoint | [运行配置报告](../../coverage/configuration/trt-runtime.report.json) |
|
||||
| `PLAYWRIGHT_MODULE=... node scripts/test_configurable_ui_browser.mjs` | 配置为默认 XYZBC、自定义 INI/程序名、Jog 0.25/2.5、进给上限130%、自定义图标路径;紫背景143449像素、绿色路径85像素,零 pageerror | [浏览器报告](../../coverage/configuration/browser.report.json)、[截图](../../coverage/configuration/configured-ui.png) |
|
||||
| `npm --prefix web/react run build` | 类型检查及生产构建通过;保留大 chunk 提示 | 构建输出 |
|
||||
| 生产页面 `http://127.0.0.1:5175/dist/` | 子路径部署加载机床/程序成功,30个图标加载成功,零 pageerror | [子路径报告](../../coverage/configuration/subpath.report.json) |
|
||||
| `python3 scripts/audit_configuration_inputs.py` | 14 项迁移输入检查通过,记录源码/配置/WASM 哈希及保留类型 | [审计报告](../../coverage/configuration/input-audit.report.json) |
|
||||
| 真实 WASM 参数化与 RTCP Jog 回归 | 参数链路、两机型各77检查点、零角/单轴/复合姿态、重复停止通过 | [参数回归](../../coverage/configuration/parametric-regression.report.json)、[Jog 回归](../../coverage/configuration/rtcp-jog-regression.report.json) |
|
||||
| 浏览器实际 A-C-A-C、B-C-B-C 按住/松开 | 两机型各4轮通过,TCP模型误差小于1e-7场景单位,零 pageerror | [报告](../../coverage/configuration/rtcp-jog-browser.report.json)、[XYZAC](../../coverage/configuration/rtcp-jog-xyzac.png)、[XYZBC](../../coverage/configuration/rtcp-jog-xyzbc.png) |
|
||||
|
||||
相关回归命令通过:`node web/worker/test_boat_trt_programs.mjs`(两机型 completed)、`node web/worker/test_xyzac_runtime_followups.mjs`、`node web/worker/test_xyzac_trt_case.mjs`、`node web/worker/test_authoritative_kinematics_s6.mjs`、`node web/worker/test_motion_state.mjs`、`node web/workspace/test_sim_case_loader.mjs`、`node web/react/src/test_xyzac_threejs.mjs`、`node web/react/src/test_xyzac_tool_preview.mjs`。
|
||||
|
||||
旧 `node web/worker/test_axis3_selected_case.mjs` 未通过:脚本在程序/运动尚未空闲时发主轴命令,被 `axis_gate` 拒绝。诊断期间临时增加等待后发现 TOOL_PREPARE 的 `tool` action 缺少旧兼容 gate 分支;临时测试调整已撤回,正式登记 CFG-R01。本轮不声称全仓历史测试全通过,也不以此删除/放宽控制门控。
|
||||
|
||||
审计范围是已识别可配置输入,静态检查不是对任意数值字面量的完整证明。旧报告保留在原目录,本轮报告单独归档。截图已经查看;job_id/PDF 不适用。
|
||||
|
||||
## E08 三轴控制门控收口 / 2026-09-18
|
||||
|
||||
- `node web/app/test_axis_contract.mjs`:工具准备/换刀在运行、暂停、急停、关机、故障、非空运动队列和 AUTO 操作者模式下拒绝;空闲 MANUAL/MDI 允许交由 IO 状态机检查。来源为 `emctaskmain.cc::emcTaskCheckPreconditions` 的 PREPARE 等待 IO、LOAD 等待 motion+IO。
|
||||
- `node web/worker/test_axis3_selected_case.mjs`:完整流程通过,含运行中拒绝、等待真实队列结束、主轴/冷却、工具握手、急停和恢复。
|
||||
- `node web/worker/test_wasm_motion_checkpoint.mjs`:三轴原有恢复及 trace 导入回归通过,连续/恢复 hash 相同。
|
||||
- 报告:[门控](../../coverage/recovery/axis-gates.report.json)、[三轴流程](../../coverage/recovery/axis3-selected-case.report.json)、[三轴恢复](../../coverage/recovery/axis3-checkpoint.report.json)。E07 的 CFG-R01 遗留已在本轮关闭。
|
||||
|
||||
## E09 五轴原生恢复精度 / 2026-09-18
|
||||
|
||||
- `bash scripts/build-wasm.sh`:WASM 测试与 native 23/23 通过,日志 `/tmp/trt-recovery-build.log`。native TP 单测保存后继续 100 个伺服步,再恢复逐步对比;HAL 单测验证 tick、函数调用计数和完整状态字节一致。
|
||||
- `node web/worker/test_xyzac_recovery.mjs`:恢复点前后完整 hash 相同;旧的仅打印差异已改成硬断言;实际重发 M428 验证 switch_count 不增加。报告中 baseline/restored 比较相同 checkpoint tick,未重放尾部另列。
|
||||
- `node web/worker/test_trt_checkpoint_exact.mjs`:XYZAC/XYZBC 在子程序、暂停恢复、直线、圆弧和程序完成阶段分别比较 12 个连续任务 tick,共 120 个全状态比较,没有 divergent tick;另有 12 个恢复后 Jog 的当前关节采样验证。
|
||||
- 同时验证空程序、不同堆布局、外部子程序文件改变时使用快照中冻结的源、trace 导入、新传输会话 RECOVER/RESUME、损坏 native 块和构建不匹配在修改状态前拒绝。
|
||||
- `node web/worker/test_xyzac_runtime_followups.mjs`:关机记录重启恢复通过。
|
||||
- 报告:[恢复点](../../coverage/recovery/checkpoint-state.report.json)、[连续轨迹](../../coverage/recovery/exact-checkpoint.report.json)、[关机恢复](../../coverage/recovery/power-off.report.json);最终源码构建指纹、WASM SHA 和报告 SHA 见[验收汇总](../../coverage/recovery/acceptance.report.json)。
|
||||
|
||||
## E10 浏览器真实 OPFS 重启 / 2026-09-18
|
||||
|
||||
```bash
|
||||
PLAYWRIGHT_MODULE=/home/mes006/.npm/_npx/e41f203b7505f1fb/node_modules/playwright/index.mjs node scripts/test_checkpoint_reload_browser.mjs
|
||||
RECOVERY_MACHINE=xyzbc-trt PLAYWRIGHT_MODULE=/home/mes006/.npm/_npx/e41f203b7505f1fb/node_modules/playwright/index.mjs node scripts/test_checkpoint_reload_browser.mjs
|
||||
```
|
||||
|
||||
- 页面 `http://127.0.0.1:5174/`;上传真实测试程序、开机/回零/Jog、关机写入 OPFS、页面重载、恢复程序和预览、再次开机增量 Jog。
|
||||
- 两机型关机前/重启后关节数组严格相同,保留 `recovery-browser.ngc`,预览重建非空;继续 Jog 精确增加 0.1 mm;无 pageerror。记录约 103 KB,低于已有 1 MiB OPFS 上限。
|
||||
- [XYZAC 报告](../../coverage/recovery/browser-reload.report.json)、[截图](../../coverage/recovery/browser-reload.png);[XYZBC 报告](../../coverage/recovery/browser-reload-xyzbc-trt.report.json)、[截图](../../coverage/recovery/browser-reload-xyzbc-trt.png)。
|
||||
- `node web/worker/test_opfs_ui_state.mjs`、`node web/worker/test_opfs_worker_bridge.mjs`:双槽位校验、机型隔离、配置重载不注入旧缓存、不兼容记录提示通过,见[桥接报告](../../coverage/recovery/storage-bridge.report.json)。
|
||||
- `npm --prefix web/react run build`:类型检查及构建通过,仍有既有大 chunk 提示。
|
||||
- 中间浏览器测试发现 identity Jog 最后关节采样滞后,已修复当前 WASM 样本投影;`browser-reload-failure.png` 保留中间失败截图,最终结论以 verified 报告为准。
|
||||
- 边界:只允许匹配构建/配置的原生记录;旧不完整记录不近似恢复。TRT checkpoint 的后续事件须作为显式命令执行,不静默丢弃尾部;公开恢复向更早逻辑 tick 回退需要新传输会话,避免改写已有事件历史。OPFS 真实断电崩溃与所有浏览器矩阵不在本次结论内。job_id/PDF 不适用。
|
||||
|
||||
@@ -37,3 +37,35 @@ XYZAC 不支持 x-offset,XYZBC 不支持 y-offset。六项都可见,但不
|
||||
JOG_STOP/abort 停止运动不能隐式执行 M429。保留停止姿态对应的运动学模式,只清理待执行段和历史 ID 映射;重新初始化使用原有 reset 路径。Jog 的 native tag 是段 ID,与运动学模式不同,必须关联本段入队时的当前模式,不能沿用同编号的历史程序行。
|
||||
|
||||
RTCP 的判据为:旋转 Jog 时刀尖在工件坐标中的 XYZ 不变,机器 XYZ 按 WASM 逆解联动;Three.js 用相同关节投影。若刀尖恰好在 C 旋转轴上,单独转 C 可没有 XYZ 位移,这属于正确几何行为;验收特意先移动 X/Y 离开旋转中心。
|
||||
|
||||
## D10 / 2026-09-18 / 硬编码清理的确认范围
|
||||
|
||||
用户确认:项目自有代码中的机床参数、轴配置、路径和可调界面设置使用配置;保留数学常量、协议定义和上游 LinuxCNC。代码资产的固定网格拓扑、CSS/图标、测试输入和生成来源索引不通过机械替换数字来“清零”。配置改动必须能改变真实行为,不能只迁移到另一个常量表。
|
||||
|
||||
INI 是机床物理参数来源;JSON 是 Web 行为、资源注册和外观配置来源。图形外观参数不参与逆解。必需 INI 参数缺失即报错;可选原生规划策略/仿真 IO 参数使用有名称的配置默认值。
|
||||
|
||||
## D11 / 2026-09-18 / 完整运行配置和恢复
|
||||
|
||||
区分 AXIS 和 JOINT 限位,逐轴配置动力学;全局加速度上限以及轴上限均取约束较小者。新 C setter 是兼容增量导出;公开旧 ABI 函数签名保持,WASM 与前端应同时重新构建。
|
||||
|
||||
TASK/伺服周期必须为整数倍,IO/device-IO 按实际调度的 task 周期推进,避免模拟时钟分叉。恢复除几何外,还比较运行配置 hash;旧无 hash 的存档明确拒绝,不猜测它对应哪套限位和速度。
|
||||
|
||||
## D12 / 2026-09-18 / 验收与遗留项
|
||||
|
||||
配置专项的通过与全仓历史验收区分。三轴综合脚本的状态流程/工具门控列 CFG-R01;TP 恢复精度仍是 TRT-R01。保留真实失败信息。本轮新回归证据归档到 coverage/configuration,保留旧目录的原报告,以维持历史哈希可核验。
|
||||
|
||||
## D13 / 2026-09-18 / 原生恢复不重建剩余轨迹
|
||||
|
||||
只保存段端点/最终位置不能恢复 TP 的积分、混合、优化、队列进度。采用原生 TP/TC 快照,并保存解释器 side table、调用栈、HAL 内部状态及 Worker 的交接信息。TP 队列和程序缓冲区指针去除后重新绑定,用不同堆布局验证;源码/编译环境指纹限制跨构建读取。旧的缺失原生状态记录明确拒绝。
|
||||
|
||||
保存主程序及子程序输入闭包,恢复先在临时程序实例中验证后替换;不会因工作区子程序后来修改而改变已保存任务。机床配置 hash 包含解析 INI 的完整 hash,回零参数等变化同样使旧记录失效。
|
||||
|
||||
## D14 / 2026-09-18 / 恢复的传输与幂等边界
|
||||
|
||||
精确恢复和后续命令执行分开:TRT 不再静默忽略 checkpoint 后事件。新会话可重设传输序号并续跑;既有会话不能以公开 RECOVER 改写更晚的历史 tick,需新建传输会话。恢复操作回执用于阻止重复副作用,去掉回执中递归嵌套的 checkpoint/UI 大对象;重复操作投影当前机床状态。
|
||||
|
||||
## D15 / 2026-09-18 / 浏览器自动恢复
|
||||
|
||||
按机型分开保存,只在冷启动自动使用匹配配置和构建的记录。显式配置重载、机型切换以本次输入为准。不兼容缓存不删除,提示按当前配置初始化。
|
||||
|
||||
关机记录省去可由 WASM 重建的预览,并校验重建 hash;前端保持恢复出的程序文本和路径,不再次用默认示例覆盖。存储容量边界仍保留,过大记录须报告 quota,不声明已保存。运动增量投影直接使用当前规划器关节样本,避免 identity 模式下的最后一个采样滞后。
|
||||
|
||||
33
docs/trt-parametric/07-配置驱动改造.md
Normal file
33
docs/trt-parametric/07-配置驱动改造.md
Normal file
@@ -0,0 +1,33 @@
|
||||
# 配置驱动改造
|
||||
|
||||
2026-09-18 用户确认范围:项目自有代码中的机床参数、轴配置、路径和可调界面设置改为配置驱动;保留算法数学常量、协议定义和 LinuxCNC 上游源码。
|
||||
|
||||
## 配置入口
|
||||
|
||||
| 内容 | 输入来源 | 生效方式 |
|
||||
| --- | --- | --- |
|
||||
| TRT 几何、关节/轴限位、逐轴速度与加速度、周期、进给倍率上限 | 当前机床 INI:HAL、KINS、TRAJ、JOINT_n、AXIS_n、EMCMOT、TASK、DISPLAY | 关机空闲后重新读取 INI,Worker 再解析,再创建 WASM 实例 |
|
||||
| 圆弧混合策略 | INI `[TRAJ] ARC_BLEND_*`;缺项使用 web-settings.json 的 runtime.planner.blend | INI 重载 |
|
||||
| 机型入口、默认机型、程序与模型资源路径 | `web/workspace/machine-catalog.json` | 开发服务刷新;发布构建重新打包 |
|
||||
| 案例适配器、HAL 资源映射、预加载组件 | `web/workspace/simulation-resources.json` | 同上 |
|
||||
| Web 刷新节奏、逻辑采样批量、Jog 增量、初始图层、缩放范围 | `web/workspace/web-settings.json` 的 ui | 同上;这不是改变伺服周期的入口 |
|
||||
| 预览颜色、相机、材质、显示单位比例、模型基准高度 | web-settings.json 的 viewer | 同上;只影响图形表现,不参与数控逆解 |
|
||||
| 仿真 IO 容量与响应参数 | INI 可选 `[WEB_RUNTIME]`;缺项使用 web-settings.json 的 runtime.io | INI 重载;配置中的键名用大写,例如 SPINDLE_COUNT |
|
||||
| 旧三轴/Delta/Tripod 兼容仿真默认参数 | web-settings.json 的 runtime.compatibility | 旧兼容入口;不用于 TRT WASM 计算 |
|
||||
|
||||
## 约束与验收
|
||||
|
||||
- 同一值只保留一个输入来源。Worker 不信任调用者另外传来的 limits、周期和速度副本,重新从文件解析。
|
||||
- 无效、缺失、非有限值和不支持的配置拒绝加载,不能回退到 XYZAC 示例值。
|
||||
- AXIS 范围用于编程坐标 Jog,JOINT 范围用于运动学输出/回零检查,二者不能混用。不同轴有独立速度及加速度。
|
||||
- 当前固定 tick 执行器要求 TASK/CYCLE_TIME 为 SERVO_PERIOD 的整数倍,不再静默四舍五入。
|
||||
- IO/device-IO 的 cycle_time 跟随 task 周期;`SPINDLE_TOLERANCE` 是主轴到速容差,允许为 0,不是换刀延时。
|
||||
- 机型可通过 catalog 的 runtime_fixture 指定资源适配配置,自定义入口文件名不必修改加载器;相关资源仍须完整提供并通过 preflight。
|
||||
- JSON 修改在开发服务中刷新生效;静态发布包需重新构建。界面配置没有额外的磁盘写入 API。
|
||||
- LinuxCNC 上游源码未改;自有 C 适配层新增逐轴动力学和倍率上限 setter,原有 ABI 参数和协议编号不变,需要重建 WASM。
|
||||
- 数学常数、单位换算、位掩码、ABI 字段布局、状态枚举、误差阈值、模型原始网格拓扑、图标/CSS 资源定义及固定测试输入不是可调机床参数,不机械替换成无意义变量。
|
||||
- 历史报告、生成源索引、版本锁和第三方依赖锁不当作运行配置编辑。
|
||||
|
||||
验收必须包含修改 INI 后的实际运动速度、加速度约束、限位、周期,以及前端修改设置后的渲染变化;不能仅检查读取到的 JSON。
|
||||
|
||||
CFG-01/02/03 专项验收见 E07;接续的 CFG-R01、TRT-R01 也已按 E08/E09/E10 收口。恢复兼容边界见 D13/D14/D15;本专项通过不等于全仓全功能验收完成。
|
||||
@@ -4,6 +4,8 @@
|
||||
|
||||
## 读取顺序
|
||||
|
||||
当前配置改造及接续任务 CFG-R01、TRT-R01 均已专项验收。重启后先读 [`nextTask-hardcoding.md`](../../nextTask-hardcoding.md);配置入口见 [07](07-配置驱动改造.md),最新验收见 E08/E09/E10。
|
||||
|
||||
1. 本索引 → [04-任务矩阵](04-任务矩阵.md):选择首个依赖满足且未验收的任务。
|
||||
2. [03-推进台账](03-推进台账.md):只读最新一轮和下一步。
|
||||
3. 按任务读取 [01-项目功能内容](01-项目功能内容.md)、[02-项目程序开发详细步骤](02-项目程序开发详细步骤.md) 和直接相关代码。
|
||||
@@ -11,7 +13,7 @@
|
||||
|
||||
每轮必须记录实际改动、命令、结果和下一任务。未运行的检查不能记为通过;历史通过任务仅在相关代码改变时回归。此目录是本专项接续入口,历史仿真/发布轨道仍保留原有指针,不据此扩大发布范围。
|
||||
|
||||
当前状态:`TRT-P01` 至 `TRT-P06`、`TRT-UI01`、`TRT-JOG01` 已验收。最新修复为 M428 下停止 Jog 后保留 RTCP,避免随后 A/B/C Jog 丢失 XYZ 补偿。下一项为矩阵中的 `TRT-R01`,属于既有恢复精度问题,不影响本专项参数应用流程。实现不依赖聊天记录。用户文字提及 Image #1,但本轮未收到可读取的图片资源,布局按现有结构预览实现。
|
||||
当前状态:`TRT-P01` 至 `TRT-P06`、`TRT-UI01`、`TRT-JOG01` 已验收。最新修复为 M428 下停止 Jog 后保留 RTCP,避免随后 A/B/C Jog 丢失 XYZ 补偿。配置改造 CFG-01/02/03 也已专项验收;CFG-R01 三轴门控和 TRT-R01 恢复精度也已收口,本专项暂无待办项。实现不依赖聊天记录。用户文字提及 Image #1,但本轮未收到可读取的图片资源,布局按现有结构预览实现。
|
||||
|
||||
本地体验地址:`http://127.0.0.1:5174/`。启动命令:`npm --prefix web/react run dev -- --port 5174 --strictPort`;该端口被占用时选择其他端口。
|
||||
|
||||
|
||||
Reference in New Issue
Block a user