Intersect a 3D Tile with a ray and get intersection position

Hi everyone,

I am trying to find a way to create a point and drag it on top of aCesium3DTileset . I am currently doing this inside the event handler I defined for the MOUSE_MOVE event. Please see the Sand Castle where I am attempting to do this.

I am facing some issues when using scene.pick
The picked object when the mouse is moved over the Cesium3DTileset I have in the scene, is never of type Cesium3DTileFeature even though according to the documentation is should return one. Since I am moving the mouse over Cesium3DTileset I would expect scene.pick(movement.endPosition) to return a Cesium3DTileFeature. This is never the case, the returned object has most of the times the following props: content, primitive, detail, and id
This can be confirmed in the above sand castle.

If I could jest get the Cesium3DTileFeature of where the mouse has moved I believe I could get the exact Cartesian3 position from the Cesium3DTileFeature ?

The desired behaviour is in the below Sand Castle
In this example the point is nicely dragged along the surface of the earth. I am trying to achieve the same with a 3d model.

To test the examples, click on the view to create a point and then drag it

Any pointers would be great.

Thank you