add pptx export suppport to workspace-slides blueprint - #434
add pptx export suppport to workspace-slides blueprint#434maxwellpeterson wants to merge 7 commits into
Conversation
Preview:
|
|
@maxwellpeterson Bonk workflow failed. Check the logs for details. View workflow run · To retry, trigger Bonk again. |
|
Posted 2 actionable inline findings. |
…atim - Replace the slides ZIP writer with the workspace-sheets copy and adapt deckToPptx to its string/stream entry contract; batch slide XML into 64 KiB chunks like xlsx.js. - Parse highlight terms incrementally (max 128 comma-delimited entries), bound search work and highlight run transitions per title and per deck before any stream is returned, and stream runs directly from a shared mark array instead of materializing segments. - Drop the duplicated ZIP32 and determinism tests; add regressions for the reported attacks, boundaries, cross-line highlights, and bundled blueprint dependency wiring.
171a97c to
07127a1
Compare
|
APIError: You do not have access to the organization tied to the API key. |
2 similar comments
|
APIError: You do not have access to the organization tied to the API key. |
|
APIError: You do not have access to the organization tied to the API key. |
There was a problem hiding this comment.
Note
This report is out of date. Scroll down for Devin Review's latest report on this PR.
🔍 Devin Review: 1 flag
Not posted on this PR by your GitHub settings — view it in Devin Review. (Configure)
Google Slides renders exported decks with loose paragraphs and wrapped logo/section labels. Emit CSS line-height as exact spcPts (spcPct is relative to Arial's ~115% line gap), size single-line boxes from Arial advance widths (Google ignores wrap="none"), keep the accent dot at the browser's 3px gap, and enlarge the bullet glyph to the browser's 6px dot.
|
APIError: You do not have access to the organization tied to the API key. |
2 similar comments
|
APIError: You do not have access to the organization tied to the API key. |
|
APIError: You do not have access to the organization tied to the API key. |
|
…etDeck schema stamp - estimateTextHeight wraps greedily at spaces with Arial metrics and the run's tracking; auto-height text shapes also use spAutoFit so a consumer's own wrapping can only grow the box, never clip. - The brand-bar shortcut requires the SVG to be built only from svg/defs/linearGradient/stop/rect; authored content keeps the placeholder. - Empty card/box titles occupy no height and emit no shape. - setDeck stamps themeVersion so a deck written over the GADGET binding is not discarded by the next getDeck (client boot or export).
|
Re Bonk's three findings (addressed in 2ca67ed):
|
Google Slides converts spcPts back into a percentage of the font's natural line height, so exact points rendered ~15% loose there; a percentage divided by Arial's 1.15em natural height is what both PowerPoint and Google honour.
Targeted PPTX tests pass. |
…ce, card shrink-to-fit - normalizeXml and the run escaper copy clean spans instead of concatenating characters, so decks that alias one large block many times no longer build ropes the size of the deck text. - parseColor accepts rgb()/rgba() and the basic CSS named colors. - Props the browser renders with white-space normal/nowrap (section label, logo, pill, card eyebrow/title, box title/body, arrow label) collapse line breaks to spaces instead of becoming hard breaks. - Card text shapes emit normAutofit so consumers shrink text into the card, the nearest native equivalent of overflow: hidden.
|
Re Bonk's latest four (addressed in 9611593):
|
There was a problem hiding this comment.
Devin Review found 1 new potential issue.
1 flag not posted on this PR by your GitHub settings — view it in Devin Review. (Configure)
| } | ||
| if (options.bullet) { | ||
| properties += `<a:buClr><a:srgbClr val="${COLORS.tangerine}"/></a:buClr>` + | ||
| '<a:buSzPts val="1000"/><a:buFont typeface="Arial"/><a:buChar char="●"/>'; |
There was a problem hiding this comment.
🟡 Bullet markers export oversized
The buSzPts value makes each marker 10 points, while the editor's 6-pixel marker maps to 4.8 points. Exported lists show dots over twice their authored size.
| '<a:buSzPts val="1000"/><a:buFont typeface="Arial"/><a:buChar char="●"/>'; | |
| '<a:buSzPts val="480"/><a:buFont typeface="Arial"/><a:buChar char="●"/>'; |
Was this helpful? React with 👍 or 👎 to provide feedback.
update built-in slides blueprint to support pptx export