with-heart / aoe2-ui

2 stars 0 forks source link

Some elements can't be interacted with #64

Open with-heart opened 7 months ago

with-heart commented 7 months ago

Since we're rendering each element with a base .container that defaults to fill: none and stroke-width: 0px, the only elements that can be interacted with are elements that have a texture.

For example, we can hover over MapPanel > Background > ButtonFlare and see that displayed in the debug bar because it renders a texture, but there's no way to hover over MapPanel > Background > MapView or see it displayed in the debug bar.

When we enabled debug mode, we can interact with the stroke of those elements, but since it still has fill: none, we can't interact with the body of the element.

with-heart commented 7 months ago

We could use set fill: transparent on .container. That solves this issue but leads us to another problem:

Elements that aren't actually visible on the screen that cover elements that are visible (those with textures) are interacted with instead of the visible elements when the invisible element has a higher z value than the visible element.

That feels unintuitive to me. Maybe this could be improved with #58 and possibly showing outlines for all elements currently hovered, but I'd need to play with it. Also not sure how to handle overlapping elements in the debug bar.