Skip to content

Releases: DevriX/dxai-ui

DX 0.4.0-beta.43

DX 0.4.0-beta.43 Pre-release
Pre-release

Choose a tag to compare

@github-actions github-actions released this 20 Oct 09:49

A design of several pages is now imported as itself on every page, and its pages are much lighter.

Measured on a client's Elementor site rebuilt as a Claude Design package (13 pages), imported on American Restoration. Before this release, only the Home matched the live site. About, Contact, the service pages and Testimonials differed by 13–45%: wrong fonts, missing panels, review cards drawn as plain text.

What changed

  • Each page of a design keeps its own look. Every page of a multi-page design used to get the Home's root classes, so the rules written for that page (About, Contact, Testimonials…) matched nothing. Each page now keeps its own.
  • The Home's colour and font choices hold on every page. "Keep the design's colours / fonts", chosen on the Home, now applies to the design's other pages too. Before, they followed the theme's orange and Inter.
  • A design colour keeps its own value when the theme has a colour of the same name. The design's amber accent turned into American Restoration's orange accent.
  • Each page loads only the CSS it uses. A page built against a whole site's stylesheet now keeps only the rules its own markup can match, and only the font subsets it shows. On the test site that was 4.4 MB → under 0.8 MB per page (263 KiB → 54 KiB over the wire).
  • The hero picture loads first. It is preloaded also when the page's stylesheet paints it, per screen width when that changes.
  • Pictures below the first screen load lazily on such pages, and a palette PNG is now stored as WebP too (a 783 KB hero photo → 239 KB).
  • On American Restoration, first-screen pictures are no longer made lazy. The theme's lazy-loading module gave every picture loading="lazy" and fetchpriority="low", the first screen's included. The plugin now tells it which pictures are on the first screen.

Measured on that site (local, Lighthouse lab, median of 3):

Before This release
Pages matching the live site (1440 and 390 px) Home only All 13, within 0.01–0.52%
Mobile Performance (Home / service page / About) 61 / – / – 70 / 66 / 78
Desktop Performance – 98 / 96 / 99
Accessibility 92 100

For developers

  • dxai_ui_page_css_trim (filter): whether a page's stylesheet is trimmed. By default, only sheets over 1 MB are.
  • The plugin answers the DX themes' dx_lazy_load_skip_image filter.
  • New suite: verify-page-weight (CI), 37 checks.

Install: download dxai-ui-0.4.0-beta.43.zip below (Plugins › Add New › Upload), or let Dashboard › Updates offer it on a site that runs beta.34 or later. To get the fixed pages on a site, import the design again after updating.

DX 0.4.0-beta.42

DX 0.4.0-beta.42 Pre-release
Pre-release

Choose a tag to compare

@github-actions github-actions released this 19 Oct 16:40

A whole site's import no longer runs out of memory at "Saving the page".

A Claude Design package of 13 pages stopped at "Saving the page" on a live site, after every page was written. The screen showed only WordPress's "There has been a critical error on this website" (HTTP 500).

Reproduced through the wizard's own requests, the error was PHP's: "Allowed memory size of 268435456 bytes exhausted". Two things caused it:

  • The save's record. Every save keeps the compile result as one record. For a whole site that was 39 MB of JSON, and writing it took 352 MB more memory.
  • The memory limit. The import's requests are REST requests, so they got a front-end request's memory (256 MB on many hosts), not the dashboard's.

What changed

  • The record is stored compressed. For the same site, 39 MB became 6 MB. Records written before are still read: a restore from History and a design's document work as before.
  • The import gets the dashboard's memory. Reading, compiling and saving use the memory WordPress gives the dashboard (WP_MAX_MEMORY_LIMIT). The save also lifts PHP's time limit where the host allows it.
  • The screen says why a save stopped. If PHP stops a save anyway, the import screen shows PHP's own message, for example "Allowed memory size … exhausted", instead of WordPress's general sentence. When the message is about memory, it also tells you what to change.

