Files
FreeCADWasmDev/docs/current/user-tests-20260915/REPAIR-REPORT.md
wangdequan 9a7c4f0335 Save FreeCAD Web workspace sources and user validation evidence
IFC native binding remains incomplete; preserve accurate test results.
2026-09-15 22:01:58 +08:00

4.1 KiB
Raw Blame History

用户测试问题修复与复测记录

日期:2026-09-15。范围:用户授权修复已发现缺陷;保留原始失败证据;不放宽验收条件。

已完成修复

编号 原因 实际修复 复测
UT-001 已有 WebMacroDebugTask 漏导入;未选择命令时空值相等导致后续解引用 导入原组件;标准命令视图要求对象非空 32 个工作台入口可挂载、选中正确模块
UT-002 Document WASM 未打包 Python 标准库,分组 import json 失败 使用本机 Python 3.12 标准库并设置运行时路径,增量重建 DocumentProbe 原生 Group 创建、FCStd 保存、刷新重开通过
UT-003 Color/Visibility 仅在前端会话中,无 FCStd 存储 在原生文档对象上持久化 WebDisplayColor/WebDisplayVisibility;保存前校验,重开读取;Facade 核对返回值防止旧内核忽略参数 标签、颜色、隐藏状态恢复,体积保持 24
UT-004 窗口宿主请求被套用几何契约;原生窗口处理器存在但未进入分发表 窗口命令专用契约、原生标准命令表补齐;增加宿主初始化完成状态及真实交互测试 工具栏锁定切换、面板隐藏/恢复、32 个入口无启动错误

Web 显示属性使用原生动态属性随 FCStd 保存,不依赖本地文件名或 localStorage 旁路。它们是无 Qt GUI 的 Web 宿主元数据,不宣称替代桌面 GuiDocument.xml。几何仍由现有原生 OCCT 路径处理,没有使用 Three.js 建模。

正式构建门禁

同时修复严格 TypeScript 检查暴露的参数收窄、错误文档引用、重复路由键、二进制写入类型及任务结果联合类型。移除一个没有必要参数、实际不渲染的重复 Material 面板,保留已接通的实例。

没有关闭 strict、没有增加 ts-ignore、没有绕过正式 npm build。

构建与协议检查结果:

  • 显示持久化协议:3 个测试通过,约 0.47 秒。
  • 窗口宿主协议:2 个测试通过,约 0.51 秒。
  • 几何边界审计:通过,约 0.98 秒。
  • 正式 npm run build(含严格 TypeScript):通过,约 26.12 秒。
  • 最后一轮原生增量构建:DocumentProbe 38.13 秒;PartBoxProbe 71.26 秒,均通过。

最终浏览器复测

逐步骤报告 / 结构化结果

  • 40/40 个定向回归案例通过:32 个模块入口,8 个核心与修复回归案例。
  • 126 个步骤,153 张 PNG(完整页面和视口),关联证据无缺失。
  • 用例累计耗时约 63.77 秒。
  • 覆盖双文档隔离、编辑取消/撤销/重做、布尔体积、OPFS、显示属性、分组、相机与窗口宿主。
  • 截图人工复核确认工作台不再白屏或带启动错误;颜色恢复后的网格可见。

关键截图:

不能扩大结论

40/40 是本轮针对性回归,不是 1452 个登记命令全部验收。按原手册汇总目前 12 项通过、0 项失败、9 项阻塞或覆盖不足。多格式导入导出、完整链接/结构流程、真实运行中取消、包围盒读取及性能容量等还需继续补测。

旧 PDF 存在中文字体缺失问题,也不能用作已合格的上线材料。本轮未重制 PDF。

后续运行

node tools/run_user_repair_checks.mjs
FREECAD_MANUAL_IDS=DOC-01,FIX-GROUP,FIX-WINDOW,UI-03-Part,UI-03-Web node tools/run_user_manual_tests.mjs
node tools/summarize_user_manual_tests.mjs

新批次均创建独立时间戳目录,不覆盖旧失败。测试脚本完成后退出并清理本轮子进程;并非让无人值守任务在无用例时持续空转。现有预览地址为 http://127.0.0.1:5181/ ,已检查 COOP/COEP 响应头。