calculateCameraMatrixDeg

fun calculateCameraMatrixDeg(pitch: Float, bearing: Float, translateZ: Matrix4): Matrix4

Scale (tile zoom) then bearing (Z) then pitch (X), using post-multiplication so each rotation applies in map/tangent space: M = T_scale × R_z(-bearing) × R_x(pitch). The previous left-multiplication chain (R_x × R_z × T) put the map plane in the wrong orientation relative to the perspective camera except at specific bearing/pitch combos.