Measured on that site, with PHP at 256 MB and WP_MAX_MEMORY_LIMIT at 512M (WP Engine's recommendation):

Run Result
Old record, 256 MB Failed
Old record, 512 MB Failed: "Allowed memory size of 536870912 bytes exhausted"
This release, 512 MB Finished: all 13 pages, the record written

On a host that gives requests 256 MB: a large site needs WP_MAX_MEMORY_LIMIT set higher in wp-config.php, for example define( 'WP_MAX_MEMORY_LIMIT', '512M' );.

For developers

  • A conversion record starts with dxai-gz1: (deflate, then base64).
  • DXAI_UI\Structures\Conversion_Snapshot::decode() reads it, and the records written before.
  • New suite: verify-import-memory (CI). It has 18 checks, and eleven of them were each proved by putting their bug back.

Install: download dxai-ui-0.4.0-beta.42.zip below (Plugins › Add New › Upload), or let Dashboard › Updates offer it on a site that runs beta.34 or later.

DX 0.4.0-beta.41

DX 0.4.0-beta.41 Pre-release
Pre-release

Choose a tag to compare

@github-actions github-actions released this 19 Oct 13:45

You can now arrange a page by hand in the pages panel.

The pages made from a design's menu (DX › a design › Pages) could be shuffled and their sections locked. They could not be put in another order, a section could not be taken out, and nothing could be added. Now each section in a page's plan can be changed by hand. The plan shows every change before anything is made.

What the plan of a page can do now

  • Drag a section to another place, or move it with ↑ ↓. The page's first section (its hero) stays first.
  • Take a section out with ×.
  • Add a section with "+ Add a section". You can add any of the Home's sections, or a section from the team's library when the library is in use.

How a page arranged by hand behaves

  • It holds what the plan shows. A shuffle changes only the sections you unlock.
  • It is made exactly as it is arranged, and it keeps that arrangement.
  • Nothing is put in between its places: no section for the site's other pages and no contact band unless you placed one.
  • "Back to the usual" puts the arrangement away, and the page is planned as before.
  • Pages nobody arranges are made exactly as in beta.40.

For developers

  • A page's arrangement may carry its places (roles, role names only).
  • The panel's data carries what can be added (choices: the Home's sections and the usable library entries).
  • verify-team-arrange has nine new checks (71). Each was proved by putting its bug back.

Install: download dxai-ui-0.4.0-beta.41.zip below (Plugins › Add New › Upload), or let Dashboard › Updates offer it on a site that runs beta.34 or later.

DX 0.4.0-beta.40

DX 0.4.0-beta.40 Pre-release
Pre-release

Choose a tag to compare

@github-actions github-actions released this 19 Oct 12:55

A Home's band of steps is its steps.

On Taylored Restoration's Home the section "From First Call to Final Walkthrough" — four steps on a blue band, with "How it works" in the line over its title — was read as text: the words that name it were in that line, which was not read, and its shape (a list of steps, each with its own title) was not read either. So a page made from the Home with the Home's own sections first never took the Home's steps for its steps, and the design's document did not name them.

What a section's part is read from now

  • The line of a few words right over a section's title (its eyebrow) is read with the title: "How it works", "Our process", "What to expect" name the section's steps wherever they stand.
  • A list of steps, each with its own title, is a process however the section is named.
  • A line over a title that names no part ("Services" over cards) changes nothing.

On Taylored's Home the band of steps is a process now and every other section keeps its part. Pages made with the usual policy (the team's layouts first) are byte for byte the same; with the Home's sections first, the place for the steps takes the Home's band.

For developers: three new checks in verify-section-blueprints, each proved by putting its bug back.

Install: download dxai-ui-0.4.0-beta.40.zip below (Plugins › Add New › Upload), or let Dashboard › Updates offer it on a site that runs beta.34 or later.

DX 0.4.0-beta.39

DX 0.4.0-beta.39 Pre-release
Pre-release

Choose a tag to compare

@github-actions github-actions released this 19 Oct 12:29

