well, one way to think about it is to create fabric objects in whatever coordinate system feels comfortable for fabric, and just use that as your viewport coordinates for OpenSeadragon
viewport coordinates are whatever you want… By default it goes from 0 to 1 for the width of the image, but you can really do whatever you want. If your image is 2000 pixels wide you can say the viewport coordinates go from 0 to 2000.
It only really becomes relevant when you have multiple images. Let's say you have decided to have your viewport coordinates run in the thousands. Then you want to have two images side-by-side. One of them runs from 0 to 1000 in viewport coordinates and the other runs from 1000 to 2000 in viewport coordinates. In actuality the first image is indeed 1000 pixels wide, so there the image coordinates and the viewport coordinates line up. However, the second image is maybe 2000 pixels one, so over there there are two image pixels for every one viewport unit.
Meanwhile you have a fabric overlay that is 2000 fabric units wide on top of it all.
It's the fact that viewport coordinates are not necessarily tied to the pixels of any one image that allows you to lay everything out the way you want.