glad you liked it! I see you figured it out already witch is great. The way I would do it is a bit different.
for move left/right I would use "camera.basis.x" as the move direction. for forward/backward I would use "player.basis.y.cross(camera.basis.x)".
which might look something like:
var input: Vector2 = Input.get_vector(...) # replace '...' with move input mappings
var forward_axis: Vector3 = player.basis.y.cross(camera.basis.x)
var right_axis: Vector3 = camera.basis.x
var move_vector = input.x * forward_axis + input.y * right_axis
player.move(move_vector * speed)
I personally prefer to keep the camera rotation completely separate from the player rotation but that's completely up to you of course :3