From bec468bdc97e9d68ac72bc0baebfde8131a9c021 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E7=8E=8B=E5=BE=B7=E5=AE=87?= Date: Sat, 12 Sep 2026 02:23:02 +0800 Subject: [PATCH] =?UTF-8?q?=E7=BB=9F=E4=B8=80=E5=88=86=E7=A6=BB=E7=BB=88?= =?UTF-8?q?=E6=AD=A2=E8=8A=82=E7=82=B9=E5=88=A4=E5=AE=9A?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 批次选择与提取提示复用同一终止节点集合 --- .../ui_editor/commands/separation/prompt/extract.rs | 13 ++----------- .../ui_editor/commands/separation/workflow/batch.rs | 4 ++-- 2 files changed, 4 insertions(+), 13 deletions(-) diff --git a/apps/ai-game-creator-shell/src-tauri/src/ui_editor/commands/separation/prompt/extract.rs b/apps/ai-game-creator-shell/src-tauri/src/ui_editor/commands/separation/prompt/extract.rs index d6edfe0e5..aceb5c4df 100644 --- a/apps/ai-game-creator-shell/src-tauri/src/ui_editor/commands/separation/prompt/extract.rs +++ b/apps/ai-game-creator-shell/src-tauri/src/ui_editor/commands/separation/prompt/extract.rs @@ -1,6 +1,7 @@ use crate::ui_editor::commands::separation::model::{ sanitize_prompt_text, SeparationState, SeparationTree, }; +use crate::ui_editor::commands::separation::workflow::batch::terminal_node_ids; use crate::ui_editor::commands::separation::{SeparationNode, SeparationNodeKind}; use crate::ui_editor::utils::NodeId; use serde::Serialize; @@ -64,17 +65,7 @@ pub(crate) fn gen_extract_prompt( .iter() .map(|node| node.id.clone()) .collect::>(); - let terminal_ids = state - .bound - .iter() - .map(|node| node.node_id.clone()) - .chain( - state - .problematic_nodes - .iter() - .map(|node| node.node_id.clone()), - ) - .collect::>(); + let terminal_ids = terminal_node_ids(state); let mut index = 1; let document = ExtractPromptDocument { ui_layer_tree: project_node(&tree.root, &target_ids, &terminal_ids, &mut index), diff --git a/apps/ai-game-creator-shell/src-tauri/src/ui_editor/commands/separation/workflow/batch.rs b/apps/ai-game-creator-shell/src-tauri/src/ui_editor/commands/separation/workflow/batch.rs index f4033880c..13024a78b 100644 --- a/apps/ai-game-creator-shell/src-tauri/src/ui_editor/commands/separation/workflow/batch.rs +++ b/apps/ai-game-creator-shell/src-tauri/src/ui_editor/commands/separation/workflow/batch.rs @@ -40,7 +40,7 @@ pub fn image_edit_dimension_for_area(area_px: u64) -> u32 { aligned.clamp(IMAGE_EDIT_MIN_DIMENSION_PX, IMAGE_EDIT_MAX_DIMENSION_PX) as u32 } -fn terminal_ids(state: &SeparationState) -> HashSet { +pub(crate) fn terminal_node_ids(state: &SeparationState) -> HashSet { state .bound .iter() @@ -82,7 +82,7 @@ pub fn next_image_batch_with_size<'a>( state: &SeparationState, tree: &'a SeparationTree, ) -> ImageBatch<'a> { - let terminal = terminal_ids(state); + let terminal = terminal_node_ids(state); let mut selected = Vec::new(); let mut area = 0; collect_dfs_batch(