{timeline.tracks.length === 0 && timeline.cameraTracks.length === 0 ? (
还没有关键帧。选中对象或相机,摆好状态后点「在指针处打关键帧」。
) : null}
{timeline.tracks.map((track) => {
const obj = project.objects.find((o) => o.id === track.objectId);
return (
{obj?.name ?? track.objectId}
{track.keyframes.map((kf) => {
const leftPercent = duration === 0 ? 0 : (kf.time / duration) * 100;
const isSelected =
selectedKeyframe?.kind === "object" &&
selectedKeyframe.targetId === track.objectId &&
selectedKeyframe.keyframeId === kf.id;
return (
);
})}
{timeline.cameraTracks.map((track) => {
const shot = project.cameras.find((c) => c.id === track.cameraId);
return (
📷 {shot?.name ?? track.cameraId}
{track.keyframes.map((kf) => {
const leftPercent = duration === 0 ? 0 : (kf.time / duration) * 100;
const isSelected =
selectedKeyframe?.kind === "camera" &&
selectedKeyframe.targetId === track.cameraId &&
selectedKeyframe.keyframeId === kf.id;
return (
);
})}