返回 ppt-master
README.md
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
66 lines MARKDOWN