All transformations (translate/rotate/scale) in CesiumJS are applied to the 3d tile origin.

(an example of this is the widget used on Cesium Ion which allows the user to translate/rotate/scale assets by visually adjusting the transformation of an asset. It applies the all transformations at the 3d tile origin)

I have the coordinates of the point in space which I want to use as the new reference point (instead of the asset origin)

How would I go about using that new reference point for all the transformations (translate/rotate/scale)?

How do I transform the position/rotation/scale values at an arbitrary point in space to the asset origin (for CesiumJS to display the asset at the correct location)?

Any help would be appreciated.