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

82 lines
4.4 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 当前检查点
> 详细规则见 [`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
```