diff --git a/apps/ai-game-creator-shell/src-tauri/src/agent/design_runtime.rs b/apps/ai-game-creator-shell/src-tauri/src/agent/design_runtime.rs index 45e2a6392..2d24a4997 100644 --- a/apps/ai-game-creator-shell/src-tauri/src/agent/design_runtime.rs +++ b/apps/ai-game-creator-shell/src-tauri/src/agent/design_runtime.rs @@ -696,6 +696,7 @@ async fn request_design_provider( )); let result = if llm.stream { let mut stream_sequence = 0_u64; + let mut emitted_reasoning = String::new(); client .stream_run(request.clone(), |delta| { stream_sequence = stream_sequence.saturating_add(1); @@ -727,13 +728,16 @@ async fn request_design_provider( None, )); } - if !delta.reasoning_delta.is_empty() { + if !delta.reasoning_delta.is_empty() + || delta.accumulated_reasoning != emitted_reasoning + { emit(design_reasoning_event( root, &turn_id, Some(&message_id), delta.accumulated_reasoning.clone(), )); + emitted_reasoning = delta.accumulated_reasoning.clone(); } }) .await