|
1 | 1 | # @textcortex/slidewise |
2 | 2 |
|
| 3 | +## 1.19.1 |
| 4 | + |
| 5 | +### Patch Changes |
| 6 | + |
| 7 | +- 305dc0f: fix(pptx): emit a structurally valid package on serialize |
| 8 | + |
| 9 | + Three `serializeDeck` bugs corrupted the generated `.pptx` (missing parts / |
| 10 | + invalid image bytes) even from clean source templates, triggering a PowerPoint |
| 11 | + repair prompt and outright rejection by stricter consumers (Google Slides, |
| 12 | + LibreOffice, OOXML validators): |
| 13 | + |
| 14 | + - **Dangling `tags` relationships:** the chrome-preserve path re-pointed a |
| 15 | + slide's tag rel at a `slidewise_preserved_*` name, then clobbered that part by |
| 16 | + re-copying the source tags under their original names. The rel now resolves |
| 17 | + to the de-prefixed part it should always have pointed at. |
| 18 | + - **Dangling `notesMaster` relationships:** pptxgenjs writes a notesSlide per |
| 19 | + slide linked to a notes master, which chrome preservation removed without a |
| 20 | + source replacement. The orphaned (implicit, non-body-referenced) relationship |
| 21 | + is now dropped. |
| 22 | + - **SVG markup in `.png` raster fallbacks:** dual SVG images (`<a:blip>` raster |
| 23 | + - `<asvg:svgBlip>` vector) had the SVG source written into the `.png` |
| 24 | + fallback. The fallback is now a real rasterized PNG (browser) or a valid |
| 25 | + transparent PNG (SSR/Node); the vector `svgBlip` part is untouched. |
| 26 | + |
| 27 | + Adds a final `reconcileDanglingRels` invariant guard — every internal |
| 28 | + relationship target must resolve to a shipped part — that backstops both |
| 29 | + dangling-rel shapes (repairing recoverable targets, dropping only |
| 30 | + safe-to-remove optional ones, and leaving critical rels untouched). Also runs |
| 31 | + `pruneDanglingContentTypes` on the source-preservation path so stale |
| 32 | + `[Content_Types]` overrides (pptxgenjs's `slideMaster1..N`, leftover notes |
| 33 | + overrides) can't invalidate the package either. |
| 34 | + |
3 | 35 | ## 1.19.0 |
4 | 36 |
|
5 | 37 | ### Minor Changes |
|
0 commit comments