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(