footprint-explainable-ui 0.22.0 → 0.23.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (2) hide show
  1. package/README.md +16 -0
  2. package/package.json +4 -2
package/README.md CHANGED
@@ -362,6 +362,22 @@ Strip all built-in styles for full CSS control. Components render semantic `data
362
362
 
363
363
  ---
364
364
 
365
+ ## Golden-Trace Fixtures (contributors)
366
+
367
+ The pipeline (structure/runtime translators, dagre layout, snapshot adapter,
368
+ narrative sync) is pinned against **real footprintjs engine output**, not
369
+ hand-built mocks. `test/fixtures/golden/` holds recorded traces from 4
370
+ representative charts (linear+decider, subflow+loop, parallel fork,
371
+ pause/resume); `test/golden/goldenTraces.test.ts` replays them through the full
372
+ pipeline and snapshot-asserts the outputs in `test/golden/__snapshots__/`.
373
+
374
+ - **Engine shape changed** (new footprintjs): `npm i -D --save-exact footprintjs@<version> && npm run fixtures:regen`. The generator runs every chart twice and fails on any nondeterminism.
375
+ - **Pipeline output changed intentionally** (eui edit): `npx vitest run test/golden -u`, then review the snapshot diff.
376
+ - `test/fixtures/golden/manifest.json` records the footprintjs version the fixtures were recorded with.
377
+
378
+ `footprintjs` is a devDependency used ONLY by the generator — the published
379
+ library still has zero footprintjs dependency (it consumes plain JSON shapes).
380
+
365
381
  ## License
366
382
 
367
383
  MIT
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "footprint-explainable-ui",
3
- "version": "0.22.0",
3
+ "version": "0.23.0",
4
4
  "description": "Themeable React components for visualizing FootPrint pipeline execution",
5
5
  "type": "module",
6
6
  "main": "./dist/index.cjs",
@@ -40,7 +40,8 @@
40
40
  "release:minor": "bash scripts/release.sh minor",
41
41
  "release:major": "bash scripts/release.sh major",
42
42
  "test:coverage": "vitest run --coverage --coverage.reporter=json-summary --coverage.reporter=text-summary --coverage.reportsDirectory=coverage",
43
- "coverage:badge": "npm run test:coverage; node scripts/coverage-badge.mjs"
43
+ "coverage:badge": "npm run test:coverage; node scripts/coverage-badge.mjs",
44
+ "fixtures:regen": "node scripts/generate-golden-fixtures.mjs"
44
45
  },
45
46
  "peerDependencies": {
46
47
  "react": ">=18.0.0",
@@ -59,6 +60,7 @@
59
60
  "@types/react-dom": "^19.0.0",
60
61
  "@vitest/coverage-v8": "^4.1.8",
61
62
  "@xyflow/react": "^12.10.2",
63
+ "footprintjs": "9.5.0",
62
64
  "jsdom": "^29.0.1",
63
65
  "react": "^19.2.5",
64
66
  "react-dom": "^19.2.5",