github hugohe3/ppt-master v4.7.0

4 hours ago

v4.6.0 opened a new input with page-image reconstruction. This release goes the other way — deeper into PowerPoint's own object model. Two things a deck could previously only fake are now real native objects: formulas are editable PowerPoint math instead of pictures, and hyperlinks are real click relationships instead of styled text. Both round-trip.

Native formulas

  • LaTeX compiles to editable PowerPoint math. A strict LaTeX subset is validated and compiled straight to OMML — no Pandoc, no image rendering, no external service. Formulas export as Office 2010+ TextMath in both flat and structured packages, and invalid input fails closed rather than degrading silently.
  • Inline math lives in the paragraph it belongs to. Same-paragraph formulas compile to inline m:oMath and are emitted as styled math runs inside the surrounding DrawingML paragraph, so a sentence with a symbol in the middle stays one sentence. Standalone block formulas remain available; the Executor chooses ordinary text, inline math, or a block depending on the content.
  • This is now the default path, not an option. Formula policy choices and image-rendering resources are gone from both Default and Quick generation. Exact mathematical content stays owned upstream, and one shared marker contract covers both forms. latex_render.py remains only as a standalone legacy raster utility for anyone who still wants a picture.
  • The SVG preview is authoring-only. No formula image fallback is emitted. PowerPoint 2010+ is the supported target; non-PowerPoint clients are outside the contract.

Native hyperlinks

  • Links are authored with ordinary SVG <a href>. Whole objects, inline text runs, and formulas can all carry a link, and each lowers to a real PowerPoint click relationship rather than blue underlined text.
  • Same-deck navigation works, not just external URLs. A link can target another slide in the same deck, and those targets are remapped when slides, layouts, and masters are cloned — failing closed when a target is ambiguous rather than guessing.
  • Links survive the round trip. Supported click links are reconstructed on PPTX import, linked images and table cells are preserved through Markdown extraction, and Fill Native PPTX retargets same-deck links unambiguously.
  • Validation is fail-closed on URI safety, action ownership, relationship mode, and final slide-roster membership. An actionButton* preset still contributes visual geometry only: appearance alone never implies an action, which keeps the rule that generated decks do not invent behavior nobody asked for.

Native charts

  • Opt-in native charts keep the layout they were drawn with. Plot-area geometry is emitted as manual layout from the authored slide coordinates instead of collapsing to PowerPoint's automatic placement, and bounded titles are preserved as editable companion text boxes.
  • Horizontal bar axes and doughnut hole sizing are supported, and the authoring contract now documents absolute plot-area bounds, the automatic-layout fallback, and bounded title/subtitle constraints.

Roadmap

  • The roadmap is now a coverage map organized by the four layers of a presentation — visible objects, composition, behavior, and document structure — with a status on every row. It is written as a map rather than a backlog: a settled boundary reads as a decision, not a debt, and the statuses that describe a decision are separated from the ones that describe an open question.
  • Several rows were understating what already exists. Connectors, SmartArt, and hyperlinks each recorded only the authoring side of a capability that was already working on the read or preserve side. Those are corrected.
  • Scope decisions are on the record with their reasoning. Arbitrary video, background music, OLE objects, and 3D models are Not planned, each stating that media and objects already present in a source deck are preserved unchanged. Endpoint binding for newly authored connectors was evaluated and declined, because identifying which lines are real edges is an intent judgment that no geometric tolerance settles.

Full changelog: v4.6.0...v4.7.0

Don't miss a new ppt-master release

NewReleases is sending notifications on new releases.