修复布尔范围操作重复执行
- 重新开始区域合并或重叠区域去除时取消旧的顶栏按帧范围请求 - 防止先选择按帧范围、再处理当前帧后还能继续执行旧范围合并 - 补充 VideoWorkspace 回归测试覆盖旧范围请求被取消的路径 - 更新项目指南、设计冻结和测试计划中的互斥交互说明
This commit is contained in:
@@ -1015,6 +1015,17 @@ export function VideoWorkspace({ onNavigateToAI }: { onNavigateToAI?: () => void
|
||||
setStatusMessage(`请选择${booleanOperationLabel(request.operation)}帧范围,再点击“确认${booleanOperationLabel(request.operation)}”`);
|
||||
}, [frameNumberById]);
|
||||
|
||||
const clearPendingBooleanRangeSelection = useCallback(() => {
|
||||
setPendingBooleanRangeRequest(null);
|
||||
setPendingBooleanRangeConfirm(null);
|
||||
if (rangeSelectionMode === 'boolean') {
|
||||
setRangeSelectionMode(null);
|
||||
setIsPropagationRangeSelecting(false);
|
||||
setHasExplicitPropagationRange(false);
|
||||
setStatusMessage('');
|
||||
}
|
||||
}, [rangeSelectionMode]);
|
||||
|
||||
const handleConfirmBooleanFrameRangeOperation = useCallback(() => {
|
||||
if (!pendingBooleanRangeRequest || frames.length === 0) return;
|
||||
const clampRangeFrameNumber = (value: number) => {
|
||||
@@ -2114,6 +2125,7 @@ export function VideoWorkspace({ onNavigateToAI }: { onNavigateToAI?: () => void
|
||||
totalFrames={totalFrames}
|
||||
onRequestDeleteMasks={(maskIds) => void handleDeleteSelectedMasks(maskIds)}
|
||||
onRequestBooleanFrameRange={handleBooleanFrameRangeRequest}
|
||||
onBooleanOperationStart={clearPendingBooleanRangeSelection}
|
||||
onDeleteMaskAnnotations={handleDeleteMaskAnnotations}
|
||||
/>
|
||||
</div>
|
||||
|
||||
Reference in New Issue
Block a user