Roadmap

August 17, 2026 · View on GitHub

English | Chinese


PPT Master is a solo-maintained open source project, driven by priority rather than fixed timelines. This roadmap aligns expectations: the direction of travel, what's in motion now, what may come when real demand shows, and what's intentionally out of scope. Priorities shift with user feedback and real usage signals — no committed delivery windows.


Direction

The defining axis is native depth: author or preserve more of PowerPoint's own object model, behavior, and reusable structure, release after release — converging with PowerPoint itself. The positioning charter states the full thesis; the PowerPoint ↔ SVG Mapping Guide records the current boundary honestly, feature by feature.

Today that axis is expressed through four explicit artifact routes: Generate PPTX authors newly designed slides through constrained SVG → DrawingML; Create Template produces reusable Brand / Style / Layout / Deck workspaces; Fill Native PPTX and Enhance Native PPTX preserve existing packages through scoped OOXML operations.


Coverage map

A presentation is four layers: what is on the slide, how it is arranged, how it behaves, and how the document itself is structured. The tables below map each layer against what PPT Master does today.

Read this as a map, not a backlog. Bounded by design and Asymmetric by design are settled shapes, not unfinished cells — a blank there is a decision, not a debt. Not planned rows say in the row why they are not being worked on. Only Signal-driven rows lean open, and their reasoning lives in Future directions rather than being repeated here. Positions that have actually been argued out live in Non-goals; this map describes, it does not adjudicate.

StatusMeaning
SystematizedHas a dedicated authoring contract; applicable, objectively decidable parts receive validation; actively refined
CoveredWorks today without a dedicated specification system
Bounded by designDeliberately stops where it stops; the reason is recorded
Asymmetric by designSupported on one side only — typically reading or preserving a source deck, but not authoring
Signal-drivenWorth doing when real demand shows; not a commitment
Not plannedNot being considered right now; the reason is in the row

Layer 1 — Visible objects

ObjectStatusNotes
TextSystematizedRole anchors deck-wide, bounded per-occurrence adjustment, hierarchy and paragraph rules, natively editable runs
Native WordArt & warped textNot plannedAI-generated decorative lettering is the preferred visual carrier, with ordinary editable text as the fallback. Native WordArt, text warp, and text-on-path would add a separate authoring and compatibility surface without improving that path, so they are not generated
Vector shapesSystematizedprimitive / Office-preset atoms → independent composition → Boolean only when one contour requires it → necessary freeform construction ladder, with native conversion rules
Lines & connectorsAsymmetric by designNative p:cxnSp export is implemented, and endpoint attachment is restored on the preserve/mirror round-trip from a source deck. Newly authored connectors stay unconnected. Binding them would first require deciding which lines are real edges and which are decoration — an intent judgment that no geometric threshold settles, and one that is made by the AI wherever it is placed, so moving it upstream to authoring buys no reliability. The result would be some arrows in a diagram following their node and others not
IconsSystematizedBundled SVG libraries with per-project sync; project icons are prepared material. Illustrated semantic cues remain generated slices under images/ for ordinary image composition and never become icon-library entries
LogoBounded by designA logo is always existing artwork, never designed here: brand workspaces install officially supplied files as prepared assets — bundled brand presets ship official marks with recorded usage rules — and the simple-icons library covers real company / product marks
ImagesSystematizedAcquisition, generation, treatment, cropping, layout, composition, embedding, provenance
ChartsSystematizedDedicated authoring reference; SVG by default, native Chart replacement available as an explicit opt-in
TablesSystematizedDedicated authoring reference; six reusable cell-grid references, with custom grids still available; native Table replacement uses the same opt-in
DiagramsSystematizedSix relationship atoms — order, link, parent, membership, contrast, overlap
FormulasSystematizedStandalone block and same-paragraph inline formulas compile every explicitly documented Microsoft 365 LaTeX / mhchem input to editable OMML, with documented native normalizations and fail-closed handling outside the profile. PPTX import rebuilds validator-clean, PPT Master-owned OMML into normalized formula markers with visible SVG previews; arbitrary third-party OMML and original LaTeX spelling recovery remain outside the contract. No image fallback is emitted. The package target remains PowerPoint 2010+; the executable profile is pinned to the stated Microsoft documentation versions, while repository verification is compiler/OMML/package-level rather than complete Microsoft 365 UI certification. Non-PowerPoint clients remain outside the contract
Narration & animation audioSystematizedPer-slide narration audio, plus native transition and object sounds drawn from the bundled CC0 catalog
Arbitrary video & background musicNot plannedA one-off, content-specific insert that is faster to place by hand in PowerPoint, and the AI cannot pick the file for you. Background music additionally pulls in narration-mixing decisions that are out of scope. Media already present in a source deck is preserved unchanged through the Fill and Enhance routes
SmartArtAsymmetric by designSource diagram parts are read for their content and structure; generated decks redraw that content through the ordinary shape pipeline. DiagramML is never edited and native SmartArt regeneration is not promised
3D models, OLE objectsNot plannedBoth need the host application or a recent Office build on the opening machine and fall back to a still preview elsewhere — the cross-renderer problem this project avoids by design. Inserting one by hand takes seconds. Objects already present in a source deck are preserved unchanged
Ink & camera feeds (Cameo)Not plannedHand-drawn annotation and live camera objects are presenter-session surfaces rather than generated design content, and both depend on recent Office builds. Such parts already present in a source deck pass through source-preserving routes as untouched package structure

