Add offset to Orbit Controls to not rotate around center of viewport

I would like to use the ‘orbit-controls’ to rotate around an object. However, when setting the target of the ‘orbit-controls’, the camera and controls change in a way that the new target is at the center of the viewport.

Is it possible to use/modify ‘orbit-controls’ in order to orbit around a target that is not gonna be the center of the viewport?

Is it possible to add some offset somewhere in the ‘update’ method (if, so where?) to make it behave as if it was rotating a different point?

In the screenshot below, I’d like to be able to orbit around the ‘red’ sphere without having the red sphere at the center of the viewport.

I’m hoping I can just use the difference between the red sphere center and the orbit controls target somehwere in the orbit controls update method to account for the different location,

More context:

Just:

controls.target.copy( bone.position ).add( myOffset );

So the target (which always is at the center of the viewport) is located away from the bone.

=^.^= (yomotsu.github.io)