OpenCut Studio — 代理工程护栏
-
仅使用确定性帧计算:
- 在
src/remotion-engine/中,严禁使用 CSS@keyframes、transition、requestAnimationFrame或setTimeout。 - 始终通过
const frame = useCurrentFrame()和const { fps } = useVideoConfig()计算位置、缩放、不透明度和 3D 旋转,并使用interpolate()或spring()。
- 在
-
本地 Scratch + Google Drive 混合存储规范:
- 切勿将原始视频
ArrayBuffer数据存储在localStorage或IndexedDB中。 - 活跃编辑直接通过
localFsManager.ts(FileSystemDirectoryHandle)读取。 - 长期持久化和跨设备同步使用
googleDriveClient.ts(媒体文件使用uploadType=resumable,StyleDNA 和 EditPlan 使用 multipart JSON)。
- 切勿将原始视频
-
零成本离线容错:
- 每个 AI 功能(
styleAnalyzer.ts、feedbackCompiler.ts)必须包含一个确定性降级实现,使用户即使在未配置 Ollama URL 或 Google AI Studio API 密钥的情况下,也能测试和使用所有功能。
- 每个 AI 功能(