Move panel temporary state to worker OPFS
This commit is contained in:
@@ -348,3 +348,20 @@ PLAYWRIGHT_MODULE=... node scripts/test_xyzac_panel_buttons_browser.mjs
|
||||
审计覆盖:WASM startup、Open G-code file、`3D_Chips.ngc`、Load case、POWER ON、HOME ALL、RESET、IDENTITY/TCP:XYZAC/USERK、视图和 Clear plot、MANUAL/MDI、XYZAC 五轴 JOG、主轴正反转/停止/刹车、Mist/Flood、Tool/Probe、Jog/Feed/Spindle/Max velocity overrides、MDI、Run/Pause/Resume/Abort/Step、Run Startup Sequence、编辑器 Load/Reopen 和 ABI-disabled 控件。发布版本 `20260902-linuxcnc-wasm-panel-audit-r27` 最终结果为 20 组 verified、83 个按钮、37 个按 LinuxCNC gate 禁用、`browser_errors=0`;WASM worker authority 标记为 `linuxcnc-wasm-worker` / `wasm_task_canonical`,截图 `/tmp/xyzac-panel-buttons-browser.png`,SHA-256 `dbf6d196cec3fe765a64d5a1d194b7ebb5681a30555f238e084c9ad6deac6032`。
|
||||
|
||||
源代码对标结论:AXIS 的可执行操作均通过对应 WASM command/result 和后续 snapshot;`Override Limits`、Block delete/Optional pause、完整 Tool Touch Off/G10 交互以及桌面 tool editor/Quit 仍明确记录为 `blocked_by_abi` 或浏览器宿主边界,不能用 JavaScript 模拟。整体 `release_status` 继续保持 `STOP_RELEASE`,因为本报告不替代完整 TP 数值 oracle。
|
||||
|
||||
## OPFS 页面临时缓存
|
||||
|
||||
页面上下文和断电 checkpoint 由 Dedicated Worker 的 OPFS 临时 JSON 服务保存,React 不直接访问 OPFS 或 `localStorage`。`UI_STATE_SAVE/LOAD/CLEAR` 是 Worker storage service,不进入 LinuxCNC WASM CNC protocol sequence;缓存中的程序文本恢复时必须再次经过 WASM `PROGRAM_LOAD`。
|
||||
|
||||
```text
|
||||
node web/worker/test_opfs_ui_state.mjs
|
||||
node web/worker/test_opfs_worker_bridge.mjs
|
||||
status: verified
|
||||
double_slot / generation / TTL / hash / corruption fallback: verified
|
||||
power_off_checkpoint OPFS round-trip: verified
|
||||
UI cache does not consume WASM sequence: verified
|
||||
```
|
||||
|
||||
详细字段、文件布局、原子写入和恢复边界见 [`AXIS Web/WASM OPFS 页面临时缓存设计`](../docs/linuxcnc-axis-web-wasm-opfs-ui-cache.md)。
|
||||
|
||||
发布版本 `20260903-linuxcnc-wasm-opfs-r30` 的真实 Chromium OPFS 往返:改变 Preview 视角为 `z`、切换 DRO、选择 A 轴,等待 1.8 秒防抖保存后刷新页面;刷新后 `view=z`、DRO 仍激活、A 轴仍选中,OPFS 中实际存在 `state-b.json` 和 `manifest.json`,两次 `localStorage` key 数均为 `0`,`browser_errors=0`。截图 `/tmp/xyzac-opfs-browser.png`。
|
||||
|
||||
Reference in New Issue
Block a user