@openpresentation/opf 0.1.0 → 0.2.2
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/LICENSE +21 -21
- package/README.md +146 -103
- package/dist/catalogs.d.ts +11 -1531
- package/dist/catalogs.js +5 -613
- package/dist/catalogs.js.map +1 -1
- package/dist/index.d.ts +3 -1
- package/dist/index.js +3862 -662
- package/dist/index.js.map +1 -1
- package/dist/previews.d.ts +40 -0
- package/dist/previews.js +447 -0
- package/dist/previews.js.map +1 -0
- package/dist/schemas.d.ts +153 -141
- package/dist/schemas.js +57 -48
- package/dist/schemas.js.map +1 -1
- package/dist/spec/catalogs/audiences/all-hands.json +23 -23
- package/dist/spec/catalogs/audiences/board.json +22 -22
- package/dist/spec/catalogs/audiences/candidates.json +23 -23
- package/dist/spec/catalogs/audiences/customers.json +23 -23
- package/dist/spec/catalogs/audiences/engineering-team.json +23 -23
- package/dist/spec/catalogs/audiences/executives.json +23 -23
- package/dist/spec/catalogs/audiences/index.json +67 -67
- package/dist/spec/catalogs/audiences/investors.json +23 -23
- package/dist/spec/catalogs/audiences/marketing-team.json +23 -23
- package/dist/spec/catalogs/audiences/regulators.json +23 -23
- package/dist/spec/catalogs/audiences/sales-team.json +23 -23
- package/dist/spec/catalogs/chart-types/100pct-bullet-bar-2x.json +86 -90
- package/dist/spec/catalogs/chart-types/100pct-bullet-bar-3x.json +98 -102
- package/dist/spec/catalogs/chart-types/100pct-bullet-bar.json +74 -78
- package/dist/spec/catalogs/chart-types/100pct-bullet-column-2x.json +86 -90
- package/dist/spec/catalogs/chart-types/100pct-bullet-column-3x.json +98 -102
- package/dist/spec/catalogs/chart-types/100pct-bullet-column.json +74 -78
- package/dist/spec/catalogs/chart-types/100pct-progress-bar.json +95 -99
- package/dist/spec/catalogs/chart-types/100pct-stacked-area-2x.json +96 -100
- package/dist/spec/catalogs/chart-types/100pct-stacked-area-3x.json +118 -122
- package/dist/spec/catalogs/chart-types/100pct-stacked-bar-2x.json +79 -83
- package/dist/spec/catalogs/chart-types/100pct-stacked-bar-3x.json +95 -99
- package/dist/spec/catalogs/chart-types/100pct-stacked-column-2x.json +85 -89
- package/dist/spec/catalogs/chart-types/100pct-stacked-column-3x.json +103 -107
- package/dist/spec/catalogs/chart-types/area.json +73 -77
- package/dist/spec/catalogs/chart-types/australia.json +66 -70
- package/dist/spec/catalogs/chart-types/bar.json +63 -67
- package/dist/spec/catalogs/chart-types/box-and-whisker-2x.json +126 -130
- package/dist/spec/catalogs/chart-types/box-and-whisker-3x.json +158 -162
- package/dist/spec/catalogs/chart-types/box-and-whisker.json +94 -98
- package/dist/spec/catalogs/chart-types/bullet-bar-2x.json +84 -88
- package/dist/spec/catalogs/chart-types/bullet-bar-3x.json +96 -100
- package/dist/spec/catalogs/chart-types/bullet-bar.json +72 -76
- package/dist/spec/catalogs/chart-types/bullet-column-2x.json +84 -88
- package/dist/spec/catalogs/chart-types/bullet-column-3x.json +96 -100
- package/dist/spec/catalogs/chart-types/bullet-column.json +72 -76
- package/dist/spec/catalogs/chart-types/canada.json +76 -80
- package/dist/spec/catalogs/chart-types/clustered-bar-2x.json +79 -83
- package/dist/spec/catalogs/chart-types/clustered-column.json +85 -89
- package/dist/spec/catalogs/chart-types/column.json +67 -71
- package/dist/spec/catalogs/chart-types/dot-plot-2x.json +94 -98
- package/dist/spec/catalogs/chart-types/dot-plot-3x.json +119 -123
- package/dist/spec/catalogs/chart-types/dot-plot-4x.json +144 -148
- package/dist/spec/catalogs/chart-types/dot-plot-5x.json +169 -173
- package/dist/spec/catalogs/chart-types/dot-plot-6x.json +194 -198
- package/dist/spec/catalogs/chart-types/dot-plot.json +69 -73
- package/dist/spec/catalogs/chart-types/doughnut.json +53 -57
- package/dist/spec/catalogs/chart-types/dumbbell.json +115 -119
- package/dist/spec/catalogs/chart-types/filled-radar.json +66 -70
- package/dist/spec/catalogs/chart-types/funnel.json +60 -64
- package/dist/spec/catalogs/chart-types/histogram.json +141 -145
- package/dist/spec/catalogs/chart-types/index.json +539 -843
- package/dist/spec/catalogs/chart-types/line-2x.json +95 -99
- package/dist/spec/catalogs/chart-types/line-3x.json +117 -121
- package/dist/spec/catalogs/chart-types/line-with-high-low-and-markers.json +139 -143
- package/dist/spec/catalogs/chart-types/line-with-high-low.json +139 -143
- package/dist/spec/catalogs/chart-types/line-with-markers-2x.json +96 -100
- package/dist/spec/catalogs/chart-types/line-with-markers-3x.json +118 -122
- package/dist/spec/catalogs/chart-types/line-with-markers.json +74 -78
- package/dist/spec/catalogs/chart-types/line.json +73 -77
- package/dist/spec/catalogs/chart-types/pareto.json +159 -163
- package/dist/spec/catalogs/chart-types/pie.json +53 -57
- package/dist/spec/catalogs/chart-types/radar-with-markers.json +66 -70
- package/dist/spec/catalogs/chart-types/radar.json +66 -70
- package/dist/spec/catalogs/chart-types/scatter.json +87 -91
- package/dist/spec/catalogs/chart-types/sparkline-2x.json +133 -137
- package/dist/spec/catalogs/chart-types/sparkline-3x.json +169 -173
- package/dist/spec/catalogs/chart-types/sparkline-4x.json +205 -209
- package/dist/spec/catalogs/chart-types/sparkline-5x.json +241 -245
- package/dist/spec/catalogs/chart-types/sparkline-6x.json +277 -281
- package/dist/spec/catalogs/chart-types/sparkline.json +97 -101
- package/dist/spec/catalogs/chart-types/stacked-area-2x.json +96 -100
- package/dist/spec/catalogs/chart-types/stacked-area-3x.json +118 -122
- package/dist/spec/catalogs/chart-types/stacked-bar-2x.json +79 -83
- package/dist/spec/catalogs/chart-types/stacked-bar-3x.json +95 -99
- package/dist/spec/catalogs/chart-types/stacked-column-2x.json +85 -89
- package/dist/spec/catalogs/chart-types/stacked-column-3x.json +103 -107
- package/dist/spec/catalogs/chart-types/stacked-line-2x.json +96 -100
- package/dist/spec/catalogs/chart-types/stacked-line-3x.json +118 -122
- package/dist/spec/catalogs/chart-types/stacked-line-with-markers-2x.json +97 -101
- package/dist/spec/catalogs/chart-types/stacked-line-with-markers-3x.json +119 -123
- package/dist/spec/catalogs/chart-types/treemap-2x.json +91 -95
- package/dist/spec/catalogs/chart-types/treemap-3x.json +112 -116
- package/dist/spec/catalogs/chart-types/treemap.json +62 -66
- package/dist/spec/catalogs/chart-types/{united-kindom.json → united-kingdom.json} +58 -62
- package/dist/spec/catalogs/chart-types/united-states.json +72 -76
- package/dist/spec/catalogs/chart-types/waterfall.json +66 -70
- package/dist/spec/catalogs/chart-types/world.json +78 -82
- package/dist/spec/catalogs/color-schemes/black-and-white.json +17 -17
- package/dist/spec/catalogs/color-schemes/bold-red.json +17 -17
- package/dist/spec/catalogs/color-schemes/boost.json +17 -17
- package/dist/spec/catalogs/color-schemes/burnt-orange.json +17 -17
- package/dist/spec/catalogs/color-schemes/cool-horizon.json +17 -17
- package/dist/spec/catalogs/color-schemes/corporate-blue.json +17 -17
- package/dist/spec/catalogs/color-schemes/deep-purple.json +17 -17
- package/dist/spec/catalogs/color-schemes/forest-green.json +17 -17
- package/dist/spec/catalogs/color-schemes/golden-yellow.json +17 -17
- package/dist/spec/catalogs/color-schemes/index.json +77 -77
- package/dist/spec/catalogs/color-schemes/luxury.json +17 -17
- package/dist/spec/catalogs/color-schemes/pastel-red.json +17 -17
- package/dist/spec/catalogs/color-schemes/slate-gray.json +17 -17
- package/dist/spec/catalogs/color-schemes/steel-blue.json +17 -17
- package/dist/spec/catalogs/color-schemes/vibes.json +17 -17
- package/dist/spec/catalogs/font-schemes/angsana-new.json +14 -14
- package/dist/spec/catalogs/font-schemes/aparajita.json +15 -15
- package/dist/spec/catalogs/font-schemes/aptos.json +12 -12
- package/dist/spec/catalogs/font-schemes/arabic-typesetting.json +14 -14
- package/dist/spec/catalogs/font-schemes/arial.json +12 -12
- package/dist/spec/catalogs/font-schemes/batang.json +14 -14
- package/dist/spec/catalogs/font-schemes/bookman.json +12 -12
- package/dist/spec/catalogs/font-schemes/calibri.json +12 -12
- package/dist/spec/catalogs/font-schemes/century-schoolbook.json +12 -12
- package/dist/spec/catalogs/font-schemes/consolas.json +12 -12
- package/dist/spec/catalogs/font-schemes/constantia.json +12 -12
- package/dist/spec/catalogs/font-schemes/courier-new.json +12 -12
- package/dist/spec/catalogs/font-schemes/daunpenh.json +14 -14
- package/dist/spec/catalogs/font-schemes/david.json +14 -14
- package/dist/spec/catalogs/font-schemes/dilleniaupc.json +14 -14
- package/dist/spec/catalogs/font-schemes/fangsong.json +14 -14
- package/dist/spec/catalogs/font-schemes/garamond.json +12 -12
- package/dist/spec/catalogs/font-schemes/gautami.json +14 -14
- package/dist/spec/catalogs/font-schemes/georgia.json +12 -12
- package/dist/spec/catalogs/font-schemes/gisha.json +15 -15
- package/dist/spec/catalogs/font-schemes/grandview.json +12 -12
- package/dist/spec/catalogs/font-schemes/gungsuh.json +14 -14
- package/dist/spec/catalogs/font-schemes/impact.json +12 -12
- package/dist/spec/catalogs/font-schemes/index.json +452 -452
- package/dist/spec/catalogs/font-schemes/kalinga.json +14 -14
- package/dist/spec/catalogs/font-schemes/kartika.json +14 -14
- package/dist/spec/catalogs/font-schemes/khmer-ui.json +14 -14
- package/dist/spec/catalogs/font-schemes/latha.json +14 -14
- package/dist/spec/catalogs/font-schemes/lucida-sans.json +12 -12
- package/dist/spec/catalogs/font-schemes/malgun-gothic.json +14 -14
- package/dist/spec/catalogs/font-schemes/mangal.json +17 -17
- package/dist/spec/catalogs/font-schemes/meiryo.json +14 -14
- package/dist/spec/catalogs/font-schemes/microsoft-jhenghei.json +14 -14
- package/dist/spec/catalogs/font-schemes/microsoft-yahei.json +17 -17
- package/dist/spec/catalogs/font-schemes/mingliu.json +14 -14
- package/dist/spec/catalogs/font-schemes/miriam.json +14 -14
- package/dist/spec/catalogs/font-schemes/montserrat.json +12 -12
- package/dist/spec/catalogs/font-schemes/ms-mincho.json +14 -14
- package/dist/spec/catalogs/font-schemes/nirmala-ui.json +14 -14
- package/dist/spec/catalogs/font-schemes/noto-naksh-arabic.json +14 -14
- package/dist/spec/catalogs/font-schemes/noto-nastaliq-urdu.json +15 -15
- package/dist/spec/catalogs/font-schemes/noto-sans-arabic.json +16 -16
- package/dist/spec/catalogs/font-schemes/noto-sans-armenian.json +14 -14
- package/dist/spec/catalogs/font-schemes/noto-sans-bengali.json +15 -15
- package/dist/spec/catalogs/font-schemes/noto-sans-devangari.json +15 -15
- package/dist/spec/catalogs/font-schemes/noto-sans-ethiopic.json +14 -14
- package/dist/spec/catalogs/font-schemes/noto-sans-georgian.json +14 -14
- package/dist/spec/catalogs/font-schemes/noto-sans-gujarati.json +14 -14
- package/dist/spec/catalogs/font-schemes/noto-sans-gurmukhi.json +14 -14
- package/dist/spec/catalogs/font-schemes/noto-sans-hebrew.json +14 -14
- package/dist/spec/catalogs/font-schemes/noto-sans-jp.json +14 -14
- package/dist/spec/catalogs/font-schemes/noto-sans-kannada.json +14 -14
- package/dist/spec/catalogs/font-schemes/noto-sans-khmer.json +14 -14
- package/dist/spec/catalogs/font-schemes/noto-sans-kr.json +14 -14
- package/dist/spec/catalogs/font-schemes/noto-sans-malayalam.json +14 -14
- package/dist/spec/catalogs/font-schemes/noto-sans-mongolian.json +14 -14
- package/dist/spec/catalogs/font-schemes/noto-sans-oriya.json +14 -14
- package/dist/spec/catalogs/font-schemes/noto-sans-sc.json +17 -17
- package/dist/spec/catalogs/font-schemes/noto-sans-tamil.json +14 -14
- package/dist/spec/catalogs/font-schemes/noto-sans-tc.json +14 -14
- package/dist/spec/catalogs/font-schemes/noto-sans-telugu.json +14 -14
- package/dist/spec/catalogs/font-schemes/noto-sans-thai.json +14 -14
- package/dist/spec/catalogs/font-schemes/noto-sans.json +17 -17
- package/dist/spec/catalogs/font-schemes/nyala.json +14 -14
- package/dist/spec/catalogs/font-schemes/open-sans.json +12 -12
- package/dist/spec/catalogs/font-schemes/pmingliu.json +14 -14
- package/dist/spec/catalogs/font-schemes/poppins.json +12 -12
- package/dist/spec/catalogs/font-schemes/pt-serif.json +12 -12
- package/dist/spec/catalogs/font-schemes/raavi.json +14 -14
- package/dist/spec/catalogs/font-schemes/raleway.json +12 -12
- package/dist/spec/catalogs/font-schemes/roboto.json +12 -12
- package/dist/spec/catalogs/font-schemes/rockwell.json +12 -12
- package/dist/spec/catalogs/font-schemes/sakkal-majalla.json +16 -16
- package/dist/spec/catalogs/font-schemes/seaford.json +12 -12
- package/dist/spec/catalogs/font-schemes/segoe-ui-light.json +12 -12
- package/dist/spec/catalogs/font-schemes/segoe-ui.json +12 -12
- package/dist/spec/catalogs/font-schemes/shonar-bangla.json +15 -15
- package/dist/spec/catalogs/font-schemes/shruti.json +14 -14
- package/dist/spec/catalogs/font-schemes/simsun.json +14 -14
- package/dist/spec/catalogs/font-schemes/skeena.json +12 -12
- package/dist/spec/catalogs/font-schemes/sylfaen.json +15 -15
- package/dist/spec/catalogs/font-schemes/tahoma.json +12 -12
- package/dist/spec/catalogs/font-schemes/tenorite.json +12 -12
- package/dist/spec/catalogs/font-schemes/times-new-roman.json +12 -12
- package/dist/spec/catalogs/font-schemes/traditional-arabic.json +16 -16
- package/dist/spec/catalogs/font-schemes/trebuchet-ms.json +12 -12
- package/dist/spec/catalogs/font-schemes/tunga.json +14 -14
- package/dist/spec/catalogs/font-schemes/verdana.json +12 -12
- package/dist/spec/catalogs/font-schemes/vrinda.json +14 -14
- package/dist/spec/catalogs/font-schemes/yu-gothic.json +14 -14
- package/dist/spec/catalogs/languages/afrikaans.json +9 -9
- package/dist/spec/catalogs/languages/albanian.json +9 -9
- package/dist/spec/catalogs/languages/amharic.json +9 -9
- package/dist/spec/catalogs/languages/arabic.json +9 -9
- package/dist/spec/catalogs/languages/armenian.json +9 -9
- package/dist/spec/catalogs/languages/aymara.json +9 -9
- package/dist/spec/catalogs/languages/azerbaijani.json +9 -9
- package/dist/spec/catalogs/languages/bengali.json +9 -9
- package/dist/spec/catalogs/languages/berber-latin.json +9 -9
- package/dist/spec/catalogs/languages/bosnian-latin.json +9 -9
- package/dist/spec/catalogs/languages/bulgarian.json +9 -9
- package/dist/spec/catalogs/languages/catalan.json +9 -9
- package/dist/spec/catalogs/languages/cebuano.json +9 -9
- package/dist/spec/catalogs/languages/chinese-simplified.json +9 -9
- package/dist/spec/catalogs/languages/chinese-traditional.json +9 -9
- package/dist/spec/catalogs/languages/chittagonian.json +9 -9
- package/dist/spec/catalogs/languages/croatian.json +9 -9
- package/dist/spec/catalogs/languages/czech.json +9 -9
- package/dist/spec/catalogs/languages/danish.json +9 -9
- package/dist/spec/catalogs/languages/dutch.json +9 -9
- package/dist/spec/catalogs/languages/english-au.json +9 -9
- package/dist/spec/catalogs/languages/english-ca.json +9 -9
- package/dist/spec/catalogs/languages/english-gb.json +9 -9
- package/dist/spec/catalogs/languages/english-in.json +9 -9
- package/dist/spec/catalogs/languages/english-us.json +9 -9
- package/dist/spec/catalogs/languages/english.json +9 -9
- package/dist/spec/catalogs/languages/estonian.json +9 -9
- package/dist/spec/catalogs/languages/filipino.json +9 -9
- package/dist/spec/catalogs/languages/finnish.json +9 -9
- package/dist/spec/catalogs/languages/french.json +9 -9
- package/dist/spec/catalogs/languages/fulfulde.json +9 -9
- package/dist/spec/catalogs/languages/galician.json +9 -9
- package/dist/spec/catalogs/languages/georgian.json +9 -9
- package/dist/spec/catalogs/languages/german.json +9 -9
- package/dist/spec/catalogs/languages/greek.json +9 -9
- package/dist/spec/catalogs/languages/gujarati.json +9 -9
- package/dist/spec/catalogs/languages/hausa.json +9 -9
- package/dist/spec/catalogs/languages/hebrew.json +9 -9
- package/dist/spec/catalogs/languages/hindi.json +9 -9
- package/dist/spec/catalogs/languages/hungarian.json +9 -9
- package/dist/spec/catalogs/languages/igbo.json +9 -9
- package/dist/spec/catalogs/languages/index.json +565 -565
- package/dist/spec/catalogs/languages/indonesian.json +9 -9
- package/dist/spec/catalogs/languages/italian.json +9 -9
- package/dist/spec/catalogs/languages/japanese.json +9 -9
- package/dist/spec/catalogs/languages/kannada.json +9 -9
- package/dist/spec/catalogs/languages/kazakh.json +9 -9
- package/dist/spec/catalogs/languages/khmer.json +9 -9
- package/dist/spec/catalogs/languages/kinyarwanda.json +9 -9
- package/dist/spec/catalogs/languages/korean.json +9 -9
- package/dist/spec/catalogs/languages/kurmanji.json +9 -9
- package/dist/spec/catalogs/languages/latvian.json +9 -9
- package/dist/spec/catalogs/languages/lithuanian.json +9 -9
- package/dist/spec/catalogs/languages/macedonian.json +9 -9
- package/dist/spec/catalogs/languages/malagasy.json +9 -9
- package/dist/spec/catalogs/languages/malay.json +9 -9
- package/dist/spec/catalogs/languages/malayalam.json +9 -9
- package/dist/spec/catalogs/languages/maori.json +9 -9
- package/dist/spec/catalogs/languages/marathi.json +9 -9
- package/dist/spec/catalogs/languages/mongolian.json +9 -9
- package/dist/spec/catalogs/languages/nepali.json +9 -9
- package/dist/spec/catalogs/languages/norwegian.json +9 -9
- package/dist/spec/catalogs/languages/odia.json +9 -9
- package/dist/spec/catalogs/languages/oromo.json +9 -9
- package/dist/spec/catalogs/languages/pashto.json +9 -9
- package/dist/spec/catalogs/languages/persian.json +9 -9
- package/dist/spec/catalogs/languages/polish.json +9 -9
- package/dist/spec/catalogs/languages/portuguese.json +9 -9
- package/dist/spec/catalogs/languages/punjabi-gurmukhi.json +9 -9
- package/dist/spec/catalogs/languages/punjabi-shahmukhi.json +9 -9
- package/dist/spec/catalogs/languages/romanian.json +9 -9
- package/dist/spec/catalogs/languages/russian.json +9 -9
- package/dist/spec/catalogs/languages/serbian-cyrillic.json +9 -9
- package/dist/spec/catalogs/languages/serbian-latin.json +9 -9
- package/dist/spec/catalogs/languages/shona.json +9 -9
- package/dist/spec/catalogs/languages/slovak.json +9 -9
- package/dist/spec/catalogs/languages/slovenian.json +9 -9
- package/dist/spec/catalogs/languages/somali.json +9 -9
- package/dist/spec/catalogs/languages/spanish.json +9 -9
- package/dist/spec/catalogs/languages/swahili.json +9 -9
- package/dist/spec/catalogs/languages/swedish.json +9 -9
- package/dist/spec/catalogs/languages/tagalog.json +9 -9
- package/dist/spec/catalogs/languages/tajik.json +9 -9
- package/dist/spec/catalogs/languages/tamil.json +9 -9
- package/dist/spec/catalogs/languages/telugu.json +9 -9
- package/dist/spec/catalogs/languages/thai.json +9 -9
- package/dist/spec/catalogs/languages/turkish.json +9 -9
- package/dist/spec/catalogs/languages/ukrainian.json +9 -9
- package/dist/spec/catalogs/languages/urdu.json +9 -9
- package/dist/spec/catalogs/languages/uzbek-latin.json +9 -9
- package/dist/spec/catalogs/languages/vietnamese-quoc-ngu.json +9 -9
- package/dist/spec/catalogs/languages/xhosa.json +9 -9
- package/dist/spec/catalogs/languages/yoruba.json +9 -9
- package/dist/spec/catalogs/languages/zulu.json +9 -9
- package/dist/spec/catalogs/layouts/blank.json +6 -6
- package/dist/spec/catalogs/layouts/chart-1x.json +16 -16
- package/dist/spec/catalogs/layouts/chart-2x.json +22 -22
- package/dist/spec/catalogs/layouts/chart-3x.json +28 -28
- package/dist/spec/catalogs/layouts/code-1x.json +16 -16
- package/dist/spec/catalogs/layouts/extract/canonical.json +487 -487
- package/dist/spec/catalogs/layouts/image-1x.json +16 -16
- package/dist/spec/catalogs/layouts/image-2x.json +22 -22
- package/dist/spec/catalogs/layouts/image-3x.json +28 -28
- package/dist/spec/catalogs/layouts/image-bleed.json +10 -10
- package/dist/spec/catalogs/layouts/index.json +147 -147
- package/dist/spec/catalogs/layouts/list-1x.json +13 -13
- package/dist/spec/catalogs/layouts/list-2x.json +16 -16
- package/dist/spec/catalogs/layouts/list-3x.json +19 -19
- package/dist/spec/catalogs/layouts/list-4x.json +22 -22
- package/dist/spec/catalogs/layouts/list-5x.json +25 -25
- package/dist/spec/catalogs/layouts/list-6x.json +28 -28
- package/dist/spec/catalogs/layouts/media-1x.json +16 -16
- package/dist/spec/catalogs/layouts/number-1x.json +13 -13
- package/dist/spec/catalogs/layouts/number-2x.json +16 -16
- package/dist/spec/catalogs/layouts/number-3x.json +19 -19
- package/dist/spec/catalogs/layouts/number-4x.json +22 -22
- package/dist/spec/catalogs/layouts/number-5x.json +25 -25
- package/dist/spec/catalogs/layouts/number-6x.json +28 -28
- package/dist/spec/catalogs/layouts/table-1x.json +16 -16
- package/dist/spec/catalogs/layouts/text-1x.json +13 -13
- package/dist/spec/catalogs/layouts/text-2x.json +16 -16
- package/dist/spec/catalogs/layouts/text-3x.json +19 -19
- package/dist/spec/catalogs/layouts/title-subtitle.json +13 -13
- package/dist/spec/catalogs/layouts/title.json +10 -10
- package/dist/spec/catalogs/narratives/board-meeting.json +192 -192
- package/dist/spec/catalogs/narratives/business-narrative.json +87 -87
- package/dist/spec/catalogs/narratives/business-review.json +119 -119
- package/dist/spec/catalogs/narratives/capacity-planning.json +88 -88
- package/dist/spec/catalogs/narratives/challenge-resolution.json +80 -80
- package/dist/spec/catalogs/narratives/classic-story.json +78 -78
- package/dist/spec/catalogs/narratives/company-intro.json +96 -96
- package/dist/spec/catalogs/narratives/conference-talk.json +54 -54
- package/dist/spec/catalogs/narratives/early-startup-pitch.json +119 -119
- package/dist/spec/catalogs/narratives/educate.json +95 -95
- package/dist/spec/catalogs/narratives/employee-review.json +87 -87
- package/dist/spec/catalogs/narratives/failure-analysis.json +104 -104
- package/dist/spec/catalogs/narratives/focus.json +120 -120
- package/dist/spec/catalogs/narratives/golden-circle.json +50 -50
- package/dist/spec/catalogs/narratives/index.json +358 -358
- package/dist/spec/catalogs/narratives/innovation.json +96 -96
- package/dist/spec/catalogs/narratives/justice.json +112 -112
- package/dist/spec/catalogs/narratives/marketing-strategy.json +111 -111
- package/dist/spec/catalogs/narratives/performance-improvement-plan.json +87 -87
- package/dist/spec/catalogs/narratives/performance-review.json +111 -111
- package/dist/spec/catalogs/narratives/persuade.json +94 -94
- package/dist/spec/catalogs/narratives/persuasive-sales.json +87 -87
- package/dist/spec/catalogs/narratives/pitch-deck.json +107 -107
- package/dist/spec/catalogs/narratives/problem-solution.json +61 -61
- package/dist/spec/catalogs/narratives/product-launch.json +104 -104
- package/dist/spec/catalogs/narratives/project-proposal.json +104 -104
- package/dist/spec/catalogs/narratives/qbr.json +85 -85
- package/dist/spec/catalogs/narratives/rags-to-riches.json +80 -80
- package/dist/spec/catalogs/narratives/reveal.json +87 -87
- package/dist/spec/catalogs/narratives/scqa.json +55 -55
- package/dist/spec/catalogs/narratives/status-update.json +72 -72
- package/dist/spec/catalogs/narratives/strategic-advisory.json +85 -85
- package/dist/spec/catalogs/narratives/strategic-narrative.json +61 -61
- package/dist/spec/catalogs/narratives/survey-analysis.json +104 -104
- package/dist/spec/catalogs/narratives/survival-story.json +103 -103
- package/dist/spec/catalogs/narratives/transformation-arc.json +50 -50
- package/dist/spec/catalogs/narratives/trend-analysis.json +79 -79
- package/dist/spec/catalogs/narratives/underdog-victory.json +87 -87
- package/dist/spec/catalogs/narratives/venture-pitch.json +109 -109
- package/dist/spec/catalogs/narratives/weekly-progress.json +103 -103
- package/dist/spec/catalogs/purposes/align.json +16 -16
- package/dist/spec/catalogs/purposes/decide.json +16 -16
- package/dist/spec/catalogs/purposes/educate.json +16 -16
- package/dist/spec/catalogs/purposes/index.json +61 -61
- package/dist/spec/catalogs/purposes/inform.json +16 -16
- package/dist/spec/catalogs/purposes/persuade.json +16 -16
- package/dist/spec/catalogs/purposes/pitch.json +16 -16
- package/dist/spec/catalogs/purposes/plan.json +16 -16
- package/dist/spec/catalogs/purposes/report.json +16 -16
- package/dist/spec/catalogs/purposes/sell.json +16 -16
- package/dist/spec/catalogs/social-platforms/bluesky.json +14 -14
- package/dist/spec/catalogs/social-platforms/facebook.json +14 -14
- package/dist/spec/catalogs/social-platforms/github.json +15 -15
- package/dist/spec/catalogs/social-platforms/index.json +68 -68
- package/dist/spec/catalogs/social-platforms/instagram.json +13 -13
- package/dist/spec/catalogs/social-platforms/linkedin.json +15 -15
- package/dist/spec/catalogs/social-platforms/mastodon.json +14 -14
- package/dist/spec/catalogs/social-platforms/threads.json +13 -13
- package/dist/spec/catalogs/social-platforms/tiktok.json +14 -14
- package/dist/spec/catalogs/social-platforms/x.json +14 -14
- package/dist/spec/catalogs/social-platforms/youtube.json +14 -14
- package/dist/spec/catalogs/themes/bold.json +13 -13
- package/dist/spec/catalogs/themes/classic.json +13 -13
- package/dist/spec/catalogs/themes/dark.json +13 -13
- package/dist/spec/catalogs/themes/index.json +31 -31
- package/dist/spec/catalogs/themes/minimal.json +13 -13
- package/dist/spec/catalogs/tones/authoritative.json +31 -31
- package/dist/spec/catalogs/tones/casual.json +31 -31
- package/dist/spec/catalogs/tones/conversational.json +31 -31
- package/dist/spec/catalogs/tones/formal.json +31 -31
- package/dist/spec/catalogs/tones/index.json +49 -49
- package/dist/spec/catalogs/tones/inspirational.json +31 -31
- package/dist/spec/catalogs/tones/persuasive.json +32 -32
- package/dist/spec/catalogs/tones/technical.json +31 -31
- package/dist/spec/openapi.yaml +776 -776
- package/dist/spec/previews/layouts/action-plan.html +1 -0
- package/dist/spec/previews/layouts/agenda.html +1 -0
- package/dist/spec/previews/layouts/appendix-index.html +1 -0
- package/dist/spec/previews/layouts/architecture-stack.html +1 -0
- package/dist/spec/previews/layouts/assumptions-dependencies.html +1 -0
- package/dist/spec/previews/layouts/before-after.html +1 -0
- package/dist/spec/previews/layouts/benchmark-target-table.html +1 -0
- package/dist/spec/previews/layouts/bullet-list.html +1 -0
- package/dist/spec/previews/layouts/business-model-canvas.html +1 -0
- package/dist/spec/previews/layouts/capability-map.html +1 -0
- package/dist/spec/previews/layouts/case-study.html +1 -0
- package/dist/spec/previews/layouts/chapter-recap.html +1 -0
- package/dist/spec/previews/layouts/circular-lifecycle.html +1 -0
- package/dist/spec/previews/layouts/comparison.html +1 -0
- package/dist/spec/previews/layouts/competitive-landscape.html +1 -0
- package/dist/spec/previews/layouts/customer-journey.html +1 -0
- package/dist/spec/previews/layouts/customer-logos.html +1 -0
- package/dist/spec/previews/layouts/dashboard.html +1 -0
- package/dist/spec/previews/layouts/data-visualization.html +1 -0
- package/dist/spec/previews/layouts/decision-tree.html +1 -0
- package/dist/spec/previews/layouts/detailed-data-table.html +1 -0
- package/dist/spec/previews/layouts/ecosystem-map.html +1 -0
- package/dist/spec/previews/layouts/executive-decision.html +1 -0
- package/dist/spec/previews/layouts/executive-summary.html +1 -0
- package/dist/spec/previews/layouts/faq.html +1 -0
- package/dist/spec/previews/layouts/feature-comparison-matrix.html +1 -0
- package/dist/spec/previews/layouts/forecast-scenario.html +1 -0
- package/dist/spec/previews/layouts/funnel-pyramid.html +1 -0
- package/dist/spec/previews/layouts/gantt-project-plan.html +1 -0
- package/dist/spec/previews/layouts/geographic-map.html +1 -0
- package/dist/spec/previews/layouts/heatmap-cohort.html +1 -0
- package/dist/spec/previews/layouts/hub-and-spoke.html +1 -0
- package/dist/spec/previews/layouts/icon-grid.html +1 -0
- package/dist/spec/previews/layouts/image-focus.html +1 -0
- package/dist/spec/previews/layouts/index.json +357 -0
- package/dist/spec/previews/layouts/key-takeaway.html +1 -0
- package/dist/spec/previews/layouts/kpi-scorecard.html +1 -0
- package/dist/spec/previews/layouts/logic-tree.html +1 -0
- package/dist/spec/previews/layouts/market-size.html +1 -0
- package/dist/spec/previews/layouts/matrix-quadrant.html +1 -0
- package/dist/spec/previews/layouts/network-dependency-map.html +1 -0
- package/dist/spec/previews/layouts/one-column-explainer.html +1 -0
- package/dist/spec/previews/layouts/org-chart.html +1 -0
- package/dist/spec/previews/layouts/persona-grid.html +1 -0
- package/dist/spec/previews/layouts/photo-grid.html +1 -0
- package/dist/spec/previews/layouts/pricing-table.html +1 -0
- package/dist/spec/previews/layouts/process-flow.html +1 -0
- package/dist/spec/previews/layouts/product-feature.html +1 -0
- package/dist/spec/previews/layouts/pros-cons.html +1 -0
- package/dist/spec/previews/layouts/qa-discussion.html +1 -0
- package/dist/spec/previews/layouts/quote-highlight.html +1 -0
- package/dist/spec/previews/layouts/raci-matrix.html +1 -0
- package/dist/spec/previews/layouts/risk-heatmap.html +1 -0
- package/dist/spec/previews/layouts/roadmap.html +1 -0
- package/dist/spec/previews/layouts/screenshot-walkthrough.html +1 -0
- package/dist/spec/previews/layouts/section-divider.html +1 -0
- package/dist/spec/previews/layouts/single-message-statement.html +1 -0
- package/dist/spec/previews/layouts/stats-metrics.html +1 -0
- package/dist/spec/previews/layouts/status-rag.html +1 -0
- package/dist/spec/previews/layouts/swimlane-process.html +1 -0
- package/dist/spec/previews/layouts/swot-analysis.html +1 -0
- package/dist/spec/previews/layouts/team-bio.html +1 -0
- package/dist/spec/previews/layouts/testimonial-grid.html +1 -0
- package/dist/spec/previews/layouts/thank-you-cta.html +1 -0
- package/dist/spec/previews/layouts/three-column.html +1 -0
- package/dist/spec/previews/layouts/timeline.html +1 -0
- package/dist/spec/previews/layouts/title-slide.html +1 -0
- package/dist/spec/previews/layouts/two-column.html +1 -0
- package/dist/spec/previews/layouts/venn-overlap.html +1 -0
- package/dist/spec/previews/layouts/waterfall-bridge.html +1 -0
- package/dist/spec/previews/layouts/wheel-radial.html +1 -0
- package/dist/spec/reference/engine-defaults.json +35 -35
- package/dist/spec/schemas/audience.schema.json +156 -156
- package/dist/spec/schemas/chart-type.schema.json +537 -537
- package/dist/spec/schemas/color-scheme.schema.json +200 -200
- package/dist/spec/schemas/font-scheme.schema.json +174 -174
- package/dist/spec/schemas/language.schema.json +158 -158
- package/dist/spec/schemas/layout.schema.json +280 -280
- package/dist/spec/schemas/narrative.schema.json +207 -207
- package/dist/spec/schemas/opf.schema.json +2543 -2537
- package/dist/spec/schemas/purpose.schema.json +92 -92
- package/dist/spec/schemas/social-platform.schema.json +183 -184
- package/dist/spec/schemas/theme.schema.json +168 -168
- package/dist/spec/schemas/tone.schema.json +146 -146
- package/dist/spec-files.d.ts +2388 -0
- package/dist/spec-files.js +3349 -0
- package/dist/spec-files.js.map +1 -0
- package/dist/types.d.ts +5 -5
- package/dist/{validator-Be5EzqAt.d.ts → validator-MwlR2F56.d.ts} +22 -24
- package/dist/validator.d.ts +1 -1
- package/dist/validator.js +66 -48
- package/dist/validator.js.map +1 -1
- package/package.json +91 -80
|
@@ -1,207 +1,207 @@
|
|
|
1
|
-
{
|
|
2
|
-
"$schema": "https://json-schema.org/draft/2020-12/schema",
|
|
3
|
-
"$id": "https://openpresentation.org/schema/opf-narrative/v1",
|
|
4
|
-
"title": "
|
|
5
|
-
"description": "Schema for narrative template files in the openpresentation.org catalog. Each template describes a named story arc (e.g. 'problem-solution', 'scqa') as an ordered list of beats. Templates are referenced from OPF documents via narrative — either as a bare id string (e.g. 'classic-story') or as an inline object whose shape matches this schema (sans '$schema').",
|
|
6
|
-
"type": "object",
|
|
7
|
-
"required": [
|
|
8
|
-
"$schema",
|
|
9
|
-
"id",
|
|
10
|
-
"name",
|
|
11
|
-
"beats"
|
|
12
|
-
],
|
|
13
|
-
"properties": {
|
|
14
|
-
"$schema": {
|
|
15
|
-
"type": "string",
|
|
16
|
-
"const": "https://openpresentation.org/schema/opf-narrative/v1"
|
|
17
|
-
},
|
|
18
|
-
"id": {
|
|
19
|
-
"type": "string",
|
|
20
|
-
"pattern": "^[a-z][a-z0-9-]*$",
|
|
21
|
-
"description": "Stable slug used by OPF documents to reference this template, e.g. 'problem-solution'. Lowercase kebab-case."
|
|
22
|
-
},
|
|
23
|
-
"name": {
|
|
24
|
-
"type": "string",
|
|
25
|
-
"description": "Human-readable template name, e.g. 'Problem → Solution'."
|
|
26
|
-
},
|
|
27
|
-
"summary": {
|
|
28
|
-
"type": "string",
|
|
29
|
-
"description": "One-sentence description of when and why to use this narrative."
|
|
30
|
-
},
|
|
31
|
-
"description": {
|
|
32
|
-
"type": "string",
|
|
33
|
-
"description": "Longer prose describing the narrative arc and ideal use cases. Used by AI-driven generation to seed deck-level direction.",
|
|
34
|
-
"examples": [
|
|
35
|
-
"Open with the cost of slow agentic workflows, contrast with what becomes possible at sub-second latency, then walk through our architecture and benchmark results, ending with a concrete adoption ask."
|
|
36
|
-
]
|
|
37
|
-
},
|
|
38
|
-
"audienceFit": {
|
|
39
|
-
"type": "array",
|
|
40
|
-
"items": {
|
|
41
|
-
"type": "string"
|
|
42
|
-
},
|
|
43
|
-
"description": "Audiences this narrative works well for, e.g. ['executives', 'investors', 'customers']."
|
|
44
|
-
},
|
|
45
|
-
"durationRange": {
|
|
46
|
-
"type": "object",
|
|
47
|
-
"description": "Typical talk-length window this narrative suits.",
|
|
48
|
-
"properties": {
|
|
49
|
-
"minMinutes": {
|
|
50
|
-
"type": "number",
|
|
51
|
-
"exclusiveMinimum": 0
|
|
52
|
-
},
|
|
53
|
-
"maxMinutes": {
|
|
54
|
-
"type": "number",
|
|
55
|
-
"exclusiveMinimum": 0
|
|
56
|
-
}
|
|
57
|
-
}
|
|
58
|
-
},
|
|
59
|
-
"tags": {
|
|
60
|
-
"type": "array",
|
|
61
|
-
"items": {
|
|
62
|
-
"type": "string"
|
|
63
|
-
},
|
|
64
|
-
"description": "Free-form labels for filtering and search, e.g. ['business', 'pitch', 'internal']."
|
|
65
|
-
},
|
|
66
|
-
"preview": {
|
|
67
|
-
"type": "object",
|
|
68
|
-
"description": "Visual previews of the record, used by picker UIs and inline rendering. All sub-fields are optional; engines fall back gracefully when previews aren't available.",
|
|
69
|
-
"properties": {
|
|
70
|
-
"src": {
|
|
71
|
-
"type": "string",
|
|
72
|
-
"format": "uri",
|
|
73
|
-
"description": "Main preview image (PNG/JPG). Used as the primary visual in picker UIs and previews of the record.",
|
|
74
|
-
"examples": [
|
|
75
|
-
"https://www.pptx.gallery/narratives/classic-story.png"
|
|
76
|
-
]
|
|
77
|
-
},
|
|
78
|
-
"thumbnailSrc": {
|
|
79
|
-
"type": "string",
|
|
80
|
-
"format": "uri",
|
|
81
|
-
"description": "Smaller thumbnail preview suited to dense grid views.",
|
|
82
|
-
"examples": [
|
|
83
|
-
"https://www.pptx.gallery/narratives/classic-story.thumbnail.png"
|
|
84
|
-
]
|
|
85
|
-
},
|
|
86
|
-
"vectorSrc": {
|
|
87
|
-
"type": "string",
|
|
88
|
-
"format": "uri",
|
|
89
|
-
"description": "SVG / vector preview for crisp scaling at any size.",
|
|
90
|
-
"examples": [
|
|
91
|
-
"https://www.pptx.gallery/narratives/classic-story.svg"
|
|
92
|
-
]
|
|
93
|
-
}
|
|
94
|
-
}
|
|
95
|
-
},
|
|
96
|
-
"beats": {
|
|
97
|
-
"type": "array",
|
|
98
|
-
"minItems": 1,
|
|
99
|
-
"items": {
|
|
100
|
-
"$ref": "#/$defs/Beat"
|
|
101
|
-
},
|
|
102
|
-
"description": "Ordered list of beats that make up the narrative arc."
|
|
103
|
-
}
|
|
104
|
-
},
|
|
105
|
-
"$defs": {
|
|
106
|
-
"Beat": {
|
|
107
|
-
"type": "object",
|
|
108
|
-
"description": "A single narrative beat — a labeled segment of the story arc with a specific dramatic purpose. Mirrors the NarrativeBeat definition in opf.schema.json so library entries and inline OPF beats are interchangeable.",
|
|
109
|
-
"required": [
|
|
110
|
-
"id",
|
|
111
|
-
"name"
|
|
112
|
-
],
|
|
113
|
-
"properties": {
|
|
114
|
-
"id": {
|
|
115
|
-
"type": "string",
|
|
116
|
-
"pattern": "^[a-z][a-z0-9-]*$",
|
|
117
|
-
"description": "Stable slug used by Slide.beat to reference this beat. Lowercase kebab-case.",
|
|
118
|
-
"examples": [
|
|
119
|
-
"opening",
|
|
120
|
-
"problem",
|
|
121
|
-
"evidence",
|
|
122
|
-
"ask",
|
|
123
|
-
"next-steps"
|
|
124
|
-
]
|
|
125
|
-
},
|
|
126
|
-
"name": {
|
|
127
|
-
"type": "string",
|
|
128
|
-
"description": "Human-readable beat name, e.g. 'The Problem'.",
|
|
129
|
-
"examples": [
|
|
130
|
-
"Opening",
|
|
131
|
-
"The Problem",
|
|
132
|
-
"Why Now",
|
|
133
|
-
"The Ask"
|
|
134
|
-
]
|
|
135
|
-
},
|
|
136
|
-
"description": {
|
|
137
|
-
"type": "string",
|
|
138
|
-
"description": "Curator-written prose that explains what this beat should accomplish.",
|
|
139
|
-
"examples": [
|
|
140
|
-
"Quantify the pain customers feel today, with one striking stat the audience can repeat afterward."
|
|
141
|
-
]
|
|
142
|
-
},
|
|
143
|
-
"instructions": {
|
|
144
|
-
"type": "string",
|
|
145
|
-
"description": "Short author-facing instruction for the beat — typically one phrase. Complements 'description' with a concise directive.",
|
|
146
|
-
"examples": [
|
|
147
|
-
"Capture audience attention",
|
|
148
|
-
"Introduce problem",
|
|
149
|
-
"Detail implementation",
|
|
150
|
-
"Inspire & conclude"
|
|
151
|
-
]
|
|
152
|
-
},
|
|
153
|
-
"slideCount": {
|
|
154
|
-
"type": "integer",
|
|
155
|
-
"minimum": 1,
|
|
156
|
-
"description": "Optional explicit slide count for this beat. Defaults to 1 when omitted; values >1 are reserved for beats that intentionally span multiple slides. Prefer decomposing a heavy beat into multiple beats over setting a high slideCount. The validator emits a warning if the deck's actual count differs significantly.",
|
|
157
|
-
"examples": [
|
|
158
|
-
1,
|
|
159
|
-
2,
|
|
160
|
-
3
|
|
161
|
-
]
|
|
162
|
-
},
|
|
163
|
-
"slideType": {
|
|
164
|
-
"type": "string",
|
|
165
|
-
"enum": [
|
|
166
|
-
"text",
|
|
167
|
-
"list",
|
|
168
|
-
"image",
|
|
169
|
-
"shape",
|
|
170
|
-
"chart",
|
|
171
|
-
"table",
|
|
172
|
-
"video",
|
|
173
|
-
"code",
|
|
174
|
-
"metric",
|
|
175
|
-
"quote",
|
|
176
|
-
"timeline"
|
|
177
|
-
],
|
|
178
|
-
"description": "Default content kind for the beat's slide. Mirrors ContentPayload.type and helps engines choose a sensible layout when only the beat is specified."
|
|
179
|
-
},
|
|
180
|
-
"layoutHint": {
|
|
181
|
-
"type": "string",
|
|
182
|
-
"description": "Suggested layout id for the beat's opening slide, e.g. 'section-divider', 'title-slide', 'text-left'. Resolves the same way as Slide.layout — against catalogs.layouts and the default catalog at https://www.pptx.gallery/layouts.",
|
|
183
|
-
"examples": [
|
|
184
|
-
"section-divider",
|
|
185
|
-
"title-slide",
|
|
186
|
-
"title-left",
|
|
187
|
-
"two-column",
|
|
188
|
-
"text-left"
|
|
189
|
-
]
|
|
190
|
-
},
|
|
191
|
-
"thoughtCues": {
|
|
192
|
-
"type": "array",
|
|
193
|
-
"items": {
|
|
194
|
-
"type": "string"
|
|
195
|
-
},
|
|
196
|
-
"description": "Optional speaker or thinking cues attached to the beat. Surfaced in presenter notes.",
|
|
197
|
-
"examples": [
|
|
198
|
-
[
|
|
199
|
-
"What pain is the audience feeling right now?",
|
|
200
|
-
"Why hasn't anyone solved this yet?"
|
|
201
|
-
]
|
|
202
|
-
]
|
|
203
|
-
}
|
|
204
|
-
}
|
|
205
|
-
}
|
|
206
|
-
}
|
|
207
|
-
}
|
|
1
|
+
{
|
|
2
|
+
"$schema": "https://json-schema.org/draft/2020-12/schema",
|
|
3
|
+
"$id": "https://openpresentation.org/schema/opf-narrative/v1",
|
|
4
|
+
"title": "Narrative Template",
|
|
5
|
+
"description": "Schema for narrative template files in the openpresentation.org catalog. Each template describes a named story arc (e.g. 'problem-solution', 'scqa') as an ordered list of beats. Templates are referenced from OPF documents via narrative — either as a bare id string (e.g. 'classic-story') or as an inline object whose shape matches this schema (sans '$schema').",
|
|
6
|
+
"type": "object",
|
|
7
|
+
"required": [
|
|
8
|
+
"$schema",
|
|
9
|
+
"id",
|
|
10
|
+
"name",
|
|
11
|
+
"beats"
|
|
12
|
+
],
|
|
13
|
+
"properties": {
|
|
14
|
+
"$schema": {
|
|
15
|
+
"type": "string",
|
|
16
|
+
"const": "https://openpresentation.org/schema/opf-narrative/v1"
|
|
17
|
+
},
|
|
18
|
+
"id": {
|
|
19
|
+
"type": "string",
|
|
20
|
+
"pattern": "^[a-z][a-z0-9-]*$",
|
|
21
|
+
"description": "Stable slug used by OPF documents to reference this template, e.g. 'problem-solution'. Lowercase kebab-case."
|
|
22
|
+
},
|
|
23
|
+
"name": {
|
|
24
|
+
"type": "string",
|
|
25
|
+
"description": "Human-readable template name, e.g. 'Problem → Solution'."
|
|
26
|
+
},
|
|
27
|
+
"summary": {
|
|
28
|
+
"type": "string",
|
|
29
|
+
"description": "One-sentence description of when and why to use this narrative."
|
|
30
|
+
},
|
|
31
|
+
"description": {
|
|
32
|
+
"type": "string",
|
|
33
|
+
"description": "Longer prose describing the narrative arc and ideal use cases. Used by AI-driven generation to seed deck-level direction.",
|
|
34
|
+
"examples": [
|
|
35
|
+
"Open with the cost of slow agentic workflows, contrast with what becomes possible at sub-second latency, then walk through our architecture and benchmark results, ending with a concrete adoption ask."
|
|
36
|
+
]
|
|
37
|
+
},
|
|
38
|
+
"audienceFit": {
|
|
39
|
+
"type": "array",
|
|
40
|
+
"items": {
|
|
41
|
+
"type": "string"
|
|
42
|
+
},
|
|
43
|
+
"description": "Audiences this narrative works well for, e.g. ['executives', 'investors', 'customers']."
|
|
44
|
+
},
|
|
45
|
+
"durationRange": {
|
|
46
|
+
"type": "object",
|
|
47
|
+
"description": "Typical talk-length window this narrative suits.",
|
|
48
|
+
"properties": {
|
|
49
|
+
"minMinutes": {
|
|
50
|
+
"type": "number",
|
|
51
|
+
"exclusiveMinimum": 0
|
|
52
|
+
},
|
|
53
|
+
"maxMinutes": {
|
|
54
|
+
"type": "number",
|
|
55
|
+
"exclusiveMinimum": 0
|
|
56
|
+
}
|
|
57
|
+
}
|
|
58
|
+
},
|
|
59
|
+
"tags": {
|
|
60
|
+
"type": "array",
|
|
61
|
+
"items": {
|
|
62
|
+
"type": "string"
|
|
63
|
+
},
|
|
64
|
+
"description": "Free-form labels for filtering and search, e.g. ['business', 'pitch', 'internal']."
|
|
65
|
+
},
|
|
66
|
+
"preview": {
|
|
67
|
+
"type": "object",
|
|
68
|
+
"description": "Visual previews of the record, used by picker UIs and inline rendering. All sub-fields are optional; engines fall back gracefully when previews aren't available.",
|
|
69
|
+
"properties": {
|
|
70
|
+
"src": {
|
|
71
|
+
"type": "string",
|
|
72
|
+
"format": "uri",
|
|
73
|
+
"description": "Main preview image (PNG/JPG). Used as the primary visual in picker UIs and previews of the record.",
|
|
74
|
+
"examples": [
|
|
75
|
+
"https://www.pptx.gallery/narratives/classic-story.png"
|
|
76
|
+
]
|
|
77
|
+
},
|
|
78
|
+
"thumbnailSrc": {
|
|
79
|
+
"type": "string",
|
|
80
|
+
"format": "uri",
|
|
81
|
+
"description": "Smaller thumbnail preview suited to dense grid views.",
|
|
82
|
+
"examples": [
|
|
83
|
+
"https://www.pptx.gallery/narratives/classic-story.thumbnail.png"
|
|
84
|
+
]
|
|
85
|
+
},
|
|
86
|
+
"vectorSrc": {
|
|
87
|
+
"type": "string",
|
|
88
|
+
"format": "uri",
|
|
89
|
+
"description": "SVG / vector preview for crisp scaling at any size.",
|
|
90
|
+
"examples": [
|
|
91
|
+
"https://www.pptx.gallery/narratives/classic-story.svg"
|
|
92
|
+
]
|
|
93
|
+
}
|
|
94
|
+
}
|
|
95
|
+
},
|
|
96
|
+
"beats": {
|
|
97
|
+
"type": "array",
|
|
98
|
+
"minItems": 1,
|
|
99
|
+
"items": {
|
|
100
|
+
"$ref": "#/$defs/Beat"
|
|
101
|
+
},
|
|
102
|
+
"description": "Ordered list of beats that make up the narrative arc."
|
|
103
|
+
}
|
|
104
|
+
},
|
|
105
|
+
"$defs": {
|
|
106
|
+
"Beat": {
|
|
107
|
+
"type": "object",
|
|
108
|
+
"description": "A single narrative beat — a labeled segment of the story arc with a specific dramatic purpose. Mirrors the NarrativeBeat definition in opf.schema.json so library entries and inline OPF beats are interchangeable.",
|
|
109
|
+
"required": [
|
|
110
|
+
"id",
|
|
111
|
+
"name"
|
|
112
|
+
],
|
|
113
|
+
"properties": {
|
|
114
|
+
"id": {
|
|
115
|
+
"type": "string",
|
|
116
|
+
"pattern": "^[a-z][a-z0-9-]*$",
|
|
117
|
+
"description": "Stable slug used by Slide.beat to reference this beat. Lowercase kebab-case.",
|
|
118
|
+
"examples": [
|
|
119
|
+
"opening",
|
|
120
|
+
"problem",
|
|
121
|
+
"evidence",
|
|
122
|
+
"ask",
|
|
123
|
+
"next-steps"
|
|
124
|
+
]
|
|
125
|
+
},
|
|
126
|
+
"name": {
|
|
127
|
+
"type": "string",
|
|
128
|
+
"description": "Human-readable beat name, e.g. 'The Problem'.",
|
|
129
|
+
"examples": [
|
|
130
|
+
"Opening",
|
|
131
|
+
"The Problem",
|
|
132
|
+
"Why Now",
|
|
133
|
+
"The Ask"
|
|
134
|
+
]
|
|
135
|
+
},
|
|
136
|
+
"description": {
|
|
137
|
+
"type": "string",
|
|
138
|
+
"description": "Curator-written prose that explains what this beat should accomplish.",
|
|
139
|
+
"examples": [
|
|
140
|
+
"Quantify the pain customers feel today, with one striking stat the audience can repeat afterward."
|
|
141
|
+
]
|
|
142
|
+
},
|
|
143
|
+
"instructions": {
|
|
144
|
+
"type": "string",
|
|
145
|
+
"description": "Short author-facing instruction for the beat — typically one phrase. Complements 'description' with a concise directive.",
|
|
146
|
+
"examples": [
|
|
147
|
+
"Capture audience attention",
|
|
148
|
+
"Introduce problem",
|
|
149
|
+
"Detail implementation",
|
|
150
|
+
"Inspire & conclude"
|
|
151
|
+
]
|
|
152
|
+
},
|
|
153
|
+
"slideCount": {
|
|
154
|
+
"type": "integer",
|
|
155
|
+
"minimum": 1,
|
|
156
|
+
"description": "Optional explicit slide count for this beat. Defaults to 1 when omitted; values >1 are reserved for beats that intentionally span multiple slides. Prefer decomposing a heavy beat into multiple beats over setting a high slideCount. The validator emits a warning if the deck's actual count differs significantly.",
|
|
157
|
+
"examples": [
|
|
158
|
+
1,
|
|
159
|
+
2,
|
|
160
|
+
3
|
|
161
|
+
]
|
|
162
|
+
},
|
|
163
|
+
"slideType": {
|
|
164
|
+
"type": "string",
|
|
165
|
+
"enum": [
|
|
166
|
+
"text",
|
|
167
|
+
"list",
|
|
168
|
+
"image",
|
|
169
|
+
"shape",
|
|
170
|
+
"chart",
|
|
171
|
+
"table",
|
|
172
|
+
"video",
|
|
173
|
+
"code",
|
|
174
|
+
"metric",
|
|
175
|
+
"quote",
|
|
176
|
+
"timeline"
|
|
177
|
+
],
|
|
178
|
+
"description": "Default content kind for the beat's slide. Mirrors ContentPayload.type and helps engines choose a sensible layout when only the beat is specified."
|
|
179
|
+
},
|
|
180
|
+
"layoutHint": {
|
|
181
|
+
"type": "string",
|
|
182
|
+
"description": "Suggested layout id for the beat's opening slide, e.g. 'section-divider', 'title-slide', 'text-left'. Resolves the same way as Slide.layout — against catalogs.layouts and the default catalog at https://www.pptx.gallery/layouts.",
|
|
183
|
+
"examples": [
|
|
184
|
+
"section-divider",
|
|
185
|
+
"title-slide",
|
|
186
|
+
"title-left",
|
|
187
|
+
"two-column",
|
|
188
|
+
"text-left"
|
|
189
|
+
]
|
|
190
|
+
},
|
|
191
|
+
"thoughtCues": {
|
|
192
|
+
"type": "array",
|
|
193
|
+
"items": {
|
|
194
|
+
"type": "string"
|
|
195
|
+
},
|
|
196
|
+
"description": "Optional speaker or thinking cues attached to the beat. Surfaced in presenter notes.",
|
|
197
|
+
"examples": [
|
|
198
|
+
[
|
|
199
|
+
"What pain is the audience feeling right now?",
|
|
200
|
+
"Why hasn't anyone solved this yet?"
|
|
201
|
+
]
|
|
202
|
+
]
|
|
203
|
+
}
|
|
204
|
+
}
|
|
205
|
+
}
|
|
206
|
+
}
|
|
207
|
+
}
|