> This calculation is not abstract enough. A highlight is not always a DOM element.

We are not assuming them to be. That's exactly why all highlights can implement this call themselves.

> So expecting the ```x = hl.getTop() - wrapper.offset().top - defaultView.pageYOffset``` formula is not always working.
> 
> I.e. for image annotations (sorry, it is js not coffee): https://github.com/gergely-ujvari/annotorious/blob/hypo-plugin/src/hypo/hypo_image_plugin.js#L214

The problem here is that we are dealing with different coordinate systems.

Indeed, we need to make this more explicit. Let's revisit this when we merge the image branch next week.