docs: plan — PPTX round 2 (table styles, charts, EMF fallbacks)#38
Closed
karthikmudunuri wants to merge 1 commit into
Closed
docs: plan — PPTX round 2 (table styles, charts, EMF fallbacks)#38karthikmudunuri wants to merge 1 commit into
karthikmudunuri wants to merge 1 commit into
Conversation
Proposed scope for the next PPTX importer PR following the round-one work that shipped in @textcortex/slidewise@1.9.0. Covers: - Table styles via ppt/tableStyles.xml + tableStyleId resolution. - Charts rendered via the cached-image fallback PowerPoint embeds (live chart rendering deferred to its own follow-up PR). - EMF / WMF fallback to a sibling raster blip when the deck ships one; true EMF→SVG decoding stays deferred (separate WASM project). Document is a planning artefact only — no code changes. Pushing as a PR so the scope, ordering, and open questions can be reviewed before implementation starts.
This was referenced May 12, 2026
karthikmudunuri
added a commit
that referenced
this pull request
May 13, 2026
…backs (#42) Implements the round-2 plan from #38. Three deferred items from #36 land together so real-world decks (e.g. Dickinson sample) stop dropping recognisable content. - Table styles: parse ppt/tableStyles.xml, resolve <a:tableStyleId>, apply header/banded/firstCol/lastRow fills with cell-level overrides winning. TableElement gains rowAltFill / firstColFill / lastColFill / lastRowFill / hasHeader / bandRows / per-region text-colour fields. - Charts: emit ImageElement when the chart part ships a cached preview, otherwise parse <c:barChart>/<c:lineChart>/<c:pieChart>/etc. into a new ChartElement and render live via a lazy-loaded ECharts import. Source <p:graphicFrame> OOXML preserved on the element for round-trip. - EMF / WMF: prefer raster siblings (alt blip / extra rels / same-basename PNG); fall back to decoding the metafile in-browser via emf-converter. Headless environments without Canvas keep the legacy diagnostic-skip. - Bonus fix: tint / shade modifiers now operate per-RGB-channel per ECMA-376 §20.1.2.3 instead of as an HSL-luminance shift, so pastel Office accents (Medium Style 2 banded rows, etc.) stop coming out oversaturated. Adds emf-converter + echarts as runtime deps. Tests: 35 passing, including new round-2 fixtures for each item.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
What's in this PR
A single file at `docs/plans/pptx-tables-charts-emf.md` proposing three deferred-from-#36 items as the next round:
What this isn't
Open questions raised in the doc
How to proceed from here
Test plan
Doc-only change, no tests to run.