# ppt-master v4.1.0 - Product: ppt-master (https://whatsnew.fyi/product/ppt-master) - Vendor: hugohe3 - Date: 2026-07-21 - Version: v4.1.0 - Original notes: https://github.com/hugohe3/ppt-master/releases/tag/v4.1.0 - Permalink: https://whatsnew.fyi/product/ppt-master/releases/v4.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** — Removed the 60-30-10 color split, the 4-color-per-page cap, and the industry color table as a default lock; color distribution now follows encoding, style, and natural asset colors while maintaining body-text contrast ≥4.5:1 and brand/semantic roles - **changed** — Replaced fixed line-height ratios (1.4–1.5× / 1.6–2.0×) with spacing chosen from typeface, size, density, and reading distance - **changed** — Removed the requirement for page-local tints, gradient stops, shadow/glow paints, transparency composites, and one-off illustration tones to be locked; spec_lock.md now functions as an identity anchor set rather than an allowlist - **added** — Executor now opens with a visible menu of available constructions including alpha/gradient paint, elevation, image integration, line and type treatments, and constructed styles - **changed** — The image-as-canvas usage rule for 4+ image decks became an intent audit; repeated layout structures are valid when the narrative requires them - **removed** — Removed two taste-encoding warnings: missing_image_as_canvas and layout_degenerated - **changed** — Changed the structured pages capacity hint from 3–8 content groups to one group per logical content unit - **added** — Strategist's material sufficiency section now includes an explicit Crop Policy column with no-crop and adaptive options that project into the lock - **added** — Strategist's section now includes a Native-ready column to identify independent data charts and tables for promotion to native editable objects - **added** — Added Prompt Refactor Review contract to docs/rules/prompt-style.md requiring compression passes to record before/after strength deltas and prove permissions did not become quotas - **changed** — Design Spec and spec_lock.md are now authored once as complete documents rather than scaffolded and filled piecemeal - **changed** — project_manager.py validate no longer reopens confirm_ui/result.json and instead validates planning artifacts against their schemas - **changed** — Executor resolves fonts by exact role with a legacy font_family fallback to keep existing locks working ##### First, an apology The architectural cleanup that shipped with v4.0.0 carried changes it did not need to make, and those changes suffocated the project's creativity. That is on me, and I'm sorry. It also taught me something I had underweighted: this project is not only its code. The prompts and the orchestration of the workflow matter just as much — arguably more. A quota tightened by one line, a reference demoted to a lock, a permission rewritten as a limit: none of that shows up as a failing test, but it decides whether the AI is allowed to design at all. In my own testing, the deck aesthetics have recovered a good deal, so I'm publishing this fix right away rather than batching it. The wider lesson is that a great many details hide inside every small design decision here. Every future change deserves extreme care, and I need to slow the rate of change down. --- The v4.0.0 refactor compressed the prompt contract hard. Some of that compression turned permissions into quotas, references into locks, and flexible realization into silent constraint — the AI had less room to design than the system intends. This release restores that range and pins down *why* each remaining boundary exists, so a future compression pass cannot quietly take it away again. ##### Creative range restored - **Palette**: the 60-30-10 split, the "no more than 4 colors per page" cap, and the industry color table as a default lock are gone. Industry anchors are optional recall; color count and distribution follow encoding, style, and natural asset colors. Body-text contrast ≥ 4.5:1 and confirmed brand/semantic roles still hold. - **Typography**: fixed line-height ratios (1.4–1.5× / 1.6–2.0×) are replaced by spacing chosen from typeface, size, density, and reading distance — no fixed ratio overrides legibility or the selected style. - **Page-local expression**: page-local tints, gradient stops, shadow/glow paints, transparency composites, one-off illustration tones, and export-safe display families no longer need a lock row. `spec_lock.md` is an identity anchor set, not an allowlist of every legal value; promote a value only when it recurs. - **Effect capability discovery**: Executor now opens with a visible menu of available constructions — alpha/gradient paint, elevation, image integration (scrim, vignette, faux glass, clipping), line and type treatments, constructed styles (hand-drawn, Riso, halftone, isometric, paper cut). It is a reference, not a constraint; `svg-effects.md` still owns syntax and fallbacks. - **Image composition**: the "use image-as-canvas at least once per 4+ image deck" rule becomes an intent audit. Repeated left/right or top/bottom structures are valid when the narrative calls for them, and catalog families and modifiers stay available without a usage quota. - **Quality checker**: two taste-encoding warnings (`missing_image_as_canvas`, `layout_pattern_degenerated`) are removed. Contextual colors and safe font families are informational anchor comparisons, not drift errors. - **Structured pages**: the "3–8 content groups" capacity hint becomes one group per logical content unit. ##### Decision ownership: Strategist prepares, Executor realizes - Strategist owns material sufficiency, resource selection, and project-local readiness — image layout pattern and crop policy, chart selection, native-ready choices, icons, and adaptive Layout mappings. - §VIII gains an explicit `Crop Policy` column (`no-crop` protects required pixels; `adaptive` lets Executor choose complete display or a focal-safe crop) and projects into the lock as ` | source= | pattern= | crop=`. - §VII gains a `Native-ready` column: an independent data chart or pure text-grid table is promoted to a native editable object only when the requirement or the deck's afterlife benefits; incidental sparklines and KPI insets stay designed SVG. - AI and web image acquisition stays after final confirmation and before Executor. - Executor realizes the confirmed plan _[Truncated at 4000 characters — full notes: https://github.com/hugohe3/ppt-master/releases/tag/v4.1.0]_