返回 ppt-master
README.md
根目录 / skills / ppt-master / templates / README.md
1 # Template Resources
2
3 ## Reusable template kinds
4
5 Brand, Style, Layout, and Deck are independent template kinds, not stages of one
6 inheritance hierarchy.
7
8 | Kind | Owns | Does not own | Discovery index |
9 |---|---|---|---|
10 | [`brands/`](./brands/) | Identity: color, typography, logo, voice, icon style | Page structure or SVG roster | [`brands_index.json`](./brands/brands_index.json) |
11 | [`styles/`](./styles/) | Direction/method: reusable communication method, visual language, composition rhythm, and information-expression defaults | Official brand identity, current-project application, page structure, or SVG roster | [`styles_index.json`](./styles/styles_index.json) |
12 | [`layouts/`](./layouts/) | Brand-neutral structure: canvas, Master/Layout graph, page types, slots, SVG roster | Brand identity or a recurring communication application | [`layouts_index.json`](./layouts/layouts_index.json) |
13 | [`decks/`](./decks/) | A recurring presentation family: application contract + integrated identity + structure | — | [`decks_index.json`](./decks/decks_index.json) |
14
15 A brand is not “a layout minus its pages”, and a Style is not a roster-free
16 Deck: each owns a different segment. Use a brand for identity with free page
17 composition, a Style for reusable direction/method without identity truth or
18 page prototypes, a layout for brand-neutral structure whose identity and
19 communication purpose remain downstream decisions, and a deck for a recurring
20 presentation family with an explicit application contract.
21
22 PowerPoint package objects are compilation targets, not additional template
23 kinds. Theme values and identity assets are projected from resolved identity
24 rules supplied by Brand, Deck, or the current project; Layout rules project
25 into Master/Layout/Placeholder topology, semantic text roles, and
26 spatial behavior; Deck combines both with descriptive recurring-application
27 context and actual prototype examples. Style rules guide communication method,
28 visual language, composition, and information expression; they do not create a
29 PowerPoint package object or override resolved Brand/Deck identity. Downstream AI planning decides which
30 prototypes and content to use, then records the required exporter values.
31 A compiled Slide Master may therefore contain both
32 structural geometry and brand visuals even though their source rules remain
33 separately owned.
34
35 New workspaces always enter [`Create Template`](../workflows/create-template.md),
36 which keeps the fixed route name and dispatches exactly one child workflow:
37 [`Create Brand`](../workflows/create-template/create-brand.md),
38 [`Create Style`](../workflows/create-template/create-style.md),
39 [`Create Layout`](../workflows/create-template/create-layout.md), or
40 [`Create Deck`](../workflows/create-template/create-deck.md).
41
42 The four indexes are the complete library-discovery source for Default
43 [`generate-pptx`](../workflows/generate-pptx.md) Stage-1 template selection.
44 Step 3 prepares candidate input without interaction or reading template
45 content. The Stage-1 page confirms the communication contract together with an
46 explicit free-design/template choice; only template mode expands these indexes.
47 Exact roots supplied for the run or handed off by Create Template appear as
48 specified candidates. Ordinary requests default to free design; explicit
49 template intent or any supplied root defaults to template mode. Exactly one root
50 may be preselected, while multiple roots remain unselected candidates. The user
51 can always switch modes. The page accepts one registered choice per kind plus
52 one supplied-root choice, but the complete selection contains at most one
53 contribution per kind. All four kinds may combine; Layout owns structure when
54 both Layout and Deck are present. A supplied multi-kind root is atomic. A registered exact root is `library`; any other exact root is
55 `explicit`. After that combined confirmation,
56 [`apply-template-workspace`](../workflows/stages/apply-template-workspace.md)
57 validates and maps every distinct selected root once, preserving each
58 contribution as `design_spec.<kind>.<id>.md` before Stage 2 starts. Template-aware reading begins in final Stage 2 from
59 that project-local copy. Quick skips the page, applies supplied exact roots, and
60 otherwise uses free design.
61
62 ## Orthogonal contracts
63
64 | Axis | Values | Meaning |
65 |---|---|---|
66 | Template kind | `brand` / `style` / `layout` / `deck` | Which reusable contract the package owns: identity, direction/method, brand-neutral structure, or a complete recurring application |
67 | Selection source | `library` / `explicit` | Step-3 discovery provenance only: exact index-derived root or exact unregistered root; it does not change template semantics |
68 | Internal creation strategy | `standard` / `fidelity` / `mirror` | AI-derived Create Layout/Create Deck implementation: newly author a compact or broad roster, or materialize validated source-package facts into a new workspace; persisted for tools, never presented as a required user choice |
69 | Internal application plan | `template_reuse_scope` plus optional `template_adherence` | Strategist derives literal, structural, or style-only use and any strict/adaptive exporter behavior after inspecting the installed template and current content |
70 | PPTX structure | `flat` / `structured` | Derived application plans that use template structure compile declared Masters and Layouts; Style-only, style-scope, brand-only, and free design remain Slide-local. A Style installed alongside Layout/Deck does not change the non-Style structure plan. |
71
72 These axes must not be used as synonyms or exposed as a user mode matrix. In
73 particular, a mirror-created deck is still an ordinary reusable `deck` package
74 after creation; it does not force future presentations to keep the source page
75 count or order.
76
77 ## Workspace contract
78
79 Every package uses the same portable root under either this library or an
80 initialized project:
81
82 ```text
83 <template_workspace>/
84 ├── templates/ # the Design Spec (naming below); optional Layout/Deck SVGs and native_payloads.json.gz store
85 ├── images/ # optional bitmaps
86 ├── icons/
87 │ └── imported/ # optional imported vectors, one canonical copy
88 └── exports/ # optional review evidence; never a template input
89 ```
90
91 **Hard rule — the container disambiguates, the filename carries the rest**: one
92 schema serves both layers. A library root keeps `templates/design_spec.md`, since
93 `<kind_dir>/<template_id>/` already names its kind and id. A project root shares
94 one flat `templates/`, so it keeps one `design_spec.<kind>.<id>.md` per kind;
95 filename kind/id MUST equal frontmatter `kind`/`<kind>_id`. The shapes never
96 mix. One `templates/`
97 holds one active SVG roster: Layout when present, otherwise Deck. Both specs may
98 coexist because Layout overrides only Deck structure. Either shape is a
99 workspace root, and selecting it takes every kind it exposes.
100
101 Empty optional directories are omitted. Template SVGs reference bitmaps through
102 `../images/<name>` and imported vectors through `data-icon="imported/<name>"`.
103 Style contributes only its own Design Spec and no asset or review payload;
104 sibling scaffolding and other kinds' files are not Style input.
105 Every kind ignores `exports/`. The conditional
106 [`apply-template-workspace`](../workflows/stages/apply-template-workspace.md)
107 stage owns the rest: when installation runs, which roots each kind consumes,
108 legacy-flat readability, and the boundary that every later consumer reads the
109 installed project-local files rather than the original root.
110
111 ## Design specification references
112
113 [`design_spec_reference.md`](./design_spec_reference.md) and
114 [`spec_lock_reference.md`](./spec_lock_reference.md) own normal whole-document
115 authoring; their schemas own machine validation. Files under `scaffolds/` are
116 optional overwrite-safe CLI conveniences, not Generate-route starting artifacts.
117 Reusable template `design_spec.md` files are
118 deliberately smaller: they contain portable metadata and only the identity,
119 direction/method, structure, or application rules owned by that package. General SVG rules live
120 in [`shared-standards-core.md`](../references/shared-standards-core.md), with
121 effects and PowerPoint interfaces loaded only when triggered.
122
123 ## Visualization Templates
124
125 Page-local Shape-first references are catalog families, not reusable template
126 kinds:
127
128 | Family | Owns | Planning map | Machine index |
129 |---|---|---|---|
130 | Chart | Value-driven geometry (33) | [`chart-vocabulary.md`](./charts/chart-vocabulary.md) | [`charts_index.json`](./charts/charts_index.json) |
131 | Table | Row × column fact grid (6) | [`table-vocabulary.md`](./tables/table-vocabulary.md) | [`tables_index.json`](./tables/tables_index.json) |
132
133 [`VISUALIZATION_TEMPLATE_AUTHORING.md`](./VISUALIZATION_TEMPLATE_AUTHORING.md)
134 is the shared authoring contract. Each machine index owns family membership;
135 the Chart and Table vocabularies are their complete objective planning
136 projections.
137
138 Qualitative Structure is a Slide-local Executor method rather than a catalog:
139 Default and Quick both derive its relationship model and compose shapes for the
140 current page. Only Layout and Deck workspaces own reusable Master/Layout, page
141 types, slots, and placeholders. When both are present, Layout supplies the
142 active SVG roster and overrides only Deck's structure segment.
143
144 ## Icon Library
145
146 The `icons/` directory contains 12,027 vector icons across five libraries:
147
148 | Library | Style | Count |
149 |---------|-------|-------|
150 | `chunk-filled` | fill / compact, chunky 16px silhouettes | 641 |
151 | `tabler-filled` | fill / bezier-curve forms | 1,055 |
152 | `tabler-outline` | stroke / line | 5,138 |
153 | `phosphor-duotone` | duotone / single color + 0.2 opacity backplate | 1,518 |
154 | `simple-icons` | brand logos (company / product marks) | 3,675 |
155
156 - **Usage & style rules**: [icons/README.md](./icons/README.md)
157 - **Versions, licenses & attribution**: [icons/THIRD_PARTY_NOTICES.md](./icons/THIRD_PARTY_NOTICES.md)
158 - **Search icons**: `rg --files skills/ppt-master/templates/icons/<library>/ | rg <keyword>`
159
160 ## Sound Library
161
162 [`sounds/`](./sounds/) is a post-motion selection resource, not a template or
163 Strategist resource. Its complete
164 [cue vocabulary](./sounds/sound-vocabulary.md) is read only after a concrete
165 auditory job exists; sync selected cues only. See [usage](./sounds/README.md).
166
166 lines MARKDOWN