diff --git a/.changeset/applyedits-lossless-surgical-edits.md b/.changeset/applyedits-lossless-surgical-edits.md deleted file mode 100644 index f10033f..0000000 --- a/.changeset/applyedits-lossless-surgical-edits.md +++ /dev/null @@ -1,26 +0,0 @@ ---- -"@textcortex/slidewise": minor ---- - -feat(pptx): `applyEdits` — lossless surgical-edit API - -Add `applyEdits(source, plan, options?)`: a patch on the original `.pptx` bytes -rather than a full re-serialize. The create flow can now emit an `EditPlan` -(subset/reorder/repeat of template slides, each with edits) and get back a valid -package where everything not named by an edit is byte-identical to the source — -masters, layouts, theme, embedded fonts, `ppt/tags/*`, notes, embeddings, and -any untouched element. This removes the lossy round-trip that produced the -`custGeom`/SVG-fallback/dangling-rel fidelity bugs and lets hosts drop their -defensive cleanup. `serializeDeck` stays for the live editor / from-scratch decks. - -Edits address elements by the same stable ids `parsePptx` returns; slides by -1-based template index. Supported ops: `setText`/`clearText` (preserve the -template box + run styling, or rebuild from supplied runs), `setChartData` -(repopulate a native chart in place — type/colours kept, caches **and** the -embedded `xlsx` workbook updated so Edit-Data still works), `setTableData`, -`setImage`, `removeElement`, `addChart`, `addDiagram`, plus per-slide -`background` and deck `title`. Removed slides and any parts that become -exclusive to them are reclaimed by a package-wide reachability sweep, then -dangling relationships and content-types are reconciled. Unresolved element ids -and unsupported layout-instantiation are surfaced via `onWarning` instead of -throwing. diff --git a/packages/slidewise/CHANGELOG.md b/packages/slidewise/CHANGELOG.md index 5e9ef7e..628ffe2 100644 --- a/packages/slidewise/CHANGELOG.md +++ b/packages/slidewise/CHANGELOG.md @@ -1,5 +1,32 @@ # @textcortex/slidewise +## 1.20.0 + +### Minor Changes + +- e56ddd2: feat(pptx): `applyEdits` — lossless surgical-edit API + + Add `applyEdits(source, plan, options?)`: a patch on the original `.pptx` bytes + rather than a full re-serialize. The create flow can now emit an `EditPlan` + (subset/reorder/repeat of template slides, each with edits) and get back a valid + package where everything not named by an edit is byte-identical to the source — + masters, layouts, theme, embedded fonts, `ppt/tags/*`, notes, embeddings, and + any untouched element. This removes the lossy round-trip that produced the + `custGeom`/SVG-fallback/dangling-rel fidelity bugs and lets hosts drop their + defensive cleanup. `serializeDeck` stays for the live editor / from-scratch decks. + + Edits address elements by the same stable ids `parsePptx` returns; slides by + 1-based template index. Supported ops: `setText`/`clearText` (preserve the + template box + run styling, or rebuild from supplied runs), `setChartData` + (repopulate a native chart in place — type/colours kept, caches **and** the + embedded `xlsx` workbook updated so Edit-Data still works), `setTableData`, + `setImage`, `removeElement`, `addChart`, `addDiagram`, plus per-slide + `background` and deck `title`. Removed slides and any parts that become + exclusive to them are reclaimed by a package-wide reachability sweep, then + dangling relationships and content-types are reconciled. Unresolved element ids + and unsupported layout-instantiation are surfaced via `onWarning` instead of + throwing. + ## 1.19.1 ### Patch Changes diff --git a/packages/slidewise/package.json b/packages/slidewise/package.json index 5d874b0..ee3bef2 100644 --- a/packages/slidewise/package.json +++ b/packages/slidewise/package.json @@ -1,6 +1,6 @@ { "name": "@textcortex/slidewise", - "version": "1.19.1", + "version": "1.20.0", "description": "Embeddable React PPTX editor.", "license": "MIT", "type": "module", diff --git a/website/CHANGELOG.md b/website/CHANGELOG.md index 3c8c3de..984a49b 100644 --- a/website/CHANGELOG.md +++ b/website/CHANGELOG.md @@ -1,5 +1,12 @@ # website +## 0.0.34 + +### Patch Changes + +- Updated dependencies [e56ddd2] + - @textcortex/slidewise@1.20.0 + ## 0.0.33 ### Patch Changes diff --git a/website/package.json b/website/package.json index 60fbea3..3e6398e 100644 --- a/website/package.json +++ b/website/package.json @@ -1,6 +1,6 @@ { "name": "website", - "version": "0.0.33", + "version": "0.0.34", "private": true, "type": "module", "scripts": {