With selections there was this idea that two very different kinds of selections could be made, one around wb-value sockets and wb-expressions, and one around wb-steps and wb-contexts, and that we should maintain both of these at once so that when the user taps (or clicks) to add a block, it has a target regardless of whether the block is an expression or a step/context (contexts are a kind of step). I think it is clear now that that was a terrible idea that introduced a lot of complexity for little benefit. Rather than trying to guess what the user wants to do next (which is what the complex rules for choosing the next selected area) and trying to maintain two parallel selections, we will just let the user explicitly set a selection (by tapping or clicking).
We may revisit this in the future and introduce some more possibilities for auto-selecting, but for now I think the best way is the simplest:
[ ] When a block is inserted, it is selected
[ ] When a selected block is deleted, there is no selection
[ ] There is only one kind of selected thing .selected, which includes all three kinds of blocks, wb-values, and wb-contains.
With selections there was this idea that two very different kinds of selections could be made, one around wb-value sockets and wb-expressions, and one around wb-steps and wb-contexts, and that we should maintain both of these at once so that when the user taps (or clicks) to add a block, it has a target regardless of whether the block is an expression or a step/context (contexts are a kind of step). I think it is clear now that that was a terrible idea that introduced a lot of complexity for little benefit. Rather than trying to guess what the user wants to do next (which is what the complex rules for choosing the next selected area) and trying to maintain two parallel selections, we will just let the user explicitly set a selection (by tapping or clicking).
We may revisit this in the future and introduce some more possibilities for auto-selecting, but for now I think the best way is the simplest:
.selected
, which includes all three kinds of blocks, wb-values, and wb-contains.