# FreeCAD Web 当前检查点 > 详细规则见 [`FREECAD_WEB_CONTEXT_PROTOCOL.md`](FREECAD_WEB_CONTEXT_PROTOCOL.md);L0 续接入口是 > [`FREECAD_WEB_HANDOFF.md`](FREECAD_WEB_HANDOFF.md)。任务细节在 [`tasks/INDEX.md`](../tasks/INDEX.md),技术基线在 > [`FREECAD_WEB_MIGRATION_ANALYSIS.md`](FREECAD_WEB_MIGRATION_ANALYSIS.md)。 ## 执行铁律 当前及后续浏览器测试只运行 Google Chrome。Firefox、WebKit、Safari 的既有日志保留在历史证据中,但不再执行、不进入当前验收矩阵,也不构成发布阻断项。 后台功能铁律:所有后台、内核、计算、文档处理和持久化能力,必须以相关 FreeCAD 源码为依据移植到 WASM 中执行;JavaScript/TypeScript 只能承担 Worker、Facade、消息编排和界面适配,不能用纯 JS 模拟、静态假数据或绕过源码的替代逻辑冒充后台能力完成。 ## 当前指针 | 项目 | 值 | |---|---| | 当前任务 | `FW-P6-FPA-Y` | | 状态 | `completed` | | 类型 | `contract` | | 目标 | FreeCAD Web Full Parity 完整出口 | | 前置 | 全部模块 Y gate completed | | revision | `2778e3f9c215da48bf0cfd562478d45d624aaa47` | | 构建目录 | `FreeCAD/freecad-source/build-web/techdraw-native-configure` | | 任务卡 | 无 | | 状态账本 | [`task-state.json`](task-state.json) | ## 恢复顺序 1. 打开当前任务卡,确认前置证据和恢复点;已拆分旧卡只作归档追溯。 2. 检查已有 probe/日志;不要清空整个 `build-web`。 3. 只复跑该任务卡命令,新增日志不得覆盖成功证据。 4. 通过后同步执行索引状态,再领取下一任务。 全部 32 个 P6 模块均已完成对应 Y gate;当前没有待领取的 pending 工作台。 ## 上下文检查点(2026-08-20) - `validate_web_context.py` 已通过;当前活动任务和精确包大小以 [`FREECAD_WEB_CONTEXT_MIN.md`](FREECAD_WEB_CONTEXT_MIN.md) 及校验器输出为准。 - 上下文预算由 `FREECAD_WEB_CONTEXT_BUDGET.json` 硬限制;大证据只保留 hash/摘要,不进入启动上下文。 - 原始 `*.log`、源码树、归档和全量 inventory 不属于启动上下文;证据通过小型 JSON 和 hash 引用。 - 生成卡重建不会删除已有 `## 结果`;状态变更必须通过 `sync_web_task_state.py` 写入账本。 P6 任务细节按 [`../tasks/p6/INDEX.md`](../tasks/p6/INDEX.md) 进入:共享前置完成后,只读取一个工作台包的当前原子卡和直接前置证据。P5 gate 仍是最近完成的发布出口。 ## 最近 gate | 范围 | 状态 | 证据 | |---|---|---| | P2.1 Part 运行时 | completed | [`freecad-part-box-runtime-gate.md`](../freecad-part-box-runtime-gate.md) | | P2.2 Document 生命周期 | completed | [`freecad-document-runtime-gate.md`](../freecad-document-runtime-gate.md) | | P2.3 持久化与事务 | completed | [`freecad-p2.3-persistence-transaction-gate.md`](../freecad-p2.3-persistence-transaction-gate.md) | | P2.4 Sketcher | completed | [`freecad-sketcher-runtime-gate.md`](../freecad-sketcher-runtime-gate.md) | | P5 发布质量 | completed | [`freecad-web-release-gate.md`](../freecad-web-release-gate.md) | ## 状态维护 - 当前指针、对应层级索引、任务卡三处的任务编号必须一致;P6 模块任务不复制进总队列。 - `completed` 必须有可复制命令、产物、日志和验收结果。 - `blocked` 只描述首个错误和恢复任务,不把未实现能力写成失败。 - 详细历史和早期失败链保留在 `../archive/` 与 `../*.log`。 ## 仓库保存检查点(2026-08-20) - Gitea 仓库:`https://gitea.meswork.com/wangdequan/FreeCADWasmDev.git` - 远端 `main`:`b5a086fda59b0325fe0996147e6e9b344414f9bc` - 源码树:`8f63ee4b125249cf83fce74cab4df35ddb68b4ed` - 本地 `FreeCAD/freecad-source/main` 已跟踪 `gitea/main`,工作区干净。 - 原始浅克隆提交 `9f5a09f21de2a79ac7e3d32827391e2dec0105f5` 保存在标签 `local-source-9f5a09f`,用于本地追溯。 - `build-web` 是生成目录,未推送;本地保留在 `FreeCAD/freecad-source/build-web`,由源码 `.gitignore` 忽略。 - 外层 `FreeCAD/docs`、`FreeCAD/web` 不属于源码 Git 根目录;本检查点仍保留在工作区, 后续若要远端保存这些资料,应单独建立工作区仓库或复制进明确的源码路径。 ### 续接命令 ```sh cd /home/mes123456/FreeCADWasmDev/working/FreeCAD/freecad-source git status --short --branch git log -1 --oneline --decorate ```