refactor(timeline): 解耦机位片段与运镜关键帧并新增过渡片段编辑
- 新增 TransitionClipEditor 与 CameraClipEditor,支持编辑过渡类型、时长及机位片段起止 - 抽出可复用的 TimelineClipDragHandle,支持拖拽、修剪、吸附与方向键微调 - 机位轨道改用显式活跃片段(CameraActiveClip),关键帧仅作只读占位推导 - 画布视锥线支持机位自定义颜色 - 视频导出时传入过渡片段、机位与场景参数以保持预览一致 - 更新 TimelinePanel 相关测试以覆盖新模型与交互
This commit is contained in:
@@ -231,6 +231,7 @@ async function exportVideoFrameByFrame(view: VideoExportView): Promise<void> {
|
||||
const displayCameraId =
|
||||
view === "camera"
|
||||
? getActiveCameraIdAtTime(
|
||||
directorStore.project.timeline.transitionClips,
|
||||
directorStore.project.timeline.cameraTracks,
|
||||
directorStore.project.activeCameraId,
|
||||
time
|
||||
@@ -239,7 +240,10 @@ async function exportVideoFrameByFrame(view: VideoExportView): Promise<void> {
|
||||
// 有运镜轨道时两边共用同一份插值(预览 / 导出一致);返回 false 表示没覆盖相机
|
||||
const appliedCameraTrack = applyActiveCameraViewAtTime({
|
||||
camera: frameCamera,
|
||||
transitionClips: directorStore.project.timeline.transitionClips,
|
||||
cameraTracks: directorStore.project.timeline.cameraTracks,
|
||||
cameras: directorStore.project.cameras,
|
||||
projectScene: directorStore.project.scene,
|
||||
activeCameraId: displayCameraId,
|
||||
playhead: time,
|
||||
viewMode: view,
|
||||
|
||||
Reference in New Issue
Block a user