--- title: 0.5.0 版本规划:配音落地、工具产出打磨与表达力扩面 --- # 0.5.0 版本规划:配音落地、工具产出打磨与表达力扩面 > 0.1.0 打通「模型 → AnimationSpec IR → MP4」全链路,0.2.0 把工作台「亮出来」,0.3.0 把图层类型从 4 种撑到 13 种并补上资产管线与导演 preset,0.4.0 把产能做厚(增量渲染、实例常驻、音轨/字幕/退场)。 > 0.5.0 的主题是**兑现**:把前四个版本一路挂账到「0.5」的东西逐一兑现——0.1 就在 IR 里预留的 TTS 配音、0.4 真机挂起的 jobs 后台化、0.4 §4.8 让路完毕的打字机与 video 图层;同时把「模型 ↔ 工具」配合再打磨一轮:回执更丰富(批量读取、时间线摘要、单幕直放)、纠错更前置。四条主线: > 1. **清账**:遗留问题逐条盘点处置,每条给出去向(落地 / 评估后销账 / 正式放弃),不留悬账; > 2. **配音**:TTS 语音合成落地——Provider seam + 外部命令通道(edge-tts / piper 配方),旁白 cue 从「显示」升级为「发声 + 显示」,音画对齐以「报告 + 缓存」落地; > 3. **稳与丰**:工具产出稳定性与丰富性——`anim_get` 批量与摘要视图、单幕预览直放、渲染回执拼贴图、写库纠错持续收敛; > 4. **表达力**:元素与属性扩面——video 图层、文本段落排版与逐字打字机、lineDash、渐变填充、缓动 in/inOut 变体。 --- ## 1. 遗留问题盘点与处置 ### 1.1 0.4.0 收尾时挂起的账 | # | 遗留 | 现状核实(2026-09-18) | 0.5.0 处置 | | --- | --- | --- | --- | | 1 | **jobs 服务对插件上下文不可见(`jobsOnCtx=false`)**,preview/render 真机走同步回退,后台票据全链路从未在真机跑过 | 0.4.0 §5.5 真机实证(dsh 0.1.6-alpha.1);同步路径已事件化,实际痛点收敛为「模型回合被渲染挂住」 | **M0 真机调查**(§2.1):确认 dsh-tool-jobs 对插件上下文暴露的确切条件(preset/宿主组合加载?宿主版本演进?),能启用则真机验收后台票据;宿主侧确实无解则结论落档,维持同步回退为设计内形态 | | 2 | **媒体路由白名单无音频扩展**:`MEDIA_TYPES` 只有 mp4/webm/mov/png/jpg/jpeg/gif/webp/svg,audio 图层落地后资产卡与成片都无法试听 | `packages/tools/src/web.ts:202-211` 实证;0.4.0 §1.1 #3 预告过「按需补充」未做 | **本版本落地**(§2.2):白名单补 `.mp3/.wav/.ogg/.m4a/.flac`,AssetCard 与成片卡补试听控件 | | 3 | vite CJS 弃用告警降为「每进程一次」后仍现(来源 MC vite 插件依赖链,非本插件配置) | 0.4.0 M0 真机记录,观察项 | 维持观察;若 MC/宿主升级顺带复核,无独立动作 | | 4 | dsh 版本跟进:0.1.6-alpha.2 兼容性已验证(挂载冒烟全绿),新 alpha/rc 持续发布 | 最新 commit `548a299` | 持续跟进:每个新 alpha/rc 跑一遍挂载冒烟 + 真机出片,破坏性变更对比记进本文件;peer 依赖维持 `>=0.1.5-rc.2` | | 5 | **loopback RPC 直改 spec**:0.3 推迟→0.4 评估条件是「followup 路径真机跑稳」——条件已达成(0.4 M3 端到端验收通过) | 面板按钮现经 `session/prompt` 走模型回合执行 | **M0 评估销账**(§2.4):真机测面板指令的回合延迟与 token 成本,给出「做/不做」的明确结论并记档;倾向——若延迟可接受则正式销账不做(「模型是唯一写者」的简单性值得保留),仅当实测不可接受才落直改 PoC | ### 1.2 0.4.0 §8「明确不做(推到 0.5+)」逐项处置 | # | 项 | 0.5.0 处置 | | --- | --- | --- | | 1 | TTS 语音合成与音画自动对齐 | **本版本主体之一**(§5):Provider seam + 外部命令通道 + 音画对齐报告。IR 增量刻意最小——`narration.cues[].voice` 字段 0.1 起已预留 | | 2 | 多会话并行渲染 | 维持不做。SwiftShader 吃 CPU,并行收益不稳;增量渲染已吃掉大部分重复渲染量 | | 3 | loopback RPC 直改 spec | 移交 §1.1 #5:M0 评估后销账 | | 4 | Remotion / Manim 渲染 Provider | 继续推迟。渲染 seam 就绪但多后端维护成本高,本轮继续把 Motion Canvas 单后端做厚 | | 5 | 图表 / 思维导图等复合图层 | **部分解冻**:最小 chart 图层(bar/line)进评估(§4.6,P2,真机验证不过则退回 preset 配方路线并销账);思维导图继续不做 | | 6 | 逐字打字机入场(0.4 §4.8 让路完毕) | **本版本落地**(§4.3):与配音天然搭配(旁白发声时逐字出现) | | 7 | video 图层(0.4 §4.8「真机验证后再定排期」到期) | **本版本真机验证后落地**(§4.4):headless 导出的帧同步是唯一硬门槛,验证不过则顺延并落档原因 | | 8 | 画布拖拽式编辑、3D / 粒子效果 | 维持不做 | | 9 | 场景相机 | 维持放弃(不挂账) | | 10 | store 快照优化 | 维持观察。sidecar fold 至今未成为可测瓶颈 | ### 1.3 README「已知限制与说明」逐条处置 | # | 现有条目 | 0.5.0 处置 | | --- | --- | --- | | 1 | 图层类型 14 种 | 扩为 15 种(+`video`,§4.4);chart 若评估通过再增 | | 2 | 转场与缓动族 | 缓动补 `bounce/elastic/back` 的 in/inOut 变体(§4.5);转场族不动 | | 3 | 旁白字幕:无 TTS(规划在 0.5) | **兑现**(§5):README 该条目本版本删除 | | 4 | 远端 http(s) 字体 URL 需 CORS | 维持文档,无代码动作 | | 5 | 后台任务依赖宿主暴露 jobs 服务 | §2.1 调查后刷新表述 | | 6 | 媒体放行扩展名白名单 | 补音频扩展(§2.2),README 同步 | | 7 | 插件事件不进宿主会话日志 | 维持(fail-closed 约束不变),无代码动作 | | 8 | 渲染环境(MC 3.17 编辑器 UI 自动化等) | 维持,无代码动作 | | 9 | Windows `dsh plugin add` 的 pnpm 转发 | 维持文档绕过方案,无代码动作 | ### 1.4 本轮体检新发现(2026-09-18,为 0.5.0 规划做的全库复查) > 复查范围:`packages/{spec,store,render-mc,tools,client}` 源码 + README + 三份真机文档。编号 N1~N3;后续体检发现续编。 | # | 发现 | 证据 | 处置 | | --- | --- | --- | --- | | N1 | **`anim_get` 单 path**:schema 只收一个 JSON Pointer(`register.ts:492-495`),模型查「某幕的图层清单 + 某资产 + 全局 theme」要烧 3 个来回;且没有「时间线摘要」视图——想看全局起止结构只能拉大块 JSON | `register.ts` anim_get 参数表 | **批量 + 摘要视图**(§3.1):`paths` 数组一次取多段;`view:'summary'` 返回全片时间线摘要(幕起止 / 图层数 / 轨道跨度 / 音频字幕清单),省来回省 token | | N2 | **段缓存已产出「每幕一段 mp4」,面板却只能看抽帧图墙**:0.4 M1 的增量渲染天然留下单幕成片段(`work//segments/`),「预览这一幕」按钮仍走低分辨率抽帧——段缓存命中时本可直接内嵌播放单幕原画质短视频 | `adapter.ts` 增量段产物;`PreviewCard` 仅 FrameGrid | **单幕直放**(§3.2):段命中时「预览这一幕」升级为段视频内嵌播放,未命中回退抽帧(预期管理不变:抽帧无音频) | | N3 | **纠错知识只进代码不进「模型面」**:coerceScene / 别名表是被动补丁(0.3 O20/O21 补一批、0.4 §2.1 收敛成表),但「已收编的错形清单」没有沉淀到 preset 方法论与工具描述的对照区——模型换会话后还会再犯新错形,老错形靠 coerce 兜底、新错形靠报错回修 | `ops.ts` coerceScene;`config/agent-presets/` | **纠错对照表进 preset**(§3.4):persona 增「高频手误 → 规范写法」对照段(冒烟锚点校验沿用既有模式),coerce 扩展照真机错形按需做 | --- ## 2. 主体 A:遗留清账与真机基线(M0) ### 2.1 jobs 后台化真机调查(§1.1 #1) - 真机排查 dsh-tool-jobs 的加载路径:它是否需要宿主 profile 显式启用、能否经 preset/宿主组合让插件上下文拿到 `ctx.jobs`;顺带核对 0.1.6-alpha.2+ 是否已变化; - 代码面已就绪(opRender/opPreview 同一降级链、BackgroundTicket/PreviewTicket、任务簿 `/api/state`),**本项零插件代码改动**——结论只有两种:能启用 → 真机验收后台票据全链路(进度条、job_output 收集、job_kill 终止);不能启用 → 结论落档本文件,同步回退正式定性为「当前部署的设计内形态」,README 表述刷新; - 附加产出:同步路径下「模型回合被渲染挂住」的实测时长记录(为 §2.4 的 loopback 评估提供对照数据)。 ### 2.2 面板音频试听(N1 的另一半,低成本) - `MEDIA_TYPES` 补 `.mp3/.wav/.ogg/.m4a/.flac`(MIME 表齐全即可,放行规则不变:outputDir 内或回执精确路径 + 白名单); - AssetCard:audio 资产给 `