fix: 移除 asset_durations 的 random_preview 条件限制 #1509
Reference in New Issue
Block a user
Delete Branch "fix/enable-random-start-time-for-all-plans"
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?
问题
asset_durations仅在random_preview=True时传入distribute_assets(),导致正常创建 plan 时_calc_random_start_time()永远走不到随机逻辑,所有 clip 的start_time固定为 0。修复
移除
random_preview条件,只要_asset_repo存在就始终获取asset_durations,使素材片段随机起始时间对所有 plan 生效。测试
新增 3 个测试:
random_preview=False时也获取asset_durationsrandom_preview=True时行为不变_asset_repo为 None 时asset_durations为 None🚀 预览环境已部署
【阻塞级判定】
📊 审查概览
🔴 阻塞级问题(必须修复)
无
💡 改进建议(不阻塞合并)
random_preview的判断条件,意味着无论是否为随机预览模式都会获取素材时长。但注释仍写“用于随机起始时间”,这容易造成误解。建议修改注释以反映新的逻辑意图(例如:用于素材时长校验或随机起始时间),或者确认在非随机预览模式下获取时长确实是必要的(涉及性能开销)。✅ 良好实践
packages/domain/plan_generator_utils.py中使用_seg_start标记未使用的循环变量,符合 Python 代码规范,消除了 lint 警告。tests/unit/test_plan_generator.py新增的测试用例覆盖了修改后的逻辑边界(random_preview为 True/False 以及_asset_repo为 None 的情况),测试覆盖较完整。✅ 格式检查通过 | ✅ 逻辑审查通过 | ⚠️ 建议关注性能
🤖 由 AI 代码审查机器人自动生成 | 2026-08-26 10:34:37 | 模型:
CI全绿,自动审批通过。
CI全绿,自动审批通过。
🗑️ 预览环境已清理
PR #1509 已关闭或合并,对应的预览环境已被清理。