user clicks to select a point on the surface of an entity
horizontal mouse/touch drag orbits (ie. 'yaws') the (eye, look, up) about that pivot point, orbiting around the World-space vertical axis running through the pivot point. World "up" can be arbitrarily configured in xeogl, but we'll assume +Y for now and generalize that later.
vertical drag orbits (ie. 'pitches') the (eye, look, up) about the pivot, where the axis about which it pivots is the one that runs through the pivot point and is orthogonal to the (pivot)->(world up) and (pivot)->(eye) vectors.
We need an example where:
An example of this behaviour can be seen in Solibri (free to use): https://www.solibri.com/products/solibri-model-viewer/
If that deviates from my description, that would be more correct than my description ;)