@openpresentation/opf-pptx 0.12.3 → 0.12.4

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 +2 -2
  2. package/package.json +5 -5
package/README.md CHANGED
@@ -8,7 +8,7 @@ Version 0.9.1 kept core `^0.11.0` and raised the optional `@openpresentation/opf
8
8
 
9
9
  Unfinished prepared shaping work is preserved in the [September 15 roadmap](docs/roadmap-shaping-20260915.md); it is not part of the published runtime.
10
10
 
11
- Version 0.8.0 and this checkout require Node 24 (`24.x`). Use `.nvmrc` for local development. Earlier published versions retain their original engine declarations. Browser entrypoints remain browser-safe; native application compatibility is verified separately.
11
+ This checkout supports Node 22 or later (`engines.node` `>=22`; CI tests Node 22, 24 and 26). Versions 0.8.0 to 0.12.3 declared `24.x`, so npm on Node 22 or 26 silently installed an older release instead (RR-20); upgrade past 0.12.3. Use `.nvmrc` (Node 24) for local development. Earlier published versions retain their original engine declarations. Browser entrypoints remain browser-safe; native application compatibility is verified separately.
12
12
 
13
13
  Version 0.8.0 consumes shared heading/scalar/rich line placement, including `textRasterPadding`, through editable native line boxes without autofit. Complete heading tags retain title/subtitle/tag roles, line ordering and current edited text during import. Source boundary metadata also records hard-line separators, so complete scalar/heading groups recover current native text with spaces, tabs and exact authored line endings. Incomplete, duplicate, ambiguous or bulleted groups fall back to ordinary import with diagnostics. Legacy heading tags retain their prior native-line behavior; arbitrary formatting, nesting and geometry are not reconstructed. See the [source contract and limits](https://github.com/OpenPresentation/opf/blob/f94125a1ff95bf0974a055fe1c081d348dad54f2/docs/plans/text-placement.md). Native raster certification remains separate.
14
14
 
@@ -334,7 +334,7 @@ Native viewer check: Keynote 14.4 displays the PNG/JPEG/GIF media-type specimens
334
334
 
335
335
  Set `imageFormat: "preserve"` to embed WebP unchanged when the receiving application supports it. Other image formats keep their existing export behavior. Conversion errors include the OPF image path; images above 40 megapixels are rejected before compatible conversion. Decoder differences can affect color/alpha rounding, so byte identity across platforms is not promised.
336
336
 
337
- Node conversion lazily loads the pinned open-source Sharp dependency and requires Node 24. Normal package installation must include platform optional dependencies for its native binaries. Browser bundles select a separate browser decoder using local Blob/image/canvas APIs; Sharp and Node code are excluded. Neither path uploads images or fetches asset URLs. Source-preserving export and ordinary PNG/JPEG/GIF operations do not load Sharp.
337
+ Node conversion lazily loads the pinned open-source Sharp dependency and requires Node 22 or later. Normal package installation must include platform optional dependencies for its native binaries. Browser bundles select a separate browser decoder using local Blob/image/canvas APIs; Sharp and Node code are excluded. Neither path uploads images or fetches asset URLs. Source-preserving export and ordinary PNG/JPEG/GIF operations do not load Sharp.
338
338
 
339
339
  `npm test` includes the Node pixel-reference cases and verifies browser bundling. To run the browser pixel checks, run `npm run build:browser-check`, serve this repository locally, and open `/artifacts/webp-fallback/browser/index.html`. The page reports 13 checks covering embedded PNG pixels, alpha, EXIF, the first animation frame, fit/crop, resolver calls and DOM canvas fallback. These are browser export checks, separate from the recorded Keynote viewing evidence.
340
340
 
package/package.json CHANGED
@@ -1,12 +1,12 @@
1
1
  {
2
2
  "name": "@openpresentation/opf-pptx",
3
- "version": "0.12.3",
3
+ "version": "0.12.4",
4
4
  "description": "Pure local OPF to PPTX export and PPTX to OPF import tooling.",
5
5
  "license": "MIT",
6
6
  "type": "module",
7
7
  "private": false,
8
8
  "engines": {
9
- "node": "24.x"
9
+ "node": ">=22"
10
10
  },
11
11
  "repository": {
12
12
  "type": "git",
@@ -64,14 +64,14 @@
64
64
  "test:determinism": "node test/determinism.mjs"
65
65
  },
66
66
  "dependencies": {
67
- "@openpresentation/opf": "^0.12.0",
67
+ "@openpresentation/opf": "^0.12.2",
68
68
  "fast-xml-parser": "^5.8.0",
69
69
  "fflate": "^0.8.3",
70
70
  "jszip": "3.10.2",
71
71
  "sharp": "0.35.4"
72
72
  },
73
73
  "peerDependencies": {
74
- "@openpresentation/opf-render": "^0.12.0"
74
+ "@openpresentation/opf-render": "^0.12.2"
75
75
  },
76
76
  "peerDependenciesMeta": {
77
77
  "@openpresentation/opf-render": {
@@ -80,7 +80,7 @@
80
80
  },
81
81
  "devDependencies": {
82
82
  "@expo-google-fonts/carlito": "0.4.1",
83
- "@openpresentation/opf-render": "0.12.0",
83
+ "@openpresentation/opf-render": "0.12.2",
84
84
  "esbuild": "0.28.2",
85
85
  "playwright": "1.63.0"
86
86
  },