Skip to content

WPPilot 1.9.0 — A design that can describe a composition

Choose a tag to compare

@wppilot-labs wppilot-labs released this 30 Aug 10:33
· 5 commits to main since this release

A design direction could always name a palette, two typefaces and a set of rules. It could not name a shape. grammars.php has described the compositions a page can be built from since the beginning — a panel crossing a section boundary, layers on a common ground, a column that stays put while its neighbour scrolls, an element escaping the page edge — and wppilot/list-layout-grammars has always returned them. Nothing could ask for one.

So every page came out as a stack of full-width bands, including the grammar that module describes as "the one thing a stack of bands can never do". This release closes that.

New

  • Four layouts: bleed, layer, index-detail, overlap. Splits can also name their own ratio — a page measured off a real reference lands on 46:54 rather than on anything worth naming.
  • Items can hold blocks. A pricing tier is a ribbon, a name, a price row sharing one baseline across two sizes, a feature list and a button. None of that was expressible as four strings, which is most of why generated cards looked alike. The flat keys stay for the sets that really are a mark and two lines.
  • Sets can declare variants, so one member reads as the chosen one. No variant names ship with the plugin — an undeclared one is refused rather than silently ignored.
  • Hover and focus states on blocks and items, stored as real Elementor style variants.
  • New ability wppilot/check-composition — validate a block subtree on its own, so a shape worth keeping can be captured from a page you measured rather than shipped as a template nobody chose.
  • The instructions sent on every request now carry the ladders, the permitted compositions and the standards a finished page owes. All of it was already derived and none of it was being sent. A site with no direction is now told to derive one rather than left to invent the average.

Fixed

  • A card grid of one, or of five or more, losing its grid entirely and stacking in a bare container.
  • A block layout accepted at save and quietly degraded to a stack at build, so a misspelling had no visible cause.
  • The structural signature used for distinctiveness walking only the top level, so two pages differing entirely inside their groups reduced to the same string.
  • A generated design declaring three type roles where a spec needs eight, leaving every scale rule with almost nothing to measure against.
  • Card padding, inner gap and button insets written into the plugin rather than derived — two designs agreeing about nothing else still produced identically inset cards.
  • The type role deciding the heading tag, which put two h1s on any page with a hero and a loud closing band. Blocks can now name a tag separately; without one the role still decides.
  • wppilot/check-design reporting rules as checked that never ran, turning "there was nothing to check against" into "we checked and it was fine".

Upgrading

No permission changes and no re-authorisation. Every spec written before this behaves exactly as it did.

Install: download wppilot.zip below, not the auto-generated source archive.