Pages made from a design's menu in the look of its Home — found when Taylored Restoration's menu pages looked unfinished and broken beside their Home: the Home's own sections were exact, the team's sections a page is made of wore the team's sites' look.

The team's sections take the Home's look

  • Cards are the Home's cards: its ground, border, corners and padding. The Home's look of a card was read wrong: each of its cards has a hover class of its own, so eight cards counted as eight looks and a strip of six small claims under the hero (a little padding, no box) was taken for the cards — the team's cards lost their padding and their icons stood on the edge. A card is a box now (a ground, a border or a shadow), and a hover class does not split it. A team's card that is boxes in boxes (a column, a link box painted white, a group painted white again) is one card; a chip of a few words is no card.
  • Grounds: a call to action with a title is on the Home's band (in the section's Colour panel when the Home's ground is a preset of the palette), not white, orange or navy with stripes; a dark band of the team's is on the Home's other band; a light tint (#f9fafb, a grey at half strength) is on the Home's light ground; a strip with no title stays on the page — its drawings would vanish on a band.
  • Section heads stand as the Home's do: at the left where the Home's titles are, in the colour of the Home's titles, as wide as the grid of cards they head; a narrow column of steps beside them moves with them. The team's badge round the line over a title (a skewed box of colour) is the Home's plain eyebrow.
  • Questions take the line under each the Home's have, and keep their room.

On a phone a team's section no longer stands on the edge of the screen: a box set full width inside a section, with nothing of its own at that width, takes the section's padding as its own (WordPress takes it away from such a box with a negative margin).

And

  • A figure laid over a picture the layout has not (two columns · team layout 2, a badge over an empty half of the page) lies over one of the page's pictures; with no picture for the page the layout is not used.
  • A line set in capitals takes no sentence of provisional words.
  • A call a layout says twice (for a phone and for a screen) is said both times: no link to the phone is left with no words.

Measured on the twelve pages (Lighthouse, mobile, median of 3): Performance 97–99, Accessibility 96, Best Practices 100, SEO 100; the Home 99 / 95 / 100 / 100. No sideways scroll at 412 or 1440 px, every quality gate passes.

For developers: new local suite verify-library-style (16 checks, each proved by putting its bug back); Button::ground_hex(); Block_Library::set_colour() is public.

Install: download dxai-ui-0.4.0-beta.39.zip below (Plugins › Add New › Upload), or let Dashboard › Updates offer it on a site that runs beta.34 or later. Pages made before stay as they are; make them again ("Make the pages the menu names") to get these changes.

DX 0.4.0-beta.38

DX 0.4.0-beta.38 Pre-release
Pre-release

Choose a tag to compare

@github-actions github-actions released this 19 Oct 09:46

Pages made from a design's menu that look finished — found building Taylored Restoration's twelve menu pages from its Home and the team's sections, with generic words, the way they are made on production.

What a page made from the menu says

  • A figure badge of the team's layout ("10,000+ / Properties restored") shows the Home's own figure and its words ("25,000+ / Alaska homes restored"). A step's number is no figure, and a section's heading is never taken for one. With no figure of the Home's left, the badge goes.
  • A layout whose cards would hold a title and nothing else (the Home has no words for them) is not used.
  • A page says each sentence once: a paragraph takes a line or two of the provisional words, a section given up gives its lines back, and a paragraph with nothing new to say is left out. A small caption under a button takes no sentence.
  • A service's page answers its own questions and calls for its own service: a question or a call to action that names another service of the site goes to that service's page. A name like "Alaska" names no service.
  • Two calls to action are not side by side (a band of phone numbers right after a call to action).
  • The bar the Home fixes to a phone's screen (a call button) is on every page made from it, and never takes a section's place.
  • A picture is not shown twice on a page.

