移除废弃的独立识别路径

让联合识别绑定成为 UI 编辑器唯一实现并清理旧状态投影
This commit is contained in:
2026-09-05 13:11:38 +08:00
parent 88853d0a30
commit e34ae89db3
@@ -231,16 +231,11 @@ export function useUiEditorSession(
useState<PendingResourceRemoval | null>(null);
const [isSuggesting, setIsSuggesting] = useState(false);
const [suggestionStatus, setSuggestionStatus] = useState<string | null>(null);
const [isRecognizing, setIsRecognizing] = useState(false);
const [recognitionStatus, setRecognitionStatus] = useState<string | null>(
null,
);
const [isMerging, setIsMerging] = useState(false);
const [mergeStatus, setMergeStatus] = useState<string | null>(null);
const [isBinding, setIsBinding] = useState(false);
const [bindingStatus, setBindingStatus] = useState<string | null>(null);
const [hasSuggested, setHasSuggested] = useState(false);
const [hasRecognized, setHasRecognized] = useState(false);
const [hasBound, setHasBound] = useState(false);
useEffect(() => {
@@ -368,7 +363,7 @@ export function useUiEditorSession(
image.metadata.role === 'Page' &&
!isSlaveToDescendant(images, id as UIDesignImageId, activeImageId),
);
const isAiRunning = isSuggesting || isRecognizing || isBinding || isMerging;
const isAiRunning = isSuggesting || isBinding || isMerging;
const isWorkflowBusy =
isAiRunning || isSaving || isGenerating || isLoading || editor.isLocked;
const stateSignature = JSON.stringify(editor.state);
@@ -948,33 +943,6 @@ export function useUiEditorSession(
}
}
async function recognizeUi() {
if (isRecognizing || isWorkflowBusy) return;
setRecognitionStatus(null);
setIsRecognizing(true);
try {
await editor.runWithStateLocked(async (snapshot) => {
const result = await invoke<RecognitionAndBindingDTO>(
'recognition_and_binding',
{
projectPath,
state: snapshot,
},
);
editor.replaceState(applyRecognitionAndBindingResult(snapshot, result));
setHasRecognized(true);
setSelectedNodeId(null);
setRecognitionStatus(`已替换 ${result.ui_trees.length} 棵界面树。`);
});
} catch (cause) {
setRecognitionStatus(
cause instanceof Error ? cause.message : String(cause),
);
} finally {
setIsRecognizing(false);
}
}
async function mergeUi() {
// TODO: This experimental operation is intentionally outside the formal workflow.
if (isMerging || isWorkflowBusy) return;
@@ -1155,17 +1123,14 @@ export function useUiEditorSession(
operations: {
isBinding,
isMerging,
isRecognizing,
isSuggesting,
bindingStatus,
mergeStatus,
recognitionStatus,
suggestionStatus,
},
checkPrerequisites,
bindComponents,
mergeUi,
recognizeUi,
suggestUiDesignSemantics,
openImporter: setImportKind,
selectDesignImage,
@@ -1272,10 +1237,6 @@ export function useUiEditorSession(
hasSuggested,
suggestionStatus,
suggestUiDesignSemantics,
isRecognizing,
hasRecognized,
recognitionStatus,
recognizeUi,
isBinding,
hasBound,
bindingStatus,