Composing with patterns
It’s no secret that I’m a fan of WordPress patterns.
The ability to design a part of a site with a bunch of blocks and have it persist—whether synced or not—across my site, or shared across most others, is quite a powerful idea.
While they’re great, I feel there’s more potential to unlock with patterns, especially if we consider them as sections to compose pages with, not just groups of blocks.
Think of a site’s hierarchy: A site is made up of pages, which are composed of patterns, which consist of blocks—essentially, data objects. If patterns and blocks represent differing levels of hierarchy, why are they currently treated the same in the WordPress editing experience?
So let’s explore.
One idea is to treat patterns as a higher-order experience, where invoking a site’s pattern library zooms out the canvas to provide a bird’s-eye view, enabling you to compose with patterns, like this:
I’m also interested in this composition flow for adding new pages in WordPress, where the experience is tailored for adding, moving, and shuffling patterns—rather than selecting from a modal of page patterns a theme provides.
What I like about this approach is that it very well may lead to a more intuitive, almost “flatter” feel to composing a page. Think simpler rearranging of sections, shuffling a pattern with others in the same category, and perhaps “theming” a pattern with colorways—which is coming along nicely.
And perhaps we also expose zoom out controls as a view control as well, like this, essentially engaging the same experience:

I can also see how this zoomed-out mode could integrate with content-only editing as well, where a pattern’s content (text and images) is surfaced in the block inspector, allowing for a less granular content editing experience while in this view.
What I appreciate about these ideas is that we’re essentially leveraging the existing mechanics to orient a less-granular editing experience, rather than creating new APIs.
I think there’s merit along these lines, what do you think?