The current shape() function can use length/percentage units to create a path. This allows a lot of responsive expression.
However, the responsiveness of the shape is independent of the responsiveness of the content, which might respond to layout such as CSS grid.
I wonder if there is merit in allowing a shape() to respond not just to length/percent, but also to coordinates determined by layout. This can allow, for example, creating a rounded hexagon that gets its edges sized according to the content it encompasses.
(Putting this here in a very raw form to invoke thought, would add more once I've thought about this more myself).