Add three operators to the Collections properties panel:
- object.instance_offset_to_cursor, which is already available from the Object properties panel. The operator works on the active collection, though, so it's weird to not have it in the Collections panel.
- object.instance_offset_from_object is a new operator, which performs the same operation as above, but then based on the active object's evaluated world position.
- object.instance_offset_to_cursor is also new, and performs the opposite of the first operator: it moves the 3D cursor to the collection's instance offset.
The first two operators make it easier to set the instance offset. The last operator makes it possible to actually see the offset in the 3D viewport. Drawing it using some overlay could also work, but that would be more effort to get right, and then snapping the 3D cursor would still be useful.
Offered for review for the UI layout/code/wording.
Once this is accepted, we can adjust the Object properties panel, remove the collection instance offset, and replace the set-to-cursor operator with the set-to-object operator. That's for another patch, though.
The functionality of this patch was actually requested by @Julien Kaspar (JulienKaspar)
For history sake, the initial GUI:



