ppt-master v6.2.0

v6.2.0
Added 2
  • image_treat.py gains --fit WxH flag to downscale an image to fit inside a box
  • image_gen.py --manifest validates each request's aspect ratio against selected backend before generation
Changed 18
  • Prompt corpus rewritten for readability with restoreda catalog-style format in core files
  • Implemented one owner per rule with ownership registered in docs/rules/rule-owners.md and pointers in other files
  • Shared planning core moved to references/plan-core.md with both Default and Quick routes reading from it
  • Core files rewritten in catalog format with fixed skeleton, labeled paragraphs, and one decision per example
  • Executor section 2.2 lists roughly ten per-page decisions in order from module line to coordinates
  • Four overloaded terms renamed: Layout to Composition, Layout pattern to Image pattern, Structure decision to topology decision, and carrier semantics clarified

From ppt-master

[!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 states how ownership is decided and 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 LayoutComposition; §VIII Layout patternImage 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 <role>_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, and the exporter message.
  • source_to_md.py -o <dir> with a single input writes into that directory instead of treating it as a file path.
  • image_gen.py --manifest validates each request's aspect ratio against the selected backend before spending a generation.
  • image_treat.py --fit WxH downscales an image to fit inside a box (new).
  • import-sources log wording matches what the tool does (no false "namespace" claim).
  • Tool behavior that lived in prompts moved to scripts/docs/ (Chart/Table payload grammar in native-data.md, exporter flags, image tools, import semantics); the prompts point there.
  • svg_to_pptx.py completes a preset's avLst when a placeholder or roundtrip source leaves it partial, so PowerPoint no longer offers to repair the deck.
Docs
  • docs/rules/prompt-style.md now covers every runtime file and is prescriptive: recall before craft before boundary, sentence and paragraph limits, one meaning per term, catalog exemplars.
  • docs/rules/prompt-layers.md adds Procedure as a fourth content layer.
  • conversion.md sidecar naming corrected to <stem>.
What's next

Maintenance continues as report-driven fixes from real generation runs. No prompt or workflow restructuring is planned.

View original

Upgraded? How did it go?

Discussion