← All demos

iris v1.0 release testing

Evaluation

Pre-publish validation of the iris-core v1.0 release candidate — the DESYS-1379 P5 config-gated dist, the renamed global SCSS layers, the grid/flex-grid classes, and the dual-POC-aligned surface token tier.

Type
Evaluation
Status
Exploration
Tickets
DESYS-434, DESYS-1379, DESYS-1447
Stack
HTML, CSS, SCSS
Owner
Bill Dingwall
Created
2026-09-15
Updated
2026-09-21
Tokens
--iris-surface-table-row-fill

Context

Pre-publish validation of the @siemens-iris/iris-core **v1.0 release candidate** before it is tagged and published to the registry. The candidate is the merged DESYS-1379 P5 work (config-gated dist + global SCSS restructure) plus the DESYS-1447 typography alignment, landed on main as squash commit 3f42d264 under epic DESYS-434.

This demo consumes a **locally built, unpublished** iris-core so the release candidate can be exercised as a real consumer would before it ships. The version string is still 0.11.0 in package.json; the tarball's *contents* are the v1.0 candidate, not the published 0.11.0.

What to validate

The two headline new surfaces from the P5 restructure:

  • **Grid classes** — the renamed src/global/css-grid/ layer (_css-grid.scss, _flex-grid.scss,
  • _primitives.scss, _slotted-group.scss). Confirm the emitted grid/flex utility classes render and lay out correctly in the light DOM.

  • **Dual-POC-aligned surface tier** — the new tokens/_surface.scss surface token tier and the
  • --iris-surface-* custom properties (e.g. --iris-surface-table-row-fill), the color-only component-token tier the dual-architecture POC recommended and DESYS-434 adopts.

Plus the config-gated dist itself: the light.scss / shadow.scss split and the per-family CSS emit that the P5 config layer produces.

Entry

interactive/v1.0-testing.html — the v1.0 release-testing page, driven by the candidate iris.css, utilities.css, and grid.css installed into this demo's own node_modules from the vendored local tarball (package/*.tgz). Self-contained: no preview alias, no env_html.

How the release candidate is wired in

The demo is self-contained: it vendors the v1.0 candidate as a local tarball at package/*.tgz and installs it into the demo's **own** node_modules via a demo-local package.json (file: dep) and .npmrc (legacy-peer-deps=true, so the private @siemens-iris/iris-icons peer does not 404). interactive/v1.0-testing.html loads iris.css, utilities.css, grid.css, the loader, and the fonts from ../node_modules/@siemens-iris/iris-core/... — no preview-server alias, no env_html.

```bash # build + pack the v1.0 candidate (Node 24.20.0 via nvm) cd /Users/bill/Sites/project-iris/iris-core && pnpm build cd packages/core && pnpm pack # → siemens-iris-iris-core-<version>.tgz

# re-vendor into the demo, then install locally cp packages/core/siemens-iris-iris-core-*.tgz \ /Users/bill/Sites/project-iris/iris-sandbox/demos/iris-v1-release-testing/package/ cd /Users/bill/Sites/project-iris/iris-sandbox/demos/iris-v1-release-testing npm install # reads the file: dep + .npmrc ```

Then serve the demo dir on loopback (python3 -m http.server 8080 --bind 127.0.0.1) and open index.html / interactive/v1.0-testing.html. Re-vendor + npm install after each core change.

Research

Evidence-backed comparisons of the currently published @siemens-iris/iris-core@0.11.0 package (what the sandbox loads) against iris-core main (the next release), plus a deep inventory of what one styleguide actually needs from the package. Each report uses status-legend tables and ASCII charts; every figure is verified against disk/git.

  • [Published 0.11.0 vs main](research/published-0.11.0-vs-main.md) — version/release delta,
  • components (14 shipped vs 16 on main), SCSS surface (21 shipped vs 117 src), other shipped artifacts, and a consumer-impact table (tooltip prop-API change + surface-variable rename).

  • [SCSS & exports: 0.11.0 vs main](research/scss-and-exports-0.11.0-vs-main.md) — the export-map
  • shift (old flat scss/ tree retargeted to src/legacy/*, new ./scss/v2 → src/global/, new prebuilt-CSS presets), how the four sandbox envs consume the package, and a resolution walkthrough confirming the sandbox still compiles against main.

  • [env_html iris-core needs](research/env_html-iris-core-needs.md) — a per-layer inventory of every
  • file, variable, class, mixin, asset, loader, and manifest env_html needs from iris-core (and iris-icons), split into build-time vs runtime and direct vs generated-indirection.

1. interactive/
  • v1.0-testing.html ▶
2. research/
  • env_html-iris-core-needs.md
  • local-iris-core-retarget-plan.md
  • published-0.11.0-vs-main.md
  • scss-and-exports-0.11.0-vs-main.md
  • scss-comparison-plan-0.11.0-to-main.md