diff --git a/src/brush_paint.rs b/src/brush_paint.rs index 633e58c2..d4d02489 100644 --- a/src/brush_paint.rs +++ b/src/brush_paint.rs @@ -894,16 +894,8 @@ fn walk_brush(start: (f32, f32), init_dir: Option<(f32, f32)>, } }; - // Stuck check: would we land on already-painted ink AND are we - // sitting on already-painted ink? - let would_be_stuck = { - let new_p_probe = (p.0 + dir.0 * step_size, p.1 + dir.1 * step_size); - let (nc, _, _) = grid.evaluate_disk(new_p_probe, brush_radius); - nc == 0 && grid.evaluate_disk(p, brush_radius).0 == 0 - }; - - if score < min_score || would_be_stuck { - exit_reason = if score < min_score { "score_below_min".into() } else { "stuck".into() }; + if score < min_score { + exit_reason = "score_below_min".into(); if let Some(t) = trace.as_deref_mut() { t.steps.push(WalkStep { idx: step_idx, p, prev_dir, @@ -913,9 +905,8 @@ fn walk_brush(start: (f32, f32), init_dir: Option<(f32, f32)>, } break; } - let chosen_dir = dir; - let new_p = (p.0 + chosen_dir.0 * step_size, p.1 + chosen_dir.1 * step_size); + let new_p = (p.0 + dir.0 * step_size, p.1 + dir.1 * step_size); if let Some(t) = trace.as_deref_mut() { t.steps.push(WalkStep { @@ -928,7 +919,7 @@ fn walk_brush(start: (f32, f32), init_dir: Option<(f32, f32)>, p = new_p; path.push(p); - prev_dir = Some(chosen_dir); + prev_dir = Some(dir); grid.paint_disk(p, brush_radius); step_idx += 1; }