修复图标规范优化细节

空响应纳入有界重试,并为优化请求设置输出 token 上限。
修复题材提示词括号并补充回归测试。
将优化请求身份更新移入已提交 effect,避免并发渲染污染。
移除冗余类型注释并同步编辑器文档。
This commit is contained in:
2026-08-06 11:33:26 +08:00
parent 3550f046e4
commit e6f0e6248e
7 changed files with 58 additions and 13 deletions
@@ -152,7 +152,6 @@ export type EditorAssetFolder = {
persisted: boolean;
};
// 这里指规范的类型
export type SpecGenerationType = 'character' | 'icon' | 'custom';
export type SpecFormValues = {
@@ -155,19 +155,26 @@ export function ImageCanvasSpecGenerationPanelView({
null,
);
const optimizationDialogKey = `${dialog.id ?? 'active'}:${dialog.mode}:${dialog.specType ?? ''}`;
const activeOptimizationDialogKeyRef = useRef(optimizationDialogKey);
const activeOptimizationDialogKeyRef = useRef<string | null>(
optimizationDialogKey,
);
const optimizationRequestVersionsRef = useRef({
playSetting: 0,
artStyle: 0,
});
activeOptimizationDialogKeyRef.current = optimizationDialogKey;
useEffect(() => {
activeOptimizationDialogKeyRef.current = optimizationDialogKey;
optimizationRequestVersionsRef.current.playSetting += 1;
optimizationRequestVersionsRef.current.artStyle += 1;
setPlaySettingOptimization(INITIAL_ICON_SPEC_OPTIMIZATION_STATE);
setArtStyleOptimization(INITIAL_ICON_SPEC_OPTIMIZATION_STATE);
setOptimizationError(null);
}, [dialog.id, dialog.mode, dialog.specType]);
return () => {
if (activeOptimizationDialogKeyRef.current === optimizationDialogKey) {
activeOptimizationDialogKeyRef.current = null;
}
};
}, [optimizationDialogKey]);
const isOptimizingIconSpec =
playSettingOptimization.optimizing || artStyleOptimization.optimizing;
const hasRequiredIconSpecValues =