The team's sections on another site

  • A wave laid over a section's edge in the colour of the section after it on the team's site is left out. On Taylored's pages it hung a third of the width wide, in navy, over a white section.
  • A button the theme fills with the colour of the band it stands on (American Restoration's primary button is its orange accent, on an orange band) wears the theme's other style, as an imported button does. On Taylored's pages: a white button, 3.97:1 against the band, its words 5.38:1.
  • A design that follows the theme's colours is judged in the colours the page draws: the theme's colour for a class the theme has, the design's own only where the theme has none.

Measured on the twelve pages (Lighthouse, mobile, median of 3): Performance 98–99, Accessibility 96, Best Practices 100, SEO 100; the Home 99 / 95 / 100 / 100. No sentence twice, no empty box, no call to action beside another, no picture twice, no sideways scroll at 412 or 1440 px.

For developers: a box fixed over the page is no section in the design document either, before or after the save (Section_Reader, Section_Library::is_floating()); new checks in verify-library-pour and verify-block-library, each proved by putting its bug back.

Install: download dxai-ui-0.4.0-beta.38.zip below (Plugins › Add New › Upload), or let Dashboard › Updates offer it on a site that runs beta.34 or later. Pages made before stay as they are; make them again ("Make the pages the menu names") to get these changes.

DX 0.4.0-beta.37

DX 0.4.0-beta.37 Pre-release
Pre-release

Choose a tag to compare

@github-actions github-actions released this 16 Oct 12:32

Pages that work on a multisite network in folders and on any palette of the theme — found auditing Taylored Restoration's pages on the team's network.

Sites in a folder. A design names its pages from the root of its host (/careers/). On a site of a network in folders (or WordPress in a folder) those links went to the main site and answered 404 — 11 on each page. They now go under the site's address, and a link to a section of the Home (#why, #faqs in the footer) leads there from every other page. The links are read where they are drawn (the design's pages, the header and footer, the footer widgets and menu items the plugin wrote), so pages converted before this are right without a new import. dxai_ui_site_links turns it off.

