Stack offset affected by facing and rotate traits

Currently, the offset for stacks is set at the map level. There are several problems with this:

You cannot have stacks for different sides with different offsets.

Rotated stacks are stuck with the same offset.

I would love to see stack offset values as a piece trait, and would really love to see stack offset values change dynamically when facing or rotation of pieces change.

Here’s an example image of a block wargame to illustrate my point:

[attachment=1]stack example 1.png[/attachment]
[attachment=0]stack example2.png[/attachment]

(The module does not currently use stacking, all the pieces have to be moved individually because stacking doesn’t work the way I want it to, but let’s pretend stacking is being used here)

The first image shows a stack of 3 pieces with a vertical offset of 20 on the Y axis. The second image shows the same stack moved into a position where their facing changes by 90 degrees. Since the stack offset remains at 20 pixels on the Y axis, most of the relevant information is obscured.

If stacking were affected by facing, Vassal could finally have a way for pieces to maintain positions relative to each other, and this is something Vassal has long lacked.