LivelyKernel/lively.next

Improve conflict resolution between hugging container with filling submorphs

Opened this issue · 0 comments

image

In the above image, the selected morph is the tall, red one in the back. As can be seen, its width mode is set to hug.
Inside of it, there are two morph, one for each row. The top one has fixed dimensions and is thus "safe", for the purposes of this ticket. The bottom has its extent set to fill.

My logic when building this was that I knew the top one was wider than the bottom one needed to be, so I wanted a quick way to let the bottom one "adapt" to the top one.

The result is however that the container shrinks and the fill of the bottom one is extremely small as well, as they both fight.

I see two problems with this:

  1. We should think about preventing really conflicting configurations via tooling, for example by just determining which option we override via convention. This is already coded, but the resolution mechanism is unsatisfying, see below
  2. I do not think that this configuration having this result is logical, as the resulting width of the container is smaller than the fixed top morph, which should have stopped the hugging from shrinking already.