Pages made from the Home and the team's sections

  • A theme colour named "border" (American Restoration's white on the network) no longer draws a 3px frame round the words set in it: core gives the class has-border-color a solid border, so such a colour is now the block's own colour, the same colour from the theme.
  • A section keeps only the fonts the page actually draws (the theme's heading and body fonts, fonts whose files WordPress loads, system fonts), not every family the theme names: headings and questions no longer fall back to Arial.
  • A layout's steps are the page's own: no leftover "Phase 3" / "Phase 5" step of the site the layout came from.
  • A credentials band keeps its badges.
  • A place's page ("Anchorage, AK") talks about the work done there, not about its name.

Every design page

  • Its content is the page's <main>, with the header and footer outside it, and a skip link always has a target. Measured on 14 pages at 1440 and 412: nothing moved, nothing repainted.
  • With an SEO plugin on, the page's description is added when the plugin writes none (Rank Math wrote nothing on the network).
  • The theme's button sheet leaves out the editor's own rules: 202 KB → 34.5 KB on the network, and it blocked the first paint of every design page.

For developers: new CI suites verify-site-links and verify-library-pour; Capabilities::text_slug_ok(); dxai_ui_site_links in docs/HOOKS.md.

Install: download dxai-ui-0.4.0-beta.37.zip below (Plugins › Add New › Upload), or let Dashboard › Updates offer it on a site that runs beta.34 or later. On a network where the plugin was deleted, its pages keep rendering through the DX UI Runtime; upload this version and activate it to edit them again.

DX 0.4.0-beta.36

DX 0.4.0-beta.36 Pre-release
Pre-release

Choose a tag to compare

@github-actions github-actions released this 16 Oct 10:40

Pages that score on PageSpeed, pages from the live site, and Claude Design handoffs read as they are.

Pages from the live site (DX › Site): each new page keeps the live page's words, pictures, address and order, in the new Home's look. The live site's menu is read beside the design's, and the design's own links (menus, footer, Home) are pointed at the pages made for them. Questions, figures and forms are read as what they are.

Faster pages — measured with the mobile profile pagespeed.web.dev uses. On a fresh import of Taylored Restoration with 13 pages from its live site: Home 99, the service pages 100, every other page 99 (Accessibility 94–100, Best Practices and SEO 100).

  • A design's JPEG and PNG pictures are stored as WebP, its photographs at the highest quality that is as light as Lighthouse asks, and the plugin's own pictures get their sizes from WordPress.
  • Pictures, map frames and CSS background pictures below the first screen wait for it; the picture the page opens on is asked for first; nothing above the first screen is hidden for an entrance.
  • The plugin's small stylesheets are written into the page; a design's web fonts come after the first paint, drawn until then in fallback faces of their size, so nothing moves when they arrive (dxai_ui_late_fonts turns it off).

Search and accessibility: a meta description for a design's pages (unless an SEO plugin writes them); markup served as assistive technology reads it; text colours that nearly read brought to 4.5:1, and a colour per background where the theme's colours leave a text unreadable.

Claude Design handoffs whose page is index.html (template + component script, support.js, assets) are read as Claude Design exports: their states run, pictures named through the export's resource helper get their files, and the header and footer are installed as Menus and Widgets. A page that opens with a skip link keeps its header as the site's.

For developers: bin/page-speed.cjs (Lighthouse's mobile profile; --warm measures a local site as a good host serves it), bin/live-parity.cjs, bin/gutenberg-audit.php; new CI suites (page head, WebP, image quality, font fallbacks, late fonts, legible text, accessible markup, composer roles, site pages, HTML chrome); 13 new filters in docs/HOOKS.md.

Install: download dxai-ui-0.4.0-beta.36.zip below (Plugins › Add New › Upload), or let Dashboard › Updates offer it on a site that runs beta.34 or later.

DX 0.4.0-beta.35

DX 0.4.0-beta.35 Pre-release
Pre-release

Choose a tag to compare

@github-actions github-actions released this 13 Oct 16:11

DX 0.4.0-beta.35, the first release built by the release workflow from git (a tag v<version> builds the ZIP and attaches it here).

What is new since 0.4.0-beta.32 (the full list is in readme.txt, under Changelog, 0.4.0-beta.33 to 0.4.0-beta.35):

  • Updates from these GitHub releases: Dashboard › Updates offers a new DX the way it offers a plugin from wordpress.org, and "View details" shows these notes. A site that runs a beta is offered betas. A development checkout is offered nothing. This is the first version with the updater: a site on an earlier version installs this ZIP once by hand, and gets the next ones in Dashboard › Updates.
  • Pages in the team's style on any theme (the generic library in the theme's own colours, fonts and buttons), laid out from the team's 65 layouts, and team libraries of a site's own uploaded from WordPress exports (DX › Site › Team libraries).
  • Multi-page Claude Design sites, imported as a whole site with their header and footer.
  • The admin as one DX menu: Designs, a design's page with tabs, Convert, Site, Form entries, Settings.
  • Fixed on themes other than American Restoration (found on a clean site with Twenty Twenty-Five): the team's layouts asked for American Restoration's own blocks by name; the generic library's colours were swapped one after another.
  • The icon runtime is in the ZIP (0.4.0-beta.34 did not carry it; do not use that one).
  • Try it in WordPress Playground with blueprint.json from the repository.

Checks: CI on the release commit is green — lint, docs/HOOKS.md, PHPCS, PHPStan, the admin build, the release ZIP from git, and the 43 suites of the ci group on a clean WordPress with --strict (43 passed). The ZIP holds 406 files under one dxai-ui/ root.

SHA-256 of dxai-ui-0.4.0-beta.35.zip: 19d8dd70bac3190f58f51f296d8c6b18308a173973031293450b22491ab5d81a

DX 0.4.0-beta.34 (do not use: no icons, use beta.35)

Choose a tag to compare

@github-actions github-actions released this 13 Oct 15:59

Do not use this release: use 0.4.0-beta.35. This ZIP does not carry the icon runtime (assets/vendor/lucide.min.js): a .gitignore rule meant for Composer's folder kept it out of git, and this was the first ZIP built from git, so the icons of a converted page and of the convert preview do not load. 0.4.0-beta.35 is this release with the file, and CI now builds the release ZIP on every push.