feat: 片段分割与合并 - 时间线剪刀工具后端能力 #393
Reference in New Issue
Block a user
Delete Branch "feat/clip-split-merge"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
功能
时间线编辑器核心操作:片段分割(剪刀工具)+ 片段合并。
Service 层
split_clip(clip_id, split_time)
merge_clips(clip_ids)
API
POST /api/v1/edit-plans/clips/{clip_id}/split— 分割片段POST /api/v1/edit-plans/clips/merge— 合并片段测试
67 passed(原50 + 新增17),零回归
分割 7 个:基础分割/属性继承/后续重排/边界校验/负数校验/不存在/素材裁剪
合并 10 个:两片段/后续重排/三片段/类型不一致/不连续/单个不足/跨计划/清理trim/分割再合并闭环
6be1ae0136to5cb6211e64df3e6be448to5cb6211e645cb6211e64to2441bfb7c812f803455ctoeb41c8acec- EditPlanService.split_clip(): 指定时间点一分为二 - 自动重排后续片段 order - 素材片段自动加 trim_start/trim_end - 属性完整继承(类型/转场/速度/config) - EditPlanService.merge_clips(): 连续同类型片段合并 - 校验:同计划/连续order/同类型/至少2个 - 时长累加、文案拼接、config合并 - 自动清理 trim 字段、重排后续 order - API: POST /clips/{id}/split + POST /clips/merge - 项目级权限校验 - 17个单元测试全覆盖eb41c8acectob19a0a3454CI全绿,自动审批通过。