| 1 | # AI Image Comparison — Reference Gallery |
| 2 | |
| 3 | This directory preserves rendering, legacy palette, and type comparison assets. The current Confirm UI displays **rendering only**; deck colors come directly from the selected PPT color system. The palette gallery remains for legacy diagnostics and must not become a second confirmation control. |
| 4 | This directory uses **controlled-variable comparison** — vary one dimension while holding the other two fixed — so you can see exactly what each dimension contributes. |
| 5 | |
| 6 | > This is **not** an example project. The rendering set remains a selection reference; the palette set is legacy diagnostic material, and the type set is an internal composition reference. |
| 7 | |
| 8 | ## The three comparison sets |
| 9 | |
| 10 | | Subdirectory | Count | Variable | Fixed baseline | |
| 11 | |---|---|---|---| |
| 12 | | [`rendering/`](./rendering/) | 20 | rendering (20 styles) | single-subject hero composition (§4.1 Primitive A), palette=cool-corporate | |
| 13 | | [`palette/`](./palette/) | 14 | palette (14 color behaviors) | single-subject hero composition (§4.1 Primitive A), rendering=vector-illustration | |
| 14 | | [`type/`](./type/) | 11 | type (11 internal compositions for `page_role: local`) | rendering=vector-illustration, palette=cool-corporate | |
| 15 | |
| 16 | Each subdirectory contains: |
| 17 | |
| 18 | - `_subject.md` — the controlled variables and the subject used for this set |
| 19 | - `_manifest.json` — generation manifest (status=Pending), runnable via `image_gen.py --manifest` |
| 20 | - `<dimension>.png` — the generated image for each rendering / palette / type |
| 21 | |
| 22 | > `page_role: hero_page` images don't pick an `image_type` — they use the four composition primitives in [`image-generator.md`](../image-generator.md) §4.1 directly (single-subject / portrait / typographic / atmospheric). The 11 types in `type/` are for local infographic blocks only. |
| 23 | |
| 24 | ## Why these baselines |
| 25 | |
| 26 | | Choice | Reason | |
| 27 | |---|---| |
| 28 | | rendering=`vector-illustration` | Most versatile in the catalog; ✓✓ compatible with all 14 palettes; minimal interference when used as the "origin" for palette / type comparisons | |
| 29 | | palette=`cool-corporate` | Most neutral and common; clear dominant/support/accent roles keep the compared dimension visible | |
| 30 | | composition=single-subject hero (§4.1 Primitive A) | One dominant subject (60-70% of canvas) — the most visually representative shape, so rendering / palette differences show up most clearly | |
| 31 | |
| 32 | ## How the images were generated |
| 33 | |
| 34 | > Reference images were generated with the **OpenAI gpt-image-2** backend. Other backends (gemini / doubao / qwen / etc.) will produce visually different results — this reflects model-level differences, not differences in PPT Master's dimension system. |
| 35 | |
| 36 | To reproduce or regenerate: |
| 37 | |
| 38 | ```bash |
| 39 | python3 skills/ppt-master/scripts/image_gen.py \ |
| 40 | --manifest skills/ppt-master/references/ai-image-comparison/rendering/_manifest.json \ |
| 41 | -o skills/ppt-master/references/ai-image-comparison/rendering/ \ |
| 42 | --backend openai |
| 43 | |
| 44 | python3 skills/ppt-master/scripts/image_gen.py \ |
| 45 | --manifest skills/ppt-master/references/ai-image-comparison/palette/_manifest.json \ |
| 46 | -o skills/ppt-master/references/ai-image-comparison/palette/ \ |
| 47 | --backend openai |
| 48 | |
| 49 | python3 skills/ppt-master/scripts/image_gen.py \ |
| 50 | --manifest skills/ppt-master/references/ai-image-comparison/type/_manifest.json \ |
| 51 | -o skills/ppt-master/references/ai-image-comparison/type/ \ |
| 52 | --backend openai |
| 53 | ``` |
| 54 | |
| 55 | Generated images land in the corresponding subdirectory. Each item's `status` in the manifest is updated in place to `Generated` / `Failed` / `Needs-Manual`. Re-running only retries `Pending` and `Failed` items — `Generated` items are skipped. |
| 56 | |
| 57 | ## How to use |
| 58 | |
| 59 | | If you are deciding... | Look at | |
| 60 | |---|---| |
| 61 | | Which rendering to lock in [`strategist-image.md`](../strategist-image.md) §2 | `rendering/` — scan all 20 side by side; pick the visual temperament that matches the deck | |
| 62 | | Diagnosing a legacy palette lock or comparison asset | `palette/` — see how historical color behaviors shift the same subject; do not expose it as a new-flow choice | |
| 63 | | Which type fits a specific image's purpose | `type/` — match the internal composition to the page's content shape | |
| 64 | |
| 65 | > The three sets are intentionally independent. When deciding rendering in the current flow, use only `rendering/`; the legacy palette set must not influence or reintroduce a separate color decision. |
| 66 |