Illustration is deliberately absent from this table. It is a composable result—an image, transparent slice, SVG, or group of shapes—not a seventh carrier. It may combine with any other suitable page carrier; listing it beside Images would reintroduce the category confusion this layering removes.

Layer 2 — Composition

ConcernStatusNotes
BackgroundSystematizedSolid and gradient page backgrounds export as PowerPoint-native slide backgrounds; the picture case is signal-driven
Layering & groupingSystematizedExplicit z-order and group contracts, including registered base/subject layer pairs
Illustration compositionSystematizedPlanned per page as a coherent element family; when generation is available, compatible assets may be batch-generated on keyed sheets, strictly alpha-sliced, then reused as fixed title/corner chrome or recomposed as anchors, supporting figures, and accents alongside text, shapes, photos, and lettering
Grid, alignment, whitespaceSystematizedShared composition contract plus composition-geometry vocabulary carried by each visual style
PaletteSystematizedDeclared HEX values are the truth source for named semantic roles; reusable role anchors stay stable deck-wide, while contextual derivatives and sparse page-local accents remain available
TypographySystematizedOne deck-wide size anchor per structural role, with bounded ±2px per-occurrence adjustment and a sparse non-structural Hero/Display exception
Visual effectsSystematizedDedicated effects reference; one registered outer shadow or glow compiles to one editable native effect on supported basic objects and compact authored preset shapes
Reading pathSystematizedEach page plan declares one primary emphasis anchoring entry, progression, hierarchy, and endpoint; visual review checks the most prominent element and anchor placement against that declaration

Layer 3 — Behavior

ConcernStatusNotes
Page transitionsSystematizedIncludes on-demand transition sounds from a bundled CC0 catalog; PPTX import reconstructs exact current-registry transitions into the canonical sidecar
Object animationSystematizedOff by default and opt-in; per-object configuration is explicit, and PPTX import reconstructs the finite exact-duration current-registry subset into the canonical sidecar
Auto-advanceCoveredDerived from narration lead-in, audio duration, and page-tail padding
Media playbackCoveredNarration audio and animation sounds play natively; media already present in a source deck keeps its playback settings
HyperlinksSystematizedWhole-object and inline-text links author through standard SVG <a href>, export as native external or same-deck click relationships, and reconstruct on supported PPTX import
Actions & navigationSystematizedNavigation is authored explicitly by wrapping the target in a hyperlink anchor, including same-deck slide jumps. An actionButton* preset contributes visual geometry only — appearance alone never implies an action. Mouse-over triggers, custom shows, macro or program execution, and raw ppaction:// injection stay outside the contract
Zoom (summary / section / slide)Not plannedAn Office-build-dependent navigation object that falls back to a static picture in other renderers — the cross-renderer degradation this project avoids by design. Same-deck jumps are covered by native hyperlink slide targets

Layer 4 — Document structure

