| 1 | # Style Workspaces |
| 2 | |
| 3 | **Style = a roster-free reusable communication method plus coordinated design defaults.** It can carry argument flow, page-role vocabulary, evidence and data-expression discipline, visual-system defaults, image/icon direction, and additional review focus. It does not own a current project's communication contract, reusable brand identity, page geometry, SVG prototypes, or a recurring application contract. |
| 4 | |
| 5 | Style is a fourth independent template kind alongside [`brands/`](../brands/), [`layouts/`](../layouts/), and [`decks/`](../decks/). It is not a replacement for the mode or visual-style catalogs. |
| 6 | |
| 7 | ## Axis Separation |
| 8 | |
| 9 | | Axis | Meaning | |
| 10 | |---|---| |
| 11 | | Template `kind: style` | A portable workspace that coordinates reusable method and non-binding design defaults | |
| 12 | | Final Stage-2 `mode` | The current deck's confirmed narrative and persuasion skeleton | |
| 13 | | Final Stage-2 `visual_style` | The current deck's confirmed shape, composition, whitespace, typography-character, and texture lock | |
| 14 | | Internal `template_reuse_scope: style` | A flat current-project export plan that reuses no Master/Layout structure | |
| 15 | |
| 16 | These names are separate contracts. Style-only and Style + Brand naturally produce a flat application plan, while Style fused with a Layout or Deck may use structured reuse. `kind: style` therefore never forces the internal reuse scope when another workspace supplies structure. |
| 17 | |
| 18 | ## Selection, Precedence, and Fusion |
| 19 | |
| 20 | Selection follows the parent README's Default Stage-1 |
| 21 | [`generate-pptx`](../../workflows/generate-pptx.md) template-choice contract. |
| 22 | Its Style choices come only from `styles_index.json`; no |
| 23 | directory scan or bare-name match is allowed. A supplied exact root appears in |
| 24 | the same selector, defaults Stage 1 to template mode, and preselects that |
| 25 | specific candidate only when it is the sole supplied root. A |
| 26 | consulting label or visual description remains a brief and does not activate |
| 27 | this workspace. A non-free confirmation runs the |
| 28 | common installation/fusion stage after Stage 1 and before Stage 2; template-aware reading begins |
| 29 | in final Stage 2 from the project-local copy. Quick applies a supplied exact |
| 30 | Style root directly and otherwise uses free design; its current agent reads the |
| 31 | installed copy before authoring flat pages. |
| 32 | |
| 33 | | Decision | Precedence | |
| 34 | |---|---| |
| 35 | | Current project communication contract, mode, visual style, palette, typography, images, and icons | Latest explicit user instruction and confirmed project values | |
| 36 | | Exact identity values | Brand, then Deck identity; both override overlapping Style fallback values | |
| 37 | | Reusable communication method and evidence discipline | Style, applied only where compatible with the current project contract | |
| 38 | | Reusable structure | Compatible Layout, then Deck structure; Style never supplies structure | |
| 39 | | Recurring application context | Deck, subordinate to the current project's Stage-1 communication contract | |
| 40 | |
| 41 | Style fallback values seed the final Stage-2 solution when the corresponding decision remains open. They are not identity truth and do not bypass confirmation. If a Style method and a Deck application contract materially conflict, surface the mismatch; do not silently weaken either one. |
| 42 | |
| 43 | ## `design_spec.md` Contract |
| 44 | |
| 45 | The frontmatter is intentionally small: |
| 46 | |
| 47 | ```markdown |
| 48 | --- |
| 49 | style_id: <slug> |
| 50 | kind: style |
| 51 | summary: <one-line reusable method and design-default fit> |
| 52 | keywords: [<three-to-five discovery tags>] |
| 53 | --- |
| 54 | ``` |
| 55 | |
| 56 | The seven required body sections are: |
| 57 | |
| 58 | | § | Title | Owned content | |
| 59 | |---|---|---| |
| 60 | | I | Style Overview | Display name, best fit, reusable intent, and provenance | |
| 61 | | II | Communication Method | Argument flow, page-message discipline, claim treatment, and an optional mode seed | |
| 62 | | III | Page Role Vocabulary | Semantic roles with communication jobs, evidence obligations, and non-geometric composition tendencies | |
| 63 | | IV | Evidence & Data Expression | Claim/evidence trace, chart/table/source behavior, and native-editability preference | |
| 64 | | V | Visual System Defaults | Composition, density, decoration, color behavior, typography character, and optional visual-style/fallback seeds | |
| 65 | | VI | Image & Icon Direction | Rendering, usage, framing, and icon treatment without asset selection | |
| 66 | | VII | Review Focus | Extra checks used only after the user explicitly activates visual review | |
| 67 | |
| 68 | `Fallback Color Scheme` and `Fallback Typography` are optional subsections under §V. They remain lower-priority defaults, never Brand identity. A preset mode, visual style, or image rendering resolves to a real ID in its matching catalog. A custom seed includes its behavior prose and lists only catalog references actually used as comma-separated IDs; use `Mode References`, `Visual Style References`, or `Image Rendering References` respectively. |
| 69 | |
| 70 | Section VII contains exactly one non-localized `<!-- visual-review-trigger: explicit-user-only -->` marker. Its surrounding explanation and checks may use the user's language; the marker lets validation enforce that Review Focus is advisory and never activates visual review. |
| 71 | |
| 72 | **Forbidden — identity, structure, or application ownership**: |
| 73 | |
| 74 | - Do not write `primary_color`, official color provenance, Logo, Voice & Tone, Icon Style, canvas fields, page count/types, `replication_mode`, `native_structure_mode`, or placeholder fields. |
| 75 | - Do not write Template Overview, Signature Design Elements, Page Roster, SVG filenames, Master/Layout identities, slot geometry, fixed page sequences, or reusable application audience/outcome rules. |
| 76 | - Do not write the current project's audience, objective, outcome, core message, delivery context, artifact afterlife, content outline, page assignments, icon inventory, or image-resource list. |
| 77 | |
| 78 | ## Workspace and Creation |
| 79 | |
| 80 | Every Style workspace contains one portable source file and no page or asset payload: |
| 81 | |
| 82 | ```text |
| 83 | <template_workspace>/ |
| 84 | └── templates/ |
| 85 | └── design_spec.md |
| 86 | ``` |
| 87 | |
| 88 | Do not create empty `images/`, `icons/`, or `exports/` directories. Existing initialized-project scaffolding may remain untouched but is not Style output. |
| 89 | |
| 90 | 1. Enter [`workflows/create-template.md`](../../workflows/create-template.md), which dispatches method/default output to [`create-style.md`](../../workflows/create-template/create-style.md). |
| 91 | 2. Validate with `svg_quality_checker.py --template-mode`. |
| 92 | 3. In library scope, register with `register_template.py <id> --kind style`. |
| 93 | |
| 94 | The discovery source of truth is [`styles_index.json`](./styles_index.json). |
| 95 | Each entry is `style_id → { summary, keywords }`; the index never duplicates |
| 96 | the full method or defaults. The Default Stage-1 template controls read this |
| 97 | file as their complete registered-Style catalog, and chat discovery returns |
| 98 | exact roots from the same entries. Choosing an entry and submitting Stage 1 |
| 99 | activates installation; |
| 100 | reading a name in ordinary prose does not. |
| 101 |