Minecraft-Console-Client/MinecraftClient.Tests/TestData/Pathing/pathing-timing-budgets.json
BruceChen 418f17b4a1 pathing: add side-wall theory, full-coverage parkour test suite, and live test fixes
Theory simulator:
- Add 2D side-wall jump physics with yaw sweep for worst-case margin
- Generate sidewall theory cases (flat/ascend/descend, wall_offset 0/1)
- Add momentum-capabilities.json with band compression and max_reach
- Extend models, capabilities, canonical, and renderers for sidewall

Full-coverage parkour test suite (tools/test-parkour.py):
- Derive test matrix from momentum-capabilities.json
- Build linear/neo/ceiling courses via RCON with 7-block clear margin
- Use /goto for pathfinding, parse A* and PathMgr log output
- Stop-at-first-failure per (family, subfamily, dy, ceil, wo) group
- Hierarchical --filter (e.g. linear/flat, ceiling/headhitter/ceil2.5)
- Exclude sidewall from default matrix (identical max_reach to linear)

Pathing execution fixes:
- Align parkour contracts and timing budgets with live test results
- Fix jump-entry yaw snapping for grounded handoffs
- Template helper and sprint jump template refinements

Made-with: Cursor
2026-04-15 17:52:47 +00:00

624 lines
12 KiB
JSON

