refactor(app): retire manual-save semantics (M13 D5)
- AppEngine: save_project -> export_project_path(explicit path); project_modified removed (write-through has no dirty flag) - File menu's save/save-as are the export path (extension-dispatched ove/otio/fcpxml); the library row export path is unchanged - facade project_save/is_modified stay frozen, documented as the legacy export surface - docs: M13 D5 checked off; M12 inventory updated
This commit is contained in:
Binary file not shown.
|
Before Width: | Height: | Size: 456 KiB After Width: | Height: | Size: 455 KiB |
Binary file not shown.
|
Before Width: | Height: | Size: 440 KiB After Width: | Height: | Size: 439 KiB |
@@ -46,8 +46,9 @@
|
||||
- 示波器:直方图/波形/矢量三个,数据来自已渲染帧(BT.709)。
|
||||
- 效果栈:选中 clip 的效果链枚举/插入/删除/排序/开关,全部
|
||||
undoable;检查器内嵌加效果菜单。
|
||||
- 工程:新建/打开/保存/另存(facade task,后台线程)、修改标记、
|
||||
导出对话框 + 导出任务(进度事件经 task subscribe 回调)。
|
||||
- 工程:新建/从库打开(写穿持久化,无保存按钮);导出工程文件…
|
||||
(ove/otio/fcpxml,扩展名分发)、导出对话框 + 导出任务(进度事件经
|
||||
task subscribe 回调)。
|
||||
- CLI / worker 两个前端同在 workspace(oak-cli、oak-worker)。
|
||||
- 测试:根 crate 60+ 测试全绿(含真渲染 e2e、示波器分析数学、
|
||||
偏好设置崩溃回归、i18n 未翻译检测)。
|
||||
|
||||
@@ -169,10 +169,21 @@ facade 的 undo 推送路径挂钩(`oakengine_undo_push` / `undo_group_end`
|
||||
| D2 | diff 写穿挂钩(facade undo 路径)+ 快照线程 + 退出 flush | 编辑工程 → kill -9 → 重开恢复到最后一条命令;撤销历史跨会话可用(集成测试) |
|
||||
| D3 | PG 后端(同 schema)+ 连接配置 | `OAK_TEST_PG_URL` 存在时 PG 测试全绿,否则自动 ignore |
|
||||
| D4 | 项目管理器窗口 + 导入导出 + 启动接线 | app 测试:建/删/复制/重命名/导入/导出;中英截图入 docs |
|
||||
| D5 | .ove 手动保存语义退役(菜单改导入/导出,脏标记改写入状态)+ 文档更新 | 全量测试绿 |
|
||||
| D5 | ✅ .ove 手动保存语义退役(菜单改导入/导出,脏标记改写入状态)+ 文档更新 | 全量测试绿 |
|
||||
|
||||
依赖:D1→D2→D3;D4 可在 D1 后并行;D5 最后。
|
||||
|
||||
> D5 落地记录(2026-08):手动保存残留清空。app 侧 trait
|
||||
> `AppEngine::project_modified`/`save_project` 删除(写穿后工程永远"已
|
||||
> 写入",无脏标记可读);菜单的 导出工程文件… 改走
|
||||
> `export_project_path`(扩展名分发 ove/otio/fcpxml,.ove 分支经冻结
|
||||
> ABI `oakengine_project_save` 写出,facade 注释标注 legacy/导出路径,
|
||||
> 行为不变);`RealEngine` 的 `modified` 字段及全部更新点移除,
|
||||
> `oakengine_project_is_modified` 不再被 app 侧调用(FFI 声明删除,
|
||||
> facade 保留)。状态栏写入状态(D4)为唯一落点。文档:本计划 §5 勾
|
||||
> 掉 D5、M12 现状盘点更新、project-storage 双语文档无手动保存残留
|
||||
> ("没有保存按钮"描述本就准确)。全量测试绿。
|
||||
|
||||
## 6. 风险与对策
|
||||
|
||||
| 风险 | 对策 |
|
||||
|
||||
Reference in New Issue
Block a user