pathing: async replan + template success/failure alignment

Move PathSegmentManager's Replan to Task.Run so the main tick only reads
results and swaps executors, and introduce a _nextExecutor pre-planning
slot so upcoming segments can prepare while the current one finishes.

Relax per-tick yaw/pitch rate limiting: allow instantaneous snapping
before jump ticks (Baritone does this and servers do not kick for it).

Align jump-template success/failure contracts with Baritone:
- Success key shifts from "speed squared" to "feet-on-target block".
- Failure window widened to the ~200 tick range.
- AscendTemplate gets a headBonkClear + edge/side proximity
  precondition so launches only happen from a safe takeoff.

Expose an initialMomentumTicks option on TemplateSimulationRunner so
follow-up sidewall scenarios can warm up physics before a template
starts.

Made-with: Cursor
This commit is contained in:
BruceChen 2026-04-19 17:02:41 +00:00
parent e23037a897
commit 95b20d9d1c
6 changed files with 554 additions and 48 deletions

View file

@ -33,6 +33,8 @@ namespace MinecraftClient.Pathing.Execution
public int TotalTicks => _totalTicks;
public PathSegment? CurrentSegment =>
_currentIndex < _segments.Count ? _segments[_currentIndex] : null;
public PathSegment? LastSegment =>
_segments.Count > 0 ? _segments[^1] : null;
public PathExecutor(List<PathSegment> segments, Action<string>? debugLog = null, IPathExecutionObserver? observer = null)
{