# ppt-master v6.2.0
- Product: ppt-master (https://whatsnew.fyi/product/ppt-master)
- Vendor: hugohe3
- Date: 2026-09-02
- Version: v6.2.0
- Original notes: https://github.com/hugohe3/ppt-master/releases/tag/v6.2.0
- Permalink: https://whatsnew.fyi/product/ppt-master/releases/v6.2.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** — Prompt corpus rewritten for readability with restoreda catalog-style format in core files
- **changed** — Implemented one owner per rule with ownership registered in docs/rules/rule-owners.md and pointers in other files
- **changed** — Shared planning core moved to references/plan-core.md with both Default and Quick routes reading from it
- **changed** — Core files rewritten in catalog format with fixed skeleton, labeled paragraphs, and one decision per example
- **changed** — Executor section 2.2 lists roughly ten per-page decisions in order from module line to coordinates
- **changed** — Four overloaded terms renamed: Layout to Composition, Layout pattern to Image pattern, Structure decision to topology decision, and carrier semantics clarified
- **changed** — Vocabulary standardized in SKILL.md defining Structure, Layout, mode, template, style, Reference, and carrier
- **changed** — Font specification changed to one concrete face per role with at most one Latin plus one CJK
- **changed** — data-pptx-bounds redefined as union of child geometry plus margin, recomputed on size or line count changes
- **changed** — Role scan now names chapter numerals and hero figures as display roles that recur per anchor page
- **changed** — Image downscaling to planned size is allowed as an image derivative
- **changed** — P05 early gate replaces first-page gate on both routes with svg_quality_checker.py --stage early, skipped for rosters of six or fewer pages
- **changed** — Presets gain carrier-and-field family in receipt, routing trigger, and section 3.0
- **changed** — project_manager.py init is now idempotent on names already carrying _YYYYMMDD suffix
- **changed** — svg_to_pptx.py now completes a preset's avLst when placeholder or roundtrip source leaves it partial
- **added** — image_treat.py gains --fit WxH flag to downscale an image to fit inside a box
- **added** — image_gen.py --manifest validates each request's aspect ratio against selected backend before generation
- **changed** — source_to_md.py -o
with single input now writes into that directory instead of treating it as file path
- **changed** — Tool behavior documentation moved from prompts to scripts/docs/ with prompts pointing there
- **changed** — docs/rules/prompt-style.md extended to cover every runtime file with prescriptive guidelines and catalog exemplars
> [!IMPORTANT]
> **The prompt corpus is now written for readers, not for compression.** After v6.1.0's slimming, this release makes every runtime rule live in one place, restores the catalog-style format in the core files that had been compressed, and shares one planning core between the Default and Quick routes. Rules did not change; where they read differently, the difference was reviewed commit by commit against the v6.1.0 baseline. Both routes were exercised end-to-end on a real source (Default 18 pages, Quick 15 pages) and the friction found there is fixed here. Create Template and Edit Native PPTX remain paused (bug fixes only).
##### Prompts
- **One owner per rule.** [`docs/rules/ownership.md`](docs/rules/ownership.md) states how ownership is decided and [`docs/rules/rule-owners.md`](docs/rules/rule-owners.md) registers every cross-file rule with its single owner; other files keep a one-line pointer. The same rule used to be restated in five to ten places (slot contract, Chart/Table reference, sounds, template discovery, size band, icons, reading mode), each drifting on its own.
- **Shared planning core.** `references/plan-core.md` holds the page-planning rules both routes read; `strategist.md` keeps only the confirmation surface, the three directions, and its artifacts; `quick-generate.md` §2 keeps only commands and contracts.
- **Readable core files.** `executor-base.md`, `strategist.md`, `generate-pptx.md`, `quick-generate.md`, `image-generator.md`, `animations.md`, `create-template.md`, and `template-designer.md` are rewritten in the catalog format the well-read files already used: fixed skeleton, short labeled paragraphs, one decision per example, exceptions as their own sentence. Every code span, number, and link was verified present before and after.
- **One ordered per-page chain.** Executor `§2.2` lists the roughly ten decisions a page goes through, in order, from module line to coordinates, instead of scattering them across sections.
- **Four overloaded terms renamed.** §IX `Layout` → `Composition`; §VIII `Layout pattern` → `Image pattern`; "Structure decision" → "topology decision" (`topology=yes|no`); `carrier` now has one meaning. The checker reads the new column names and falls back to the old ones, so existing projects still validate.
- **Vocabulary in `SKILL.md`**, read by every route, defines the terms the corpus uses (Structure, Layout, mode, template, style, Reference, carrier).
- **Fonts**: each script names one concrete face, at most one Latin plus one CJK per role, no fallback list; the "at most four families" ceiling is back after being lost in the ownership pass.
- **Dogfood follow-ups**: `data-pptx-bounds` is defined as the union of child geometry plus margin, recomputed whenever a size or line count changes; roles without a `_family` fall to `body_family` (title-family roles to `title_family`); the role scan names chapter numerals and hero figures as display roles that recur per anchor page; downscaling to the planned size is an allowed image derivative; a single character-only look is allowed for CJK lettering; preset shapes with repeated vertices are registry output and are not to be "cleaned"; Quick's closing checklist gains the motion gate.
##### Scripts and checker
- **P05 early gate** replaces the first-page gate on both routes (`svg_quality_checker.py --stage early`); rosters of six or fewer pages skip it. Checker runs follow a gate point or the end of one consolidated repair pass.
- **Presets** gain a carrier-and-field family in the receipt, the routing trigger, and §3.0.
- `project_manager.py init` is idempotent on names that already carry a `_YYYYMMDD` suffix (no more `_2` directories).
- `svg_quality_checker.py --json` semantics are stated everywhere the command appears: it writes the report the exporter reads; stdout stays the human summary. The exporter's repair hint now includes `--canonical-authoring`; the checker flag set is aligned across the quick reference, Quick §4
_[Truncated at 4000 characters — full notes: https://github.com/hugohe3/ppt-master/releases/tag/v6.2.0]_