As mentioned in the ticket, the inspiration for this "gap" comes via https://every-layout.dev/layouts/stack/, an iteration on the earlier Lobotomized Owl selector * + *. This approach is a super direction to go and my hope is Gutenberg's CSS will start reflecting more of this type of thinking! Some nuance is definitely needed to allow for alternate gap values; the current implementation is a bit robotic by presuming all block types to benefit from the same gap value.

The power of this approach will be diminished unless blocks are allowed to remain "dumb". Dumb blocks work in harmony within the "stack" layout: a dumb block doesn't need to know or understand anything about its place in the world, and it should never need to. No matter if there's 1, 5, or 10 blocks on the page, in any configuration the layout can be automatic and predictable when managed with CSS that targets the context and not the individual block.

In contrast, every time I see a request for "responsive controls" at the block level, I cringe. Baking in a margin value can make a block a little smarter by optimising it for a specific location and screen size. Rearrange a few of these blocks and a broken layout can easily be the result, requiring each block to have its personal margin be re-optimised.

Very interested to see how this develops.