How to create a polygon that stays the same size during zoom?

Hi, I’m new to Cesium. I’m using a 3D scene with some objects on it (boxes) and I want to create a circle polygon, clamped to ground, that remains the same size as I zoom in and out, similar to how PointGraphics work. My initial idea worked fairly well:

  1. Take 2 window positions to the left/right of the mouse cursor
  2. Calc their Cartesian3 positions in the scene using scene.pickPosition
  3. Draw a polygon whose radius is some factor of the distance between these 2 points

The problem is the boxes in the scene: as long as the 2 points are on the terrain, all is well. The moment the mouse cursor “touches” a corner of some box, pickPosition gives me a completely different Cartesian3 and the polygon suddenly changes it size.

I tried moving to camera.pickElllpsoid but that didn’t help, since I’m using a terrain and that miscalculates where the mouse is actually pointing at - even without any boxes.

Is there any other way to calculate the correct size of the polygon?