ConcernStatusNotes
Slide sizeSystematizedThe canvas contract selects the presentation format; the SVG viewBox is the single geometry truth with fail-closed validation, and every page in a deck must agree on one format
ThemeSystematizedLock-backed Default export derives each deck's clrScheme, major/minor fonts, and Master title/body size defaults from its palette and typography contract. Lockless Quick keeps converter-default Theme scaffolding while writing SVG-derived page colors and fonts as direct values
Font embeddingBounded by designFonts are never embedded in the package; a brand or web face leads only after confirmed availability on the target system, otherwise export uses a safe family and keeps the intended face recorded in the Design Spec
Slide sectionsAsymmetric by designSource-preserving native workflows retain existing section metadata as untouched package structure. Routes that generate or rebuild a slide roster do not author PowerPoint Sections because page roles and optional Design Spec Parts do not form one required, route-wide section contract. Sections change only how the thumbnail rail organizes a deck and never change page appearance; grouping a long deck by hand in PowerPoint takes about a minute and is done once
Master / LayoutSystematizedReal p:sldMaster / p:sldLayout parts on structured routes
PlaceholdersSystematizedTemplate workspace contracts, with strict/adaptive exporter behavior derived per deck
Date, footer & slide-number fieldsBounded by designStructured template routes author real date / footer / slide-number placeholders under the placeholder contract. Free-design decks deliberately keep drawn page numbers and footers as ordinary text: a page numeral is often a design element rather than a standard field, telling the two apart is an intent judgment, and inserting a standard field by hand in PowerPoint takes seconds and is done once
Speaker notesSystematizedExported with a real notes master
NarrationSystematizedPer-slide audio with provider provenance
SubtitlesSystematizedWord-timed regrouping across supported providers into shared compact SRT
Document metadataCoveredSet at export rather than left to the packaging library
Accessibility (alt text, reading order)Not plannedAI-generated images carry an alt_text field and web-scraped images record the page's often-empty alt attribute, but shapes, charts, diagrams, and user-supplied images have no description at all — full coverage means authoring descriptions for every non-text object, not connecting existing data. Reading order is not a separate property in PowerPoint: it is the shape order, which carries the page's visual layering and is not set independently of it
Macros & Office extension XMLAsymmetric by designNever authored — the generated route does not synthesize VBA; existing macro or extension parts persist only where a macro-aware source-preserving workflow keeps the owning package parts unchanged
Comments, revisions, collaboration stateNot plannedOffice collaboration surface, outside the authoring product

In progress / Next

Actively underway or up next — no committed timeline.

  • Calibrate the recently landed systems on real decks — multi-deck intake, the material-divergence field, the composable-illustration system, and structured template creation have all shipped; what they need now is real-usage signal, not more mechanism. No pre-emptive thresholds or quotas.
  • Prompt slimming — compress per-role prompt token footprint and improve cache hit rate without sacrificing quality. This is the indirect cost/speed lever; the boundary with quality-sacrificing speedups is drawn under Non-goals.

Future directions — signal-driven

Candidates already evaluated as "worth doing when real demand shows", listed so the intent is public. None is a commitment.

  • Keep closing the native-coverage gaps recorded in the mapping guide — release after release, move more "SVG-only" cells toward native PowerPoint structure and behavior.
  • Picture slide backgrounds as native background fill — solid/gradient page backgrounds already export as PowerPoint-native slide backgrounds; the picture case is demand-driven.

Shipped milestones

One line per month. Full detail lives in the release notes and the commit log.

WhenTheme
2026-03Native PPTX route takes shape — the SVG → DrawingML chain becomes usable; chart/layout template indexes ship
2026-04Pipeline at scale — topic-only generation, 70 chart templates + three icon libraries, the spec_lock cross-page consistency contract, per-element animation and narration/video export
2026-05Visual editing + AI-image systematization — Live Preview with deterministic in-place editing (built on @WodenJay's PR #85), template workspaces from PPTX, the rendering × palette × type image system, and the legacy raster LaTeX renderer
2026-06Mode & visual-style dual catalogs + intake expansion — 5 narrative modes × 18 visual styles (+ custom), content-faithful beautify profile, multi-deck intake, composable-illustration pipeline, web-image quality gates, source-conversion fidelity gains (caption recognition from @suay1113's PR #191, hyperlink preservation distilled from @ZhaoZuohong's PR #155)
2026-07Positioning charter + native masters & layouts + token efficiency (v4.0.0) — three-pass staged confirmation UI, real p:sldMaster / p:sldLayout export, --native-charts-and-tables opt-in, motion-export hardening, chart template library compacted
2026-08Template library + page-image reconstruction + native math and links + AI imagery as composition (v4.5.0, v4.6.0, v4.7.0, v4.8.0) — brand / style / layout workspace library, visualizations split by information model with structure as a composition grammar, the Codex-supported image-to-pptx profile, video delivery carrying native animation sound, three editable whole-solution design directions, editable OMML formulas across the documented Microsoft 365 profile, native hyperlink authoring, composable AI illustration families and decorative lettering, task-driven image sourcing with isolated thumbnail review, transition and object-animation reverse import, and the four-layer coverage map

Non-goals

The directions below come up repeatedly and have been evaluated as not on the path. Listing them is not a value judgment on the underlying need — they simply do not fit this project's product direction. If you specifically need these capabilities, consider other tools or forking.

Blindly refill arbitrary PPTX placeholder systems

Issues: #53, #118

The Generate PPTX route is built around full control of newly authored shapes, text, and layout. A structured PPTX can inform a reviewed reusable package in two explicit ways: standard / fidelity author a new SVG and Master/Layout system from visual evidence, while mirror materializes a new workspace from the complete set of supported source facts actually present, including unused Layout definitions. Neither path modifies the source PPTX or recovers absent design intent. Generic "open any PPTX and blindly refill every placeholder" remains a different product shape.

The basic need is actually simple: if you just need "replace Excel data into fixed positions in a PPT template", have the AI write a few lines of python-pptx. You don't need this pipeline.

Supported boundaries: Fill Native PPTX (template-fill-pptx) directly refills selected source slides. Create Template (create-template) derives an internal authored or mirror implementation from the natural-language request and source evidence. Strategist later derives strict/adaptive exporter behavior from the actual template and current content. What remains out of scope is unreviewed, schema-free substitution against arbitrary third-party placeholder systems.

Make native PowerPoint charts the default

Issues: #99, #100-class

Pixel-fidelity across the four renderers (PowerPoint / Keynote / LibreOffice / WPS) is the project's spine. Switching the default route to native PowerPoint charts breaks that — the same PPTX renders different chart layouts across renderers. Charts as SVG is by design, not a capability gap.

The narrow exception is the data-pptx-replace-with marker: independently planned supported data charts and pure text-grid tables can carry a PowerPoint-native Chart/Table replacement payload when their semantic object key is recorded as <object-key>=yes in the Design Spec §IX Native-ready map; no and incidental microvisuals remain ordinary shapes. §VII only records selected reusable references. Exporting with --native-charts-and-tables activates prepared markers for users who deliberately trade cross-renderer fidelity for a data-backed object and its chart/table-specific editing model — the activated objects preserve the deck's chart-area / plot / axis / gridline / label colors and native table formatting rather than snapping to PowerPoint's default theme (see the v4.0.0 release notes). The default export path and editable SVG-derived shape system are unchanged.

uv as default / required dependency

Issue: #111

pip + requirements.txt is the only official install path because it works in every Python environment with no extra learning cost. uv is a fine tool, but making it default raises the bar for new users. If you personally prefer uv, use it in your fork — it won't affect the main line.

Pure speed optimization

Issue: #97

In the cost / speed / quality triangle this project picks quality. ~20 minutes for a high-quality PPTX is the current reasonable point.

Will do: indirect improvements via prompt slimming / cache hit rate.

Explicit quick-generate is a user-selected workflow shortcut: it skips Strategist, confirmation, and the first-page gate, then authors SVG, runs one lockless final quality gate, and exports the final PPTX. Because the whole planning phase no longer happens — the Strategist reference load, the design_spec.md / spec_lock.md artifacts, and the staged confirmation round trip — its token cost disappears with it, while per-page SVG authoring is unchanged. It keeps the same page-level visual and resource-authoring capabilities and the shared SVG/resource blocking standards. It does not run Spec Lock alignment checks; its package keeps converter-default Theme scaffolding instead of deriving Theme colors, fonts, and Master title/body size defaults from a lock. Without a confirmed design contract, first-page calibration, or resumable decision history it does not promise the same design decisions or wall-clock time as Default.

The default Generate pipeline continues to prefer quality over speed.

Standalone CLI / hosted SaaS / desktop app form factors

The product form is a chat-driven workflow / skill inside an agent-capable AI tool (Claude Code, Codex, Cursor, VS Code agents, and others).

Won't do: standalone CLI (ppm-style), SaaS web service, Electron shell. Any "make it run independently of chat" proposal will be declined. Chat is the interaction core, not a wrapper.


Feedback channels

Before proposing a new direction, scan the Non-goals above. If your request falls there, it's unlikely to land — but we're happy to discuss other paths to your underlying need.