studiograph 1.3.48-next.89 → 1.3.48-next.90
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/agent/skills/create-deck/content-guide.md +238 -0
- package/dist/agent/skills/create-deck/deck-cadence.md +105 -0
- package/dist/agent/skills/create-deck/diagrams.md +431 -0
- package/dist/agent/skills/create-deck/skill.md +89 -0
- package/dist/agent/skills/create-deck/slide-selection.md +115 -0
- package/dist/agent/skills/create-deck/slide-types.md +638 -0
- package/dist/agent/skills/create-document/skill.md +229 -0
- package/dist/agent/skills/sync-configuration.md +2 -2
- package/dist/cli/commands/clear.d.ts +5 -0
- package/dist/cli/commands/clear.js +144 -1
- package/dist/cli/commands/clear.js.map +1 -1
- package/dist/cli/commands/collection.js +23 -23
- package/dist/cli/commands/collection.js.map +1 -1
- package/dist/renderers/documents/branding.d.ts +2 -0
- package/dist/renderers/documents/branding.js +42 -0
- package/dist/renderers/documents/branding.js.map +1 -0
- package/dist/renderers/documents/entity-types.json +14 -0
- package/dist/renderers/documents/parser/frontmatter.d.ts +5 -0
- package/dist/renderers/documents/parser/frontmatter.js +90 -0
- package/dist/renderers/documents/parser/frontmatter.js.map +1 -0
- package/dist/renderers/documents/parser/index.d.ts +5 -0
- package/dist/renderers/documents/parser/index.js +142 -0
- package/dist/renderers/documents/parser/index.js.map +1 -0
- package/dist/renderers/documents/parser/sections.d.ts +18 -0
- package/dist/renderers/documents/parser/sections.js +131 -0
- package/dist/renderers/documents/parser/sections.js.map +1 -0
- package/dist/renderers/documents/pdf/generator.d.ts +13 -0
- package/dist/renderers/documents/pdf/generator.js +79 -0
- package/dist/renderers/documents/pdf/generator.js.map +1 -0
- package/dist/renderers/documents/plugin.d.ts +2 -0
- package/dist/renderers/documents/plugin.js +63 -0
- package/dist/renderers/documents/plugin.js.map +1 -0
- package/dist/renderers/documents/public/branding/logo.svg +3 -0
- package/dist/renderers/documents/public/fonts/fonts.css +145 -0
- package/dist/renderers/documents/public/viewer/viewer.css +1 -0
- package/dist/renderers/documents/public/viewer/viewer.js +4 -0
- package/dist/renderers/documents/renderer/back.d.ts +8 -0
- package/dist/renderers/documents/renderer/back.js +28 -0
- package/dist/renderers/documents/renderer/back.js.map +1 -0
- package/dist/renderers/documents/renderer/content.d.ts +7 -0
- package/dist/renderers/documents/renderer/content.js +25 -0
- package/dist/renderers/documents/renderer/content.js.map +1 -0
- package/dist/renderers/documents/renderer/cover.d.ts +15 -0
- package/dist/renderers/documents/renderer/cover.js +43 -0
- package/dist/renderers/documents/renderer/cover.js.map +1 -0
- package/dist/renderers/documents/renderer/helpers.d.ts +1 -0
- package/dist/renderers/documents/renderer/helpers.js +11 -0
- package/dist/renderers/documents/renderer/helpers.js.map +1 -0
- package/dist/renderers/documents/renderer/index.d.ts +32 -0
- package/dist/renderers/documents/renderer/index.js +80 -0
- package/dist/renderers/documents/renderer/index.js.map +1 -0
- package/dist/renderers/documents/renderer/styles.d.ts +16 -0
- package/dist/renderers/documents/renderer/styles.js +546 -0
- package/dist/renderers/documents/renderer/styles.js.map +1 -0
- package/dist/renderers/documents/routes/api.d.ts +2 -0
- package/dist/renderers/documents/routes/api.js +587 -0
- package/dist/renderers/documents/routes/api.js.map +1 -0
- package/dist/renderers/documents/routes/editor.d.ts +2 -0
- package/dist/renderers/documents/routes/editor.js.map +1 -0
- package/dist/renderers/documents/routes/viewer.d.ts +2 -0
- package/dist/renderers/documents/routes/viewer.js +67 -0
- package/dist/renderers/documents/routes/viewer.js.map +1 -0
- package/dist/renderers/documents/types.d.ts +61 -0
- package/dist/renderers/documents/types.js +2 -0
- package/dist/renderers/documents/types.js.map +1 -0
- package/dist/renderers/index.d.ts +24 -0
- package/dist/renderers/index.js +66 -0
- package/dist/renderers/index.js.map +1 -0
- package/dist/renderers/slides/design-system/tokens.d.ts +108 -0
- package/dist/renderers/slides/design-system/tokens.js +44 -0
- package/dist/renderers/slides/design-system/tokens.js.map +1 -0
- package/dist/renderers/slides/entity-types.json +14 -0
- package/dist/renderers/slides/parser/comment-parser.d.ts +10 -0
- package/dist/renderers/slides/parser/comment-parser.js +89 -0
- package/dist/renderers/slides/parser/comment-parser.js.map +1 -0
- package/dist/renderers/slides/parser/frontmatter.d.ts +10 -0
- package/dist/renderers/slides/parser/frontmatter.js +93 -0
- package/dist/renderers/slides/parser/frontmatter.js.map +1 -0
- package/dist/renderers/slides/parser/index.d.ts +7 -0
- package/dist/renderers/slides/parser/index.js +569 -0
- package/dist/renderers/slides/parser/index.js.map +1 -0
- package/dist/renderers/slides/parser/slide-splitter.d.ts +6 -0
- package/dist/renderers/slides/parser/slide-splitter.js +54 -0
- package/dist/renderers/slides/parser/slide-splitter.js.map +1 -0
- package/dist/renderers/slides/parser/type-detector.d.ts +6 -0
- package/dist/renderers/slides/parser/type-detector.js +70 -0
- package/dist/renderers/slides/parser/type-detector.js.map +1 -0
- package/dist/renderers/slides/pdf/generator.d.ts +11 -0
- package/dist/renderers/slides/pdf/generator.js +105 -0
- package/dist/renderers/slides/pdf/generator.js.map +1 -0
- package/dist/renderers/slides/plugin.d.ts +2 -0
- package/dist/renderers/slides/plugin.js +70 -0
- package/dist/renderers/slides/plugin.js.map +1 -0
- package/dist/renderers/slides/public/fonts/fonts.css +145 -0
- package/dist/renderers/slides/public/viewer/.gitkeep +0 -0
- package/dist/renderers/slides/public/viewer/chrome.css +62 -0
- package/dist/renderers/slides/public/viewer/transitions.css +1 -0
- package/dist/renderers/slides/public/viewer/viewer.css +2145 -0
- package/dist/renderers/slides/public/viewer/viewer.js +303 -0
- package/dist/renderers/slides/renderer/chrome/browser-frame.d.ts +5 -0
- package/dist/renderers/slides/renderer/chrome/browser-frame.js +22 -0
- package/dist/renderers/slides/renderer/chrome/browser-frame.js.map +1 -0
- package/dist/renderers/slides/renderer/chrome/mobile-frame.d.ts +6 -0
- package/dist/renderers/slides/renderer/chrome/mobile-frame.js +18 -0
- package/dist/renderers/slides/renderer/chrome/mobile-frame.js.map +1 -0
- package/dist/renderers/slides/renderer/helpers.d.ts +13 -0
- package/dist/renderers/slides/renderer/helpers.js +33 -0
- package/dist/renderers/slides/renderer/helpers.js.map +1 -0
- package/dist/renderers/slides/renderer/index.d.ts +16 -0
- package/dist/renderers/slides/renderer/index.js +160 -0
- package/dist/renderers/slides/renderer/index.js.map +1 -0
- package/dist/renderers/slides/renderer/layouts/agenda.d.ts +2 -0
- package/dist/renderers/slides/renderer/layouts/agenda.js +18 -0
- package/dist/renderers/slides/renderer/layouts/agenda.js.map +1 -0
- package/dist/renderers/slides/renderer/layouts/blank.d.ts +2 -0
- package/dist/renderers/slides/renderer/layouts/blank.js +4 -0
- package/dist/renderers/slides/renderer/layouts/blank.js.map +1 -0
- package/dist/renderers/slides/renderer/layouts/columns.d.ts +2 -0
- package/dist/renderers/slides/renderer/layouts/columns.js +32 -0
- package/dist/renderers/slides/renderer/layouts/columns.js.map +1 -0
- package/dist/renderers/slides/renderer/layouts/cover.d.ts +2 -0
- package/dist/renderers/slides/renderer/layouts/cover.js +18 -0
- package/dist/renderers/slides/renderer/layouts/cover.js.map +1 -0
- package/dist/renderers/slides/renderer/layouts/diagram-concentric.d.ts +2 -0
- package/dist/renderers/slides/renderer/layouts/diagram-concentric.js +120 -0
- package/dist/renderers/slides/renderer/layouts/diagram-concentric.js.map +1 -0
- package/dist/renderers/slides/renderer/layouts/diagram-matrix.d.ts +2 -0
- package/dist/renderers/slides/renderer/layouts/diagram-matrix.js +158 -0
- package/dist/renderers/slides/renderer/layouts/diagram-matrix.js.map +1 -0
- package/dist/renderers/slides/renderer/layouts/diagram-pyramid.d.ts +2 -0
- package/dist/renderers/slides/renderer/layouts/diagram-pyramid.js +86 -0
- package/dist/renderers/slides/renderer/layouts/diagram-pyramid.js.map +1 -0
- package/dist/renderers/slides/renderer/layouts/diagram-sitemap.d.ts +2 -0
- package/dist/renderers/slides/renderer/layouts/diagram-sitemap.js +146 -0
- package/dist/renderers/slides/renderer/layouts/diagram-sitemap.js.map +1 -0
- package/dist/renderers/slides/renderer/layouts/diagram-venn.d.ts +2 -0
- package/dist/renderers/slides/renderer/layouts/diagram-venn.js +100 -0
- package/dist/renderers/slides/renderer/layouts/diagram-venn.js.map +1 -0
- package/dist/renderers/slides/renderer/layouts/diagram.d.ts +2 -0
- package/dist/renderers/slides/renderer/layouts/diagram.js +21 -0
- package/dist/renderers/slides/renderer/layouts/diagram.js.map +1 -0
- package/dist/renderers/slides/renderer/layouts/divider.d.ts +2 -0
- package/dist/renderers/slides/renderer/layouts/divider.js +4 -0
- package/dist/renderers/slides/renderer/layouts/divider.js.map +1 -0
- package/dist/renderers/slides/renderer/layouts/end.d.ts +2 -0
- package/dist/renderers/slides/renderer/layouts/end.js +8 -0
- package/dist/renderers/slides/renderer/layouts/end.js.map +1 -0
- package/dist/renderers/slides/renderer/layouts/framework.d.ts +2 -0
- package/dist/renderers/slides/renderer/layouts/framework.js +47 -0
- package/dist/renderers/slides/renderer/layouts/framework.js.map +1 -0
- package/dist/renderers/slides/renderer/layouts/image-browser-2up.d.ts +2 -0
- package/dist/renderers/slides/renderer/layouts/image-browser-2up.js +38 -0
- package/dist/renderers/slides/renderer/layouts/image-browser-2up.js.map +1 -0
- package/dist/renderers/slides/renderer/layouts/image-browser-6up.d.ts +2 -0
- package/dist/renderers/slides/renderer/layouts/image-browser-6up.js +30 -0
- package/dist/renderers/slides/renderer/layouts/image-browser-6up.js.map +1 -0
- package/dist/renderers/slides/renderer/layouts/image-browser.d.ts +2 -0
- package/dist/renderers/slides/renderer/layouts/image-browser.js +18 -0
- package/dist/renderers/slides/renderer/layouts/image-browser.js.map +1 -0
- package/dist/renderers/slides/renderer/layouts/image-bullets.d.ts +2 -0
- package/dist/renderers/slides/renderer/layouts/image-bullets.js +26 -0
- package/dist/renderers/slides/renderer/layouts/image-bullets.js.map +1 -0
- package/dist/renderers/slides/renderer/layouts/image-device-pair.d.ts +2 -0
- package/dist/renderers/slides/renderer/layouts/image-device-pair.js +34 -0
- package/dist/renderers/slides/renderer/layouts/image-device-pair.js.map +1 -0
- package/dist/renderers/slides/renderer/layouts/image-full.d.ts +2 -0
- package/dist/renderers/slides/renderer/layouts/image-full.js +36 -0
- package/dist/renderers/slides/renderer/layouts/image-full.js.map +1 -0
- package/dist/renderers/slides/renderer/layouts/image-grid-2x2.d.ts +2 -0
- package/dist/renderers/slides/renderer/layouts/image-grid-2x2.js +23 -0
- package/dist/renderers/slides/renderer/layouts/image-grid-2x2.js.map +1 -0
- package/dist/renderers/slides/renderer/layouts/image-keywords.d.ts +2 -0
- package/dist/renderers/slides/renderer/layouts/image-keywords.js +31 -0
- package/dist/renderers/slides/renderer/layouts/image-keywords.js.map +1 -0
- package/dist/renderers/slides/renderer/layouts/image-mobile-3up.d.ts +2 -0
- package/dist/renderers/slides/renderer/layouts/image-mobile-3up.js +22 -0
- package/dist/renderers/slides/renderer/layouts/image-mobile-3up.js.map +1 -0
- package/dist/renderers/slides/renderer/layouts/image-mobile.d.ts +2 -0
- package/dist/renderers/slides/renderer/layouts/image-mobile.js +17 -0
- package/dist/renderers/slides/renderer/layouts/image-mobile.js.map +1 -0
- package/dist/renderers/slides/renderer/layouts/image-split-right.d.ts +2 -0
- package/dist/renderers/slides/renderer/layouts/image-split-right.js +19 -0
- package/dist/renderers/slides/renderer/layouts/image-split-right.js.map +1 -0
- package/dist/renderers/slides/renderer/layouts/image-split.d.ts +2 -0
- package/dist/renderers/slides/renderer/layouts/image-split.js +19 -0
- package/dist/renderers/slides/renderer/layouts/image-split.js.map +1 -0
- package/dist/renderers/slides/renderer/layouts/introductions.d.ts +2 -0
- package/dist/renderers/slides/renderer/layouts/introductions.js +41 -0
- package/dist/renderers/slides/renderer/layouts/introductions.js.map +1 -0
- package/dist/renderers/slides/renderer/layouts/moodboard.d.ts +15 -0
- package/dist/renderers/slides/renderer/layouts/moodboard.js +63 -0
- package/dist/renderers/slides/renderer/layouts/moodboard.js.map +1 -0
- package/dist/renderers/slides/renderer/layouts/next-steps.d.ts +2 -0
- package/dist/renderers/slides/renderer/layouts/next-steps.js +13 -0
- package/dist/renderers/slides/renderer/layouts/next-steps.js.map +1 -0
- package/dist/renderers/slides/renderer/layouts/pullquote.d.ts +2 -0
- package/dist/renderers/slides/renderer/layouts/pullquote.js +17 -0
- package/dist/renderers/slides/renderer/layouts/pullquote.js.map +1 -0
- package/dist/renderers/slides/renderer/layouts/schedule.d.ts +2 -0
- package/dist/renderers/slides/renderer/layouts/schedule.js +58 -0
- package/dist/renderers/slides/renderer/layouts/schedule.js.map +1 -0
- package/dist/renderers/slides/renderer/layouts/section.d.ts +2 -0
- package/dist/renderers/slides/renderer/layouts/section.js +18 -0
- package/dist/renderers/slides/renderer/layouts/section.js.map +1 -0
- package/dist/renderers/slides/renderer/layouts/statement.d.ts +2 -0
- package/dist/renderers/slides/renderer/layouts/statement.js +13 -0
- package/dist/renderers/slides/renderer/layouts/statement.js.map +1 -0
- package/dist/renderers/slides/renderer/layouts/stats.d.ts +2 -0
- package/dist/renderers/slides/renderer/layouts/stats.js +26 -0
- package/dist/renderers/slides/renderer/layouts/stats.js.map +1 -0
- package/dist/renderers/slides/renderer/layouts/table.d.ts +2 -0
- package/dist/renderers/slides/renderer/layouts/table.js +23 -0
- package/dist/renderers/slides/renderer/layouts/table.js.map +1 -0
- package/dist/renderers/slides/renderer/layouts/text-body.d.ts +2 -0
- package/dist/renderers/slides/renderer/layouts/text-body.js +14 -0
- package/dist/renderers/slides/renderer/layouts/text-body.js.map +1 -0
- package/dist/renderers/slides/renderer/placeholder.d.ts +5 -0
- package/dist/renderers/slides/renderer/placeholder.js +12 -0
- package/dist/renderers/slides/renderer/placeholder.js.map +1 -0
- package/dist/renderers/slides/routes/api.d.ts +2 -0
- package/dist/renderers/slides/routes/api.js +568 -0
- package/dist/renderers/slides/routes/api.js.map +1 -0
- package/dist/renderers/slides/routes/editor.d.ts +2 -0
- package/dist/renderers/slides/routes/editor.js.map +1 -0
- package/dist/renderers/slides/routes/viewer.d.ts +2 -0
- package/dist/renderers/slides/routes/viewer.js +67 -0
- package/dist/renderers/slides/routes/viewer.js.map +1 -0
- package/dist/renderers/slides/types.d.ts +111 -0
- package/dist/renderers/slides/types.js +2 -0
- package/dist/renderers/slides/types.js.map +1 -0
- package/dist/server/routes/insights-api.js +47 -1
- package/dist/server/routes/insights-api.js.map +1 -1
- package/dist/server/routes/share-api.d.ts +10 -0
- package/dist/server/routes/share-api.js +51 -0
- package/dist/server/routes/share-api.js.map +1 -0
- package/dist/server/routes/view-public.d.ts +10 -0
- package/dist/server/routes/view-public.js +107 -0
- package/dist/server/routes/view-public.js.map +1 -0
- package/dist/services/auth-service.d.ts +8 -0
- package/dist/services/auth-service.js +20 -0
- package/dist/services/auth-service.js.map +1 -1
- package/dist/services/insights.d.ts +1 -1
- package/dist/services/insights.js +7 -7
- package/dist/services/insights.js.map +1 -1
- package/dist/web/_app/immutable/chunks/{BFlicbeo2.js → 0ws3eNVW2.js} +1 -1
- package/dist/web/_app/immutable/chunks/{CD1TCKCo2.js → 3pS0dVms2.js} +1 -1
- package/dist/web/_app/immutable/chunks/{BGQdV0tc2.js → 8n25pLvn2.js} +1 -1
- package/dist/web/_app/immutable/chunks/AyulNOSp2.js +1 -0
- package/dist/web/_app/immutable/chunks/{wE6fIDHl.js → B4-eyhXJ.js} +2 -2
- package/dist/web/_app/immutable/chunks/{CynWGqAn.js → B7NLL8dc.js} +2 -2
- package/dist/web/_app/immutable/chunks/{Cb1-swVu.js → B8flF2Ep.js} +1 -1
- package/dist/web/_app/immutable/chunks/BM50f7cT2.js +2 -0
- package/dist/web/_app/immutable/chunks/BM_MmVYi.js +1 -0
- package/dist/web/_app/immutable/chunks/{YvoLcwJ92.js → BS65qpK_2.js} +1 -1
- package/dist/web/_app/immutable/chunks/{BfBuflBh2.js → BV59XdNc2.js} +1 -1
- package/dist/web/_app/immutable/chunks/{CmerH-o-.js → BZ2FImqw2.js} +1 -1
- package/dist/web/_app/immutable/chunks/{B8LII6bi.js → BZ9A1hKX.js} +1 -1
- package/dist/web/_app/immutable/chunks/{1k-LJ8Y8.js → BbMBOZJ5.js} +1 -1
- package/dist/web/_app/immutable/chunks/{C1jMJx1E2.js → BrJI4cUp2.js} +1 -1
- package/dist/web/_app/immutable/chunks/{vQqszjeU.js → BrvVlZBZ.js} +1 -1
- package/dist/web/_app/immutable/chunks/{DKiPBGVc2.js → BwZpI48G2.js} +1 -1
- package/dist/web/_app/immutable/chunks/By3A81g5.js +1 -0
- package/dist/web/_app/immutable/chunks/{yZ7HP41L.js → C5NbIXZD.js} +3 -3
- package/dist/web/_app/immutable/chunks/{CU0XKUqM2.js → C5ZbrWzl2.js} +1 -1
- package/dist/web/_app/immutable/chunks/{Deci1exx2.js → C7WQh0QH2.js} +1 -1
- package/dist/web/_app/immutable/chunks/{DH_ba0BR2.js → CHO8yTwE2.js} +1 -1
- package/dist/web/_app/immutable/chunks/CJvNedQy.js +1 -0
- package/dist/web/_app/immutable/chunks/{CfrZubib.js → CKD3-yWv.js} +1 -1
- package/dist/web/_app/immutable/chunks/{CNk9Yet7.js → CWySm6mN.js} +1 -1
- package/dist/web/_app/immutable/chunks/{Bc8b-shn.js → Cc9HDxPl.js} +1 -1
- package/dist/web/_app/immutable/chunks/{CA2RHeSk.js → CdBtR8r0.js} +1 -1
- package/dist/web/_app/immutable/chunks/{CzYIrvPF2.js → CuVyPU7i2.js} +1 -1
- package/dist/web/_app/immutable/chunks/{AwI-F2v72.js → CyfnsKhc2.js} +1 -1
- package/dist/web/_app/immutable/chunks/{CglnXwFw2.js → D20qR8NI2.js} +1 -1
- package/dist/web/_app/immutable/chunks/{FJm0s19F.js → D9Qn54J3.js} +1 -1
- package/dist/web/_app/immutable/chunks/{DJyAFsFW.js → DA0-eNJI.js} +1 -1
- package/dist/web/_app/immutable/chunks/{D35votQz.js → DAOOqdTn.js} +1 -1
- package/dist/web/_app/immutable/chunks/{UMOac6IL.js → DBUVU6tV.js} +1 -1
- package/dist/web/_app/immutable/chunks/{D0J5EMib2.js → DE-tnXJY2.js} +1 -1
- package/dist/web/_app/immutable/chunks/DEMb65rJ.js +1 -0
- package/dist/web/_app/immutable/chunks/DG78Ru5c2.js +1 -0
- package/dist/web/_app/immutable/chunks/{DU-tmhQS.js → DMO9jz_q.js} +1 -1
- package/dist/web/_app/immutable/chunks/{CLwoEBak.js → DPKqGUXm.js} +1 -1
- package/dist/web/_app/immutable/chunks/{42Y87SJj.js → DT9K55XM.js} +1 -1
- package/dist/web/_app/immutable/chunks/{DyGzkSSJ2.js → DXnKZTol2.js} +1 -1
- package/dist/web/_app/immutable/chunks/{DB9Ne64o2.js → Dc8Rqbob2.js} +1 -1
- package/dist/web/_app/immutable/chunks/{DCqFhcap2.js → DcXai2932.js} +1 -1
- package/dist/web/_app/immutable/chunks/DkgLEYoO2.js +1 -0
- package/dist/web/_app/immutable/chunks/{Yz4-RatT2.js → DlVGRjoC2.js} +1 -1
- package/dist/web/_app/immutable/chunks/{C8iVIkTx2.js → DxLS2hYM2.js} +1 -1
- package/dist/web/_app/immutable/chunks/{CcnCwh2d2.js → EjrK1fX_2.js} +1 -1
- package/dist/web/_app/immutable/chunks/{DiH3JBWh.js → F4KZvi9r.js} +1 -1
- package/dist/web/_app/immutable/chunks/{DY7tny6G2.js → NbYIqRLH2.js} +1 -1
- package/dist/web/_app/immutable/chunks/{Vj61qC7U2.js → NtFLFxn02.js} +1 -1
- package/dist/web/_app/immutable/chunks/{CVlHBBj4.js → YAMfppnr.js} +1 -1
- package/dist/web/_app/immutable/chunks/{_kexQufO2.js → cmsdMtNL2.js} +1 -1
- package/dist/web/_app/immutable/chunks/{D0lk1atG2.js → vQo3QcDw2.js} +1 -1
- package/dist/web/_app/immutable/entry/app.D7C93qEm.js +2 -0
- package/dist/web/_app/immutable/entry/start.L9SSl2OQ.js +1 -0
- package/dist/web/_app/immutable/nodes/{0.C2Ko2-2L.js → 0.B62j9IZi.js} +2 -2
- package/dist/web/_app/immutable/nodes/{1.BtmoXjkN.js → 1.DRwcu0O4.js} +1 -1
- package/dist/web/_app/immutable/nodes/{10.BSXeJnsD.js → 10.CfP8yjgW.js} +1 -1
- package/dist/web/_app/immutable/nodes/{11.DHCC_sq8.js → 11.Do-UKx33.js} +1 -1
- package/dist/web/_app/immutable/nodes/{12.CpshC6LQ.js → 12.Cysf2Oe5.js} +1 -1
- package/dist/web/_app/immutable/nodes/{13.pcaiZahX.js → 13.adNWbMNI.js} +1 -1
- package/dist/web/_app/immutable/nodes/2.DM5mXgBV.js +130 -0
- package/dist/web/_app/immutable/nodes/{3.cM0u2Br6.js → 3.e7udF8yy.js} +1 -1
- package/dist/web/_app/immutable/nodes/{4.COGvHjk1.js → 4.34bCSrWZ.js} +3 -3
- package/dist/web/_app/immutable/nodes/{5.ChuLt-JW.js → 5.BrB6vydZ.js} +1 -1
- package/dist/web/_app/immutable/nodes/{6.DhB6jiN2.js → 6.KIxxqncd.js} +1 -1
- package/dist/web/_app/immutable/nodes/{7.Bdp9xjnS.js → 7.D0JEfqoA.js} +1 -1
- package/dist/web/_app/immutable/nodes/{8.ui9nj1X0.js → 8.D0B-47PN.js} +1 -1
- package/dist/web/_app/immutable/nodes/{9.CjmO5YhW.js → 9.B0bp6e25.js} +1 -1
- package/dist/web/_app/version.json +1 -1
- package/dist/web/index.html +12 -12
- package/package.json +1 -1
- package/dist/core/launch-entity-types.d.ts +0 -23
- package/dist/core/launch-entity-types.js +0 -48
- package/dist/core/launch-entity-types.js.map +0 -1
- package/dist/services/private-folder.d.ts +0 -15
- package/dist/services/private-folder.js +0 -31
- package/dist/services/private-folder.js.map +0 -1
- package/dist/web/_app/immutable/chunks/34zYXY2C.js +0 -1
- package/dist/web/_app/immutable/chunks/6Ie1X7Vc2.js +0 -1
- package/dist/web/_app/immutable/chunks/BgH05vfO.js +0 -1
- package/dist/web/_app/immutable/chunks/CeHfQfUS2.js +0 -1
- package/dist/web/_app/immutable/chunks/DA4wX6Xv2.js +0 -2
- package/dist/web/_app/immutable/chunks/DTopBtmz.js +0 -1
- package/dist/web/_app/immutable/chunks/OJLJj9J22.js +0 -1
- package/dist/web/_app/immutable/chunks/eJIX3y2Q.js +0 -1
- package/dist/web/_app/immutable/entry/app.CFcjLWaX.js +0 -2
- package/dist/web/_app/immutable/entry/start.Duz8OElM.js +0 -1
- package/dist/web/_app/immutable/nodes/2.CxHWBHuq.js +0 -130
- /package/dist/web/_app/immutable/chunks/{oTtTtXgi.js → 2s0idBA4.js} +0 -0
- /package/dist/web/_app/immutable/chunks/{Bq4V4cTS2.js → B-eErEF72.js} +0 -0
- /package/dist/web/_app/immutable/chunks/{BFEF4lmd2.js → B0HUvliX2.js} +0 -0
- /package/dist/web/_app/immutable/chunks/{BMa9zwUU.js → BZHVPKHl.js} +0 -0
- /package/dist/web/_app/immutable/chunks/{DUoaAlBS.js → C-48vCcy.js} +0 -0
- /package/dist/web/_app/immutable/chunks/{Ciqeu-2O.js → C6jWoR4O.js} +0 -0
- /package/dist/web/_app/immutable/chunks/{oAeTZdnE.js → CPz7IGAj.js} +0 -0
- /package/dist/web/_app/immutable/chunks/{DnK9s4gC.js → DHSa2BQk.js} +0 -0
- /package/dist/web/_app/immutable/chunks/{DZ9mA0KH.js → DN9DW26k.js} +0 -0
- /package/dist/web/_app/immutable/chunks/{CWky2bMb.js → DNcXEuPo.js} +0 -0
- /package/dist/web/_app/immutable/chunks/{Ca06pNL42.js → GpIQ62Hp.js} +0 -0
- /package/dist/web/_app/immutable/chunks/{D6gh0sT6.js → I4OwCavd.js} +0 -0
- /package/dist/web/_app/immutable/chunks/{BYILrLJK.js → R5Z9Gx_B.js} +0 -0
- /package/dist/web/_app/immutable/chunks/{BfnyuOzG.js → TpBdRDjI.js} +0 -0
- /package/dist/web/_app/immutable/chunks/{DlTrN5Ec.js → UluV-YhG.js} +0 -0
|
@@ -0,0 +1,238 @@
|
|
|
1
|
+
# Content Guide — Content Limits & Best Practices
|
|
2
|
+
|
|
3
|
+
Every measurement here comes from the actual slide dimensions (1920×1080px). Content limits are approximate and depend on the configured font. Structural limits (max items, columns) are fixed by the layout.
|
|
4
|
+
|
|
5
|
+
## General Rules
|
|
6
|
+
|
|
7
|
+
1. **Less text, more slides.** If you're hitting the limit, split into two slides.
|
|
8
|
+
2. **Slides are billboards, not documents.** The audience reads in 3-5 seconds.
|
|
9
|
+
3. **Never fabricate image paths.** Only reference images that exist in the deck's `images/` folder.
|
|
10
|
+
4. **One idea per slide.** If you need "and" between concepts, it's two slides.
|
|
11
|
+
5. **Front-load meaning.** The first 5 words should carry the point.
|
|
12
|
+
6. **Use proper typography.** Always use curly quotes (" " ' ') and apostrophes ('), never straight/ASCII quotes (" ') or inch/foot marks.
|
|
13
|
+
|
|
14
|
+
---
|
|
15
|
+
|
|
16
|
+
## Cover
|
|
17
|
+
- **Title (H1):** **2-3 words per line**, single line preferred. Two words is ideal.
|
|
18
|
+
- **Subtitle (H2):** **3-5 words per line**, single line. "Phase 2: Design Concepts" is the model.
|
|
19
|
+
- **Theme:** Follows the deck theme (light by default). Override with `<!-- theme: dark -->` or `<!-- theme: light -->`.
|
|
20
|
+
- **Common mistake:** Long project names. Abbreviate or use a short form.
|
|
21
|
+
|
|
22
|
+
## Schedule
|
|
23
|
+
- **Phase names:** **1-2 words** each. Appears in the cascade boxes.
|
|
24
|
+
- **Phase items:** 2-4 items per phase, **3-4 words** each.
|
|
25
|
+
- **Total phases:** 3-6. More than 6 gets cramped.
|
|
26
|
+
|
|
27
|
+
## Introductions
|
|
28
|
+
- **Names:** Full name, **2-3 words**.
|
|
29
|
+
- **Titles:** **3-4 words**. Keep to one line.
|
|
30
|
+
- **People per column:** 3-6. More than 6 overflows.
|
|
31
|
+
- **Columns:** 2 (client + Schema). Don't add more.
|
|
32
|
+
|
|
33
|
+
## Agenda
|
|
34
|
+
- **Items:** 4-7 items. Fewer feels thin, more gets cramped.
|
|
35
|
+
- **Item text:** **3-4 words** each. These render large — keep them short.
|
|
36
|
+
- **Active highlight:** Use `<!-- active: N -->` to mark current section during the presentation.
|
|
37
|
+
- **Items should match section titles** that follow in the deck.
|
|
38
|
+
|
|
39
|
+
## Section
|
|
40
|
+
- **Title:** **1-3 words per line**, 1-2 lines total.
|
|
41
|
+
- **These are wayfinding, not content.** "Research Recap" not "Summary of Our Research Findings."
|
|
42
|
+
- **Theme:** Dark by default. No footer. Deck title appears as header label.
|
|
43
|
+
|
|
44
|
+
## Statement
|
|
45
|
+
- **Label (H1):** **2-3 words**. "Key Insight", "Our Approach", etc.
|
|
46
|
+
- **Body (blockquote):** **1-2 lines** (~15-20 words). One paragraph only.
|
|
47
|
+
- **This is your billboard slide.** If it needs more than two lines, it belongs on text-body.
|
|
48
|
+
- **Common mistake:** Writing a paragraph. Distill to one punchy sentence.
|
|
49
|
+
|
|
50
|
+
## Pullquote
|
|
51
|
+
- **Label (H1):** **2-3 words**.
|
|
52
|
+
- **Quote (blockquote):** **2-3 lines** (~25-35 words). Smart quotes added automatically by CSS — **do NOT add quotation marks in the markdown**. Write `> The text here` not `> "The text here"`.
|
|
53
|
+
- **Attribution:** **3-5 words**. Format: "— Name, Title" or "— Name, Organization"
|
|
54
|
+
- **Gap between quote and attribution:** 20px (automatic).
|
|
55
|
+
|
|
56
|
+
## Statement Light
|
|
57
|
+
- Same limits as **Statement**. Uses light (300) weight; bold maps to semibold (600).
|
|
58
|
+
- Use for conceptual or reflective content — softer feel than standard statement.
|
|
59
|
+
|
|
60
|
+
## Text-Body
|
|
61
|
+
- **Label (H1):** **3-4 words**.
|
|
62
|
+
- **Body:** 2-5 bullet points, each **1-2 lines** (~12-15 words per bullet).
|
|
63
|
+
- **Or** 1-2 paragraphs, **4-6 lines** total.
|
|
64
|
+
- **Body width:** Constrained to ~1500px. Long lines wrap.
|
|
65
|
+
- **Common mistake:** Treating this as a document slide. Keep it scannable.
|
|
66
|
+
|
|
67
|
+
## Text-Body Light
|
|
68
|
+
- Same limits as **Text-Body**. Uses light (300) weight; bold maps to semibold (600).
|
|
69
|
+
- Ideal for **label → description** patterns and structured explanations.
|
|
70
|
+
|
|
71
|
+
## List / Next-Steps
|
|
72
|
+
- **Title (H1):** **2-3 words**.
|
|
73
|
+
- **Items:** 3-6 bullet points, each **1-2 lines** (~8-10 words per item). Vertically centered.
|
|
74
|
+
- **For next-steps:** Include dates or owners. "Review concepts with stakeholders by Friday" not "Review concepts."
|
|
75
|
+
- **Common mistake:** Too many items. 7+ loses the audience.
|
|
76
|
+
|
|
77
|
+
## Columns
|
|
78
|
+
- **Title (H1):** **3-4 words**.
|
|
79
|
+
- **Section labels (H2):** **1-2 words**. Rendered as uppercase labels.
|
|
80
|
+
- **Body per column:** **3-5 lines** (~30-40 words per column).
|
|
81
|
+
- **Column count:** 2 or 3 per row (auto-detected, override with `<!-- columns: 2 -->`).
|
|
82
|
+
- **Total sections:** 2-6. More than 3 wraps to next row.
|
|
83
|
+
- **Common mistake:** Uneven columns. Aim for similar body lengths across columns.
|
|
84
|
+
|
|
85
|
+
## Table
|
|
86
|
+
- **Title (H1):** **2-3 words**.
|
|
87
|
+
- **Columns:** Max **5**. More gets too narrow.
|
|
88
|
+
- **Rows:** Max **6-8** depending on cell content.
|
|
89
|
+
- **Column headers:** **1-2 words**.
|
|
90
|
+
- **Row headers (first column):** **1-3 words**.
|
|
91
|
+
- **Cell content:** **2-3 words**. Brief phrases, not sentences.
|
|
92
|
+
- **Common mistake:** Trying to fit a spreadsheet. Tables are for comparison, not data dumps.
|
|
93
|
+
|
|
94
|
+
## Blank
|
|
95
|
+
- No content. Used as a breathing slide or for freestanding images dropped in later.
|
|
96
|
+
- Has footer.
|
|
97
|
+
|
|
98
|
+
## Stats
|
|
99
|
+
- **Title (H1):** **2-3 words**.
|
|
100
|
+
- **Stat number:** Max **6 characters** including units. "129M", "4.2s", "89%". Renders very large.
|
|
101
|
+
- **Description:** **5-8 words**. Appears below the number.
|
|
102
|
+
- **Count:** 2-3 stats in a row, or 4-6 in a grid (auto-detected).
|
|
103
|
+
- **Format:** `- **73%** — Description text here`
|
|
104
|
+
- **Common mistake:** Long numbers. "$1,234,567" doesn't fit. Round to "$1.2M".
|
|
105
|
+
|
|
106
|
+
## Framework
|
|
107
|
+
- **Title (H1):** **3-4 words**.
|
|
108
|
+
- **Objective:** **1-2 lines** (~12-15 words). Single sentence after "Objective:" prefix.
|
|
109
|
+
- **Pillars:** 3-5. Each pillar is an H2 with a short name.
|
|
110
|
+
- **Pillar names:** **1-2 words**. "Clarity", "Speed", "Trust".
|
|
111
|
+
- **Principles per pillar:** 2-4 bullet points.
|
|
112
|
+
- **Principle format:** `- **Bold label** — Description` **6-8 words** total.
|
|
113
|
+
- **Configurable labels:** `Objective Label:` and `Principles Label:` in markdown.
|
|
114
|
+
- **Common mistake:** Too many pillars or principles. 5 pillars × 4 principles = 20 items = information overload.
|
|
115
|
+
|
|
116
|
+
## Image-Browser
|
|
117
|
+
- **Image:** One screenshot in browser chrome frame.
|
|
118
|
+
- **Caption:** **5-7 words**. Renders as a pill overlay. `Caption: Description`
|
|
119
|
+
- **No footer.** The image is the slide.
|
|
120
|
+
|
|
121
|
+
## Image-Browser-2up
|
|
122
|
+
- **Images:** Exactly 2 screenshots side by side.
|
|
123
|
+
- **Per-image captions:** **4-6 words** each. Each image gets its own `Caption:` line directly below it.
|
|
124
|
+
- **Use matching aspect ratios** for both images (e.g. both 16:9 or both 4:3). Mismatched ratios look uneven.
|
|
125
|
+
- **Chrome:** Default shows browser chrome. Use `<!-- chrome: none -->` for photos/artwork.
|
|
126
|
+
- **Has footer.** Good for before/after or comparison.
|
|
127
|
+
|
|
128
|
+
## Image-Browser-6up
|
|
129
|
+
- **Images:** Exactly 6 screenshots in a 3×2 grid.
|
|
130
|
+
- **Per-image captions:** **3-4 words** each.
|
|
131
|
+
- **Has footer.** Good for showing a flow or feature overview.
|
|
132
|
+
|
|
133
|
+
## Image-Full / Video-Full
|
|
134
|
+
- **Image:** One image covering the entire slide. Uses `object-fit: contain`.
|
|
135
|
+
- **Video:** Also supports `.mp4`, `.webm`, `.mov`, `.ogg` — auto-detected from file extension.
|
|
136
|
+
- **Portrait images supported:** centered on slide with black bars on sides. No need to crop to 16:9.
|
|
137
|
+
- **Caption:** **5-7 words**. Pill overlay at bottom-left.
|
|
138
|
+
- **Video directive:** `<!-- video: autoplay loop muted controls -->` (default: `autoplay muted`).
|
|
139
|
+
- **No footer.** Let the image/video breathe.
|
|
140
|
+
|
|
141
|
+
## Image-Split
|
|
142
|
+
- **Image:** Left side, cropped to 960×1080.
|
|
143
|
+
- **Title (H1):** **2-3 words**. Right side.
|
|
144
|
+
- **Body:** **3-5 lines** (~30-40 words). Right side below title.
|
|
145
|
+
- **No footer.**
|
|
146
|
+
|
|
147
|
+
## Image-Split-Right
|
|
148
|
+
- **Image:** Right side, cropped to 960×1080.
|
|
149
|
+
- **Title (H1):** **2-3 words**. Left side.
|
|
150
|
+
- **Body:** **3-5 lines** (~30-40 words). Left side below title.
|
|
151
|
+
- **Has footer.** (Unlike image-split.)
|
|
152
|
+
|
|
153
|
+
## Image-Bullets
|
|
154
|
+
- **Image:** Screenshot in browser chrome.
|
|
155
|
+
- **Caption:** **5-7 words**. Pill overlay.
|
|
156
|
+
- **Bullets:** 2-4 items. Format: `- **Bold label** — Description`
|
|
157
|
+
- **Bullet text:** **1-2 lines** (~8-10 words) per item.
|
|
158
|
+
- **No footer.**
|
|
159
|
+
|
|
160
|
+
## Image-Mobile-3up
|
|
161
|
+
- **Images:** Exactly 3 phone screens.
|
|
162
|
+
- **Caption:** **5-7 words**. Pill overlay.
|
|
163
|
+
- **No footer.**
|
|
164
|
+
|
|
165
|
+
## Image-Device-Pair
|
|
166
|
+
- **Images:** Exactly 2 — desktop + mobile.
|
|
167
|
+
- **Caption:** **5-7 words**. Pill overlay.
|
|
168
|
+
- **No footer.**
|
|
169
|
+
|
|
170
|
+
## Image-Grid-2x2
|
|
171
|
+
- **Images:** Exactly 4 images in a 2×2 grid.
|
|
172
|
+
- **Caption:** **5-7 words**. Pill overlay.
|
|
173
|
+
- **No footer.**
|
|
174
|
+
|
|
175
|
+
## Diagram
|
|
176
|
+
- **SVG viewBox:** 1600×800 recommended.
|
|
177
|
+
- **Colors:** Use Schema palette only: `#111111`, `#e9e9e9`, `#696969`, `#c9c9c9`.
|
|
178
|
+
- **Keep it simple.** Boxes, lines, arrows, text labels. Not illustrations.
|
|
179
|
+
- **Label text:** **1-3 words** per label. 16-24px font size in SVG.
|
|
180
|
+
|
|
181
|
+
## End
|
|
182
|
+
- **Fixed text:** "Thank you" — no customization.
|
|
183
|
+
- **Left-aligned** at x=97, y=442. 185px light weight.
|
|
184
|
+
|
|
185
|
+
---
|
|
186
|
+
|
|
187
|
+
## Deck-Level Limits
|
|
188
|
+
|
|
189
|
+
- **Total slides:** 15-30 is the sweet spot. Under 10 feels thin, over 40 loses the audience.
|
|
190
|
+
- **Content slides per section:** 3-5. More means the section should split.
|
|
191
|
+
- **Consecutive text slides:** Never more than 2. Follow text with an image or data slide.
|
|
192
|
+
- **Image slides need real files.** Don't generate slides referencing images that don't exist.
|
|
193
|
+
|
|
194
|
+
## Diagram — Concentric Circles
|
|
195
|
+
|
|
196
|
+
- **Categories:** 2–5 items.
|
|
197
|
+
- **Label length:** **1-3 words** for centered and bottom variants. **One word only** for eccentric variant (narrow horizontal zones).
|
|
198
|
+
- **Title:** **2-3 words**.
|
|
199
|
+
|
|
200
|
+
## Diagram — Venn
|
|
201
|
+
|
|
202
|
+
- **Sets:** 3–6 items.
|
|
203
|
+
- **Label length:** **1-2 words** — labels sit outside circles (4-6 set) or inside (3-set). Keep short for clean layout.
|
|
204
|
+
- **Title:** **2-3 words**.
|
|
205
|
+
|
|
206
|
+
## Diagram — Matrix (2×2)
|
|
207
|
+
|
|
208
|
+
- **Axes:** 4 labels (top, right, bottom, left) via bullet list with directional prefix.
|
|
209
|
+
- **Entities:** Table with `| Entity | X | Y |` header. X: 0=left, 1=right. Y: 0=bottom, 1=top.
|
|
210
|
+
- **Variant:** `<!-- diagram: trend -->` adds a diagonal arrow from bottom-left to top-right.
|
|
211
|
+
- **Axis label length:** **1-2 words**.
|
|
212
|
+
- **Entity name length:** **1-2 words** — labels sit next to small dots.
|
|
213
|
+
- **Entity count:** 3–8 recommended. More gets cluttered.
|
|
214
|
+
|
|
215
|
+
## Diagram — Pyramid
|
|
216
|
+
|
|
217
|
+
- **Tiers:** 2–5 items.
|
|
218
|
+
- **Variants:** `up` (default, hierarchy), `down` (funnel/inverted).
|
|
219
|
+
- **Label length:** **1-3 words** — labels sit inside the triangle and must not look disproportionate to their tier width. Shorter is better for the top tier (narrowest).
|
|
220
|
+
- **Title:** **2-3 words**.
|
|
221
|
+
|
|
222
|
+
## Diagram — Sitemap
|
|
223
|
+
|
|
224
|
+
- **Structure:** Nested bullet list, 3 levels max (root → sections → pages).
|
|
225
|
+
- **Sections:** Min **2**, max **5** — center-clustered with consistent spacing.
|
|
226
|
+
- **Pages per section:** Max **6** — stacked vertically. More will clip the footer.
|
|
227
|
+
- **Node label length:** **1-3 words** — nodes are 225px wide; longer labels get clipped.
|
|
228
|
+
- **Root node:** Single item at level 1 (e.g., "Home").
|
|
229
|
+
- **Sections without pages are fine** (rendered as leaf nodes with no children).
|
|
230
|
+
|
|
231
|
+
## Theme Directive
|
|
232
|
+
|
|
233
|
+
The default deck theme is `light`. Set `theme: dark` in frontmatter for a dark deck. Override per-slide with `<!-- theme: dark -->` or `<!-- theme: light -->`.
|
|
234
|
+
|
|
235
|
+
- Light (default): bg `#e9e9e9`, text `#111111`, muted `#696969`
|
|
236
|
+
- Dark: bg `#111111`, text `#e9e9e9`, muted `#696969`
|
|
237
|
+
|
|
238
|
+
Use theme overrides sparingly for emphasis or variety. Don't alternate every slide.
|
|
@@ -0,0 +1,105 @@
|
|
|
1
|
+
# Deck Cadence — Structure Patterns
|
|
2
|
+
|
|
3
|
+
## The Pulse
|
|
4
|
+
|
|
5
|
+
Every deck alternates between **orientation** slides (where are we?) and **content** slides (what are we showing?). The rhythm is:
|
|
6
|
+
|
|
7
|
+
```
|
|
8
|
+
ORIENT → CONTENT → CONTENT → CONTENT → ORIENT → CONTENT → ...
|
|
9
|
+
```
|
|
10
|
+
|
|
11
|
+
Orient slides: cover, agenda, section, divider, next-steps, end
|
|
12
|
+
Content slides: statement, text-body, stats, image-*, diagram, framework, table, pullquote
|
|
13
|
+
|
|
14
|
+
**Never put two orient slides back-to-back** (except cover → agenda, which is standard).
|
|
15
|
+
**Never put more than 4 content slides in a row** without an orient slide.
|
|
16
|
+
|
|
17
|
+
## Deck Templates
|
|
18
|
+
|
|
19
|
+
### Client Kickoff (15-20 slides)
|
|
20
|
+
```
|
|
21
|
+
cover → agenda →
|
|
22
|
+
section "Introductions" → introductions →
|
|
23
|
+
section "Project Overview" → statement (vision) → text-body (scope) → schedule →
|
|
24
|
+
section "Process" → framework (approach) → stats (benchmarks) →
|
|
25
|
+
section "Next Steps" → next-steps →
|
|
26
|
+
end
|
|
27
|
+
```
|
|
28
|
+
|
|
29
|
+
### Design Review (20-30 slides)
|
|
30
|
+
```
|
|
31
|
+
cover → agenda →
|
|
32
|
+
section "Recap" → statement (key finding) → stats (research data) →
|
|
33
|
+
section "Direction" → text-body (strategy) → diagram (system) →
|
|
34
|
+
section "Concepts" → image-browser → image-bullets → image-browser-2up →
|
|
35
|
+
image-mobile-3up → image-device-pair →
|
|
36
|
+
section "System" → image-split → image-browser-6up →
|
|
37
|
+
section "Next Steps" → next-steps →
|
|
38
|
+
end
|
|
39
|
+
```
|
|
40
|
+
|
|
41
|
+
### Strategy Presentation (15-25 slides)
|
|
42
|
+
```
|
|
43
|
+
cover → agenda →
|
|
44
|
+
section "Context" → statement (problem) → stats (evidence) → pullquote (stakeholder) →
|
|
45
|
+
section "Framework" → framework → text-body (pillar detail) → text-body (pillar detail) →
|
|
46
|
+
section "Roadmap" → schedule → next-steps →
|
|
47
|
+
end
|
|
48
|
+
```
|
|
49
|
+
|
|
50
|
+
### Project Update (10-15 slides)
|
|
51
|
+
```
|
|
52
|
+
cover → agenda →
|
|
53
|
+
section "Progress" → stats (KPIs) → image-browser (current state) →
|
|
54
|
+
section "Decisions" → statement (key decision) → image-browser-2up (options) →
|
|
55
|
+
section "Next Steps" → next-steps →
|
|
56
|
+
end
|
|
57
|
+
```
|
|
58
|
+
|
|
59
|
+
### Pitch / Capabilities (20-25 slides)
|
|
60
|
+
```
|
|
61
|
+
cover → agenda →
|
|
62
|
+
section "Who We Are" → statement (positioning) → two-column (team + approach) →
|
|
63
|
+
section "How We Work" → framework (process) → schedule (typical timeline) →
|
|
64
|
+
section "Work" → image-full → image-browser → image-split →
|
|
65
|
+
image-full → image-browser-6up →
|
|
66
|
+
section "Next Steps" → next-steps →
|
|
67
|
+
end
|
|
68
|
+
```
|
|
69
|
+
|
|
70
|
+
## Slide Sequencing Rules
|
|
71
|
+
|
|
72
|
+
### After a Section slide, start with the "why"
|
|
73
|
+
- section → **statement** → supporting slides
|
|
74
|
+
- The statement sets up the narrative. Supporting slides prove it.
|
|
75
|
+
|
|
76
|
+
### Image slides follow a zoom pattern
|
|
77
|
+
- Wide shot first (image-full or image-browser)
|
|
78
|
+
- Then details (image-bullets, image-split)
|
|
79
|
+
- Then variations (image-browser-2up, image-mobile-3up)
|
|
80
|
+
- Then overview (image-browser-6up)
|
|
81
|
+
|
|
82
|
+
### Stats slides need context
|
|
83
|
+
- **Before**: statement or text-body explaining what was measured
|
|
84
|
+
- **After**: image or diagram showing the implication
|
|
85
|
+
|
|
86
|
+
### Use dividers sparingly
|
|
87
|
+
- Between major acts (e.g., after "Context" section, before "Solution" section)
|
|
88
|
+
- After a particularly dense section
|
|
89
|
+
- Never more than 2 dividers in a deck
|
|
90
|
+
|
|
91
|
+
### Next-steps should be specific
|
|
92
|
+
Bad: "Continue design work"
|
|
93
|
+
Good: "Deliver homepage wireframes by March 8"
|
|
94
|
+
|
|
95
|
+
## Slide Count Guidelines
|
|
96
|
+
|
|
97
|
+
| Deck Type | Slides | Duration |
|
|
98
|
+
|-----------|--------|----------|
|
|
99
|
+
| Quick update | 8-12 | 15 min |
|
|
100
|
+
| Design review | 20-30 | 45 min |
|
|
101
|
+
| Strategy pres | 15-25 | 30 min |
|
|
102
|
+
| Full pitch | 25-35 | 60 min |
|
|
103
|
+
| Workshop | 10-15 | Variable |
|
|
104
|
+
|
|
105
|
+
**Rule of thumb:** 1-2 minutes per slide for content slides, 15-30 seconds for orient slides.
|