Files
FreeCADWasmDev/docs/current/FREECAD_WEB_HANDOFF.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

39 lines
4.0 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# FreeCAD Web 当前交接页
2026-09-08 当前行动以 `../WEB_DELIVERY_CONTEXT_PLAN.md`、`module-batch-manifest.json` 和 `scheduler-context.json` 为准。恢复先比对 batchId 和源码指纹;默认 24000 字节提示词仅带当前交付工作流,全文与历史留在磁盘。下表的 Full Parity 标识和 next_action 是历史容器,不要求先运行全量对标;优先交付真实工作区/文档/建模/文件闭环,全部剩余范围与最终失败对账保留。
2026-09-08:失败记录按 `../FAILURE_RECONCILIATION_POLICY.md` 从现在分类、随模块闭环、最终对账。`failure-reconciliation.json` 区分原始记录与当前待处理记录;禁止仅写 resolved 或无差别重放旧 API gate。
> L0 续接入口。先读本页并运行上下文包工具;不要从历史进度或归档恢复。
> 2026-09-07 用户铁律:以功能模块业务、功能路由带动全部移植,充分复用已有工作。当前执行规则以 `../WEB_BUSINESS_MIGRATION_RULES.md` 为准;旧 API/Full Parity 任务名只是历史容器。路由与构建回执不等同于业务完成,必要的业务输入/结果确认由外层按模块执行。
> 模型启动时优先使用机器生成的 [`FREECAD_WEB_CONTEXT_MIN.md`](FREECAD_WEB_CONTEXT_MIN.md),只打开其中 `mode=read` 的文件。
| 字段 | 值 |
|---|---|
| `active_task` | `FW-P6-FPA-Y` |
| `status` | `in_progress` |
| `scope` | FreeCAD Web Full Parity 完整出口 |
| `direct_prerequisites` | `FW-P6-FPA-D`, `FW-P6-FPA-E`, `FW-P6-FPA-F`, `FW-P6-FPA-G`, `FW-P6-FPA-H`, `FW-P6-FPA-I` |
| `source_of_truth` | [`task-state.json`](task-state.json) |
| `budget` | [`FREECAD_WEB_CONTEXT_BUDGET.json`](FREECAD_WEB_CONTEXT_BUDGET.json) |
| `task_card` | [`FW-P6-FPA-Y`](../tasks/p6/full-parity/FW-P6-FPA-Y.md)
| `context_manifest` | [`context/FW-P6-FPA-Y.json`](context/FW-P6-FPA-Y.json)
| `last_verified_revision` | `2778e3f9c215da48bf0cfd562478d45d624aaa47` |
| `next_action` | 汇总完整对标审计、对象/格式/API/GUI/交互/质量矩阵;只有所有记录都有结论且未批准边界为空时才可声明 Full Parity。 |
失败恢复:非零命令写入 `docs/current/freecad-web-scheduler-failures.json`;下一回合优先定点修复并重放,成功后自动标记 `resolved`。
高吞吐模块业务包:`tools/prepare_implementation_business_batch.py` 先补齐功能 route/build receipt,再按模块处理真实 import/export 工作流,最后合并唯一 React 主工作页面。功能模块直接调用 FreeCAD C++/Python 内部能力;13,386 API 不进入队列、不参与完成率。实施阶段只编译/链接、同步和写 implementation receipt,不运行测试或 gate。
真实完成状态以 [`WEB_BUSINESS_COMPLETION_AUDIT.md`](WEB_BUSINESS_COMPLETION_AUDIT.md) 和 `web-business-completion-audit.json` 为准。历史模块 `web_status=completed` 只表示早期切片,不代表完整 FreeCAD Web 业务对标完成。
## 自动续接入口
恢复顺序:`check_continuation_state.py` → `continue_web_task_cycle.py` → prepare context → 读取 manifest → 执行模块业务包。完成批次后执行 build → artifact sync → implementation receipt → prepare_next;验证阶段已冻结,平台回合中断不等于完成。
> 全局铁律:后台、内核、计算、文档处理和持久化能力必须由相关 FreeCAD 源码移植到 WASM 执行;JavaScript/TypeScript 只负责 Worker、Facade、消息编排和界面适配,不得用纯 JS 模拟或假数据替代。
> WASM 分发铁律:模块按功能拆分为独立 runtime/WASM/data artifact,浏览器通过 `WebModuleRouter` 按需动态创建 Worker;`setArtifact()` 的 revision 变化只替换对应模块,`preload()` 可预热已完成模块,页面和其它模块保持不变。生产发布不合成单体 WASM,模块 manifest 独立缓存、回滚和更新。
本轮实现:`web/src/module-loader.ts` 提供通用 artifact/manifest 类型、动态 Worker 创建和 manifest 校验;`web/src/dynamic-wor