@openpresentation/opf 0.1.0 → 0.2.1
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 +3831 -649
- 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 +105 -105
- package/dist/schemas.js +35 -35
- 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 +2536 -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-D7WwzKyx.d.ts} +16 -16
- package/dist/validator.d.ts +1 -1
- package/dist/validator.js +35 -35
- package/dist/validator.js.map +1 -1
- package/package.json +91 -80
package/dist/types.d.ts
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
export { P as Presentation, V as ValidationIssue, a as ValidationResult } from './validator-
|
|
1
|
+
export { P as Presentation, V as ValidationIssue, a as ValidationResult } from './validator-D7WwzKyx.js';
|
|
2
2
|
export { CatalogKind } from './catalogs.js';
|
|
3
3
|
export { SchemaName } from './schemas.js';
|
|
4
4
|
|
|
@@ -766,7 +766,7 @@ interface Beat {
|
|
|
766
766
|
}
|
|
767
767
|
|
|
768
768
|
/**
|
|
769
|
-
* Schema for social-platform records in the pptx.gallery library. Each record describes a single social-media platform
|
|
769
|
+
* Schema for social-platform records in the pptx.gallery library. Each record describes a single social-media platform — its base URL, profile-URL pattern, handle prefix, brand color, and themed icons. Records are referenced from OPF documents indirectly: the property keys of any Socials object (Organization.socials, Speaker.socials) match record ids, and renderers use the catalog record to format URLs and pick icons. The engine resolves references against catalogs.socialPlatforms (inline) → catalogs.socialPlatforms.source → the default catalog at https://www.pptx.gallery/social-platforms.
|
|
770
770
|
*/
|
|
771
771
|
interface SocialPlatform {
|
|
772
772
|
/**
|
|
@@ -774,7 +774,7 @@ interface SocialPlatform {
|
|
|
774
774
|
*/
|
|
775
775
|
$schema: "https://openpresentation.org/schema/opf-social-platform/v1";
|
|
776
776
|
/**
|
|
777
|
-
* Stable slug used by OPF documents to reference this platform
|
|
777
|
+
* Stable slug used by OPF documents to reference this platform — appears as a property key on Socials objects. Lowercase kebab-case.
|
|
778
778
|
*/
|
|
779
779
|
id: string;
|
|
780
780
|
/**
|
|
@@ -782,7 +782,7 @@ interface SocialPlatform {
|
|
|
782
782
|
*/
|
|
783
783
|
name: string;
|
|
784
784
|
/**
|
|
785
|
-
* One-sentence positioning of the platform
|
|
785
|
+
* One-sentence positioning of the platform — what it's used for and who's on it.
|
|
786
786
|
*/
|
|
787
787
|
summary?: string;
|
|
788
788
|
/**
|
|
@@ -790,7 +790,7 @@ interface SocialPlatform {
|
|
|
790
790
|
*/
|
|
791
791
|
description?: string;
|
|
792
792
|
/**
|
|
793
|
-
* Canonical base URL of the platform
|
|
793
|
+
* Canonical base URL of the platform — used as the prefix when normalizing handles to full URLs.
|
|
794
794
|
*/
|
|
795
795
|
baseUrl?: string;
|
|
796
796
|
/**
|
|
@@ -514,9 +514,9 @@ type ContentPayload = ({
|
|
|
514
514
|
*/
|
|
515
515
|
type CatalogSource = string;
|
|
516
516
|
/**
|
|
517
|
-
* Open-source JSON format for describing PowerPoint presentations. Agents describe narratives, content, audience, reusable assets, and design
|
|
517
|
+
* Open-source JSON format for describing PowerPoint presentations. Agents describe narratives, content, audience, reusable assets, and design — the engine handles OOXML complexity.
|
|
518
518
|
*
|
|
519
|
-
* Fields that reference catalog records (narrative, language, tone, audience, purpose, design.theme / design.theme.id, design.colorScheme / design.colorScheme.id, design.fontScheme / design.fontScheme.id, Slide.layout, Chart.type, Organization.socials / Speaker.socials) resolve through the catalog system: inline 'catalogs.<kind>.records[]' on the document
|
|
519
|
+
* Fields that reference catalog records (narrative, language, tone, audience, purpose, design.theme / design.theme.id, design.colorScheme / design.colorScheme.id, design.fontScheme / design.fontScheme.id, Slide.layout, Chart.type, Organization.socials / Speaker.socials) resolve through the catalog system: inline 'catalogs.<kind>.records[]' on the document → 'catalogs.<kind>.source' on the document → engine defaults → the default catalog at https://www.pptx.gallery/<kind>. Every reference resolves to the catalog record's 'id' field. When an OPF document omits a reference entirely, the engine falls back to engine defaults (see /spec/reference/engine-defaults.json for a reference example). The defaults file is engine configuration; it is not part of the OPF document contract and has no JSON Schema.
|
|
520
520
|
*
|
|
521
521
|
* Most catalog references accept the bare 'id' as a string for the common case (e.g. narrative = 'classic-story', design.colorScheme = 'cool-horizon'). Audience, purpose, tone, design, and language object forms use 'id' as a base catalog reference plus inline overrides. Asset references use 'asset:<id>' strings that point into the top-level assets registry.
|
|
522
522
|
*/
|
|
@@ -530,7 +530,7 @@ interface Presentation {
|
|
|
530
530
|
*/
|
|
531
531
|
name?: string;
|
|
532
532
|
/**
|
|
533
|
-
* Free-form prose describing what this presentation is about. Used by agents and humans as a deck-level summary; complements purpose (the goal) and narrative (the structured storyline). Round-trips to OOXML 'docProps/core.xml' as '<dc:description>' (PowerPoint surfaces this as the 'Comments' field in File
|
|
533
|
+
* Free-form prose describing what this presentation is about. Used by agents and humans as a deck-level summary; complements purpose (the goal) and narrative (the structured storyline). Round-trips to OOXML 'docProps/core.xml' as '<dc:description>' (PowerPoint surfaces this as the 'Comments' field in File → Properties).
|
|
534
534
|
*/
|
|
535
535
|
description?: string;
|
|
536
536
|
/**
|
|
@@ -554,7 +554,7 @@ interface Presentation {
|
|
|
554
554
|
* - A string shorthand: free-form description ('Series B investors'), an audiences catalog id ('executives'), an HTTPS URL, or a 'pkg:' reference.
|
|
555
555
|
* - An inline Audience object for custom audience metadata or catalog-backed overrides. Object form mirrors https://openpresentation.org/schema/opf-audience/v1 without '$schema'.
|
|
556
556
|
*
|
|
557
|
-
* Resolution order for catalog ids and references: inline catalogs.audiences.records[]
|
|
557
|
+
* Resolution order for catalog ids and references: inline catalogs.audiences.records[] → catalogs.audiences.source → default catalog at https://www.pptx.gallery/audiences.
|
|
558
558
|
*
|
|
559
559
|
* @minItems 1
|
|
560
560
|
*/
|
|
@@ -564,7 +564,7 @@ interface Presentation {
|
|
|
564
564
|
* - A string shorthand: free-form goal ('Raise a Series B round of $30M'), a purposes catalog id ('decide', 'align'), an HTTPS URL, or a 'pkg:' reference.
|
|
565
565
|
* - An inline Purpose object for custom purpose metadata or catalog-backed overrides. Object form mirrors https://openpresentation.org/schema/opf-purpose/v1 without '$schema'.
|
|
566
566
|
*
|
|
567
|
-
* Resolution order for catalog ids and references: inline catalogs.purposes.records[]
|
|
567
|
+
* Resolution order for catalog ids and references: inline catalogs.purposes.records[] → catalogs.purposes.source → default catalog at https://www.pptx.gallery/purposes.
|
|
568
568
|
*/
|
|
569
569
|
purpose?: (string | Purpose);
|
|
570
570
|
/**
|
|
@@ -572,7 +572,7 @@ interface Presentation {
|
|
|
572
572
|
* - A string shorthand: a BCP-47 language tag ('en-US', 'en-GB', 'ja-JP', 'fr'), a languages catalog id ('english', 'japanese'), an HTTPS URL, or a 'pkg:' reference.
|
|
573
573
|
* - An inline Language object for custom language metadata or catalog-backed overrides. Object form mirrors https://openpresentation.org/schema/opf-language/v1 without '$schema'.
|
|
574
574
|
*
|
|
575
|
-
* Resolution order for catalog ids and references: inline catalogs.languages.records[]
|
|
575
|
+
* Resolution order for catalog ids and references: inline catalogs.languages.records[] → catalogs.languages.source → default catalog at https://www.pptx.gallery/languages.
|
|
576
576
|
*/
|
|
577
577
|
language?: (string | Language);
|
|
578
578
|
/**
|
|
@@ -580,7 +580,7 @@ interface Presentation {
|
|
|
580
580
|
* - A string shorthand: a tones catalog id ('formal'), an HTTPS URL, or a 'pkg:' reference.
|
|
581
581
|
* - An inline Tone object for custom tone metadata or catalog-backed overrides. Object form mirrors https://openpresentation.org/schema/opf-tone/v1 without '$schema'.
|
|
582
582
|
*
|
|
583
|
-
* Resolution order for catalog ids and references: inline catalogs.tones.records[]
|
|
583
|
+
* Resolution order for catalog ids and references: inline catalogs.tones.records[] → catalogs.tones.source → default catalog at https://www.pptx.gallery/tones.
|
|
584
584
|
*/
|
|
585
585
|
tone?: (string | Tone);
|
|
586
586
|
/**
|
|
@@ -603,7 +603,7 @@ interface Presentation {
|
|
|
603
603
|
* - String shorthand for the common case: 'narrative = "classic-story"'. Accepts a bare id (lowercase kebab-case), an HTTPS URL pointing at a record file, or a 'pkg:' reference to a locally-installed package.
|
|
604
604
|
* - Object form for inline overrides or fully custom narratives: 'narrative = { id: "classic-story", beats: [...] }'. The object shape mirrors https://openpresentation.org/schema/opf-narrative/v1 (sans '$schema'), so a library record and an inline narrative are interchangeable.
|
|
605
605
|
*
|
|
606
|
-
* Resolution order: inline catalogs.narratives.records[]
|
|
606
|
+
* Resolution order: inline catalogs.narratives.records[] → catalogs.narratives.source → default catalog at https://www.pptx.gallery/narratives. Unknown ids produce a validation warning, not an error.
|
|
607
607
|
*
|
|
608
608
|
* Deck-level concerns that aren't part of the storyline (audience, tone, takeaway, duration) live as siblings on the presentation root rather than inside the narrative object.
|
|
609
609
|
*/
|
|
@@ -624,7 +624,7 @@ interface Presentation {
|
|
|
624
624
|
};
|
|
625
625
|
}
|
|
626
626
|
/**
|
|
627
|
-
* An organization associated with the presentation
|
|
627
|
+
* An organization associated with the presentation — typically the presenting company, but also hosts, partners, clients, or sponsors. Surfaced on cover slides, footers, and brand bars; the primary organization's logo is the default deck logo unless overridden by design.logo.
|
|
628
628
|
*
|
|
629
629
|
* This interface was referenced by `Presentation`'s JSON-Schema
|
|
630
630
|
* via the `definition` "Organization".
|
|
@@ -1046,11 +1046,11 @@ interface FontScheme {
|
|
|
1046
1046
|
*/
|
|
1047
1047
|
id?: string;
|
|
1048
1048
|
/**
|
|
1049
|
-
* Heading (major) font family
|
|
1049
|
+
* Heading (major) font family — mirrors the OOXML majorFont entry. Pairs with 'minor'.
|
|
1050
1050
|
*/
|
|
1051
1051
|
major?: string;
|
|
1052
1052
|
/**
|
|
1053
|
-
* Body (minor) font family
|
|
1053
|
+
* Body (minor) font family — mirrors the OOXML minorFont entry. Pairs with 'major'.
|
|
1054
1054
|
*/
|
|
1055
1055
|
minor?: string;
|
|
1056
1056
|
/**
|
|
@@ -1871,7 +1871,7 @@ interface HeaderFooterItem2 {
|
|
|
1871
1871
|
/**
|
|
1872
1872
|
* Structured storyline used by AI to shape generated content. Mirrors the OPF Narrative Template record at https://openpresentation.org/schema/opf-narrative/v1 (sans '$schema'), so a library record and an inline narrative are interchangeable.
|
|
1873
1873
|
*
|
|
1874
|
-
* Narrative declares the deck's intended story arc; slides may opt into beats via Slide.beat. The narrative does not constrain slide structure
|
|
1874
|
+
* Narrative declares the deck's intended story arc; slides may opt into beats via Slide.beat. The narrative does not constrain slide structure — validators warn on drift (orphan slides, unused beats) but never error. Slides are the source of truth; narrative is intent that travels with the deck.
|
|
1875
1875
|
*
|
|
1876
1876
|
* When 'id' matches a record in the resolved 'narratives' catalog, the inline fields override matching fields on the catalog record (beats merge by beat 'id'). When 'id' doesn't match, this object defines a fully custom inline narrative.
|
|
1877
1877
|
*
|
|
@@ -1938,7 +1938,7 @@ interface Narrative {
|
|
|
1938
1938
|
[k: string]: unknown;
|
|
1939
1939
|
}
|
|
1940
1940
|
/**
|
|
1941
|
-
* A single narrative beat
|
|
1941
|
+
* A single narrative beat — a labeled segment of the story arc with a specific dramatic purpose (e.g. 'hook', 'problem', 'evidence', 'ask'). Slides reference beats via Slide.beat. Beats may also carry slide-blueprint hints (slideType, layoutHint, thoughtCues, instructions) that guide the assigned slide.
|
|
1942
1942
|
*
|
|
1943
1943
|
* Mirrors the Beat definition in narrative.schema.json (https://openpresentation.org/schema/opf-narrative/v1) so library entries and inline OPF beats are interchangeable.
|
|
1944
1944
|
*
|
|
@@ -1959,7 +1959,7 @@ interface NarrativeBeat {
|
|
|
1959
1959
|
*/
|
|
1960
1960
|
description?: string;
|
|
1961
1961
|
/**
|
|
1962
|
-
* Short author-facing instruction for the beat
|
|
1962
|
+
* Short author-facing instruction for the beat — typically one phrase. Complements 'description' with a concise directive.
|
|
1963
1963
|
*/
|
|
1964
1964
|
instructions?: string;
|
|
1965
1965
|
/**
|
|
@@ -1971,7 +1971,7 @@ interface NarrativeBeat {
|
|
|
1971
1971
|
*/
|
|
1972
1972
|
slideType?: ("text" | "list" | "image" | "chart" | "table" | "video" | "code" | "metric" | "quote" | "timeline");
|
|
1973
1973
|
/**
|
|
1974
|
-
* Suggested layout id for the beat's opening slide. Resolves the same way as Slide.layout
|
|
1974
|
+
* Suggested layout id for the beat's opening slide. Resolves the same way as Slide.layout — against catalogs.layouts and the default catalog at https://www.pptx.gallery/layouts.
|
|
1975
1975
|
*/
|
|
1976
1976
|
layoutHint?: string;
|
|
1977
1977
|
/**
|
|
@@ -2002,7 +2002,7 @@ interface Slide {
|
|
|
2002
2002
|
/**
|
|
2003
2003
|
* Optional slide layout reference. Resolves to the 'id' of a 'layouts' catalog record. When omitted, engines infer a layout from the slide's root payload or promoted region keys. Accepts a bare id (lowercase kebab-case, e.g. 'title-subtitle'), an HTTPS URL pointing at a record file, or a 'pkg:' reference. Free-form custom layout names that don't resolve through any catalog fall through to engine-defined layouts.
|
|
2004
2004
|
*
|
|
2005
|
-
* Resolution order: inline catalogs.layouts.records[]
|
|
2005
|
+
* Resolution order: inline catalogs.layouts.records[] → catalogs.layouts.source → default catalog at https://www.pptx.gallery/layouts.
|
|
2006
2006
|
*/
|
|
2007
2007
|
layout?: string;
|
|
2008
2008
|
/**
|
package/dist/validator.d.ts
CHANGED
|
@@ -1,3 +1,3 @@
|
|
|
1
1
|
import './catalogs.js';
|
|
2
|
-
export { O as OPFValidationError, S as SchemaOrKind, V as ValidationIssue, a as ValidationResult, b as assertValid, c as assertValidCatalogRecord, d as assertValidPresentation, v as validate, e as validateCatalogRecord, f as validatePresentation } from './validator-
|
|
2
|
+
export { O as OPFValidationError, S as SchemaOrKind, V as ValidationIssue, a as ValidationResult, b as assertValid, c as assertValidCatalogRecord, d as assertValidPresentation, v as validate, e as validateCatalogRecord, f as validatePresentation } from './validator-D7WwzKyx.js';
|
|
3
3
|
import './schemas.js';
|
package/dist/validator.js
CHANGED
|
@@ -20,8 +20,8 @@ var catalogSchemaNames = {
|
|
|
20
20
|
var presentation = {
|
|
21
21
|
"$schema": "https://json-schema.org/draft/2020-12/schema",
|
|
22
22
|
"$id": "https://openpresentation.org/schema/opf/v1",
|
|
23
|
-
"title": "
|
|
24
|
-
"description": "Open-source JSON format for describing PowerPoint presentations. Agents describe narratives, content, audience, reusable assets, and design \
|
|
23
|
+
"title": "Presentation",
|
|
24
|
+
"description": "Open-source JSON format for describing PowerPoint presentations. Agents describe narratives, content, audience, reusable assets, and design \u2014 the engine handles OOXML complexity.\n\nFields that reference catalog records (narrative, language, tone, audience, purpose, design.theme / design.theme.id, design.colorScheme / design.colorScheme.id, design.fontScheme / design.fontScheme.id, Slide.layout, Chart.type, Organization.socials / Speaker.socials) resolve through the catalog system: inline 'catalogs.<kind>.records[]' on the document \u2192 'catalogs.<kind>.source' on the document \u2192 engine defaults \u2192 the default catalog at https://www.pptx.gallery/<kind>. Every reference resolves to the catalog record's 'id' field. When an OPF document omits a reference entirely, the engine falls back to engine defaults (see /spec/reference/engine-defaults.json for a reference example). The defaults file is engine configuration; it is not part of the OPF document contract and has no JSON Schema.\n\nMost catalog references accept the bare 'id' as a string for the common case (e.g. narrative = 'classic-story', design.colorScheme = 'cool-horizon'). Audience, purpose, tone, design, and language object forms use 'id' as a base catalog reference plus inline overrides. Asset references use 'asset:<id>' strings that point into the top-level assets registry.",
|
|
25
25
|
"type": "object",
|
|
26
26
|
"required": [
|
|
27
27
|
"slides"
|
|
@@ -38,13 +38,13 @@ var presentation = {
|
|
|
38
38
|
"description": "Display name of the presentation for GUI/TUI lists, library/search indexing, OS-level metadata, and default export filenames. This is deck identity, not slide content. Use slides[].title and slides[].subtitle for text that should appear on presented slides.",
|
|
39
39
|
"examples": [
|
|
40
40
|
"Q4 2026 Business Review",
|
|
41
|
-
"Series B Pitch \
|
|
41
|
+
"Series B Pitch \u2014 Acme",
|
|
42
42
|
"The Future of Agentic Workflows"
|
|
43
43
|
]
|
|
44
44
|
},
|
|
45
45
|
"description": {
|
|
46
46
|
"type": "string",
|
|
47
|
-
"description": "Free-form prose describing what this presentation is about. Used by agents and humans as a deck-level summary; complements purpose (the goal) and narrative (the structured storyline). Round-trips to OOXML 'docProps/core.xml' as '<dc:description>' (PowerPoint surfaces this as the 'Comments' field in File \
|
|
47
|
+
"description": "Free-form prose describing what this presentation is about. Used by agents and humans as a deck-level summary; complements purpose (the goal) and narrative (the structured storyline). Round-trips to OOXML 'docProps/core.xml' as '<dc:description>' (PowerPoint surfaces this as the 'Comments' field in File \u2192 Properties).",
|
|
48
48
|
"examples": [
|
|
49
49
|
"Quarterly business review covering revenue, product, and hiring milestones for the executive team."
|
|
50
50
|
]
|
|
@@ -122,7 +122,7 @@ var presentation = {
|
|
|
122
122
|
]
|
|
123
123
|
},
|
|
124
124
|
"minItems": 1,
|
|
125
|
-
"description": "Intended audiences for the presentation. Each item accepts either:\n- A string shorthand: free-form description ('Series B investors'), an audiences catalog id ('executives'), an HTTPS URL, or a 'pkg:' reference.\n- An inline Audience object for custom audience metadata or catalog-backed overrides. Object form mirrors https://openpresentation.org/schema/opf-audience/v1 without '$schema'.\n\nResolution order for catalog ids and references: inline catalogs.audiences.records[] \
|
|
125
|
+
"description": "Intended audiences for the presentation. Each item accepts either:\n- A string shorthand: free-form description ('Series B investors'), an audiences catalog id ('executives'), an HTTPS URL, or a 'pkg:' reference.\n- An inline Audience object for custom audience metadata or catalog-backed overrides. Object form mirrors https://openpresentation.org/schema/opf-audience/v1 without '$schema'.\n\nResolution order for catalog ids and references: inline catalogs.audiences.records[] \u2192 catalogs.audiences.source \u2192 default catalog at https://www.pptx.gallery/audiences.",
|
|
126
126
|
"examples": [
|
|
127
127
|
[
|
|
128
128
|
"executives"
|
|
@@ -158,7 +158,7 @@ var presentation = {
|
|
|
158
158
|
"$ref": "#/$defs/Purpose"
|
|
159
159
|
}
|
|
160
160
|
],
|
|
161
|
-
"description": "Primary goal of the presentation. Accepts either:\n- A string shorthand: free-form goal ('Raise a Series B round of $30M'), a purposes catalog id ('decide', 'align'), an HTTPS URL, or a 'pkg:' reference.\n- An inline Purpose object for custom purpose metadata or catalog-backed overrides. Object form mirrors https://openpresentation.org/schema/opf-purpose/v1 without '$schema'.\n\nResolution order for catalog ids and references: inline catalogs.purposes.records[] \
|
|
161
|
+
"description": "Primary goal of the presentation. Accepts either:\n- A string shorthand: free-form goal ('Raise a Series B round of $30M'), a purposes catalog id ('decide', 'align'), an HTTPS URL, or a 'pkg:' reference.\n- An inline Purpose object for custom purpose metadata or catalog-backed overrides. Object form mirrors https://openpresentation.org/schema/opf-purpose/v1 without '$schema'.\n\nResolution order for catalog ids and references: inline catalogs.purposes.records[] \u2192 catalogs.purposes.source \u2192 default catalog at https://www.pptx.gallery/purposes.",
|
|
162
162
|
"examples": [
|
|
163
163
|
"Raise a Series B round of $30M",
|
|
164
164
|
"align",
|
|
@@ -184,7 +184,7 @@ var presentation = {
|
|
|
184
184
|
"$ref": "#/$defs/Language"
|
|
185
185
|
}
|
|
186
186
|
],
|
|
187
|
-
"description": "Language for the presentation content. Accepts either:\n- A string shorthand: a BCP-47 language tag ('en-US', 'en-GB', 'ja-JP', 'fr'), a languages catalog id ('english', 'japanese'), an HTTPS URL, or a 'pkg:' reference.\n- An inline Language object for custom language metadata or catalog-backed overrides. Object form mirrors https://openpresentation.org/schema/opf-language/v1 without '$schema'.\n\nResolution order for catalog ids and references: inline catalogs.languages.records[] \
|
|
187
|
+
"description": "Language for the presentation content. Accepts either:\n- A string shorthand: a BCP-47 language tag ('en-US', 'en-GB', 'ja-JP', 'fr'), a languages catalog id ('english', 'japanese'), an HTTPS URL, or a 'pkg:' reference.\n- An inline Language object for custom language metadata or catalog-backed overrides. Object form mirrors https://openpresentation.org/schema/opf-language/v1 without '$schema'.\n\nResolution order for catalog ids and references: inline catalogs.languages.records[] \u2192 catalogs.languages.source \u2192 default catalog at https://www.pptx.gallery/languages.",
|
|
188
188
|
"examples": [
|
|
189
189
|
"en-US",
|
|
190
190
|
"en-GB",
|
|
@@ -218,7 +218,7 @@ var presentation = {
|
|
|
218
218
|
"$ref": "#/$defs/Tone"
|
|
219
219
|
}
|
|
220
220
|
],
|
|
221
|
-
"description": "Desired tone for the presentation. Accepts either:\n- A string shorthand: a tones catalog id ('formal'), an HTTPS URL, or a 'pkg:' reference.\n- An inline Tone object for custom tone metadata or catalog-backed overrides. Object form mirrors https://openpresentation.org/schema/opf-tone/v1 without '$schema'.\n\nResolution order for catalog ids and references: inline catalogs.tones.records[] \
|
|
221
|
+
"description": "Desired tone for the presentation. Accepts either:\n- A string shorthand: a tones catalog id ('formal'), an HTTPS URL, or a 'pkg:' reference.\n- An inline Tone object for custom tone metadata or catalog-backed overrides. Object form mirrors https://openpresentation.org/schema/opf-tone/v1 without '$schema'.\n\nResolution order for catalog ids and references: inline catalogs.tones.records[] \u2192 catalogs.tones.source \u2192 default catalog at https://www.pptx.gallery/tones.",
|
|
222
222
|
"examples": [
|
|
223
223
|
"formal",
|
|
224
224
|
"casual",
|
|
@@ -308,7 +308,7 @@ Accepts two forms:
|
|
|
308
308
|
- String shorthand for the common case: 'narrative = "classic-story"'. Accepts a bare id (lowercase kebab-case), an HTTPS URL pointing at a record file, or a 'pkg:' reference to a locally-installed package.
|
|
309
309
|
- Object form for inline overrides or fully custom narratives: 'narrative = { id: "classic-story", beats: [...] }'. The object shape mirrors https://openpresentation.org/schema/opf-narrative/v1 (sans '$schema'), so a library record and an inline narrative are interchangeable.
|
|
310
310
|
|
|
311
|
-
Resolution order: inline catalogs.narratives.records[] \
|
|
311
|
+
Resolution order: inline catalogs.narratives.records[] \u2192 catalogs.narratives.source \u2192 default catalog at https://www.pptx.gallery/narratives. Unknown ids produce a validation warning, not an error.
|
|
312
312
|
|
|
313
313
|
Deck-level concerns that aren't part of the storyline (audience, tone, takeaway, duration) live as siblings on the presentation root rather than inside the narrative object.`,
|
|
314
314
|
"examples": [
|
|
@@ -799,7 +799,7 @@ Deck-level concerns that aren't part of the storyline (audience, tone, takeaway,
|
|
|
799
799
|
},
|
|
800
800
|
"Organization": {
|
|
801
801
|
"type": "object",
|
|
802
|
-
"description": "An organization associated with the presentation \
|
|
802
|
+
"description": "An organization associated with the presentation \u2014 typically the presenting company, but also hosts, partners, clients, or sponsors. Surfaced on cover slides, footers, and brand bars; the primary organization's logo is the default deck logo unless overridden by design.logo.",
|
|
803
803
|
"required": [
|
|
804
804
|
"id",
|
|
805
805
|
"name"
|
|
@@ -983,7 +983,7 @@ Deck-level concerns that aren't part of the storyline (audience, tone, takeaway,
|
|
|
983
983
|
},
|
|
984
984
|
"Socials": {
|
|
985
985
|
"type": "object",
|
|
986
|
-
"description": "Social media handles or URLs, keyed by platform id from the 'socialPlatforms' catalog. Each value is a string \
|
|
986
|
+
"description": "Social media handles or URLs, keyed by platform id from the 'socialPlatforms' catalog. Each value is a string \u2014 either a full URL or a platform handle (e.g., '@acme'). The catalog record for each platform carries the URL pattern, handle prefix, brand color, and themed icons used by renderers.\n\nKeys resolve to the 'id' of a 'socialPlatforms' catalog record. Resolution order: inline catalogs.socialPlatforms.records[] \u2192 catalogs.socialPlatforms.source \u2192 default catalog at https://www.pptx.gallery/social-platforms. Unknown platform keys render with engine fallbacks (the raw value as text). Used both for organization and speaker records.",
|
|
987
987
|
"additionalProperties": {
|
|
988
988
|
"type": "string",
|
|
989
989
|
"description": "Handle or URL for the platform identified by the property key."
|
|
@@ -1007,7 +1007,7 @@ Deck-level concerns that aren't part of the storyline (audience, tone, takeaway,
|
|
|
1007
1007
|
},
|
|
1008
1008
|
"Narrative": {
|
|
1009
1009
|
"type": "object",
|
|
1010
|
-
"description": "Structured storyline used by AI to shape generated content. Mirrors the OPF Narrative Template record at https://openpresentation.org/schema/opf-narrative/v1 (sans '$schema'), so a library record and an inline narrative are interchangeable.\n\nNarrative declares the deck's intended story arc; slides may opt into beats via Slide.beat. The narrative does not constrain slide structure \
|
|
1010
|
+
"description": "Structured storyline used by AI to shape generated content. Mirrors the OPF Narrative Template record at https://openpresentation.org/schema/opf-narrative/v1 (sans '$schema'), so a library record and an inline narrative are interchangeable.\n\nNarrative declares the deck's intended story arc; slides may opt into beats via Slide.beat. The narrative does not constrain slide structure \u2014 validators warn on drift (orphan slides, unused beats) but never error. Slides are the source of truth; narrative is intent that travels with the deck.\n\nWhen 'id' matches a record in the resolved 'narratives' catalog, the inline fields override matching fields on the catalog record (beats merge by beat 'id'). When 'id' doesn't match, this object defines a fully custom inline narrative.\n\nDeck-level concerns that aren't part of the storyline (audience, tone, takeaway, duration) live as siblings on the presentation root rather than inside this object.",
|
|
1011
1011
|
"properties": {
|
|
1012
1012
|
"id": {
|
|
1013
1013
|
"type": "string",
|
|
@@ -1028,7 +1028,7 @@ Deck-level concerns that aren't part of the storyline (audience, tone, takeaway,
|
|
|
1028
1028
|
"description": "Human-readable narrative name.",
|
|
1029
1029
|
"examples": [
|
|
1030
1030
|
"Classic Story",
|
|
1031
|
-
"Problem \
|
|
1031
|
+
"Problem \u2192 Solution",
|
|
1032
1032
|
"SCQA",
|
|
1033
1033
|
"Founder Pitch"
|
|
1034
1034
|
]
|
|
@@ -1118,7 +1118,7 @@ Deck-level concerns that aren't part of the storyline (audience, tone, takeaway,
|
|
|
1118
1118
|
},
|
|
1119
1119
|
"NarrativeBeat": {
|
|
1120
1120
|
"type": "object",
|
|
1121
|
-
"description": "A single narrative beat \
|
|
1121
|
+
"description": "A single narrative beat \u2014 a labeled segment of the story arc with a specific dramatic purpose (e.g. 'hook', 'problem', 'evidence', 'ask'). Slides reference beats via Slide.beat. Beats may also carry slide-blueprint hints (slideType, layoutHint, thoughtCues, instructions) that guide the assigned slide.\n\nMirrors the Beat definition in narrative.schema.json (https://openpresentation.org/schema/opf-narrative/v1) so library entries and inline OPF beats are interchangeable.",
|
|
1122
1122
|
"required": [
|
|
1123
1123
|
"id",
|
|
1124
1124
|
"name"
|
|
@@ -1155,7 +1155,7 @@ Deck-level concerns that aren't part of the storyline (audience, tone, takeaway,
|
|
|
1155
1155
|
},
|
|
1156
1156
|
"instructions": {
|
|
1157
1157
|
"type": "string",
|
|
1158
|
-
"description": "Short author-facing instruction for the beat \
|
|
1158
|
+
"description": "Short author-facing instruction for the beat \u2014 typically one phrase. Complements 'description' with a concise directive.",
|
|
1159
1159
|
"examples": [
|
|
1160
1160
|
"Capture audience attention",
|
|
1161
1161
|
"Introduce problem",
|
|
@@ -1186,7 +1186,7 @@ Deck-level concerns that aren't part of the storyline (audience, tone, takeaway,
|
|
|
1186
1186
|
},
|
|
1187
1187
|
"layoutHint": {
|
|
1188
1188
|
"type": "string",
|
|
1189
|
-
"description": "Suggested layout id for the beat's opening slide. Resolves the same way as Slide.layout \
|
|
1189
|
+
"description": "Suggested layout id for the beat's opening slide. Resolves the same way as Slide.layout \u2014 against catalogs.layouts and the default catalog at https://www.pptx.gallery/layouts.",
|
|
1190
1190
|
"examples": [
|
|
1191
1191
|
"section-divider",
|
|
1192
1192
|
"title-slide",
|
|
@@ -1842,7 +1842,7 @@ Resolution order: inline catalogs.fontSchemes.records[] -> catalogs.fontSchemes.
|
|
|
1842
1842
|
},
|
|
1843
1843
|
"major": {
|
|
1844
1844
|
"type": "string",
|
|
1845
|
-
"description": "Heading (major) font family \
|
|
1845
|
+
"description": "Heading (major) font family \u2014 mirrors the OOXML majorFont entry. Pairs with 'minor'.",
|
|
1846
1846
|
"examples": [
|
|
1847
1847
|
"Aptos Display",
|
|
1848
1848
|
"Calibri",
|
|
@@ -1852,7 +1852,7 @@ Resolution order: inline catalogs.fontSchemes.records[] -> catalogs.fontSchemes.
|
|
|
1852
1852
|
},
|
|
1853
1853
|
"minor": {
|
|
1854
1854
|
"type": "string",
|
|
1855
|
-
"description": "Body (minor) font family \
|
|
1855
|
+
"description": "Body (minor) font family \u2014 mirrors the OOXML minorFont entry. Pairs with 'major'.",
|
|
1856
1856
|
"examples": [
|
|
1857
1857
|
"Aptos",
|
|
1858
1858
|
"Calibri",
|
|
@@ -2421,7 +2421,7 @@ Resolution order: inline catalogs.fontSchemes.records[] -> catalogs.fontSchemes.
|
|
|
2421
2421
|
},
|
|
2422
2422
|
"layout": {
|
|
2423
2423
|
"type": "string",
|
|
2424
|
-
"description": "Optional slide layout reference. Resolves to the 'id' of a 'layouts' catalog record. When omitted, engines infer a layout from the slide's root payload or promoted region keys. Accepts a bare id (lowercase kebab-case, e.g. 'title-subtitle'), an HTTPS URL pointing at a record file, or a 'pkg:' reference. Free-form custom layout names that don't resolve through any catalog fall through to engine-defined layouts.\n\nResolution order: inline catalogs.layouts.records[] \
|
|
2424
|
+
"description": "Optional slide layout reference. Resolves to the 'id' of a 'layouts' catalog record. When omitted, engines infer a layout from the slide's root payload or promoted region keys. Accepts a bare id (lowercase kebab-case, e.g. 'title-subtitle'), an HTTPS URL pointing at a record file, or a 'pkg:' reference. Free-form custom layout names that don't resolve through any catalog fall through to engine-defined layouts.\n\nResolution order: inline catalogs.layouts.records[] \u2192 catalogs.layouts.source \u2192 default catalog at https://www.pptx.gallery/layouts.",
|
|
2425
2425
|
"examples": [
|
|
2426
2426
|
"title",
|
|
2427
2427
|
"title-subtitle",
|
|
@@ -3760,7 +3760,7 @@ Resolution order: inline catalogs.fontSchemes.records[] -> catalogs.fontSchemes.
|
|
|
3760
3760
|
},
|
|
3761
3761
|
"Catalogs": {
|
|
3762
3762
|
"type": "object",
|
|
3763
|
-
"description": "Catalog overrides for the in-document references. Every property is optional. The default catalog for a kind lives at https://www.pptx.gallery/<kind> (e.g. https://www.pptx.gallery/narratives, https://www.pptx.gallery/themes). For each kind, declaring a 'source' replaces the default registry and/or 'records' adds inline records that take precedence over anything fetched from a source.\n\nResolution order for any reference (e.g. narrative, design.theme): inline catalogs.<kind>.records[] \
|
|
3763
|
+
"description": "Catalog overrides for the in-document references. Every property is optional. The default catalog for a kind lives at https://www.pptx.gallery/<kind> (e.g. https://www.pptx.gallery/narratives, https://www.pptx.gallery/themes). For each kind, declaring a 'source' replaces the default registry and/or 'records' adds inline records that take precedence over anything fetched from a source.\n\nResolution order for any reference (e.g. narrative, design.theme): inline catalogs.<kind>.records[] \u2192 catalogs.<kind>.source \u2192 default catalog at https://www.pptx.gallery/<kind>. Every reference resolves to the catalog record's 'id' field. References that are themselves URLs or 'pkg:' references skip the catalog lookup and resolve directly.",
|
|
3764
3764
|
"properties": {
|
|
3765
3765
|
"narratives": {
|
|
3766
3766
|
"$ref": "#/$defs/CatalogEntry",
|
|
@@ -3852,7 +3852,7 @@ Resolution order: inline catalogs.fontSchemes.records[] -> catalogs.fontSchemes.
|
|
|
3852
3852
|
var audience = {
|
|
3853
3853
|
"$schema": "https://json-schema.org/draft/2020-12/schema",
|
|
3854
3854
|
"$id": "https://openpresentation.org/schema/opf-audience/v1",
|
|
3855
|
-
"title": "
|
|
3855
|
+
"title": "Audience",
|
|
3856
3856
|
"description": "Schema for audience records in the pptx.gallery library. Each record names an audience archetype (e.g. 'executives', 'engineering-team', 'investors') and carries seniority, technical-fluency, decision-power, and attention-budget hints used by AI-driven generation. Audiences are referenced from OPF documents via audience; the engine resolves the reference against catalogs.audiences (inline) \u2192 catalogs.audiences.source \u2192 the default catalog at https://www.pptx.gallery/audiences. The audience field also accepts free-form strings; this catalog is for engine-aware audience archetypes that carry generation hints.",
|
|
3857
3857
|
"type": "object",
|
|
3858
3858
|
"required": [
|
|
@@ -4024,7 +4024,7 @@ var audience = {
|
|
|
4024
4024
|
var purpose = {
|
|
4025
4025
|
"$schema": "https://json-schema.org/draft/2020-12/schema",
|
|
4026
4026
|
"$id": "https://openpresentation.org/schema/opf-purpose/v1",
|
|
4027
|
-
"title": "
|
|
4027
|
+
"title": "Purpose",
|
|
4028
4028
|
"description": "Schema for purpose records in the pptx.gallery library. Each record names a presentation objective such as informing, aligning, persuading, driving a decision, or selling. Purposes are referenced from OPF documents via purpose; the engine resolves the reference against catalogs.purposes (inline) \u2192 catalogs.purposes.source \u2192 the default catalog at https://www.pptx.gallery/purposes. The purpose field also accepts free-form strings and inline Purpose objects.",
|
|
4029
4029
|
"type": "object",
|
|
4030
4030
|
"required": [
|
|
@@ -4135,7 +4135,7 @@ var purpose = {
|
|
|
4135
4135
|
var tone = {
|
|
4136
4136
|
"$schema": "https://json-schema.org/draft/2020-12/schema",
|
|
4137
4137
|
"$id": "https://openpresentation.org/schema/opf-tone/v1",
|
|
4138
|
-
"title": "
|
|
4138
|
+
"title": "Tone",
|
|
4139
4139
|
"description": "Schema for tone records in the pptx.gallery library. Each record names a presentation tone (e.g. 'formal', 'casual', 'inspirational') and carries voice cues, anti-patterns, and sample phrases that AI-driven generation uses to shape output. Tones are referenced from OPF documents via tone; the engine resolves the reference against catalogs.tones (inline) \u2192 catalogs.tones.source \u2192 the default catalog at https://www.pptx.gallery/tones.",
|
|
4140
4140
|
"type": "object",
|
|
4141
4141
|
"required": [
|
|
@@ -4294,7 +4294,7 @@ var tone = {
|
|
|
4294
4294
|
var theme = {
|
|
4295
4295
|
"$schema": "https://json-schema.org/draft/2020-12/schema",
|
|
4296
4296
|
"$id": "https://openpresentation.org/schema/opf-theme/v1",
|
|
4297
|
-
"title": "
|
|
4297
|
+
"title": "Theme",
|
|
4298
4298
|
"description": "Schema for theme records in the pptx.gallery library. Each theme is a small, named bundle that pairs a color scheme, a font scheme, a default theme-controlled background, and a slide size. Themes are referenced from OPF documents via design.theme or design.theme.id; the engine resolves the reference against catalogs.themes (inline) \u2192 catalogs.themes.source \u2192 the default catalog at https://www.pptx.gallery/themes. Inline overrides on design.colorScheme / design.fontScheme / design.background / design.dimensions take precedence over a resolved theme.",
|
|
4299
4299
|
"type": "object",
|
|
4300
4300
|
"required": [
|
|
@@ -4470,7 +4470,7 @@ var theme = {
|
|
|
4470
4470
|
var layout = {
|
|
4471
4471
|
"$schema": "https://json-schema.org/draft/2020-12/schema",
|
|
4472
4472
|
"$id": "https://openpresentation.org/schema/opf-layout/v1",
|
|
4473
|
-
"title": "
|
|
4473
|
+
"title": "Slide Layout",
|
|
4474
4474
|
"description": "Schema for slide-layout records in the pptx.gallery library. Each record describes a semantic slide layout \u2014 what regions it exposes and what content kinds those regions are intended to hold. Layouts are referenced from OPF documents via Slide.layout; the engine resolves the reference against catalogs.layouts (inline) \u2192 catalogs.layouts.source \u2192 the default catalog at https://www.pptx.gallery/layouts. Free-form custom layout names that don't resolve through any catalog fall through to engine-defined layouts.",
|
|
4475
4475
|
"type": "object",
|
|
4476
4476
|
"required": [
|
|
@@ -4752,7 +4752,7 @@ var layout = {
|
|
|
4752
4752
|
var chartType = {
|
|
4753
4753
|
"$schema": "https://json-schema.org/draft/2020-12/schema",
|
|
4754
4754
|
"$id": "https://openpresentation.org/schema/opf-chart-type/v1",
|
|
4755
|
-
"title": "
|
|
4755
|
+
"title": "Chart Type",
|
|
4756
4756
|
"description": "Schema for chart-type records in the pptx.gallery catalog. Each record describes a named chart variant, its Open XML mapping, its series/category cardinality, the column structure of the underlying workbook, and a small sample dataset suitable for previews. Chart types are referenced from OPF chart content payloads; the engine resolves the reference against catalogs.chartTypes (inline) -> catalogs.chartTypes.source -> the default catalog at https://www.pptx.gallery/chart-types.",
|
|
4757
4757
|
"type": "object",
|
|
4758
4758
|
"additionalProperties": false,
|
|
@@ -5289,7 +5289,7 @@ var chartType = {
|
|
|
5289
5289
|
var narrative = {
|
|
5290
5290
|
"$schema": "https://json-schema.org/draft/2020-12/schema",
|
|
5291
5291
|
"$id": "https://openpresentation.org/schema/opf-narrative/v1",
|
|
5292
|
-
"title": "
|
|
5292
|
+
"title": "Narrative Template",
|
|
5293
5293
|
"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 \u2014 either as a bare id string (e.g. 'classic-story') or as an inline object whose shape matches this schema (sans '$schema').",
|
|
5294
5294
|
"type": "object",
|
|
5295
5295
|
"required": [
|
|
@@ -5496,8 +5496,8 @@ var narrative = {
|
|
|
5496
5496
|
var socialPlatform = {
|
|
5497
5497
|
"$schema": "https://json-schema.org/draft/2020-12/schema",
|
|
5498
5498
|
"$id": "https://openpresentation.org/schema/opf-social-platform/v1",
|
|
5499
|
-
"title": "
|
|
5500
|
-
"description": "Schema for social-platform records in the pptx.gallery library. Each record describes a single social-media platform \
|
|
5499
|
+
"title": "Social Platform",
|
|
5500
|
+
"description": "Schema for social-platform records in the pptx.gallery library. Each record describes a single social-media platform \u2014 its base URL, profile-URL pattern, handle prefix, brand color, and themed icons. Records are referenced from OPF documents indirectly: the property keys of any Socials object (Organization.socials, Speaker.socials) match record ids, and renderers use the catalog record to format URLs and pick icons. The engine resolves references against catalogs.socialPlatforms (inline) \u2192 catalogs.socialPlatforms.source \u2192 the default catalog at https://www.pptx.gallery/social-platforms.",
|
|
5501
5501
|
"type": "object",
|
|
5502
5502
|
"required": [
|
|
5503
5503
|
"$schema",
|
|
@@ -5513,7 +5513,7 @@ var socialPlatform = {
|
|
|
5513
5513
|
"id": {
|
|
5514
5514
|
"type": "string",
|
|
5515
5515
|
"pattern": "^[a-z][a-z0-9-]*$",
|
|
5516
|
-
"description": "Stable slug used by OPF documents to reference this platform \
|
|
5516
|
+
"description": "Stable slug used by OPF documents to reference this platform \u2014 appears as a property key on Socials objects. Lowercase kebab-case.",
|
|
5517
5517
|
"examples": [
|
|
5518
5518
|
"linkedin",
|
|
5519
5519
|
"x",
|
|
@@ -5545,7 +5545,7 @@ var socialPlatform = {
|
|
|
5545
5545
|
},
|
|
5546
5546
|
"summary": {
|
|
5547
5547
|
"type": "string",
|
|
5548
|
-
"description": "One-sentence positioning of the platform \
|
|
5548
|
+
"description": "One-sentence positioning of the platform \u2014 what it's used for and who's on it.",
|
|
5549
5549
|
"examples": [
|
|
5550
5550
|
"Professional social network for individuals and companies.",
|
|
5551
5551
|
"Real-time microblog for news, opinions, and discussion."
|
|
@@ -5561,7 +5561,7 @@ var socialPlatform = {
|
|
|
5561
5561
|
"baseUrl": {
|
|
5562
5562
|
"type": "string",
|
|
5563
5563
|
"format": "uri",
|
|
5564
|
-
"description": "Canonical base URL of the platform \
|
|
5564
|
+
"description": "Canonical base URL of the platform \u2014 used as the prefix when normalizing handles to full URLs.",
|
|
5565
5565
|
"examples": [
|
|
5566
5566
|
"https://linkedin.com",
|
|
5567
5567
|
"https://x.com",
|
|
@@ -5695,7 +5695,7 @@ var socialPlatform = {
|
|
|
5695
5695
|
var language = {
|
|
5696
5696
|
"$schema": "https://json-schema.org/draft/2020-12/schema",
|
|
5697
5697
|
"$id": "https://openpresentation.org/schema/opf-language/v1",
|
|
5698
|
-
"title": "
|
|
5698
|
+
"title": "Language",
|
|
5699
5699
|
"description": "Schema for language records in the pptx.gallery library. Each record names a presentation language, carries a BCP-47 language tag, and pairs it with sensible default font schemes for PowerPoint and Google Slides output. Languages are referenced from OPF documents via language; the engine resolves the reference against catalogs.languages (inline) \u2192 catalogs.languages.source \u2192 the default catalog at https://www.pptx.gallery/languages. The presentation language field also accepts BCP-47 tags directly or inline Language objects for engine-aware language records that carry default-font hints.",
|
|
5700
5700
|
"type": "object",
|
|
5701
5701
|
"required": [
|
|
@@ -5865,7 +5865,7 @@ var language = {
|
|
|
5865
5865
|
var colorScheme = {
|
|
5866
5866
|
"$schema": "https://json-schema.org/draft/2020-12/schema",
|
|
5867
5867
|
"$id": "https://openpresentation.org/schema/opf-color-scheme/v1",
|
|
5868
|
-
"title": "
|
|
5868
|
+
"title": "Color Scheme",
|
|
5869
5869
|
"description": "Schema for color-scheme records in the pptx.gallery library. Each scheme is a named palette with the twelve PowerPoint color slots (six accents, two darks, two lights, plus hyperlink and followed-hyperlink), suitable for being mapped directly into OOXML theme XML. Color schemes are referenced from OPF documents via design.colorScheme or design.colorScheme.id; the engine resolves the reference against catalogs.colorSchemes (inline) -> catalogs.colorSchemes.source -> the default catalog at https://www.pptx.gallery/color-schemes. Slot overrides on design.colorScheme take precedence over the resolved scheme.\n\nThe slot fields here mirror the inline-override fields on the in-document ColorScheme type (in opf.schema.json), so library entries and inline OPF overrides are interchangeable.",
|
|
5870
5870
|
"type": "object",
|
|
5871
5871
|
"required": [
|
|
@@ -6065,7 +6065,7 @@ var colorScheme = {
|
|
|
6065
6065
|
var fontScheme = {
|
|
6066
6066
|
"$schema": "https://json-schema.org/draft/2020-12/schema",
|
|
6067
6067
|
"$id": "https://openpresentation.org/schema/opf-font-scheme/v1",
|
|
6068
|
-
"title": "
|
|
6068
|
+
"title": "Font Scheme",
|
|
6069
6069
|
"description": "Schema for font-scheme records in the pptx.gallery library. Each scheme pairs a major (heading) and minor (body) font family in the OOXML majorFont/minorFont sense, scoped to a target app (PowerPoint or Google Slides) and a language family (Latin, East Asian, or Complex Script). Font schemes are referenced from OPF documents via design.fontScheme or design.fontScheme.id; the engine resolves the reference against catalogs.fontSchemes (inline) \u2192 catalogs.fontSchemes.source \u2192 the default catalog at https://www.pptx.gallery/font-schemes. Role overrides on design.fontScheme (heading, body, accent, code) take precedence over the resolved scheme.",
|
|
6070
6070
|
"type": "object",
|
|
6071
6071
|
"required": [
|