Files
workinf_Blender_Wasm/docs/status/N-021.md
2026-08-14 18:08:29 -04:00

2.7 KiB
Raw Blame History

N-021 Sequencer 与音频

状态:BLOCKEDstrip schema、真实 Main reader、确定性时间编辑和 codec 能力门已落地; Main 写回、媒体解码/渲染、音频波形和服务端编码仍未实现)

已验证切片

  1. N-021-A部分版本化 SequencerTimelineIR 覆盖 Scene、Movie、Image、Sound、 Effect、Meta strip、channel、帧范围、source range、speed、proxy 和依赖strip、 image、dependency 数量以及帧范围都有预算,资源路径经过项目沙箱规范化。
  2. N-021-B部分MOVETRIMSPLIT 以 revision 乐观并发控制作用于内存 timeline编辑后重新解析依赖和预算锁定 strip 与 stale revision 会拒绝。
  3. N-021-B/CsequencerSourceFrame 对 speed、trim、split 使用确定性的 source-frame 映射,避免左右片段复用越界源帧。
  4. N-021-B/C部分resolveSequencerFrame 在切分边界解析当前顶层 strip、source frame 与依赖META 覆盖的子 strip 和 inactive dependency 不会泄漏到渲染帧。
  5. N-021-C/D运行时只报告 WebCodecs/HTMLMedia 需要精确 probecodec 必须 出现在已验证 MIME 集合中才可放行,本地编码固定为 BLOCKED
  6. N-021-A部分Blender 5.2 Scene.ed/Editing.seqbase 读取 Scene、Movie、Image、Sound、 Meta 和协议支持的 Effect显示范围由持久 start/startofs/endofs/len 计算,保留 channel、 mute/lock、相对媒体路径、24/1.001 FPS 和 effect input stable ID。绝对路径、未知类型、 坏依赖或超预算将 Scene sequencer 标为 BLOCKED
  7. N-021-Btransition 子集CROSS/GAMMA_CROSS 可按半开显示区间确定性解析 [0,1) 进度, 保持 Blender input1,input2 顺序,并为两个活动依赖返回各自 source frame越界、依赖缺失、 muted 输入和非 cross effect 拒绝。
  8. 桌面 Blender 5.2 fixture 经 WASM/Worker 后,在真实 CROSS 中间帧得到 factor 0.5;两个单张 Image strip 的 source range 为 0..1,显示 20 帧仍固定到 source frame 1不伪造成图像序列。

仍然阻断

  • N-021-A/BMain strip 写回、非 CROSS transition/modifier 完整参数、undo/redo 和 save/reopen 基础真实 reader 与 CROSS/GAMMA_CROSS 帧描述已完成。
  • N-021-CWebCodecs 精确 seek/decode、音频 waveform、proxy 生成、A/V sync、丢帧和 损坏媒体处理。
  • N-021-D浏览器不支持的 codec、混音与最终编码的服务端 Blender job。
  • N-021-E桌面/Chromium golden、OPFS 和大规模媒体性能门。

验收

WEB_TEST_PORT=5321 npm --prefix web run test:e2e -- --grep "N-021 sequencer"
npm --prefix web run test:sequencer-main-reader