82 lines
4.4 KiB
Markdown
82 lines
4.4 KiB
Markdown
# 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
|
||
```
|