Question :
Do you see the error reported by azazello ?
Because everything looks good at me.

I tested with a loop measure (0~359) pausing the loop measure at 0, 90, 180, and 270 for a few seconds, and like azazello noticed, I am seeing a the compass appear slightly left of center when it is north and south. It is most noticeable in the shadow on the bottom section of the compass rose, but it is a minor issue.
Ii's up to you if you want to modify the code or images. I set the X value to 18 (azazello set it to 19) and it shifted the compass so the pointer is closer to the shadow line.

I tested with a loop measure (0~359) pausing the loop measure at 0, 90, 180, and 270 for a few seconds, and like azazello noticed, I am seeing a the compass appear slightly left of center when it is north and south. It is most noticeable in the shadow on the bottom section of the compass rose, but it is a minor issue.
Ii's up to you if you want to modify the code or images. I set the X value to 18 (azazello set it to 19) and it shifted the compass so the pointer is closer to the shadow line.

I still like what you created !

Strange, because for me it looks ok with X = 17 (for example, the image posted by me above), and with x = 18, the compass moves very slightly to the right.
I think I will set the value of X to 18 to be in the middle between 17 and 19
Anyway, thanks because you had the patience to test it.