Minecraft-Console-Client/docs/superpowers/plans
BruceChen d002930a6a pathing: unify jump moves into MoveJump + IMoveExpander
Replace seven hand-written IMove classes (MoveTraverse, MoveDiagonal,
MoveAscend, MoveDiagonalAscend, MoveDiagonalDescend, MoveParkour,
MoveSidewallParkour) with a single MoveJump driven by a JumpDescriptor
(XOffset, ZOffset, YDelta, JumpFlavor). JumpFeasibility is the single
source of truth for the physics/cost rules of every jump-family move.

A* no longer iterates a flat IMove[]. The Calculate loop now drives
an IMoveExpander[] that writes into a stackalloc Span<MoveNeighbor>,
eliminating per-iteration heap traffic. JumpExpander enumerates every
jump-family descriptor dynamically; LegacyMoveExpander wraps the
remaining dynamic-landing moves (MoveDescend, MoveSprintDescend,
MoveClimb, MoveFall) so callers that still pass a custom IMove[]
keep working.

Add two O(1) short-circuits at the top of JumpExpander.Expand:
- Hoist the per-node parkour preconditions (AllowParkour + CanSprint,
  standing block climbability, feet-liquid, head clearance at y+2)
  so ~170 SprintJump + Sidewall descriptors never call JumpFeasibility
  when the node cannot take off at all.
- Precompute an 8-way "first step has no floor" table indexed by
  (sign(dx), sign(dz)) so SprintJump descriptors in a direction that
  has a walkable floor underneath are dropped without Evaluate.
- Add a conservative "any cardinal wall at y or y+1" probe that skips
  all 112 Sidewall descriptors when no wall exists adjacent to the
  takeoff.

Move tests switch to the new MoveJump.* factory methods. Behavior is
verified by the existing test suite: the 21 pre-existing baseline
failures are preserved exactly, 0 regressions introduced.

Made-with: Cursor
2026-04-19 17:03:26 +00:00
..
2026-04-12-mcc-shared-server-isolated-sessions.md refactor: update MCC commands and documentation to use version 1.21.11-Vanilla for consistency across workflows 2026-04-12 20:48:30 +00:00
2026-04-12-parkour-admissibility-plan.md feat: implement parkour admissibility hardening with new feasibility checks 2026-04-12 18:43:33 +00:00
2026-04-12-pathing-live-regression-convergence.md refactor: replace CursorBot references with MCCBot in pathing scripts and documentation 2026-04-14 17:15:33 +00:00
2026-04-12-pathing-lookahead-entry-contracts.md refactor: update MCC commands and documentation to use version 1.21.11-Vanilla for consistency across workflows 2026-04-12 20:48:30 +00:00
2026-04-12-pathing-template-convergence.md refactor: update MCC commands and documentation to use version 1.21.11-Vanilla for consistency across workflows 2026-04-12 20:48:30 +00:00
2026-04-12-pathing-transition-braking.md refactor: replace CursorBot references with MCCBot in pathing scripts and documentation 2026-04-14 17:15:33 +00:00
2026-04-13-pathing-contract-metrics-harness.md test: add zero-replan live pathing harness 2026-04-13 15:36:39 +00:00
2026-04-13-zero-replan-live-pathing.md test: add zero-replan live pathing harness 2026-04-13 15:36:39 +00:00
2026-04-16-linear-parallel-zero-replan.md pathing: tighten linear parkour execution 2026-04-18 06:14:45 +00:00
2026-04-18-parkour-worker-pool.md test-harness: add parkour worker pool 2026-04-18 06:15:10 +00:00
2026-04-18-sidewall-parkour-zero-replan.md pathing: sidewall runup precondition via EntryPreparation 2026-04-19 17:03:03 +00:00
2026-04-19-sidewall-runup-precondition-plan.md pathing: sidewall runup precondition via EntryPreparation 2026-04-19 17:03:03 +00:00
2026-04-19-unified-jump-move-plan.md pathing: unify jump moves into MoveJump + IMoveExpander 2026-04-19 17:03:26 +00:00