Advance M8-M11 parity workflows
Some checks failed
M6 deployable RC / quick (push) Has been cancelled
M6 deployable RC / chromium (push) Has been cancelled
M6 deployable RC / release (push) Has been cancelled

This commit is contained in:
mes123456
2026-08-17 04:37:07 -04:00
parent 7c16b279ae
commit 0fe8d2bb56
324 changed files with 31920 additions and 863 deletions

View File

@@ -1,7 +1,9 @@
# N-021 Sequencer 与音频
状态:`BLOCKED`strip schema、真实 Main reader、确定性时间编辑、长媒体有界索引/seek/cache
和 codec 能力门已落地Main 写回、完整媒体解码/渲染、音频波形和服务端编码仍未实现)
状态:`BLOCKED`strip schema、真实 Main reader、确定性时间编辑、长媒体有界索引/seek/cache
三类实际 runtime codec probe、source/decode-bound 首帧 proxy cache、三类迟到结果 revision
gate、最终编码 server-export 路由和实时 AudioContext 恢复门已落地Main 写回、完整媒体
解码/渲染、音频波形、A/V sync、实际混音和真正服务端编码 job 仍未实现)
## 已验证切片
@@ -14,8 +16,8 @@
映射,避免左右片段复用越界源帧。
4. N-021-B/C部分`resolveSequencerFrame` 在切分边界解析当前顶层 strip、source frame
与依赖META 覆盖的子 strip 和 inactive dependency 不会泄漏到渲染帧。
5. N-021-C/D运行时只报告 WebCodecs/HTMLMedia 需要精确 probecodec 必须
出现在已验证 MIME 集合中才可放行,本地编码固定为 `BLOCKED`
5. N-021-C/D运行时 inventory 只报告 WebCodecs/HTMLMedia 需要精确 probe旧的
MIME 集合不能作为 READY receipt,本地编码固定为 `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。绝对路径、未知类型、
@@ -32,16 +34,45 @@
仍 residenttimeline/current frame/asset hashes 作为内容寻址 session manifest 写入 OPFS终止
StorageWorker 与 media Worker 后在 frame 765432 恢复。session SHA-256 固定为
`d2e7e3c5ed9ae4fda6fe358cebb474f5774f1d2037dff3df9b6dfde9e0bebd2d`
11. 上述门只放行 fixture 的 IMAGE/SOUND 原始本地资源读取,不声称 WebCodecs MOVIE decode、
waveform/proxy 生成或最终编码完成;`video/mp4`local encoding 仍结构化阻断。
11. 上述 V1 长媒体门只放行 fixture 的 IMAGE/SOUND 原始本地资源读取,不声称 WebCodecs MOVIE
seek、waveform/proxy 生成或最终编码完成local encoding 仍结构化阻断。
12. M11-09 runtime codec probeschema 1 request/result 绑定 IMAGE/SOUND/MOVIE family、规范 MIME、
byte length 和 source SHA-256且不接收 source path/扩展名字段。Chromium 用 ImageBitmap
解码 8×8 PNG用固定 48 kHz OfflineAudioContext 解码 1 秒 WAV用 HTMLMedia 加载、seek
并绘制 16×16 两帧 H.264 MP4三类均 READY。错误扩展名不影响结果损坏 bytes、hash
drift、MIME/family 和 backend 伪造均返回 `SEQUENCER_CODEC_UNSUPPORTED`
13. M11-10 proxy cacheschema 1 identity 绑定 MOVIE source family/MIME/bytes/SHA-256、当前
READY HTMLMedia receipt、SRGB8/STRAIGHT RGBA8 profile 和 source framepayload 再独立绑定
byte length/SHA-256。Chromium 从真实 H.264 初始 decoded frame 生成 8x8/256-byte proxy
一帧预算 LRU 发生确定性淘汰content-addressed payload/manifest 经新 Storage Worker 重开
后复验。source、decode receipt、identity 或 payload 漂移均在消费前稳定阻断。
14. M11-11 media revision gateSEEK/SCRUB/DECODE 使用同一 schema 1 request绑定 timeline
ID/revision、单调 request revision、operation 和 framecompleted result 必须逐字段回显并绑定
source frame/payload hash。Chromium 中旧 SEEK 晚于新 SCRUB 返回、真实 H.264 DECODE 跨
timeline replacement 返回及伪造 result 全部在 publish/cache callback 前成为
`STALE/REVISION_CONFLICT`;只有当前 SCRUB 与当前 DECODE 发布。
15. M11-12 final export routeschema 1 将真实 Main timeline ID/revision、source `.blend`
SHA-256、帧范围/帧率、分辨率和 container/video/audio codec 绑定到 settings/request SHA-256。
无 endpoint 时返回 `SERVER_EXPORT/BLOCKED/SEQUENCER_EXPORT_SERVER_UNAVAILABLE`;有 endpoint
时只返回 `SERVER_EXPORT_REQUIRED`。Chromium 中注入和实际探测到的 `VideoEncoder` 都不能
`localEncoding``BLOCKED` 提升为本地完成。
16. M11-13 audio session recoveryschema 1 分开报告
`UNAVAILABLE/SUSPENDED/RUNNING/CLOSED` context 与 `BLOCKED/SILENT/ENABLED` output
revision 随 initialize/mute/resume/suspend/close 单调推进。Chromium 在真实用户手势内创建
`AudioContext`,通过 suspend、mute、muted resume、unmute、二次 suspend/resume 和 close
mute 将 gain 归零unmute 恢复 0.75close 再归零并断开节点。API/构造器缺失与 resume
failure 分别稳定返回 `SEQUENCER_AUDIO_DEVICE_UNAVAILABLE`
`SEQUENCER_AUDIO_RESUME_FAILED`,不会误报输出启用。
## 仍然阻断
- 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-CM11-09/10/11/13 完成三类短 fixture 的初始实际解码门、MOVIE 初始帧 RGBA8 proxy
cache identity、迟到结果 publish/cache gate 和实时 AudioContext 生命周期WebCodecs 帧精确
seek/decode、多帧 proxy、音频 waveform、A/V sync、实际混音、丢帧和长媒体损坏恢复仍阻断
- N-021-DM11-12 已冻结最终编码的 server-export 路由与请求 identity真正服务端 Blender
encode job、进度/取消、混音和输出结果校验仍阻断。
- N-021-EV1 有界 Chromium/OPFS 长媒体门已完成;完整桌面/Chromium 解码/渲染 golden 仍阻断。
## 验收
@@ -50,4 +81,9 @@
WEB_TEST_PORT=5321 npm --prefix web run test:e2e -- --grep "N-021 sequencer"
npm --prefix web run test:sequencer-main-reader
npm --prefix web run test:long-media-performance
WEB_TEST_PORT=5570 npm --prefix web run test:sequencer-codec-probe
WEB_TEST_PORT=5573 npm --prefix web run test:sequencer-media-cache
WEB_TEST_PORT=5576 npm --prefix web run test:sequencer-media-revision
WEB_TEST_PORT=5579 npm --prefix web run test:sequencer-final-export
WEB_TEST_PORT=5586 npm --prefix web run test:sequencer-audio-recovery
```