Linked crosshair with flipped axis dimensions?

Hello! So I am familiar with the standard technique of linking crosshairs across plots as described here:

However I now have a more complicated multidimensional set of plots I want to view with linked crosshairs, and it is not possible for me to simultaneously align all the shared dimensions on the same axes. Here’s an example, say I have a 4D dataset with (x, y, xdot, ydot) dimensions, and I want to view all 6 2D projections of this data, e.g.

x-y
xdot-y
ydot-y
x-ydot
x-xdot
xdot-ydot

And I want to link crosshairs for all the common dimensions. I can do it for up to 4 of them, but then the last two are impossible with this technique because the dimensions cannot possibly be on the matching (i.e. vertical or horizontal) axis.

E.g. we can have

x-y
xdot-y
x-ydot
xdot-ydot

where all the x’s and xdot’s are horizontal, and all the y’s and ydot’s are vertical. But then ydot-y has two “vertical” dimensions and x-xdot has two “horizontal” dimensions. So we have to put one of them in each plot on the “wrong” axis. Which is fine, except I have no idea how to link the crosshairs in this situation, because the standard way involves linking via these “Span” objects that don’t really understand what dimension they are part of and so can’t be linked from vertical to horizontal axes or vice versa.

I hope my problem is clear? Any advice on how to link crosshairs as needed in this situation?

There’s nothing built-in for this scenario, and I am not sure there could be since it’s up to the specific requirement to define how exactly the other crosshairs should update. The only approach I can think of is to add unique spans and tools to every plot, then add CustomJS callbacks on every span so that when it changes position (e.g. due to the crosshair tool that “owns” it), it can manually update all the other spans on all the other plots accordingly. It will probably invove a fair amount of bookkeeping. I don’t have any relavant code to share, I can only provide the idea sketch above.