Files
ttstd-infinite-canvas/docs/index.md
爱笑的毛毛虫 b20ea83201 feat(editor): 剪辑成片验收闭环 - 概览渲染计数、导入/字幕/预览修复与本地 whisper 转写运行时 (#414)
* feat(editor): 剪辑成片验收闭环 - 概览渲染成功计数、媒体导入/字幕/预览修复与本地 whisper 转写运行时

- 概览:渲染成功计数接入项目概览 SQL/JSON,成片状态随 timeline_render 任务联动
- 修复:本地媒体导入后列表为空(挂载时服务端重同步 + 导入后校验重取)、
  字幕工具残留 M6 占位文案、预览监视器悬浮遮挡层改为顶部信息条、
  生成任务轮询连续查询失败即抛错不再空转至超时
- 本地转写:新增 scripts/start-whisper-local.sh 一键启动 whisper.cpp,
  local-development 文档补安装/启动/后端注入指引
- 同步 docs(overview/features、pending-test、index)

* fix(assets): 素材库封面未知 kind 兜底,避免 AssetCover 渲染崩溃

运行时素材记录若带未知/脏 kind(历史遗留或本地存储异常),assetKindIcons[asset.kind]
得到 undefined,AssetCover/AssetDrawer 渲染 <KindIcon/> 触发
'Element type is invalid ... got: undefined' 使 /assets 整页崩溃。
新增 isKnownAssetKind 守卫:未知 kind 回退 FileText 图标与通用文案,脏数据不再崩页。

* fix(editor): mp4v 播放死循环修复——MPEG-4 Part 2 归入播放转码通道,监视器加终态护栏

- 后端把 mp4v 与 H.264/AV1/VP9 一并判为浏览器可播 → playbackStatus=none;
  Chromium/Firefox/Edge 实际均不支持 MPEG-4 Part 2,原件解码即失败。
  现将其并入 H.265 转码通道(转 H.264 兼容副本);损坏文件转码失败落
  failed,前端据此显示终止性错误而非死循环。
- 前端监视器轮询到 none/failed 或超时后不再回退 primary 重试;副本 URL
  回退原件反复触发 onError 时保持终态文案,不再覆盖成"正在生成兼容版本"。

* feat(editor): 画布产物自动同步剪辑素材库,素材面板新增「画布素材」分组

- 打开剪辑器时自动把画布工作台当前采用(storyboard/action_board/分镜/导出成片,
  ready 且有资源)的产物 linkProjectAsset(source=canvas) 并入项目素材库;
  后端幂等、前端按 storageKey+会话 ref 去重,失败静默下次进入自动补同步。
- LinkProjectAsset 支持 source 白名单(uploaded/canvas)并写入素材 payload,
  供素材面板按来源分组;面板新增「画布素材」页签与分组,与「本地上传」「项目素材」并列。
- 补 source=canvas 写入断言测试。

* docs(progress): 记录 mp4v 播放死循环修复与画布产物素材同步的待浏览器验收项
2026-09-05 02:52:21 +08:00

4.7 KiB
Raw Blame History

影策 · AI 文档索引

面向 AI 的短索引。详细文档维护规则见 AGENTS.md 第 10 节「文档同步」。

设计沉淀

  • 站点及外观与皮肤主题设计合同:品牌一致性、登录页与邮件、SEO/备案、三层皮肤令牌、无闪屏启动顺序和验收边界。

  • 工作区外壳设计沉淀:侧栏(260px 可折叠导航 + 分组折叠)、主区卡片、顶部栏(账户/公告/主题)的设计决策与样式约束。

  • 画布节点可读性设计沉淀:节点外壳、空态和图片创作面板在浅色/深色画布上的表面、边界、阴影与控件状态约束。

  • 画布浮动控件设计沉淀:顶部操作区、底部 Dock、小地图和右下角工作模式切换的浮动面板、定位与响应式约束。

  • 用户诊断包设计:面向普通用户的一键日志导出、前后端链路关联、脱敏、权限与排障方案。

  • 肖像权可识别性排查画布插件实施规格:TypeScript 重写、画布节点与全屏工作台、项目模型复用、本机 ONNX/百度识图/候选去重、任务合同、报告和验收方案。

  • AI 审美批改画布插件方案:云端视觉分析、并行 Reviewer、问题定位、AI 修改提示词与前端 SVG 标注的职责边界和交互设计。

  • LLM、Image、Video 主流请求协议全景与影策兼容性调查:主流原生协议、聚合网关、图片/视频异步任务、参考素材 role、当前插件映射缺口与 MiniMax H3 专项审计。

  • 编辑器预设插件化实施规格:参考 open-vetta 万物皆可插件,把编辑器做成预设插件的分阶段实施计划(SDK v2、命令状态机、8 个 editor 预设插件(含 AI 助手)、后端转写/导出任务、权限执行校验、AI 对话式剪辑),含产品视图、接口草案与文件规划。

  • 编辑器实施 Runbook:分步执行计划——M0~M6 里程碑 + 原子步明细(每步改动文件/验证/完成标准)、依赖关系、验证命令速查、高风险步与回退。解决「一次性实施效果差」:每步可验证、可回退、看得见进度。

决策记录(docs/adr/)

  • ADR-0001:编辑器整合边界:借鉴 Concat 架构形态但以 TS 时间线状态机为真相源,不移植 Rust 引擎;媒体重活放 Go 后端。
  • ADR-0002:编辑命令协议:时间线唯一修改入口为可序列化编辑命令,手势 echo、有界快照撤销、防抖保存。
  • ADR-0003:预览与导出分层:交互近似预览 + 单一滤镜图计划驱动导出,禁止手写第二套滤镜串。
  • ADR-0004:自动字幕转写服务化:转写为 Go 后端异步任务,结果写回字幕轨道。
  • ADR-0005:编辑器预设插件架构:参考 open-vetta「万物皆可插件」,编辑器全部 UI 与能力为预设插件贡献,插件 SDK 演进为 v2(UI 插槽 + 预设分发 + 权限执行校验)。
  • ADR-0006:语音滤镜与项目模板:补充评估 Concat 剩余两个缺口——语音滤镜走 Web Audio 预览近似 + ffmpeg 音频滤镜图导出,模板走项目快照服务化;均为预设插件且服从单一滤镜图计划。
  • ADR-0007:AI 编辑交互:对话式剪辑作为预设插件——AI 输出受约束命令 JSON(schema 校验 fail-closed),与手势命令同队列同撤销栈;≤3 条直接执行、批量改动 diff 预览待确认。

本地协作文档(不随仓库分发)

按约定维护的文档(docs/content/docs/)

功能、代码地图、待办、待测试分别维护在以下页面;尚未建立的专题会在对应任务中补齐: