# ppt-master v6.1.0 - Product: ppt-master (https://whatsnew.fyi/product/ppt-master) - Vendor: hugohe3 - Date: 2026-08-30 - Version: v6.1.0 - Original notes: https://github.com/hugohe3/ppt-master/releases/tag/v6.1.0 - Permalink: https://whatsnew.fyi/product/ppt-master/releases/v6.1.0 What's New is an index, not a publisher: every entry below links to the vendor's own release notes, which are the authoritative source. Entries are labelled where they are hand-curated sample data, pre-releases, or drawn from a secondary source such as a developer blog. Reuse: the summaries, labels and curation here are © What's New. Quote freely with attribution and a link back; wholesale republication of the corpus is not permitted — terms: https://whatsnew.fyi/terms. The vendors' own release notes remain their publishers'. --- - **changed** — Plan and Executor now have stated ownership boundaries across three tiers: Plan-only, Execution-only, and Reference sketch - **added** — Relationships section joins every Slide block to document semantic units and their order, link, parent, membership, contrast, and overlap - **changed** — Executor core is re-ordered with Page Expression Core (typographic features, layout structures, image composition) evaluated first before Blueprint Intake and per-page composition - **changed** — Planning prompts reduced from 82.4K to 73.6K tokens and Quick prompts from 78.6K to 70.4K tokens - **changed** — Image-layout catalog and placement geometry moved from planning batch to Executor ownership - **added** — Carrier-receipt review now requires stating a reason when no presets, inline emphasis, gradients, or filters are used - **added** — Four premium devices join the everyday menu: gradient or glow display text, accent gradient rule, elevated primary object, and duotone or brand-wash image - **changed** — Content fidelity clarified to use quotation marks and first person only for wording sourced as a quote, with organizing frameworks labeled as the deck's reading - **changed** — Spec lock baseline and user prohibitions documented in spec_lock.md with user prohibitions quoted verbatim and tagged as (user) - **changed** — Routing triggers evaluated once over entire roster before P01 and every triggered module read in that batch - **removed** — First-exercise page gate removed from workflow - **added** — Text width calibration now performed once before P01 using text_measure.py to report characters per 100px per role - **added** — Carrier receipt gains an Effects line documenting inline emphasis runs, gradient uses, filter uses, and text effects - **changed** — Image upscale advisory fires only above 2.0× source scale and states the threshold, no longer reporting smaller upscales - **removed** — Preset exit clauses removed from receipt validation > [!IMPORTANT] > **Plan and execution now have a stated boundary.** This release follows v6.0.0's prompt slimming with the first round of generation-driven prompt work: what the plan owns, what the Executor owns, and what is only a sketch are written down as three tiers, and the Executor core is re-cut so the craft that makes pages look designed comes first. Create Template and Edit Native PPTX remain paused (bug fixes only). ##### Prompts - **Three ownership tiers** ([`docs/rules/prompt-style.md`](docs/rules/prompt-style.md) §4.1). *Plan-only*: anything that needs a prepared file, holds across the whole roster, needs user confirmation, or comes from source semantics. *Execution-only*: anything judged with the objects on the canvas — carrier mix, geometry, presets, composition, treatment. *Reference*: a starting sketch the Executor adjusts freely, binding only when labeled `(binding)`. Depth test: one plan given to two Executors yields the same content with different looks. - **`Relationships` joins every §IX Slide block** — the page's semantic units and their `order` / `link` / `parent` / `membership` / `contrast` / `overlap`, written by the plan and consumed by the Executor's Structure decision. `project_manager.py validate` reports a missing line like a missing `Audience move`. - **The Executor core is re-cut**: the Page Expression Core (typographic features, native contour families, the everyday device menu, layout structures, page recipes, image composition families, the visual job router, everyday effects) comes first; then Blueprint Intake; then per-page composition, the technical contract, and checkpoints. Default-pipeline mechanics moved to `generate-pptx.md` Step 6 as their single owner. - **Planning reads less**: the image-layout catalog and placement geometry leave the planning batch (they are the Executor's and load on any image page); Strategist sheds execution vocabulary and internal duplicates. Planning set 82.4K → 73.6K tokens, Quick 78.6K → 70.4K. - **Absence needs a reason.** The final carrier-receipt review asks, per family or page, what carries the job when the receipt shows no presets, no inline emphasis, no gradients, or no filters — or fewer preset/connector pages than pages declaring a relationship. Style, speed, restraint, "text was enough", or "it is editable anyway" are not answers; a missing answer is repaired. Choosing not to use a device stays valid — only an unstated reason is not. Four premium devices (gradient or glow display text, accent gradient rule, elevated primary object, duotone / brand-wash image) join the everyday menu as capability recall. - **Content fidelity clarified**: quotation marks and first person only for wording the source gives as a quote; an organizing framework the source does not state is labeled as the deck's reading; when text does not fit, switch texture before dropping a qualifier. - **Lock prohibitions are the user's**: `spec_lock.md forbidden` holds the technical baseline plus prohibitions the user stated in their own words, quoted verbatim and tagged `(user)`; a confirmed `visual_style_behavior` binds as identity prose and is never projected into a prohibition. ##### Workflow - **Uninterrupted page loop.** Routing triggers are evaluated once over the whole roster before P01 and every triggered module is read in that batch; a page reaching an unforeseen capability reads its module then. The first-exercise page gate is gone — P01 gate, then pages, then the final gate. - **Text width calibrated once, before P01**: `text_measure.py calibrate [--outline] [--role NAME:FAMILY:SIZE]` reports ≈ chars per 100 px per role (CJK and Latin, the checker's own estimator) and each role's longest planned §IX line, written to `validation/text_calibration.json`. Later pages estimate by arithmetic and measure nothing. ##### Scripts and checker - The carrier receipt gains an `Effects:` line — inline emphasis runs, gradient uses, filter uses, text effects — informationa _[Truncated at 4000 characters — full notes: https://github.com/hugohe3/ppt-master/releases/tag/v6.1.0]_