Files
oak-editor/docs/zh/plans/README.md
T
Mike-Solar 017dc80a16
CI / Build & test (Windows) (push) Canceled after 0s
CI / Build & test (Arch) (push) Canceled after 0s
CI / Build & test (Debian) (push) Canceled after 0s
CI / Build & test (Fedora) (push) Canceled after 0s
CI / Build & test (macOS) (push) Canceled after 0s
CI / Build & test (openKylin arm64) (push) Canceled after 0s
CI / Build & test (openKylin x64) (push) Canceled after 0s
dock: refresh cached panel titles on language switch
PanelHandle snapshots DockPanel::title at registration and the tab strip
renders that cache, so switching the UI language at runtime (menu or
preferences) left every docked tab in the previous language. Capture a
type-erased title reader and notifier from the concrete panel entity and
add DockArea::refresh_panel_titles, which re-reads each title, marks the
panel view dirty for localized content, and repaints the chrome.

Also fix the timeline_view test fixture that missed ClipRenderData's
multicam field (gpui's test target did not compile).
2026-09-28 17:53:08 +08:00

3.2 KiB
Raw Blame History

长期计划(plans)

本目录收纳 Oak 的中长期规划文档与并行执行计划。已完成的战役 文档归档在 completed/;进行中的计划在下方目录。

目录

文档 内容 启动前提
ai-agent-design.md AI Agent 插件设计(已按 OPP/1 重写):多模态 LLM 作为外部插件经策展工具面自动剪辑,render.* 取帧回喂形成"编辑→看图→再编辑"视觉闭环;事务化编辑、双层确认、声明式 AI 面板、Mock LLM/回放夹具测试、A1–A5 里程碑 external-plugin-system P1–P3 完成(面板需 P4)
completed/external-plugin-system.md 外部功能插件系统:插件=独立进程(非库加载),JSON-RPC over stdio 控制面 + shm 数据面(泛化 M15 render-worker 传输);策展宿主 API(事务化可撤销编辑、取帧回喂 AI)、声明式/像素面双 UI 路径、能力位与确认模式;含与 ai-agent-design.md 的关系与 P1–P6 里程碑 已解锁(RIIR + M15 完成),随时启动
completed/external-plugin-protocol.md 插件协议规范 OPP/1:NDJSON 分帧 + JSON-RPC 2.0 双向信封、握手/心跳/关闭、全量方法/事件/错误码、编辑事务协议、shm 数据面(无头部无锁)、声明式与像素面 UI 协议、限流配额、版本演进规则、AI 粗剪报文示例 随 external-plugin-system 启动
completed/render-pipeline-threads.md 渲染管线改造:单解码线程 + 单渲染线程 + 主进程上屏(GPU 单队列,多进程无意义);解码硬解优先且零拷贝(FFmpeg hwaccel 经 DMA-BUF/DXGI/IOSurface/CUDA 导入,CPU 解码上传仅 fallback,手写 GPU 解码为次选);OpenFX 收编进唯一隔离进程;decode→render→present 三队列流水线;内置效果全 GPU 零拷贝;resolve 重写为 match+Job 单循环并升级为 Job 图(GraphInput/GraphOutput 虚拟端点可见、禁删,从输入节点 Kahn 形态 BFS 至全部分支汇聚输出节点);M0a–M5 里程碑 已解锁,随时启动(M0a 独立先行)
completed/test-coverage-90-80.md 测试覆盖率提升(行 ≥90% / 分支 ≥80%):测试分两层——单元测试 + 模块边界集成测试;层 2 要求每个模块边界 API 都有正常/异常全矩阵;层 1 可豁免过于简单的函数但仍覆盖正常/异常;覆盖率进 CI(cargo-llvm-cov + nightly --branch,逐 crate 地板 + PR diff coverage ratchet);M0 度量基建 → M1 单测 → M2 边界 → M3 app → M4 平台 → M5 收官 render-pipeline-threads M5 完成(已有基线留档 completed/render-pipeline-threads-m5-branch-coverage.txt)

其他参考

  • 覆盖率批次未提交测试的 review 报告(假测试与实现语义核查): completed/test-coverage-90-80-review.md
  • 构建:docs/zh/build.md、docs/zh/build_macos-zh.md
  • 工程文件:docs/zh/project-file-reference.md
  • 代码风格与 Google Test 要求:CONTRIBUTING.md(仓库根)