[
{
"scenarioId": "manager-accepted-ascend-chain",
"expectedTotalTicks": 0,
"maxTotalTicks": 0,
"segments": [
{
"moveType": "Diagonal",
"expectedTicks": 0,
"maxTicks": 0
},
{
"moveType": "Diagonal",
"expectedTicks": 0,
"maxTicks": 0
},
{
"moveType": "Traverse",
"expectedTicks": 0,
"maxTicks": 0
},
{
"moveType": "Ascend",
"expectedTicks": 0,
"maxTicks": 0
},
{
"moveType": "Ascend",
"expectedTicks": 0,
"maxTicks": 0
},
{
"moveType": "Ascend",
"expectedTicks": 0,
"maxTicks": 0
}
]
},
{
"scenarioId": "same-move-ascend-staircase",
"expectedTotalTicks": 60,
"maxTotalTicks": 74,
"segments": [
{
"moveType": "Ascend",
"expectedTicks": 10,
"maxTicks": 12
},
{
"moveType": "Ascend",
"expectedTicks": 12,
"maxTicks": 15
},
{
"moveType": "Ascend",
"expectedTicks": 12,
"maxTicks": 15
},
{
"moveType": "Ascend",
"expectedTicks": 12,
"maxTicks": 15
},
{
"moveType": "Ascend",
"expectedTicks": 14,
"maxTicks": 17
}
]
},
{
"scenarioId": "same-move-descend-staircase",
"expectedTotalTicks": 61,
"maxTotalTicks": 74,
"segments": [
{
"moveType": "Descend",
"expectedTicks": 24,
"maxTicks": 29
},
{
"moveType": "Descend",
"expectedTicks": 25,
"maxTicks": 30
},
{
"moveType": "Descend",
"expectedTicks": 12,
"maxTicks": 15
}
]
},
{
"scenarioId": "rejected-3x1-invalid-goal",
"expectedTotalTicks": 0,
"maxTotalTicks": 0,
"segments": []
},
{
"scenarioId": "repeated-cardinal-parkour-chain",
"expectedTotalTicks": 123,
"maxTotalTicks": 150,
"segments": [
{
"moveType": "Parkour",
"expectedTicks": 46,
"maxTicks": 56
},
{
"moveType": "Parkour",
"expectedTicks": 41,
"maxTicks": 50
},
{
"moveType": "Parkour",
"expectedTicks": 20,
"maxTicks": 24
},
{
"moveType": "Parkour",
"expectedTicks": 16,
"maxTicks": 20
}
]
},
{
"scenarioId": "repeated-diagonal-parkour-chain",
"expectedTotalTicks": 67,
"maxTotalTicks": 82,
"segments": [
{
"moveType": "Parkour",
"expectedTicks": 14,
"maxTicks": 17
},
{
"moveType": "Parkour",
"expectedTicks": 36,
"maxTicks": 44
},
{
"moveType": "Parkour",
"expectedTicks": 17,
"maxTicks": 21
}
]
},
{
"scenarioId": "obstructed-parkour-l-turns",
"expectedTotalTicks": 50,
"maxTotalTicks": 62,
"segments": [
{
"moveType": "Parkour",
"expectedTicks": 13,
"maxTicks": 16
},
{
"moveType": "Parkour",
"expectedTicks": 21,
"maxTicks": 26
},
{
"moveType": "Parkour",
"expectedTicks": 16,
"maxTicks": 20
}
]
},
{
"scenarioId": "vertical-jump-mix",
"expectedTotalTicks": 50,
"maxTotalTicks": 62,
"segments": [
{
"moveType": "Parkour",
"expectedTicks": 13,
"maxTicks": 16
},
{
"moveType": "Descend",
"expectedTicks": 12,
"maxTicks": 15
},
{
"moveType": "Parkour",
"expectedTicks": 12,
"maxTicks": 15
},
{
"moveType": "Descend",
"expectedTicks": 13,
"maxTicks": 16
}
]
},
{
"scenarioId": "diagonal-vertical-mix",
"expectedTotalTicks": 48,
"maxTotalTicks": 59,
"segments": [
{
"moveType": "Ascend",
"expectedTicks": 19,
"maxTicks": 23
},
{
"moveType": "Parkour",
"expectedTicks": 16,
"maxTicks": 20
},
{
"moveType": "Descend",
"expectedTicks": 13,
"maxTicks": 16
}
]
},
{
"scenarioId": "turn-density-alternating-traverse-diagonal-chain",
"expectedTotalTicks": 47,
"maxTotalTicks": 59,
"segments": [
{
"moveType": "Diagonal",
"expectedTicks": 8,
"maxTicks": 10
},
{
"moveType": "Diagonal",
"expectedTicks": 8,
"maxTicks": 10
},
{
"moveType": "Diagonal",
"expectedTicks": 8,
"maxTicks": 10
},
{
"moveType": "Diagonal",
"expectedTicks": 7,
"maxTicks": 9
},
{
"moveType": "Diagonal",
"expectedTicks": 8,
"maxTicks": 10
},
{
"moveType": "Diagonal",
"expectedTicks": 8,
"maxTicks": 10
}
]
},
{
"scenarioId": "mixed-traverse-ascend-parkour-descend",
"expectedTotalTicks": 70,
"maxTotalTicks": 88,
"segments": [
{
"moveType": "Traverse",
"expectedTicks": 5,
"maxTicks": 7
},
{
"moveType": "Ascend",
"expectedTicks": 12,
"maxTicks": 15
},
{
"moveType": "Ascend",
"expectedTicks": 13,
"maxTicks": 16
},
{
"moveType": "Traverse",
"expectedTicks": 5,
"maxTicks": 7
},
{
"moveType": "Parkour",
"expectedTicks": 14,
"maxTicks": 17
},
{
"moveType": "Descend",
"expectedTicks": 21,
"maxTicks": 26
}
]
},
{
"scenarioId": "same-move-aligned-parkour-chain",
"expectedTotalTicks": 123,
"maxTotalTicks": 150,
"segments": [
{
"moveType": "Parkour",
"expectedTicks": 46,
"maxTicks": 56
},
{
"moveType": "Parkour",
"expectedTicks": 41,
"maxTicks": 50
},
{
"moveType": "Parkour",
"expectedTicks": 20,
"maxTicks": 24
},
{
"moveType": "Parkour",
"expectedTicks": 16,
"maxTicks": 20
}
]
},
{
"scenarioId": "mixed-diagonal-ascend-traverse-descend",
"expectedTotalTicks": 96,
"maxTotalTicks": 120,
"segments": [
{
"moveType": "Diagonal",
"expectedTicks": 8,
"maxTicks": 10
},
{
"moveType": "Diagonal",
"expectedTicks": 8,
"maxTicks": 10
},
{
"moveType": "Ascend",
"expectedTicks": 32,
"maxTicks": 39
},
{
"moveType": "Ascend",
"expectedTicks": 11,
"maxTicks": 14
},
{
"moveType": "Traverse",
"expectedTicks": 6,
"maxTicks": 8
},
{
"moveType": "Traverse",
"expectedTicks": 5,
"maxTicks": 7
},
{
"moveType": "Descend",
"expectedTicks": 26,
"maxTicks": 32
}
]
},
{
"scenarioId": "speed-carry-repeated-traverse-ascend",
"expectedTotalTicks": 70,
"maxTotalTicks": 90,
"segments": [
{
"moveType": "Traverse",
"expectedTicks": 5,
"maxTicks": 7
},
{
"moveType": "Ascend",
"expectedTicks": 13,
"maxTicks": 16
},
{
"moveType": "Traverse",
"expectedTicks": 5,
"maxTicks": 7
},
{
"moveType": "Ascend",
"expectedTicks": 12,
"maxTicks": 15
},
{
"moveType": "Traverse",
"expectedTicks": 5,
"maxTicks": 7
},
{
"moveType": "Ascend",
"expectedTicks": 12,
"maxTicks": 15
},
{
"moveType": "Traverse",
"expectedTicks": 5,
"maxTicks": 7
},
{
"moveType": "Ascend",
"expectedTicks": 13,
"maxTicks": 16
}
]
},
{
"scenarioId": "speed-carry-repeated-traverse-descend",
"expectedTotalTicks": 45,
"maxTotalTicks": 57,
"segments": [
{
"moveType": "Traverse",
"expectedTicks": 5,
"maxTicks": 7
},
{
"moveType": "Parkour",
"expectedTicks": 21,
"maxTicks": 26
},
{
"moveType": "Traverse",
"expectedTicks": 6,
"maxTicks": 8
},
{
"moveType": "Descend",
"expectedTicks": 13,
"maxTicks": 16
}
]
},
{
"scenarioId": "speed-carry-repeated-traverse-parkour",
"expectedTotalTicks": 58,
"maxTotalTicks": 73,
"segments": [
{
"moveType": "Traverse",
"expectedTicks": 5,
"maxTicks": 7
},
{
"moveType": "Parkour",
"expectedTicks": 14,
"maxTicks": 17
},
{
"moveType": "Traverse",
"expectedTicks": 5,
"maxTicks": 7
},
{
"moveType": "Parkour",
"expectedTicks": 14,
"maxTicks": 17
},
{
"moveType": "Traverse",
"expectedTicks": 5,
"maxTicks": 7
},
{
"moveType": "Parkour",
"expectedTicks": 15,
"maxTicks": 18
}
]
},
{
"scenarioId": "same-move-diagonal-chain",
"expectedTotalTicks": 55,
"maxTotalTicks": 69,
"segments": [
{
"moveType": "Diagonal",
"expectedTicks": 8,
"maxTicks": 10
},
{
"moveType": "Diagonal",
"expectedTicks": 8,
"maxTicks": 10
},
{
"moveType": "Diagonal",
"expectedTicks": 7,
"maxTicks": 9
},
{
"moveType": "Diagonal",
"expectedTicks": 8,
"maxTicks": 10
},
{
"moveType": "Diagonal",
"expectedTicks": 8,
"maxTicks": 10
},
{
"moveType": "Diagonal",
"expectedTicks": 7,
"maxTicks": 9
},
{
"moveType": "Diagonal",
"expectedTicks": 9,
"maxTicks": 11
}
]
},
{
"scenarioId": "same-move-straight-traverse-chain",
"expectedTotalTicks": 70,
"maxTotalTicks": 94,
"segments": [
{
"moveType": "Traverse",
"expectedTicks": 6,
"maxTicks": 8
},
{
"moveType": "Traverse",
"expectedTicks": 6,
"maxTicks": 8
},
{
"moveType": "Traverse",
"expectedTicks": 6,
"maxTicks": 8
},
{
"moveType": "Traverse",
"expectedTicks": 5,
"maxTicks": 7
},
{
"moveType": "Traverse",
"expectedTicks": 6,
"maxTicks": 8
},
{
"moveType": "Traverse",
"expectedTicks": 6,
"maxTicks": 8
},
{
"moveType": "Traverse",
"expectedTicks": 5,
"maxTicks": 7
},
{
"moveType": "Traverse",
"expectedTicks": 6,
"maxTicks": 8
},
{
"moveType": "Traverse",
"expectedTicks": 5,
"maxTicks": 7
},
{
"moveType": "Traverse",
"expectedTicks": 6,
"maxTicks": 8
},
{
"moveType": "Traverse",
"expectedTicks": 6,
"maxTicks": 8
},
{
"moveType": "Traverse",
"expectedTicks": 7,
"maxTicks": 9
}
]
},
{
"scenarioId": "mixed-traverse-turn-parkour-turn-traverse",
"expectedTotalTicks": 60,
"maxTotalTicks": 75,
"segments": [
{
"moveType": "Traverse",
"expectedTicks": 8,
"maxTicks": 10
},
{
"moveType": "Diagonal",
"expectedTicks": 6,
"maxTicks": 8
},
{
"moveType": "Parkour",
"expectedTicks": 14,
"maxTicks": 17
},
{
"moveType": "Traverse",
"expectedTicks": 8,
"maxTicks": 10
},
{
"moveType": "Diagonal",
"expectedTicks": 8,
"maxTicks": 10
},
{
"moveType": "Diagonal",
"expectedTicks": 9,
"maxTicks": 11
},
{
"moveType": "Traverse",
"expectedTicks": 7,
"maxTicks": 9
}
]
}
]