| 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. A registered exact root is `library`; any other exact |
| 53 | root is `explicit`. After that combined confirmation, |
| 54 | [`apply-template-workspace`](../workflows/stages/apply-template-workspace.md) |
| 55 | validates, fuses, and installs every selected workspace into the current |
| 56 | project before Stage 2 starts. Template-aware reading begins in final Stage 2 from |
| 57 | that project-local copy. Quick skips the page, applies supplied exact roots, and |
| 58 | otherwise uses free design. |
| 59 | |
| 60 | ## Orthogonal contracts |
| 61 | |
| 62 | | Axis | Values | Meaning | |
| 63 | |---|---|---| |
| 64 | | Template kind | `brand` / `style` / `layout` / `deck` | Which reusable contract the package owns: identity, direction/method, brand-neutral structure, or a complete recurring application | |
| 65 | | Selection source | `library` / `explicit` | Step-3 discovery provenance only: exact index-derived root or exact unregistered root; it does not change template semantics | |
| 66 | | 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 | |
| 67 | | 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 | |
| 68 | | 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. Style fused with Layout/Deck does not change the non-Style structure plan. | |
| 69 | |
| 70 | These axes must not be used as synonyms or exposed as a user mode matrix. In |
| 71 | particular, a mirror-created deck is still an ordinary reusable `deck` package |
| 72 | after creation; it does not force future presentations to keep the source page |
| 73 | count or order. |
| 74 | |
| 75 | ## Workspace contract |
| 76 | |
| 77 | Every package uses the same portable root under either this library or an |
| 78 | initialized project: |
| 79 | |
| 80 | ```text |
| 81 | <template_workspace>/ |
| 82 | ├── templates/ # design_spec.md; optional Layout/Deck SVG prototypes and native_payloads.json.gz store |
| 83 | ├── images/ # optional bitmaps |
| 84 | ├── icons/ |
| 85 | │ └── imported/ # optional imported vectors, one canonical copy |
| 86 | └── exports/ # optional review evidence; never a template input |
| 87 | ``` |
| 88 | |
| 89 | Empty optional directories are omitted. Template SVGs reference bitmaps through |
| 90 | `../images/<name>` and imported vectors through `data-icon="imported/<name>"`. |
| 91 | Style narrows this shared routing shape to `templates/design_spec.md` only and |
| 92 | does not carry asset or review payloads; initialized-project sibling scaffolding |
| 93 | may exist but is not Style input. |
| 94 | The conditional [`apply-template-workspace`](../workflows/stages/apply-template-workspace.md) |
| 95 | stage owns installation and fusion after a non-free Default Stage-1 selection or |
| 96 | on the Quick exact-root branch. Brand/Layout/Deck consume package-owned |
| 97 | `templates/`, `images/`, and `icons/`; Style consumes only |
| 98 | `templates/design_spec.md` and ignores sibling project scaffolding. Every kind |
| 99 | ignores `exports/`. Compatible legacy-flat Brand/Layout/Deck packages remain |
| 100 | readable; Style has no legacy-flat form, and directory shape alone does not |
| 101 | indicate legacy Master/Layout semantics. Default Strategist, Quick's current |
| 102 | agent, and all later consumers use the installed project-local files, never the |
| 103 | original library or explicit root. |
| 104 | |
| 105 | ## Design specification references |
| 106 | |
| 107 | [`design_spec_reference.md`](./design_spec_reference.md) and |
| 108 | [`spec_lock_reference.md`](./spec_lock_reference.md) own normal whole-document |
| 109 | authoring; their schemas own machine validation. Files under `scaffolds/` are |
| 110 | optional overwrite-safe CLI conveniences, not Generate-route starting artifacts. |
| 111 | Reusable template `design_spec.md` files are |
| 112 | deliberately smaller: they contain portable metadata and only the identity, |
| 113 | direction/method, structure, or application rules owned by that package. General SVG rules live |
| 114 | in [`shared-standards-core.md`](../references/shared-standards-core.md), with |
| 115 | effects and PowerPoint interfaces loaded only when triggered. |
| 116 | |
| 117 | ## Visualization Templates |
| 118 | |
| 119 | The `charts/` directory contains the registered visualization templates. For backward compatibility, the directory name remains `charts/`, but its scope includes charts, infographics, process diagrams, relationship diagrams, strategic frameworks, and system architecture diagrams: |
| 120 | |
| 121 | - KPI Cards |
| 122 | - Bar Chart / Stacked Bar Chart |
| 123 | - Line Chart / Dual-Axis Line Chart |
| 124 | - Donut Chart |
| 125 | - Radar Chart |
| 126 | - Funnel Chart |
| 127 | - Matrix (2x2) |
| 128 | - Timeline |
| 129 | - Gantt Chart |
| 130 | - Process Flow |
| 131 | - Org Chart |
| 132 | - Layered Architecture / Module Composition / Hub with Described Spokes / Pipeline with Stages / Client-Server Flow |
| 133 | |
| 134 | - **Library index (single source of truth)**: [charts/charts_index.json](./charts/charts_index.json) |
| 135 | - **Directory overview**: [charts/README.md](./charts/README.md) |
| 136 | |
| 137 | ## Icon Library |
| 138 | |
| 139 | The `icons/` directory contains 11,600+ vector icons across five libraries: |
| 140 | |
| 141 | | Library | Style | Count | |
| 142 | |---------|-------|-------| |
| 143 | | `chunk-filled` | fill / straight-line geometry | 640 | |
| 144 | | `tabler-filled` | fill / bezier-curve forms | 1000+ | |
| 145 | | `tabler-outline` | stroke / line | 5000+ | |
| 146 | | `phosphor-duotone` | duotone / single color + 0.2 opacity backplate | 1200+ | |
| 147 | | `simple-icons` | brand logos (company / product marks) | 3400+ | |
| 148 | |
| 149 | - **Usage & style rules**: [icons/README.md](./icons/README.md) |
| 150 | - **Search icons**: `rg --files skills/ppt-master/templates/icons/<library>/ | rg <keyword>` |
| 151 |