for anyone looking to simulate the next turn, this was pretty accurate for me
const radians = R * (Math.PI / 180)
const xAcc = Math.sin(radians) * P
const yAcc = Math.cos(radians) * P - gravity
HS -= xAcc
VS += yAcc
const newX = X + HS - xAcc * 0.5
const newY = Y + VS + yAcc * 0.5 + gravity