@m0saic/templates 0.2.0

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.
Files changed (889) hide show
  1. package/LICENSE +13 -0
  2. package/README.md +7 -0
  3. package/dist/freeze.d.ts +406 -0
  4. package/dist/freeze.js +855 -0
  5. package/dist/gen-geometry-matrix.d.ts +1 -0
  6. package/dist/gen-geometry-matrix.js +177 -0
  7. package/dist/gen-geometry-proof.d.ts +1 -0
  8. package/dist/gen-geometry-proof.js +259 -0
  9. package/dist/gen-layout-envelope.d.ts +1 -0
  10. package/dist/gen-layout-envelope.js +120 -0
  11. package/dist/gen-precision-sweep.d.ts +1 -0
  12. package/dist/gen-precision-sweep.js +219 -0
  13. package/dist/gen-props-shape.d.ts +1 -0
  14. package/dist/gen-props-shape.js +269 -0
  15. package/dist/gen-template-audit.d.ts +1 -0
  16. package/dist/gen-template-audit.js +379 -0
  17. package/dist/gen-template-manifest.d.ts +1 -0
  18. package/dist/gen-template-manifest.js +162 -0
  19. package/dist/gen-web-template-ids.d.ts +1 -0
  20. package/dist/gen-web-template-ids.js +65 -0
  21. package/dist/geometry-audit.d.ts +149 -0
  22. package/dist/geometry-audit.js +368 -0
  23. package/dist/index.d.ts +5 -0
  24. package/dist/index.js +29 -0
  25. package/dist/m0saic/_shared/onboarding-cover.d.ts +95 -0
  26. package/dist/m0saic/_shared/onboarding-cover.js +247 -0
  27. package/dist/m0saic/_shared/raster.d.ts +28 -0
  28. package/dist/m0saic/_shared/raster.js +146 -0
  29. package/dist/m0saic/_shared/svgRaster.d.ts +40 -0
  30. package/dist/m0saic/_shared/svgRaster.js +142 -0
  31. package/dist/m0saic/agents/commit-feed/index.d.ts +1 -0
  32. package/dist/m0saic/agents/commit-feed/index.js +17 -0
  33. package/dist/m0saic/agents/commit-feed/v1/commit-feed.d.ts +68 -0
  34. package/dist/m0saic/agents/commit-feed/v1/commit-feed.js +293 -0
  35. package/dist/m0saic/agents/commit-feed/v1/index.d.ts +2 -0
  36. package/dist/m0saic/agents/commit-feed/v1/index.js +11 -0
  37. package/dist/m0saic/agents/index.d.ts +7 -0
  38. package/dist/m0saic/agents/index.js +25 -0
  39. package/dist/m0saic/agents/trace-timeline/index.d.ts +1 -0
  40. package/dist/m0saic/agents/trace-timeline/index.js +17 -0
  41. package/dist/m0saic/agents/trace-timeline/v1/index.d.ts +2 -0
  42. package/dist/m0saic/agents/trace-timeline/v1/index.js +15 -0
  43. package/dist/m0saic/agents/trace-timeline/v1/trace-timeline.d.ts +73 -0
  44. package/dist/m0saic/agents/trace-timeline/v1/trace-timeline.js +356 -0
  45. package/dist/m0saic/alpine/_shared/alpine-anim.d.ts +65 -0
  46. package/dist/m0saic/alpine/_shared/alpine-anim.js +142 -0
  47. package/dist/m0saic/alpine/_shared/alpine-card.d.ts +114 -0
  48. package/dist/m0saic/alpine/_shared/alpine-card.js +193 -0
  49. package/dist/m0saic/alpine/_shared/alpine-glyphs.d.ts +23 -0
  50. package/dist/m0saic/alpine/_shared/alpine-glyphs.js +46 -0
  51. package/dist/m0saic/alpine/_shared/alpine-theme.d.ts +84 -0
  52. package/dist/m0saic/alpine/_shared/alpine-theme.js +155 -0
  53. package/dist/m0saic/alpine/bar-graph/v1/bar-graph.d.ts +85 -0
  54. package/dist/m0saic/alpine/bar-graph/v1/bar-graph.js +558 -0
  55. package/dist/m0saic/alpine/bar-graph/v1/index.d.ts +5 -0
  56. package/dist/m0saic/alpine/bar-graph/v1/index.js +9 -0
  57. package/dist/m0saic/alpine/commit-feed/v1/commit-feed.d.ts +64 -0
  58. package/dist/m0saic/alpine/commit-feed/v1/commit-feed.js +261 -0
  59. package/dist/m0saic/alpine/commit-feed/v1/index.d.ts +1 -0
  60. package/dist/m0saic/alpine/commit-feed/v1/index.js +5 -0
  61. package/dist/m0saic/alpine/commit-feed/v2/commit-feed.d.ts +78 -0
  62. package/dist/m0saic/alpine/commit-feed/v2/commit-feed.js +509 -0
  63. package/dist/m0saic/alpine/commit-feed/v2/index.d.ts +1 -0
  64. package/dist/m0saic/alpine/commit-feed/v2/index.js +5 -0
  65. package/dist/m0saic/alpine/contributor-table/v1/assets/README.md +13 -0
  66. package/dist/m0saic/alpine/contributor-table/v1/assets/layout-lite.m0 +9 -0
  67. package/dist/m0saic/alpine/contributor-table/v1/assets/layout-standard.m0 +9 -0
  68. package/dist/m0saic/alpine/contributor-table/v1/contributor-table.d.ts +76 -0
  69. package/dist/m0saic/alpine/contributor-table/v1/contributor-table.js +651 -0
  70. package/dist/m0saic/alpine/contributor-table/v1/index.d.ts +1 -0
  71. package/dist/m0saic/alpine/contributor-table/v1/index.js +5 -0
  72. package/dist/m0saic/alpine/donut/v1/donut.d.ts +55 -0
  73. package/dist/m0saic/alpine/donut/v1/donut.js +322 -0
  74. package/dist/m0saic/alpine/donut/v1/index.d.ts +5 -0
  75. package/dist/m0saic/alpine/donut/v1/index.js +9 -0
  76. package/dist/m0saic/alpine/donut/v2/donut.d.ts +58 -0
  77. package/dist/m0saic/alpine/donut/v2/donut.js +268 -0
  78. package/dist/m0saic/alpine/donut/v2/index.d.ts +1 -0
  79. package/dist/m0saic/alpine/donut/v2/index.js +5 -0
  80. package/dist/m0saic/alpine/donut/v3/donut.d.ts +65 -0
  81. package/dist/m0saic/alpine/donut/v3/donut.js +428 -0
  82. package/dist/m0saic/alpine/donut/v3/index.d.ts +1 -0
  83. package/dist/m0saic/alpine/donut/v3/index.js +5 -0
  84. package/dist/m0saic/alpine/heatmap/v1/heatmap.d.ts +68 -0
  85. package/dist/m0saic/alpine/heatmap/v1/heatmap.js +370 -0
  86. package/dist/m0saic/alpine/heatmap/v1/index.d.ts +1 -0
  87. package/dist/m0saic/alpine/heatmap/v1/index.js +5 -0
  88. package/dist/m0saic/alpine/heatmap/v2/heatmap.d.ts +73 -0
  89. package/dist/m0saic/alpine/heatmap/v2/heatmap.js +582 -0
  90. package/dist/m0saic/alpine/heatmap/v2/index.d.ts +1 -0
  91. package/dist/m0saic/alpine/heatmap/v2/index.js +5 -0
  92. package/dist/m0saic/alpine/index.d.ts +20 -0
  93. package/dist/m0saic/alpine/index.js +37 -0
  94. package/dist/m0saic/alpine/kpi-card/v1/index.d.ts +1 -0
  95. package/dist/m0saic/alpine/kpi-card/v1/index.js +5 -0
  96. package/dist/m0saic/alpine/kpi-card/v1/kpi-card.d.ts +54 -0
  97. package/dist/m0saic/alpine/kpi-card/v1/kpi-card.js +311 -0
  98. package/dist/m0saic/alpine/kpi-card/v2/index.d.ts +1 -0
  99. package/dist/m0saic/alpine/kpi-card/v2/index.js +5 -0
  100. package/dist/m0saic/alpine/kpi-card/v2/kpi-card.d.ts +60 -0
  101. package/dist/m0saic/alpine/kpi-card/v2/kpi-card.js +362 -0
  102. package/dist/m0saic/alpine/leaderboard/v1/index.d.ts +1 -0
  103. package/dist/m0saic/alpine/leaderboard/v1/index.js +5 -0
  104. package/dist/m0saic/alpine/leaderboard/v1/leaderboard.d.ts +58 -0
  105. package/dist/m0saic/alpine/leaderboard/v1/leaderboard.js +313 -0
  106. package/dist/m0saic/alpine/line-chart/v1/index.d.ts +1 -0
  107. package/dist/m0saic/alpine/line-chart/v1/index.js +5 -0
  108. package/dist/m0saic/alpine/line-chart/v1/line-chart.d.ts +70 -0
  109. package/dist/m0saic/alpine/line-chart/v1/line-chart.js +408 -0
  110. package/dist/m0saic/alpine/line-chart/v2/index.d.ts +1 -0
  111. package/dist/m0saic/alpine/line-chart/v2/index.js +5 -0
  112. package/dist/m0saic/alpine/line-chart/v2/line-chart.d.ts +72 -0
  113. package/dist/m0saic/alpine/line-chart/v2/line-chart.js +434 -0
  114. package/dist/m0saic/alpine/progress-card/v1/index.d.ts +1 -0
  115. package/dist/m0saic/alpine/progress-card/v1/index.js +5 -0
  116. package/dist/m0saic/alpine/progress-card/v1/progress-card.d.ts +53 -0
  117. package/dist/m0saic/alpine/progress-card/v1/progress-card.js +333 -0
  118. package/dist/m0saic/alpine/stat-card/v1/index.d.ts +1 -0
  119. package/dist/m0saic/alpine/stat-card/v1/index.js +5 -0
  120. package/dist/m0saic/alpine/stat-card/v1/stat-card.d.ts +76 -0
  121. package/dist/m0saic/alpine/stat-card/v1/stat-card.js +295 -0
  122. package/dist/m0saic/alpine/timeline/v1/index.d.ts +1 -0
  123. package/dist/m0saic/alpine/timeline/v1/index.js +5 -0
  124. package/dist/m0saic/alpine/timeline/v1/timeline.d.ts +55 -0
  125. package/dist/m0saic/alpine/timeline/v1/timeline.js +266 -0
  126. package/dist/m0saic/alpine/timeline/v2/index.d.ts +1 -0
  127. package/dist/m0saic/alpine/timeline/v2/index.js +5 -0
  128. package/dist/m0saic/alpine/timeline/v2/timeline.d.ts +61 -0
  129. package/dist/m0saic/alpine/timeline/v2/timeline.js +371 -0
  130. package/dist/m0saic/alpine/treemap/v1/index.d.ts +1 -0
  131. package/dist/m0saic/alpine/treemap/v1/index.js +5 -0
  132. package/dist/m0saic/alpine/treemap/v1/treemap.d.ts +56 -0
  133. package/dist/m0saic/alpine/treemap/v1/treemap.js +326 -0
  134. package/dist/m0saic/alpine/treemap/v2/index.d.ts +1 -0
  135. package/dist/m0saic/alpine/treemap/v2/index.js +5 -0
  136. package/dist/m0saic/alpine/treemap/v2/treemap.d.ts +59 -0
  137. package/dist/m0saic/alpine/treemap/v2/treemap.js +323 -0
  138. package/dist/m0saic/benchmark/battery/assets/media/README.md +16 -0
  139. package/dist/m0saic/benchmark/battery/assets/media/bbb-av.mp4 +0 -0
  140. package/dist/m0saic/benchmark/battery/assets/media/bbb-clip-01.mp4 +0 -0
  141. package/dist/m0saic/benchmark/battery/assets/media/bbb-clip-02.mp4 +0 -0
  142. package/dist/m0saic/benchmark/battery/assets/media/bbb-clip-03.mp4 +0 -0
  143. package/dist/m0saic/benchmark/battery/assets/media/bbb-clip-04.mp4 +0 -0
  144. package/dist/m0saic/benchmark/battery/assets/scenarios/duration-long.mosaic +80 -0
  145. package/dist/m0saic/benchmark/battery/assets/scenarios/encoders-base.mosaic +32 -0
  146. package/dist/m0saic/benchmark/battery/assets/scenarios/geometry-grid.mosaic +592 -0
  147. package/dist/m0saic/benchmark/battery/assets/scenarios/lifetime-window-fade.mosaic +28 -0
  148. package/dist/m0saic/benchmark/battery/assets/scenarios/real-bar-graph.mosaic +1980 -0
  149. package/dist/m0saic/benchmark/battery/assets/scenarios/real-donut.mosaic +797 -0
  150. package/dist/m0saic/benchmark/battery/assets/scenarios/real-screencap-grid.mosaic +4591 -0
  151. package/dist/m0saic/benchmark/battery/assets/scenarios/real-stat-card.mosaic +187 -0
  152. package/dist/m0saic/benchmark/battery/assets/scenarios/sources-audio.mosaic +31 -0
  153. package/dist/m0saic/benchmark/battery/assets/scenarios/sources-lavfi.mosaic +32 -0
  154. package/dist/m0saic/benchmark/battery/assets/scenarios/sources-media.mosaic +73 -0
  155. package/dist/m0saic/benchmark/battery/assets/scenarios/sources-nested.mosaic +48 -0
  156. package/dist/m0saic/benchmark/battery/assets/scenarios/sources-ref.mosaic +24 -0
  157. package/dist/m0saic/benchmark/battery/assets/scenarios/sources-text.mosaic +120 -0
  158. package/dist/m0saic/benchmark/battery/manifest.d.ts +65 -0
  159. package/dist/m0saic/benchmark/battery/manifest.js +97 -0
  160. package/dist/m0saic/benchmark/index.d.ts +2 -0
  161. package/dist/m0saic/benchmark/index.js +22 -0
  162. package/dist/m0saic/benchmark/report/v1/assets/m-logo.png +0 -0
  163. package/dist/m0saic/benchmark/report/v1/assets/sample-session/benchmark.json +41 -0
  164. package/dist/m0saic/benchmark/report/v1/index.d.ts +1 -0
  165. package/dist/m0saic/benchmark/report/v1/index.js +17 -0
  166. package/dist/m0saic/benchmark/report/v1/report.d.ts +23 -0
  167. package/dist/m0saic/benchmark/report/v1/report.js +242 -0
  168. package/dist/m0saic/benchmark/run/v1/benchmarkRun.d.ts +57 -0
  169. package/dist/m0saic/benchmark/run/v1/benchmarkRun.js +151 -0
  170. package/dist/m0saic/benchmark/run/v1/confirmation.d.ts +11 -0
  171. package/dist/m0saic/benchmark/run/v1/confirmation.js +48 -0
  172. package/dist/m0saic/benchmark/run/v1/index.d.ts +1 -0
  173. package/dist/m0saic/benchmark/run/v1/index.js +17 -0
  174. package/dist/m0saic/benchmark/run/v1/renderScenario.d.ts +12 -0
  175. package/dist/m0saic/benchmark/run/v1/renderScenario.js +122 -0
  176. package/dist/m0saic/benchmark/run/v1/runner.d.ts +10 -0
  177. package/dist/m0saic/benchmark/run/v1/runner.js +208 -0
  178. package/dist/m0saic/brand/business-card/v1/back-catalog.d.ts +68 -0
  179. package/dist/m0saic/brand/business-card/v1/back-catalog.js +121 -0
  180. package/dist/m0saic/brand/business-card/v1/business-card.d.ts +82 -0
  181. package/dist/m0saic/brand/business-card/v1/business-card.js +517 -0
  182. package/dist/m0saic/brand/business-card/v1/index.d.ts +4 -0
  183. package/dist/m0saic/brand/business-card/v1/index.js +16 -0
  184. package/dist/m0saic/brand/business-card/v1/layout.d.ts +163 -0
  185. package/dist/m0saic/brand/business-card/v1/layout.js +369 -0
  186. package/dist/m0saic/brand/community-m/v1/camera.d.ts +45 -0
  187. package/dist/m0saic/brand/community-m/v1/camera.js +44 -0
  188. package/dist/m0saic/brand/community-m/v1/caption.d.ts +5 -0
  189. package/dist/m0saic/brand/community-m/v1/caption.js +18 -0
  190. package/dist/m0saic/brand/community-m/v1/community-m.d.ts +25 -0
  191. package/dist/m0saic/brand/community-m/v1/community-m.js +117 -0
  192. package/dist/m0saic/brand/community-m/v1/community-m.web.d.ts +3 -0
  193. package/dist/m0saic/brand/community-m/v1/community-m.web.js +172 -0
  194. package/dist/m0saic/brand/community-m/v1/gen-seed-piece.d.ts +1 -0
  195. package/dist/m0saic/brand/community-m/v1/gen-seed-piece.js +59 -0
  196. package/dist/m0saic/brand/community-m/v1/geometry.d.ts +44 -0
  197. package/dist/m0saic/brand/community-m/v1/geometry.js +68 -0
  198. package/dist/m0saic/brand/community-m/v1/imageSize.node.d.ts +3 -0
  199. package/dist/m0saic/brand/community-m/v1/imageSize.node.js +60 -0
  200. package/dist/m0saic/brand/community-m/v1/index.d.ts +1 -0
  201. package/dist/m0saic/brand/community-m/v1/index.js +5 -0
  202. package/dist/m0saic/brand/community-m/v1/loadPiece.node.d.ts +14 -0
  203. package/dist/m0saic/brand/community-m/v1/loadPiece.node.js +69 -0
  204. package/dist/m0saic/brand/community-m/v1/manifest.d.ts +22 -0
  205. package/dist/m0saic/brand/community-m/v1/manifest.js +81 -0
  206. package/dist/m0saic/brand/community-m/v1/mark.d.ts +76 -0
  207. package/dist/m0saic/brand/community-m/v1/mark.js +136 -0
  208. package/dist/m0saic/brand/community-m/v1/paths.d.ts +14 -0
  209. package/dist/m0saic/brand/community-m/v1/paths.js +61 -0
  210. package/dist/m0saic/brand/community-m/v1/piece.d.ts +28 -0
  211. package/dist/m0saic/brand/community-m/v1/piece.js +35 -0
  212. package/dist/m0saic/brand/community-m/v1/pipeline.d.ts +122 -0
  213. package/dist/m0saic/brand/community-m/v1/pipeline.js +461 -0
  214. package/dist/m0saic/brand/community-m/v1/preview.d.ts +75 -0
  215. package/dist/m0saic/brand/community-m/v1/preview.js +214 -0
  216. package/dist/m0saic/brand/community-m/v1/props.d.ts +101 -0
  217. package/dist/m0saic/brand/community-m/v1/props.js +178 -0
  218. package/dist/m0saic/brand/community-m/v1/reveal.d.ts +129 -0
  219. package/dist/m0saic/brand/community-m/v1/reveal.js +155 -0
  220. package/dist/m0saic/brand/community-m/v1/seedPiece.d.ts +57 -0
  221. package/dist/m0saic/brand/community-m/v1/seedPiece.js +153 -0
  222. package/dist/m0saic/brand/community-m/v1/target.d.ts +88 -0
  223. package/dist/m0saic/brand/community-m/v1/target.js +132 -0
  224. package/dist/m0saic/brand/community-m/v1/timing.d.ts +32 -0
  225. package/dist/m0saic/brand/community-m/v1/timing.js +57 -0
  226. package/dist/m0saic/brand/community-m/v1/webPiece.d.ts +23 -0
  227. package/dist/m0saic/brand/community-m/v1/webPiece.js +42 -0
  228. package/dist/m0saic/brand/community-m/v1/wordmark.d.ts +34 -0
  229. package/dist/m0saic/brand/community-m/v1/wordmark.js +62 -0
  230. package/dist/m0saic/brand/index.d.ts +7 -0
  231. package/dist/m0saic/brand/index.js +17 -0
  232. package/dist/m0saic/brand/logo/v1/index.d.ts +1 -0
  233. package/dist/m0saic/brand/logo/v1/index.js +5 -0
  234. package/dist/m0saic/brand/logo/v1/logo.d.ts +30 -0
  235. package/dist/m0saic/brand/logo/v1/logo.js +471 -0
  236. package/dist/m0saic/brand/logo/v2/index.d.ts +1 -0
  237. package/dist/m0saic/brand/logo/v2/index.js +5 -0
  238. package/dist/m0saic/brand/logo/v2/logo.d.ts +30 -0
  239. package/dist/m0saic/brand/logo/v2/logo.js +615 -0
  240. package/dist/m0saic/brand/logo/v3/index.d.ts +1 -0
  241. package/dist/m0saic/brand/logo/v3/index.js +5 -0
  242. package/dist/m0saic/brand/logo/v3/logo.d.ts +36 -0
  243. package/dist/m0saic/brand/logo/v3/logo.js +666 -0
  244. package/dist/m0saic/brand/logo/v3/logo_runner.d.ts +36 -0
  245. package/dist/m0saic/brand/logo/v3/logo_runner.js +216 -0
  246. package/dist/m0saic/brand/qr-stamp/assets/brand-qr-with-logo.svg +8 -0
  247. package/dist/m0saic/brand/qr-stamp/assets/qr-animate.dark.mp4 +0 -0
  248. package/dist/m0saic/brand/qr-stamp/assets/qr-animate.dark.static.png +0 -0
  249. package/dist/m0saic/brand/qr-stamp/assets/qr-animate.light.mp4 +0 -0
  250. package/dist/m0saic/brand/qr-stamp/assets/qr-animate.light.static.png +0 -0
  251. package/dist/m0saic/brand/qr-stamp/still/v1/index.d.ts +2 -0
  252. package/dist/m0saic/brand/qr-stamp/still/v1/index.js +10 -0
  253. package/dist/m0saic/brand/qr-stamp/still/v1/qr-stamp-still.d.ts +45 -0
  254. package/dist/m0saic/brand/qr-stamp/still/v1/qr-stamp-still.js +347 -0
  255. package/dist/m0saic/brand/qr-stamp/video/v2/index.d.ts +2 -0
  256. package/dist/m0saic/brand/qr-stamp/video/v2/index.js +9 -0
  257. package/dist/m0saic/brand/qr-stamp/video/v2/qr-stamp.d.ts +43 -0
  258. package/dist/m0saic/brand/qr-stamp/video/v2/qr-stamp.js +447 -0
  259. package/dist/m0saic/brand/qr-stamp/video/v2/windows.d.ts +19 -0
  260. package/dist/m0saic/brand/qr-stamp/video/v2/windows.js +24 -0
  261. package/dist/m0saic/charts/_shared/index.d.ts +8 -0
  262. package/dist/m0saic/charts/_shared/index.js +24 -0
  263. package/dist/m0saic/charts/_shared/line.d.ts +100 -0
  264. package/dist/m0saic/charts/_shared/line.js +134 -0
  265. package/dist/m0saic/charts/_shared/scale.d.ts +9 -0
  266. package/dist/m0saic/charts/_shared/scale.js +17 -0
  267. package/dist/m0saic/charts/bar-graph/v1/anim.d.ts +83 -0
  268. package/dist/m0saic/charts/bar-graph/v1/anim.js +104 -0
  269. package/dist/m0saic/charts/bar-graph/v1/axis.d.ts +51 -0
  270. package/dist/m0saic/charts/bar-graph/v1/axis.js +73 -0
  271. package/dist/m0saic/charts/bar-graph/v1/bar-graph.d.ts +44 -0
  272. package/dist/m0saic/charts/bar-graph/v1/bar-graph.js +316 -0
  273. package/dist/m0saic/charts/bar-graph/v1/defaults.d.ts +88 -0
  274. package/dist/m0saic/charts/bar-graph/v1/defaults.js +157 -0
  275. package/dist/m0saic/charts/bar-graph/v1/format.d.ts +46 -0
  276. package/dist/m0saic/charts/bar-graph/v1/format.js +95 -0
  277. package/dist/m0saic/charts/bar-graph/v1/index.d.ts +31 -0
  278. package/dist/m0saic/charts/bar-graph/v1/index.js +36 -0
  279. package/dist/m0saic/charts/bar-graph/v1/internal/bar-cell.d.ts +53 -0
  280. package/dist/m0saic/charts/bar-graph/v1/internal/bar-cell.js +198 -0
  281. package/dist/m0saic/charts/bar-graph/v1/internal/bar-fill.d.ts +4 -0
  282. package/dist/m0saic/charts/bar-graph/v1/internal/bar-fill.js +154 -0
  283. package/dist/m0saic/charts/bar-graph/v1/internal/bars-stack.d.ts +41 -0
  284. package/dist/m0saic/charts/bar-graph/v1/internal/bars-stack.js +208 -0
  285. package/dist/m0saic/charts/bar-graph/v1/internal/chart-frame.d.ts +32 -0
  286. package/dist/m0saic/charts/bar-graph/v1/internal/chart-frame.js +124 -0
  287. package/dist/m0saic/charts/bar-graph/v1/internal/labels.d.ts +52 -0
  288. package/dist/m0saic/charts/bar-graph/v1/internal/labels.js +504 -0
  289. package/dist/m0saic/charts/bar-graph/v1/internal/plot-area.d.ts +24 -0
  290. package/dist/m0saic/charts/bar-graph/v1/internal/plot-area.js +180 -0
  291. package/dist/m0saic/charts/bar-graph/v1/types.d.ts +326 -0
  292. package/dist/m0saic/charts/bar-graph/v1/types.js +36 -0
  293. package/dist/m0saic/charts/bar-graph/v2/bar-graph.d.ts +131 -0
  294. package/dist/m0saic/charts/bar-graph/v2/bar-graph.js +768 -0
  295. package/dist/m0saic/charts/bar-graph/v2/index.d.ts +10 -0
  296. package/dist/m0saic/charts/bar-graph/v2/index.js +14 -0
  297. package/dist/m0saic/charts/donut/v1/anim.d.ts +54 -0
  298. package/dist/m0saic/charts/donut/v1/anim.js +84 -0
  299. package/dist/m0saic/charts/donut/v1/donut.d.ts +87 -0
  300. package/dist/m0saic/charts/donut/v1/donut.js +400 -0
  301. package/dist/m0saic/charts/donut/v1/geometry.d.ts +55 -0
  302. package/dist/m0saic/charts/donut/v1/geometry.js +115 -0
  303. package/dist/m0saic/charts/donut/v1/index.d.ts +11 -0
  304. package/dist/m0saic/charts/donut/v1/index.js +17 -0
  305. package/dist/m0saic/charts/donut/v2/donut.d.ts +67 -0
  306. package/dist/m0saic/charts/donut/v2/donut.js +307 -0
  307. package/dist/m0saic/charts/donut/v2/index.d.ts +10 -0
  308. package/dist/m0saic/charts/donut/v2/index.js +14 -0
  309. package/dist/m0saic/charts/donut/v3/anim.d.ts +47 -0
  310. package/dist/m0saic/charts/donut/v3/anim.js +77 -0
  311. package/dist/m0saic/charts/donut/v3/donut.d.ts +54 -0
  312. package/dist/m0saic/charts/donut/v3/donut.js +531 -0
  313. package/dist/m0saic/charts/donut/v3/geometry.d.ts +74 -0
  314. package/dist/m0saic/charts/donut/v3/geometry.js +152 -0
  315. package/dist/m0saic/charts/donut/v3/index.d.ts +10 -0
  316. package/dist/m0saic/charts/donut/v3/index.js +14 -0
  317. package/dist/m0saic/charts/donut/v4/donut.d.ts +63 -0
  318. package/dist/m0saic/charts/donut/v4/donut.js +546 -0
  319. package/dist/m0saic/charts/donut/v4/index.d.ts +10 -0
  320. package/dist/m0saic/charts/donut/v4/index.js +14 -0
  321. package/dist/m0saic/charts/index.d.ts +8 -0
  322. package/dist/m0saic/charts/index.js +25 -0
  323. package/dist/m0saic/charts/line-chart/v1/anim.d.ts +78 -0
  324. package/dist/m0saic/charts/line-chart/v1/anim.js +119 -0
  325. package/dist/m0saic/charts/line-chart/v1/axis.d.ts +48 -0
  326. package/dist/m0saic/charts/line-chart/v1/axis.js +55 -0
  327. package/dist/m0saic/charts/line-chart/v1/card.d.ts +27 -0
  328. package/dist/m0saic/charts/line-chart/v1/card.js +44 -0
  329. package/dist/m0saic/charts/line-chart/v1/chrome-spec.d.ts +110 -0
  330. package/dist/m0saic/charts/line-chart/v1/chrome-spec.js +208 -0
  331. package/dist/m0saic/charts/line-chart/v1/chrome.d.ts +30 -0
  332. package/dist/m0saic/charts/line-chart/v1/chrome.js +335 -0
  333. package/dist/m0saic/charts/line-chart/v1/defaults.d.ts +65 -0
  334. package/dist/m0saic/charts/line-chart/v1/defaults.js +151 -0
  335. package/dist/m0saic/charts/line-chart/v1/format.d.ts +26 -0
  336. package/dist/m0saic/charts/line-chart/v1/format.js +76 -0
  337. package/dist/m0saic/charts/line-chart/v1/frame.d.ts +50 -0
  338. package/dist/m0saic/charts/line-chart/v1/frame.js +62 -0
  339. package/dist/m0saic/charts/line-chart/v1/geometry.d.ts +15 -0
  340. package/dist/m0saic/charts/line-chart/v1/geometry.js +34 -0
  341. package/dist/m0saic/charts/line-chart/v1/index.d.ts +16 -0
  342. package/dist/m0saic/charts/line-chart/v1/index.js +21 -0
  343. package/dist/m0saic/charts/line-chart/v1/line-chart.d.ts +26 -0
  344. package/dist/m0saic/charts/line-chart/v1/line-chart.js +634 -0
  345. package/dist/m0saic/charts/line-chart/v1/line-series.d.ts +69 -0
  346. package/dist/m0saic/charts/line-chart/v1/line-series.js +259 -0
  347. package/dist/m0saic/charts/line-chart/v1/types.d.ts +328 -0
  348. package/dist/m0saic/charts/line-chart/v1/types.js +24 -0
  349. package/dist/m0saic/charts/stat-card/v1/index.d.ts +10 -0
  350. package/dist/m0saic/charts/stat-card/v1/index.js +15 -0
  351. package/dist/m0saic/charts/stat-card/v1/stat-card.d.ts +78 -0
  352. package/dist/m0saic/charts/stat-card/v1/stat-card.js +475 -0
  353. package/dist/m0saic/code/_shared/code-diff.d.ts +73 -0
  354. package/dist/m0saic/code/_shared/code-diff.js +220 -0
  355. package/dist/m0saic/code/_shared/code-lexer.d.ts +28 -0
  356. package/dist/m0saic/code/_shared/code-lexer.js +226 -0
  357. package/dist/m0saic/code/_shared/code-metrics.d.ts +58 -0
  358. package/dist/m0saic/code/_shared/code-metrics.js +140 -0
  359. package/dist/m0saic/code/_shared/code-theme.d.ts +30 -0
  360. package/dist/m0saic/code/_shared/code-theme.js +141 -0
  361. package/dist/m0saic/code/index.d.ts +1 -0
  362. package/dist/m0saic/code/index.js +17 -0
  363. package/dist/m0saic/code/snippet-morph/v1/internal/chrome.d.ts +60 -0
  364. package/dist/m0saic/code/snippet-morph/v1/internal/chrome.js +252 -0
  365. package/dist/m0saic/code/snippet-morph/v1/internal/plan.d.ts +90 -0
  366. package/dist/m0saic/code/snippet-morph/v1/internal/plan.js +226 -0
  367. package/dist/m0saic/code/snippet-morph/v1/internal/steps.d.ts +103 -0
  368. package/dist/m0saic/code/snippet-morph/v1/internal/steps.js +313 -0
  369. package/dist/m0saic/code/snippet-morph/v1/snippet-morph.d.ts +61 -0
  370. package/dist/m0saic/code/snippet-morph/v1/snippet-morph.js +462 -0
  371. package/dist/m0saic/collage/image-collage/v1/demo-fixture.d.ts +18 -0
  372. package/dist/m0saic/collage/image-collage/v1/demo-fixture.js +30 -0
  373. package/dist/m0saic/collage/image-collage/v1/emit.d.ts +81 -0
  374. package/dist/m0saic/collage/image-collage/v1/emit.js +163 -0
  375. package/dist/m0saic/collage/image-collage/v1/image-collage.d.ts +63 -0
  376. package/dist/m0saic/collage/image-collage/v1/image-collage.js +386 -0
  377. package/dist/m0saic/collage/image-collage/v1/index.d.ts +2 -0
  378. package/dist/m0saic/collage/image-collage/v1/index.js +5 -0
  379. package/dist/m0saic/collage/image-collage/v1/packer/candidates.d.ts +71 -0
  380. package/dist/m0saic/collage/image-collage/v1/packer/candidates.js +211 -0
  381. package/dist/m0saic/collage/image-collage/v1/packer/classify.d.ts +26 -0
  382. package/dist/m0saic/collage/image-collage/v1/packer/classify.js +70 -0
  383. package/dist/m0saic/collage/image-collage/v1/packer/index.d.ts +7 -0
  384. package/dist/m0saic/collage/image-collage/v1/packer/index.js +23 -0
  385. package/dist/m0saic/collage/image-collage/v1/packer/paging.d.ts +39 -0
  386. package/dist/m0saic/collage/image-collage/v1/packer/paging.js +139 -0
  387. package/dist/m0saic/collage/image-collage/v1/packer/score.d.ts +25 -0
  388. package/dist/m0saic/collage/image-collage/v1/packer/score.js +69 -0
  389. package/dist/m0saic/collage/image-collage/v1/packer/solve.d.ts +27 -0
  390. package/dist/m0saic/collage/image-collage/v1/packer/solve.js +84 -0
  391. package/dist/m0saic/collage/image-collage/v1/packer/tiler.d.ts +65 -0
  392. package/dist/m0saic/collage/image-collage/v1/packer/tiler.js +607 -0
  393. package/dist/m0saic/collage/image-collage/v1/packer/types.d.ts +99 -0
  394. package/dist/m0saic/collage/image-collage/v1/packer/types.js +10 -0
  395. package/dist/m0saic/collage/image-collage/v1/tutorial.d.ts +17 -0
  396. package/dist/m0saic/collage/image-collage/v1/tutorial.js +269 -0
  397. package/dist/m0saic/collage/index.d.ts +2 -0
  398. package/dist/m0saic/collage/index.js +18 -0
  399. package/dist/m0saic/collage/spread-grid-mock/v1/grid-fixture.d.ts +7 -0
  400. package/dist/m0saic/collage/spread-grid-mock/v1/grid-fixture.js +11 -0
  401. package/dist/m0saic/collage/spread-grid-mock/v1/index.d.ts +1 -0
  402. package/dist/m0saic/collage/spread-grid-mock/v1/index.js +5 -0
  403. package/dist/m0saic/collage/spread-grid-mock/v1/spread-grid-mock.d.ts +29 -0
  404. package/dist/m0saic/collage/spread-grid-mock/v1/spread-grid-mock.js +78 -0
  405. package/dist/m0saic/dsl-tutorial/index.d.ts +1 -0
  406. package/dist/m0saic/dsl-tutorial/index.js +18 -0
  407. package/dist/m0saic/dsl-tutorial/v1/_shared/brand-glyphs.d.ts +24 -0
  408. package/dist/m0saic/dsl-tutorial/v1/_shared/brand-glyphs.js +17 -0
  409. package/dist/m0saic/dsl-tutorial/v1/_shared/m0saic-logo.d.ts +6 -0
  410. package/dist/m0saic/dsl-tutorial/v1/_shared/m0saic-logo.js +9 -0
  411. package/dist/m0saic/dsl-tutorial/v1/_shared/node-kit.d.ts +57 -0
  412. package/dist/m0saic/dsl-tutorial/v1/_shared/node-kit.js +156 -0
  413. package/dist/m0saic/dsl-tutorial/v1/_shared/text-fit.d.ts +76 -0
  414. package/dist/m0saic/dsl-tutorial/v1/_shared/text-fit.js +127 -0
  415. package/dist/m0saic/dsl-tutorial/v1/dsl-tutorial.d.ts +124 -0
  416. package/dist/m0saic/dsl-tutorial/v1/dsl-tutorial.js +675 -0
  417. package/dist/m0saic/dsl-tutorial/v1/index.d.ts +24 -0
  418. package/dist/m0saic/dsl-tutorial/v1/index.js +35 -0
  419. package/dist/m0saic/dsl-tutorial/v1/panels/canvas/v1/dsl-canvas.d.ts +113 -0
  420. package/dist/m0saic/dsl-tutorial/v1/panels/canvas/v1/dsl-canvas.js +573 -0
  421. package/dist/m0saic/dsl-tutorial/v1/panels/chrome/v1/dsl-chrome.d.ts +83 -0
  422. package/dist/m0saic/dsl-tutorial/v1/panels/chrome/v1/dsl-chrome.js +373 -0
  423. package/dist/m0saic/dsl-tutorial/v1/panels/dsl-string/v1/dsl-string.d.ts +48 -0
  424. package/dist/m0saic/dsl-tutorial/v1/panels/dsl-string/v1/dsl-string.js +366 -0
  425. package/dist/m0saic/dsl-tutorial/v1/panels/inspector/v1/dsl-inspector.d.ts +54 -0
  426. package/dist/m0saic/dsl-tutorial/v1/panels/inspector/v1/dsl-inspector.js +304 -0
  427. package/dist/m0saic/dsl-tutorial/v1/pipeline/buildSteps.d.ts +110 -0
  428. package/dist/m0saic/dsl-tutorial/v1/pipeline/buildSteps.js +443 -0
  429. package/dist/m0saic/dsl-tutorial/v1/pipeline/camera.d.ts +64 -0
  430. package/dist/m0saic/dsl-tutorial/v1/pipeline/camera.js +177 -0
  431. package/dist/m0saic/dsl-tutorial/v1/pipeline/cursor.d.ts +47 -0
  432. package/dist/m0saic/dsl-tutorial/v1/pipeline/cursor.js +64 -0
  433. package/dist/m0saic/dsl-tutorial/v1/pipeline/dslString.d.ts +61 -0
  434. package/dist/m0saic/dsl-tutorial/v1/pipeline/dslString.js +135 -0
  435. package/dist/m0saic/dsl-tutorial/v1/pipeline/inspector.d.ts +62 -0
  436. package/dist/m0saic/dsl-tutorial/v1/pipeline/inspector.js +197 -0
  437. package/dist/m0saic/dsl-tutorial/v1/pipeline/timing.d.ts +117 -0
  438. package/dist/m0saic/dsl-tutorial/v1/pipeline/timing.js +180 -0
  439. package/dist/m0saic/dsl-tutorial/v1/theme/tokens.d.ts +87 -0
  440. package/dist/m0saic/dsl-tutorial/v1/theme/tokens.js +96 -0
  441. package/dist/m0saic/forensic/index.d.ts +1 -0
  442. package/dist/m0saic/forensic/index.js +17 -0
  443. package/dist/m0saic/forensic/watermark/_shared/cellLuminance.d.ts +37 -0
  444. package/dist/m0saic/forensic/watermark/_shared/cellLuminance.js +62 -0
  445. package/dist/m0saic/forensic/watermark/index.d.ts +2 -0
  446. package/dist/m0saic/forensic/watermark/index.js +18 -0
  447. package/dist/m0saic/forensic/watermark/verify/index.d.ts +1 -0
  448. package/dist/m0saic/forensic/watermark/verify/index.js +17 -0
  449. package/dist/m0saic/forensic/watermark/verify/v1/decode.d.ts +83 -0
  450. package/dist/m0saic/forensic/watermark/verify/v1/decode.js +270 -0
  451. package/dist/m0saic/forensic/watermark/verify/v1/index.d.ts +2 -0
  452. package/dist/m0saic/forensic/watermark/verify/v1/index.js +23 -0
  453. package/dist/m0saic/forensic/watermark/verify/v1/report.d.ts +71 -0
  454. package/dist/m0saic/forensic/watermark/verify/v1/report.js +428 -0
  455. package/dist/m0saic/forensic/watermark/verify/v1/verify.d.ts +55 -0
  456. package/dist/m0saic/forensic/watermark/verify/v1/verify.js +286 -0
  457. package/dist/m0saic/forensic/watermark/video/index.d.ts +1 -0
  458. package/dist/m0saic/forensic/watermark/video/index.js +17 -0
  459. package/dist/m0saic/forensic/watermark/video/v1/forensic-watermark.d.ts +119 -0
  460. package/dist/m0saic/forensic/watermark/video/v1/forensic-watermark.js +629 -0
  461. package/dist/m0saic/forensic/watermark/video/v1/index.d.ts +2 -0
  462. package/dist/m0saic/forensic/watermark/video/v1/index.js +9 -0
  463. package/dist/m0saic/forensic/watermark/video/v1/maskAsset.d.ts +67 -0
  464. package/dist/m0saic/forensic/watermark/video/v1/maskAsset.js +125 -0
  465. package/dist/m0saic/forensic/watermark/video/v1/probeHost.d.ts +69 -0
  466. package/dist/m0saic/forensic/watermark/video/v1/probeHost.js +83 -0
  467. package/dist/m0saic/github/client.d.ts +200 -0
  468. package/dist/m0saic/github/client.js +161 -0
  469. package/dist/m0saic/github/connection.d.ts +24 -0
  470. package/dist/m0saic/github/connection.js +91 -0
  471. package/dist/m0saic/github/index.d.ts +20 -0
  472. package/dist/m0saic/github/index.js +42 -0
  473. package/dist/m0saic/github/repo-facts-fetcher/index.d.ts +4 -0
  474. package/dist/m0saic/github/repo-facts-fetcher/index.js +20 -0
  475. package/dist/m0saic/github/repo-facts-fetcher/v1/build-facts.d.ts +54 -0
  476. package/dist/m0saic/github/repo-facts-fetcher/v1/build-facts.js +238 -0
  477. package/dist/m0saic/github/repo-facts-fetcher/v1/facts.d.ts +112 -0
  478. package/dist/m0saic/github/repo-facts-fetcher/v1/facts.js +12 -0
  479. package/dist/m0saic/github/repo-facts-fetcher/v1/repo-facts-fetcher.d.ts +67 -0
  480. package/dist/m0saic/github/repo-facts-fetcher/v1/repo-facts-fetcher.js +210 -0
  481. package/dist/m0saic/github/repo-facts-fetcher/v1/sample-facts.d.ts +16 -0
  482. package/dist/m0saic/github/repo-facts-fetcher/v1/sample-facts.js +175 -0
  483. package/dist/m0saic/github/week-math.d.ts +50 -0
  484. package/dist/m0saic/github/week-math.js +96 -0
  485. package/dist/m0saic/github/weekly-pulse/index.d.ts +1 -0
  486. package/dist/m0saic/github/weekly-pulse/index.js +17 -0
  487. package/dist/m0saic/github/weekly-pulse/v1/weekly-pulse.d.ts +51 -0
  488. package/dist/m0saic/github/weekly-pulse/v1/weekly-pulse.js +153 -0
  489. package/dist/m0saic/github/weekly-pulse-adapter/index.d.ts +2 -0
  490. package/dist/m0saic/github/weekly-pulse-adapter/index.js +18 -0
  491. package/dist/m0saic/github/weekly-pulse-adapter/v1/derive-pulse.d.ts +24 -0
  492. package/dist/m0saic/github/weekly-pulse-adapter/v1/derive-pulse.js +257 -0
  493. package/dist/m0saic/github/weekly-pulse-adapter/v1/weekly-pulse-adapter.d.ts +35 -0
  494. package/dist/m0saic/github/weekly-pulse-adapter/v1/weekly-pulse-adapter.js +131 -0
  495. package/dist/m0saic/github/year-card/index.d.ts +1 -0
  496. package/dist/m0saic/github/year-card/index.js +17 -0
  497. package/dist/m0saic/github/year-card/v1/index.d.ts +2 -0
  498. package/dist/m0saic/github/year-card/v1/index.js +16 -0
  499. package/dist/m0saic/github/year-card/v1/year-card.d.ts +90 -0
  500. package/dist/m0saic/github/year-card/v1/year-card.js +476 -0
  501. package/dist/m0saic/hello-world/index.d.ts +1 -0
  502. package/dist/m0saic/hello-world/index.js +18 -0
  503. package/dist/m0saic/hello-world/v1/hello-world.d.ts +4 -0
  504. package/dist/m0saic/hello-world/v1/hello-world.js +36 -0
  505. package/dist/m0saic/hello-world/v1/index.d.ts +5 -0
  506. package/dist/m0saic/hello-world/v1/index.js +9 -0
  507. package/dist/m0saic/hero/ffmpeg-pulse/_shared/assets/bake-fin-qr.sh +11 -0
  508. package/dist/m0saic/hero/ffmpeg-pulse/_shared/assets/ffmpeg-logo.png +0 -0
  509. package/dist/m0saic/hero/ffmpeg-pulse/_shared/assets/ffmpeg_logo_480x480.svg +1 -0
  510. package/dist/m0saic/hero/ffmpeg-pulse/_shared/assets/m-hero.png +0 -0
  511. package/dist/m0saic/hero/ffmpeg-pulse/_shared/assets/qr-fin.mp4 +0 -0
  512. package/dist/m0saic/hero/ffmpeg-pulse/_shared/assets/scatter-desktop.mp4 +0 -0
  513. package/dist/m0saic/hero/ffmpeg-pulse/_shared/assets/scatter-layout.m0p +5146 -0
  514. package/dist/m0saic/hero/ffmpeg-pulse/_shared/assets/scatter-mobile.mp4 +0 -0
  515. package/dist/m0saic/hero/ffmpeg-pulse/_shared/assets/scatter-square.mp4 +0 -0
  516. package/dist/m0saic/hero/ffmpeg-pulse/_shared/assets/title-layout.m0p +130 -0
  517. package/dist/m0saic/hero/ffmpeg-pulse/_shared/pulse-chrome.d.ts +151 -0
  518. package/dist/m0saic/hero/ffmpeg-pulse/_shared/pulse-chrome.js +305 -0
  519. package/dist/m0saic/hero/ffmpeg-pulse/_shared/pulse-data.d.ts +178 -0
  520. package/dist/m0saic/hero/ffmpeg-pulse/_shared/pulse-data.js +238 -0
  521. package/dist/m0saic/hero/ffmpeg-pulse/_shared/pulse-glyphs.d.ts +1 -0
  522. package/dist/m0saic/hero/ffmpeg-pulse/_shared/pulse-glyphs.js +12 -0
  523. package/dist/m0saic/hero/ffmpeg-pulse/_shared/pulse-theme.d.ts +67 -0
  524. package/dist/m0saic/hero/ffmpeg-pulse/_shared/pulse-theme.js +59 -0
  525. package/dist/m0saic/hero/ffmpeg-pulse/_shared/scatter.d.ts +54 -0
  526. package/dist/m0saic/hero/ffmpeg-pulse/_shared/scatter.js +173 -0
  527. package/dist/m0saic/hero/ffmpeg-pulse/activity-trend/v1/activity-trend.d.ts +37 -0
  528. package/dist/m0saic/hero/ffmpeg-pulse/activity-trend/v1/activity-trend.js +178 -0
  529. package/dist/m0saic/hero/ffmpeg-pulse/activity-trend/v1/index.d.ts +1 -0
  530. package/dist/m0saic/hero/ffmpeg-pulse/activity-trend/v1/index.js +5 -0
  531. package/dist/m0saic/hero/ffmpeg-pulse/changes-breakdown/v1/changes-breakdown.d.ts +37 -0
  532. package/dist/m0saic/hero/ffmpeg-pulse/changes-breakdown/v1/changes-breakdown.js +164 -0
  533. package/dist/m0saic/hero/ffmpeg-pulse/changes-breakdown/v1/index.d.ts +1 -0
  534. package/dist/m0saic/hero/ffmpeg-pulse/changes-breakdown/v1/index.js +5 -0
  535. package/dist/m0saic/hero/ffmpeg-pulse/contributions/v1/contributions.d.ts +37 -0
  536. package/dist/m0saic/hero/ffmpeg-pulse/contributions/v1/contributions.js +159 -0
  537. package/dist/m0saic/hero/ffmpeg-pulse/contributions/v1/index.d.ts +1 -0
  538. package/dist/m0saic/hero/ffmpeg-pulse/contributions/v1/index.js +5 -0
  539. package/dist/m0saic/hero/ffmpeg-pulse/fin/v1/fin.d.ts +31 -0
  540. package/dist/m0saic/hero/ffmpeg-pulse/fin/v1/fin.js +154 -0
  541. package/dist/m0saic/hero/ffmpeg-pulse/fin/v1/index.d.ts +1 -0
  542. package/dist/m0saic/hero/ffmpeg-pulse/fin/v1/index.js +5 -0
  543. package/dist/m0saic/hero/ffmpeg-pulse/index.d.ts +10 -0
  544. package/dist/m0saic/hero/ffmpeg-pulse/index.js +24 -0
  545. package/dist/m0saic/hero/ffmpeg-pulse/kpi-overview/v1/index.d.ts +1 -0
  546. package/dist/m0saic/hero/ffmpeg-pulse/kpi-overview/v1/index.js +5 -0
  547. package/dist/m0saic/hero/ffmpeg-pulse/kpi-overview/v1/kpi-overview.d.ts +38 -0
  548. package/dist/m0saic/hero/ffmpeg-pulse/kpi-overview/v1/kpi-overview.js +161 -0
  549. package/dist/m0saic/hero/ffmpeg-pulse/notable-commits/v1/index.d.ts +1 -0
  550. package/dist/m0saic/hero/ffmpeg-pulse/notable-commits/v1/index.js +5 -0
  551. package/dist/m0saic/hero/ffmpeg-pulse/notable-commits/v1/notable-commits.d.ts +36 -0
  552. package/dist/m0saic/hero/ffmpeg-pulse/notable-commits/v1/notable-commits.js +151 -0
  553. package/dist/m0saic/hero/ffmpeg-pulse/runner/v1/index.d.ts +1 -0
  554. package/dist/m0saic/hero/ffmpeg-pulse/runner/v1/index.js +5 -0
  555. package/dist/m0saic/hero/ffmpeg-pulse/runner/v1/runner.d.ts +54 -0
  556. package/dist/m0saic/hero/ffmpeg-pulse/runner/v1/runner.js +128 -0
  557. package/dist/m0saic/hero/ffmpeg-pulse/scatter-bake/v1/index.d.ts +1 -0
  558. package/dist/m0saic/hero/ffmpeg-pulse/scatter-bake/v1/index.js +5 -0
  559. package/dist/m0saic/hero/ffmpeg-pulse/scatter-bake/v1/scatter-bake.d.ts +29 -0
  560. package/dist/m0saic/hero/ffmpeg-pulse/scatter-bake/v1/scatter-bake.js +47 -0
  561. package/dist/m0saic/hero/ffmpeg-pulse/title/v1/index.d.ts +1 -0
  562. package/dist/m0saic/hero/ffmpeg-pulse/title/v1/index.js +5 -0
  563. package/dist/m0saic/hero/ffmpeg-pulse/title/v1/title.d.ts +20 -0
  564. package/dist/m0saic/hero/ffmpeg-pulse/title/v1/title.js +365 -0
  565. package/dist/m0saic/hero/ffmpeg-pulse/top-contributors/v1/index.d.ts +1 -0
  566. package/dist/m0saic/hero/ffmpeg-pulse/top-contributors/v1/index.js +5 -0
  567. package/dist/m0saic/hero/ffmpeg-pulse/top-contributors/v1/top-contributors.d.ts +38 -0
  568. package/dist/m0saic/hero/ffmpeg-pulse/top-contributors/v1/top-contributors.js +174 -0
  569. package/dist/m0saic/hero/index.d.ts +1 -0
  570. package/dist/m0saic/hero/index.js +18 -0
  571. package/dist/m0saic/index.d.ts +20 -0
  572. package/dist/m0saic/index.js +56 -0
  573. package/dist/m0saic/media/barcode/v1/barcode.d.ts +22 -0
  574. package/dist/m0saic/media/barcode/v1/barcode.js +218 -0
  575. package/dist/m0saic/media/barcode/v1/index.d.ts +1 -0
  576. package/dist/m0saic/media/barcode/v1/index.js +9 -0
  577. package/dist/m0saic/media/blur-regions/index.d.ts +1 -0
  578. package/dist/m0saic/media/blur-regions/index.js +17 -0
  579. package/dist/m0saic/media/blur-regions/v1/blur-regions.d.ts +58 -0
  580. package/dist/m0saic/media/blur-regions/v1/blur-regions.js +303 -0
  581. package/dist/m0saic/media/blur-regions/v1/index.d.ts +2 -0
  582. package/dist/m0saic/media/blur-regions/v1/index.js +20 -0
  583. package/dist/m0saic/media/blur-regions/v1/plan.d.ts +125 -0
  584. package/dist/m0saic/media/blur-regions/v1/plan.js +204 -0
  585. package/dist/m0saic/media/blur-regions/v1/tutorial.d.ts +18 -0
  586. package/dist/m0saic/media/blur-regions/v1/tutorial.js +428 -0
  587. package/dist/m0saic/media/highlights/index.d.ts +1 -0
  588. package/dist/m0saic/media/highlights/index.js +17 -0
  589. package/dist/m0saic/media/highlights/v1/assets/cover-ranges.jpg +0 -0
  590. package/dist/m0saic/media/highlights/v1/highlights.d.ts +49 -0
  591. package/dist/m0saic/media/highlights/v1/highlights.js +222 -0
  592. package/dist/m0saic/media/highlights/v1/index.d.ts +3 -0
  593. package/dist/m0saic/media/highlights/v1/index.js +19 -0
  594. package/dist/m0saic/media/highlights/v1/pipeline.d.ts +35 -0
  595. package/dist/m0saic/media/highlights/v1/pipeline.js +91 -0
  596. package/dist/m0saic/media/highlights/v1/plan.d.ts +46 -0
  597. package/dist/m0saic/media/highlights/v1/plan.js +68 -0
  598. package/dist/m0saic/media/index.d.ts +13 -0
  599. package/dist/m0saic/media/index.js +31 -0
  600. package/dist/m0saic/media/logo-animate/index.d.ts +1 -0
  601. package/dist/m0saic/media/logo-animate/index.js +17 -0
  602. package/dist/m0saic/media/logo-animate/v1/default-logo.d.ts +12 -0
  603. package/dist/m0saic/media/logo-animate/v1/default-logo.js +49 -0
  604. package/dist/m0saic/media/logo-animate/v1/expressions.d.ts +66 -0
  605. package/dist/m0saic/media/logo-animate/v1/expressions.js +107 -0
  606. package/dist/m0saic/media/logo-animate/v1/index.d.ts +2 -0
  607. package/dist/m0saic/media/logo-animate/v1/index.js +5 -0
  608. package/dist/m0saic/media/logo-animate/v1/layout.d.ts +29 -0
  609. package/dist/m0saic/media/logo-animate/v1/layout.js +43 -0
  610. package/dist/m0saic/media/logo-animate/v1/logo-animate.d.ts +106 -0
  611. package/dist/m0saic/media/logo-animate/v1/logo-animate.js +732 -0
  612. package/dist/m0saic/media/logo-animate/v1/svg-source.d.ts +63 -0
  613. package/dist/m0saic/media/logo-animate/v1/svg-source.js +127 -0
  614. package/dist/m0saic/media/logo-animate/v1/tutorial.d.ts +16 -0
  615. package/dist/m0saic/media/logo-animate/v1/tutorial.js +378 -0
  616. package/dist/m0saic/media/metadata-stamp/index.d.ts +1 -0
  617. package/dist/m0saic/media/metadata-stamp/index.js +17 -0
  618. package/dist/m0saic/media/metadata-stamp/v1/assets/cover-frame.jpg +0 -0
  619. package/dist/m0saic/media/metadata-stamp/v1/format-date.d.ts +52 -0
  620. package/dist/m0saic/media/metadata-stamp/v1/format-date.js +128 -0
  621. package/dist/m0saic/media/metadata-stamp/v1/index.d.ts +4 -0
  622. package/dist/m0saic/media/metadata-stamp/v1/index.js +10 -0
  623. package/dist/m0saic/media/metadata-stamp/v1/metadata-stamp.d.ts +58 -0
  624. package/dist/m0saic/media/metadata-stamp/v1/metadata-stamp.js +534 -0
  625. package/dist/m0saic/media/qr/_shared/brandMCenter.d.ts +28 -0
  626. package/dist/m0saic/media/qr/_shared/brandMCenter.js +52 -0
  627. package/dist/m0saic/media/qr/animate/v1/expressions.d.ts +164 -0
  628. package/dist/m0saic/media/qr/animate/v1/expressions.js +251 -0
  629. package/dist/m0saic/media/qr/animate/v1/index.d.ts +2 -0
  630. package/dist/m0saic/media/qr/animate/v1/index.js +9 -0
  631. package/dist/m0saic/media/qr/animate/v1/qr-animate.d.ts +171 -0
  632. package/dist/m0saic/media/qr/animate/v1/qr-animate.js +775 -0
  633. package/dist/m0saic/media/qr/animate/v2/index.d.ts +2 -0
  634. package/dist/m0saic/media/qr/animate/v2/index.js +9 -0
  635. package/dist/m0saic/media/qr/animate/v2/qr-animate.d.ts +64 -0
  636. package/dist/m0saic/media/qr/animate/v2/qr-animate.js +341 -0
  637. package/dist/m0saic/media/qr/basic/v1/index.d.ts +1 -0
  638. package/dist/m0saic/media/qr/basic/v1/index.js +10 -0
  639. package/dist/m0saic/media/qr/basic/v1/qr.d.ts +24 -0
  640. package/dist/m0saic/media/qr/basic/v1/qr.js +132 -0
  641. package/dist/m0saic/media/qr/code/v1/index.d.ts +2 -0
  642. package/dist/m0saic/media/qr/code/v1/index.js +9 -0
  643. package/dist/m0saic/media/qr/code/v1/qr-code.d.ts +135 -0
  644. package/dist/m0saic/media/qr/code/v1/qr-code.js +611 -0
  645. package/dist/m0saic/media/qr/index.d.ts +7 -0
  646. package/dist/m0saic/media/qr/index.js +19 -0
  647. package/dist/m0saic/media/qr/rounded/v1/index.d.ts +1 -0
  648. package/dist/m0saic/media/qr/rounded/v1/index.js +9 -0
  649. package/dist/m0saic/media/qr/rounded/v1/qr-rounded.d.ts +68 -0
  650. package/dist/m0saic/media/qr/rounded/v1/qr-rounded.js +338 -0
  651. package/dist/m0saic/media/qr/stamp/v1/assets/cover-frame.jpg +0 -0
  652. package/dist/m0saic/media/qr/stamp/v1/qr-stamp-custom.d.ts +44 -0
  653. package/dist/m0saic/media/qr/stamp/v1/qr-stamp-custom.js +389 -0
  654. package/dist/m0saic/media/qr/stamp-video/v1/expressions.d.ts +10 -0
  655. package/dist/m0saic/media/qr/stamp-video/v1/expressions.js +18 -0
  656. package/dist/m0saic/media/qr/stamp-video/v1/gleamBand.d.ts +115 -0
  657. package/dist/m0saic/media/qr/stamp-video/v1/gleamBand.js +206 -0
  658. package/dist/m0saic/media/qr/stamp-video/v1/index.d.ts +2 -0
  659. package/dist/m0saic/media/qr/stamp-video/v1/index.js +9 -0
  660. package/dist/m0saic/media/qr/stamp-video/v1/qr-stamp.d.ts +82 -0
  661. package/dist/m0saic/media/qr/stamp-video/v1/qr-stamp.js +424 -0
  662. package/dist/m0saic/media/screencap_grid/index.d.ts +3 -0
  663. package/dist/m0saic/media/screencap_grid/index.js +9 -0
  664. package/dist/m0saic/media/screencap_grid/internal/index.d.ts +1 -0
  665. package/dist/m0saic/media/screencap_grid/internal/index.js +5 -0
  666. package/dist/m0saic/media/screencap_grid/internal/info_pane.d.ts +13 -0
  667. package/dist/m0saic/media/screencap_grid/internal/info_pane.js +130 -0
  668. package/dist/m0saic/media/screencap_grid/v1/index.d.ts +1 -0
  669. package/dist/m0saic/media/screencap_grid/v1/index.js +5 -0
  670. package/dist/m0saic/media/screencap_grid/v1/screencap-grid.d.ts +162 -0
  671. package/dist/m0saic/media/screencap_grid/v1/screencap-grid.js +690 -0
  672. package/dist/m0saic/media/screencap_grid/v2/assets/tutorial-sheet.jpg +0 -0
  673. package/dist/m0saic/media/screencap_grid/v2/index.d.ts +1 -0
  674. package/dist/m0saic/media/screencap_grid/v2/index.js +5 -0
  675. package/dist/m0saic/media/screencap_grid/v2/screencap-grid-cover-assets.d.ts +9 -0
  676. package/dist/m0saic/media/screencap_grid/v2/screencap-grid-cover-assets.js +12 -0
  677. package/dist/m0saic/media/screencap_grid/v2/screencap-grid-cover.d.ts +97 -0
  678. package/dist/m0saic/media/screencap_grid/v2/screencap-grid-cover.js +367 -0
  679. package/dist/m0saic/media/screencap_grid/v2/screencap-grid-tutorial.d.ts +38 -0
  680. package/dist/m0saic/media/screencap_grid/v2/screencap-grid-tutorial.js +530 -0
  681. package/dist/m0saic/media/screencap_grid/v2/screencap-grid.d.ts +194 -0
  682. package/dist/m0saic/media/screencap_grid/v2/screencap-grid.js +615 -0
  683. package/dist/m0saic/media/screencap_grid_aspect_safe/index.d.ts +1 -0
  684. package/dist/m0saic/media/screencap_grid_aspect_safe/index.js +5 -0
  685. package/dist/m0saic/media/screencap_grid_aspect_safe/v1/assets/pair-sheet.jpg +0 -0
  686. package/dist/m0saic/media/screencap_grid_aspect_safe/v1/index.d.ts +1 -0
  687. package/dist/m0saic/media/screencap_grid_aspect_safe/v1/index.js +5 -0
  688. package/dist/m0saic/media/screencap_grid_aspect_safe/v1/screencap-grid-aspect-safe-cover.d.ts +18 -0
  689. package/dist/m0saic/media/screencap_grid_aspect_safe/v1/screencap-grid-aspect-safe-cover.js +191 -0
  690. package/dist/m0saic/media/screencap_grid_aspect_safe/v1/screencap-grid-aspect-safe-tutorial.d.ts +13 -0
  691. package/dist/m0saic/media/screencap_grid_aspect_safe/v1/screencap-grid-aspect-safe-tutorial.js +355 -0
  692. package/dist/m0saic/media/screencap_grid_aspect_safe/v1/screencap-grid-aspect-safe.d.ts +179 -0
  693. package/dist/m0saic/media/screencap_grid_aspect_safe/v1/screencap-grid-aspect-safe.js +544 -0
  694. package/dist/m0saic/media/scroll_wall/index.d.ts +1 -0
  695. package/dist/m0saic/media/scroll_wall/index.js +5 -0
  696. package/dist/m0saic/media/scroll_wall/v1/geometry.d.ts +131 -0
  697. package/dist/m0saic/media/scroll_wall/v1/geometry.js +172 -0
  698. package/dist/m0saic/media/scroll_wall/v1/index.d.ts +1 -0
  699. package/dist/m0saic/media/scroll_wall/v1/index.js +5 -0
  700. package/dist/m0saic/media/scroll_wall/v1/motion.d.ts +114 -0
  701. package/dist/m0saic/media/scroll_wall/v1/motion.js +141 -0
  702. package/dist/m0saic/media/scroll_wall/v1/scroll-wall.d.ts +182 -0
  703. package/dist/m0saic/media/scroll_wall/v1/scroll-wall.js +432 -0
  704. package/dist/m0saic/media/subtitle-burn/index.d.ts +1 -0
  705. package/dist/m0saic/media/subtitle-burn/index.js +17 -0
  706. package/dist/m0saic/media/subtitle-burn/v1/assets/cover-frame.jpg +0 -0
  707. package/dist/m0saic/media/subtitle-burn/v1/index.d.ts +1 -0
  708. package/dist/m0saic/media/subtitle-burn/v1/index.js +6 -0
  709. package/dist/m0saic/media/subtitle-burn/v1/subtitle-burn-cover.d.ts +13 -0
  710. package/dist/m0saic/media/subtitle-burn/v1/subtitle-burn-cover.js +196 -0
  711. package/dist/m0saic/media/subtitle-burn/v1/subtitle-burn.d.ts +137 -0
  712. package/dist/m0saic/media/subtitle-burn/v1/subtitle-burn.js +603 -0
  713. package/dist/m0saic/media/trickplay/index.d.ts +1 -0
  714. package/dist/m0saic/media/trickplay/index.js +17 -0
  715. package/dist/m0saic/media/trickplay/v1/index.d.ts +4 -0
  716. package/dist/m0saic/media/trickplay/v1/index.js +18 -0
  717. package/dist/m0saic/media/trickplay/v1/pipeline.d.ts +51 -0
  718. package/dist/m0saic/media/trickplay/v1/pipeline.js +180 -0
  719. package/dist/m0saic/media/trickplay/v1/plan.d.ts +65 -0
  720. package/dist/m0saic/media/trickplay/v1/plan.js +76 -0
  721. package/dist/m0saic/media/trickplay/v1/sidecars.d.ts +79 -0
  722. package/dist/m0saic/media/trickplay/v1/sidecars.js +89 -0
  723. package/dist/m0saic/media/trickplay/v1/trickplay.d.ts +40 -0
  724. package/dist/m0saic/media/trickplay/v1/trickplay.js +123 -0
  725. package/dist/m0saic/media/video_to_png_sequence/index.d.ts +1 -0
  726. package/dist/m0saic/media/video_to_png_sequence/index.js +5 -0
  727. package/dist/m0saic/media/video_to_png_sequence/v1/index.d.ts +1 -0
  728. package/dist/m0saic/media/video_to_png_sequence/v1/index.js +5 -0
  729. package/dist/m0saic/media/video_to_png_sequence/v1/video-to-png-sequence.d.ts +37 -0
  730. package/dist/m0saic/media/video_to_png_sequence/v1/video-to-png-sequence.js +234 -0
  731. package/dist/m0saic/media/watermark/index.d.ts +1 -0
  732. package/dist/m0saic/media/watermark/index.js +17 -0
  733. package/dist/m0saic/media/watermark/v1/adaptive.d.ts +85 -0
  734. package/dist/m0saic/media/watermark/v1/adaptive.js +162 -0
  735. package/dist/m0saic/media/watermark/v1/content.d.ts +56 -0
  736. package/dist/m0saic/media/watermark/v1/content.js +160 -0
  737. package/dist/m0saic/media/watermark/v1/geometry.d.ts +138 -0
  738. package/dist/m0saic/media/watermark/v1/geometry.js +247 -0
  739. package/dist/m0saic/media/watermark/v1/index.d.ts +3 -0
  740. package/dist/m0saic/media/watermark/v1/index.js +5 -0
  741. package/dist/m0saic/media/watermark/v1/pageGrid.d.ts +105 -0
  742. package/dist/m0saic/media/watermark/v1/pageGrid.js +203 -0
  743. package/dist/m0saic/media/watermark/v1/pipeline.d.ts +68 -0
  744. package/dist/m0saic/media/watermark/v1/pipeline.js +324 -0
  745. package/dist/m0saic/media/watermark/v1/watermark.d.ts +88 -0
  746. package/dist/m0saic/media/watermark/v1/watermark.js +452 -0
  747. package/dist/m0saic/meta/camera-debug/index.d.ts +1 -0
  748. package/dist/m0saic/meta/camera-debug/index.js +17 -0
  749. package/dist/m0saic/meta/camera-debug/v1/camera-debug.d.ts +98 -0
  750. package/dist/m0saic/meta/camera-debug/v1/camera-debug.js +490 -0
  751. package/dist/m0saic/meta/fixture-fetcher/index.d.ts +1 -0
  752. package/dist/m0saic/meta/fixture-fetcher/index.js +17 -0
  753. package/dist/m0saic/meta/fixture-fetcher/v1/fixture-fetcher.d.ts +76 -0
  754. package/dist/m0saic/meta/fixture-fetcher/v1/fixture-fetcher.js +159 -0
  755. package/dist/m0saic/meta/hot-reload-smoke/index.d.ts +1 -0
  756. package/dist/m0saic/meta/hot-reload-smoke/index.js +17 -0
  757. package/dist/m0saic/meta/hot-reload-smoke/v1/hot-reload-smoke.d.ts +50 -0
  758. package/dist/m0saic/meta/hot-reload-smoke/v1/hot-reload-smoke.js +131 -0
  759. package/dist/m0saic/meta/index.d.ts +13 -0
  760. package/dist/m0saic/meta/index.js +29 -0
  761. package/dist/m0saic/meta/post-mortem/index.d.ts +1 -0
  762. package/dist/m0saic/meta/post-mortem/index.js +17 -0
  763. package/dist/m0saic/meta/post-mortem/v1/assets/human.png +0 -0
  764. package/dist/m0saic/meta/post-mortem/v1/assets/robot.png +0 -0
  765. package/dist/m0saic/meta/post-mortem/v1/post-mortem.d.ts +47 -0
  766. package/dist/m0saic/meta/post-mortem/v1/post-mortem.js +634 -0
  767. package/dist/m0saic/meta/upstream-echo/index.d.ts +1 -0
  768. package/dist/m0saic/meta/upstream-echo/index.js +17 -0
  769. package/dist/m0saic/meta/upstream-echo/v1/upstream-echo.d.ts +52 -0
  770. package/dist/m0saic/meta/upstream-echo/v1/upstream-echo.js +138 -0
  771. package/dist/m0saic/primitives/grid/index.d.ts +2 -0
  772. package/dist/m0saic/primitives/grid/index.js +7 -0
  773. package/dist/m0saic/primitives/grid/v1/grid.d.ts +85 -0
  774. package/dist/m0saic/primitives/grid/v1/grid.js +217 -0
  775. package/dist/m0saic/primitives/grid/v2/grid.d.ts +80 -0
  776. package/dist/m0saic/primitives/grid/v2/grid.js +150 -0
  777. package/dist/m0saic/primitives/index.d.ts +1 -0
  778. package/dist/m0saic/primitives/index.js +17 -0
  779. package/dist/m0saic/social/index.d.ts +1 -0
  780. package/dist/m0saic/social/index.js +17 -0
  781. package/dist/m0saic/social/quote-card/index.d.ts +1 -0
  782. package/dist/m0saic/social/quote-card/index.js +17 -0
  783. package/dist/m0saic/social/quote-card/v1/index.d.ts +2 -0
  784. package/dist/m0saic/social/quote-card/v1/index.js +5 -0
  785. package/dist/m0saic/social/quote-card/v1/layout.d.ts +119 -0
  786. package/dist/m0saic/social/quote-card/v1/layout.js +323 -0
  787. package/dist/m0saic/social/quote-card/v1/quote-card.d.ts +51 -0
  788. package/dist/m0saic/social/quote-card/v1/quote-card.js +310 -0
  789. package/dist/m0saic/story/index.d.ts +2 -0
  790. package/dist/m0saic/story/index.js +20 -0
  791. package/dist/m0saic/story/narrated-chapters/index.d.ts +1 -0
  792. package/dist/m0saic/story/narrated-chapters/index.js +17 -0
  793. package/dist/m0saic/story/narrated-chapters/v1/captions.d.ts +42 -0
  794. package/dist/m0saic/story/narrated-chapters/v1/captions.js +200 -0
  795. package/dist/m0saic/story/narrated-chapters/v1/demo-fixture.d.ts +13 -0
  796. package/dist/m0saic/story/narrated-chapters/v1/demo-fixture.js +52 -0
  797. package/dist/m0saic/story/narrated-chapters/v1/index.d.ts +2 -0
  798. package/dist/m0saic/story/narrated-chapters/v1/index.js +5 -0
  799. package/dist/m0saic/story/narrated-chapters/v1/kenburns.d.ts +50 -0
  800. package/dist/m0saic/story/narrated-chapters/v1/kenburns.js +0 -0
  801. package/dist/m0saic/story/narrated-chapters/v1/layout.d.ts +103 -0
  802. package/dist/m0saic/story/narrated-chapters/v1/layout.js +162 -0
  803. package/dist/m0saic/story/narrated-chapters/v1/narrated-chapters.d.ts +22 -0
  804. package/dist/m0saic/story/narrated-chapters/v1/narrated-chapters.js +160 -0
  805. package/dist/m0saic/story/narrated-chapters/v1/pipeline.d.ts +43 -0
  806. package/dist/m0saic/story/narrated-chapters/v1/pipeline.js +94 -0
  807. package/dist/m0saic/story/narrated-chapters/v1/plan.d.ts +144 -0
  808. package/dist/m0saic/story/narrated-chapters/v1/plan.js +372 -0
  809. package/dist/m0saic/story/narrated-chapters/v1/props.d.ts +147 -0
  810. package/dist/m0saic/story/narrated-chapters/v1/props.js +205 -0
  811. package/dist/m0saic/story/narrated-chapters/v1/scenes/body.d.ts +64 -0
  812. package/dist/m0saic/story/narrated-chapters/v1/scenes/body.js +253 -0
  813. package/dist/m0saic/story/narrated-chapters/v1/scenes/card.d.ts +40 -0
  814. package/dist/m0saic/story/narrated-chapters/v1/scenes/card.js +201 -0
  815. package/dist/m0saic/story/narrated-chapters/v1/theme.d.ts +25 -0
  816. package/dist/m0saic/story/narrated-chapters/v1/theme.js +38 -0
  817. package/dist/m0saic/story/scrapbook/v1/document.d.ts +41 -0
  818. package/dist/m0saic/story/scrapbook/v1/document.js +124 -0
  819. package/dist/m0saic/story/scrapbook/v1/index.d.ts +1 -0
  820. package/dist/m0saic/story/scrapbook/v1/index.js +9 -0
  821. package/dist/m0saic/story/scrapbook/v1/page.d.ts +34 -0
  822. package/dist/m0saic/story/scrapbook/v1/page.js +121 -0
  823. package/dist/m0saic/story/scrapbook/v1/pages.d.ts +29 -0
  824. package/dist/m0saic/story/scrapbook/v1/pages.js +37 -0
  825. package/dist/m0saic/story/scrapbook/v1/pipeline.d.ts +44 -0
  826. package/dist/m0saic/story/scrapbook/v1/pipeline.js +130 -0
  827. package/dist/m0saic/story/scrapbook/v1/placeholder.d.ts +22 -0
  828. package/dist/m0saic/story/scrapbook/v1/placeholder.js +51 -0
  829. package/dist/m0saic/story/scrapbook/v1/props.d.ts +66 -0
  830. package/dist/m0saic/story/scrapbook/v1/props.js +80 -0
  831. package/dist/m0saic/story/scrapbook/v1/scrapbook.d.ts +23 -0
  832. package/dist/m0saic/story/scrapbook/v1/scrapbook.js +77 -0
  833. package/dist/m0saic/theming/index.d.ts +1 -0
  834. package/dist/m0saic/theming/index.js +17 -0
  835. package/dist/m0saic/theming/v1/brand-m-glyph.d.ts +14 -0
  836. package/dist/m0saic/theming/v1/brand-m-glyph.js +12 -0
  837. package/dist/m0saic/theming/v1/index.d.ts +2 -0
  838. package/dist/m0saic/theming/v1/index.js +16 -0
  839. package/dist/m0saic/theming/v1/theme-tokens.d.ts +71 -0
  840. package/dist/m0saic/theming/v1/theme-tokens.js +111 -0
  841. package/dist/m0saic/theming/v1/theming.d.ts +18 -0
  842. package/dist/m0saic/theming/v1/theming.js +94 -0
  843. package/dist/m0saic/theming/v1/token-sheet.d.ts +23 -0
  844. package/dist/m0saic/theming/v1/token-sheet.js +191 -0
  845. package/dist/m0saic/web/index.d.ts +1 -0
  846. package/dist/m0saic/web/index.js +17 -0
  847. package/dist/m0saic/web/page-skeleton/v1/capture/capture-snippet-source.d.ts +1 -0
  848. package/dist/m0saic/web/page-skeleton/v1/capture/capture-snippet-source.js +528 -0
  849. package/dist/m0saic/web/page-skeleton/v1/index.d.ts +1 -0
  850. package/dist/m0saic/web/page-skeleton/v1/index.js +5 -0
  851. package/dist/m0saic/web/page-skeleton/v1/layout.d.ts +107 -0
  852. package/dist/m0saic/web/page-skeleton/v1/layout.js +246 -0
  853. package/dist/m0saic/web/page-skeleton/v1/page-skeleton.d.ts +148 -0
  854. package/dist/m0saic/web/page-skeleton/v1/page-skeleton.js +787 -0
  855. package/dist/m0saic/web/page-skeleton/v1/sample-capture.d.ts +7 -0
  856. package/dist/m0saic/web/page-skeleton/v1/sample-capture.js +50 -0
  857. package/dist/m0saic/web/page-skeleton/v1/schema.d.ts +35 -0
  858. package/dist/m0saic/web/page-skeleton/v1/schema.js +132 -0
  859. package/dist/m0saic/wireframe/animated/v1/animated-wireframe.d.ts +93 -0
  860. package/dist/m0saic/wireframe/animated/v1/animated-wireframe.js +580 -0
  861. package/dist/m0saic/wireframe/animated/v1/index.d.ts +1 -0
  862. package/dist/m0saic/wireframe/animated/v1/index.js +5 -0
  863. package/dist/m0saic/wireframe/base/v1/index.d.ts +1 -0
  864. package/dist/m0saic/wireframe/base/v1/index.js +5 -0
  865. package/dist/m0saic/wireframe/base/v1/wireframe.d.ts +68 -0
  866. package/dist/m0saic/wireframe/base/v1/wireframe.js +372 -0
  867. package/dist/m0saic/wireframe/base/v2/index.d.ts +2 -0
  868. package/dist/m0saic/wireframe/base/v2/index.js +9 -0
  869. package/dist/m0saic/wireframe/base/v2/wireframe.d.ts +166 -0
  870. package/dist/m0saic/wireframe/base/v2/wireframe.js +1181 -0
  871. package/dist/m0saic/wireframe/index.d.ts +4 -0
  872. package/dist/m0saic/wireframe/index.js +16 -0
  873. package/dist/m0saic/wireframe/utils/paperGrid.d.ts +53 -0
  874. package/dist/m0saic/wireframe/utils/paperGrid.js +91 -0
  875. package/dist/m0saic/wireframe/utils/wireframeCell.d.ts +35 -0
  876. package/dist/m0saic/wireframe/utils/wireframeCell.js +278 -0
  877. package/dist/registry.d.ts +4 -0
  878. package/dist/registry.js +7 -0
  879. package/dist/repo.d.ts +11 -0
  880. package/dist/repo.js +39 -0
  881. package/dist/template-registry.d.ts +18 -0
  882. package/dist/template-registry.js +888 -0
  883. package/dist/web.d.ts +35 -0
  884. package/dist/web.js +88 -0
  885. package/dist/webTemplateIds.d.ts +6 -0
  886. package/dist/webTemplateIds.js +80 -0
  887. package/package.json +52 -0
  888. package/template-manifest.json +1635 -0
  889. package/web-template-ids.json +84 -0
@@ -0,0 +1,147 @@
1
+ /**
2
+ * Props + story.json contract for @m0saic/story/narrated-chapters/v1.
3
+ *
4
+ * The template renders from a `story` manifest (the boundary artifact of the
5
+ * agentic-video pipeline — see the internal agenticvideo notes
6
+ * narrated-chapters.md`). The example orchestrator `examples/story-studio`
7
+ * owns authoring-time validation (typo suggestions, path absolutization);
8
+ * this file owns the RENDER-time contract: the CLI make path calls
9
+ * `render()` directly, so the schema below is documentation and the
10
+ * template must re-validate defensively.
11
+ *
12
+ * `provenance` is deliberately absent from everything below: it records how
13
+ * the assets were generated and the renderer must never read it (the
14
+ * determinism firewall).
15
+ */
16
+ export declare const STORY_SCHEMA_VERSION = 1;
17
+ /**
18
+ * The story renders as 2 + 2N pipeline steps and the engine drops every
19
+ * xfade past 80 concat inputs; 30 sections (62 steps) leaves headroom.
20
+ */
21
+ export declare const MAX_SECTIONS = 30;
22
+ export declare const STORY_OUTPUT_NAMES: readonly ["landscape", "portrait"];
23
+ export type StoryOutputName = (typeof STORY_OUTPUT_NAMES)[number];
24
+ export type StoryBrand = {
25
+ accentColor?: string;
26
+ backgroundColor?: string;
27
+ textColor?: string;
28
+ };
29
+ export type StoryTimingDefaults = {
30
+ titleCardMs?: number;
31
+ sectionCardMs?: number;
32
+ outroMs?: number;
33
+ xfadeMs?: number;
34
+ narrationTailPadMs?: number;
35
+ minSectionMs?: number;
36
+ minImageDwellMs?: number;
37
+ imageFadeMs?: number;
38
+ };
39
+ export declare const DEFAULT_STORY_DEFAULTS: Required<StoryTimingDefaults>;
40
+ export type StorySectionOverrides = StoryTimingDefaults & {
41
+ /** Explicit narration length — outranks the probed audio duration. */
42
+ durationMs?: number;
43
+ imageWeights?: number[];
44
+ imageFocus?: Array<{
45
+ x: number;
46
+ y: number;
47
+ }>;
48
+ caption?: string;
49
+ };
50
+ /**
51
+ * One caption cue, times relative to the SECTION'S NARRATION START (which
52
+ * is step-local t=0 — cards cut INTO narration by design).
53
+ */
54
+ export type StoryCue = {
55
+ startMs: number;
56
+ endMs: number;
57
+ text: string;
58
+ };
59
+ export type StorySection = {
60
+ id?: string;
61
+ title?: string;
62
+ narrationText?: string;
63
+ narrationAudio?: string;
64
+ /**
65
+ * SubRip path — AUTHORING-time input. Templates are pure (no fs):
66
+ * `story-studio build` parses it and inlines `cues`; a template seeing
67
+ * `srt` without `cues` emits a diagnostic, never reads the file.
68
+ */
69
+ srt?: string;
70
+ /** Caption cues (narration-relative). Win over synthesized sentence cues. */
71
+ cues?: StoryCue[];
72
+ images?: string[];
73
+ overrides?: StorySectionOverrides;
74
+ };
75
+ export type StoryAudio = {
76
+ narrationVolume?: number;
77
+ /** Music-bed volume (default 0.10 — amix sums with no limiter). */
78
+ musicVolume?: number;
79
+ /** Music-bed file, project-relative at authoring time (absolute in props.json). */
80
+ music?: string;
81
+ /** Offset into the music file where the story starts (default 0). */
82
+ musicStartMs?: number;
83
+ };
84
+ export type StoryDocument = {
85
+ schemaVersion?: number;
86
+ title?: string;
87
+ subtitle?: string;
88
+ brand?: StoryBrand;
89
+ defaults?: StoryTimingDefaults;
90
+ motion?: {
91
+ seed?: number;
92
+ ease?: string;
93
+ intensity?: number;
94
+ };
95
+ captions?: {
96
+ enabled?: boolean;
97
+ minCueMs?: number;
98
+ cueGapMs?: number;
99
+ plate?: string;
100
+ };
101
+ audio?: StoryAudio;
102
+ outputs?: StoryOutputName[];
103
+ sections?: StorySection[];
104
+ [key: string]: unknown;
105
+ };
106
+ export type NarratedChaptersProps = {
107
+ /**
108
+ * The story manifest. `type:"json"` is validator-permissive by design —
109
+ * the value may arrive as an object or a JSON string; render() parses and
110
+ * shape-checks it. Omit for the built-in demo story.
111
+ */
112
+ story?: StoryDocument | string;
113
+ /**
114
+ * Flat probe mirror of every asset path inside `story` — the engine only
115
+ * probes TOP-LEVEL string/string[] props, so nested paths need this
116
+ * machine-generated twin (emitted by `story-studio build`, byte-identical
117
+ * to the in-story strings; never hand-authored).
118
+ */
119
+ mediaPaths?: string[];
120
+ /** Informational; shortens paths in error frames. */
121
+ projectDir?: string;
122
+ };
123
+ export declare const narratedChaptersPropsSchema: Record<keyof NarratedChaptersProps, import("@m0saic/types").MosaicTemplatePropDefinition>;
124
+ /**
125
+ * Parse the `story` prop into a StoryDocument. `type:"json"` props can
126
+ * legally arrive as objects or JSON strings; anything else is an error.
127
+ * `undefined`/`null` means "no story given" (demo mode) and is NOT an error.
128
+ */
129
+ export declare function coerceStoryProp(raw: unknown): {
130
+ story: StoryDocument | null;
131
+ errors: string[];
132
+ };
133
+ /**
134
+ * Render-time structural gate (fail fast → error frame). Deliberately
135
+ * narrower than story-studio's authoring validator: only what the renderer
136
+ * needs to proceed safely. Collects every problem, not just the first.
137
+ */
138
+ export declare function validateStoryShape(story: StoryDocument): string[];
139
+ /**
140
+ * Recognize a bare story document passed AS the props bag. `--props
141
+ * @story.json` hands the CLI the manifest itself, so `props.story` is
142
+ * undefined — without this sniff the render silently fell back to the demo
143
+ * (the worst outcome: a wrong video with zero diagnostics). A bag with a
144
+ * `sections` array and no `story` key IS the story; validateStoryShape
145
+ * still gates it fully afterwards.
146
+ */
147
+ export declare function sniffBareStory(props: unknown): StoryDocument | null;
@@ -0,0 +1,205 @@
1
+ "use strict";
2
+ /**
3
+ * Props + story.json contract for @m0saic/story/narrated-chapters/v1.
4
+ *
5
+ * The template renders from a `story` manifest (the boundary artifact of the
6
+ * agentic-video pipeline — see the internal agenticvideo notes
7
+ * narrated-chapters.md`). The example orchestrator `examples/story-studio`
8
+ * owns authoring-time validation (typo suggestions, path absolutization);
9
+ * this file owns the RENDER-time contract: the CLI make path calls
10
+ * `render()` directly, so the schema below is documentation and the
11
+ * template must re-validate defensively.
12
+ *
13
+ * `provenance` is deliberately absent from everything below: it records how
14
+ * the assets were generated and the renderer must never read it (the
15
+ * determinism firewall).
16
+ */
17
+ Object.defineProperty(exports, "__esModule", { value: true });
18
+ exports.narratedChaptersPropsSchema = exports.DEFAULT_STORY_DEFAULTS = exports.STORY_OUTPUT_NAMES = exports.MAX_SECTIONS = exports.STORY_SCHEMA_VERSION = void 0;
19
+ exports.coerceStoryProp = coerceStoryProp;
20
+ exports.validateStoryShape = validateStoryShape;
21
+ exports.sniffBareStory = sniffBareStory;
22
+ const template_utils_1 = require("@m0saic/template-utils");
23
+ exports.STORY_SCHEMA_VERSION = 1;
24
+ /**
25
+ * The story renders as 2 + 2N pipeline steps and the engine drops every
26
+ * xfade past 80 concat inputs; 30 sections (62 steps) leaves headroom.
27
+ */
28
+ exports.MAX_SECTIONS = 30;
29
+ exports.STORY_OUTPUT_NAMES = ["landscape", "portrait"];
30
+ exports.DEFAULT_STORY_DEFAULTS = {
31
+ titleCardMs: 3500,
32
+ sectionCardMs: 2000,
33
+ outroMs: 3000,
34
+ xfadeMs: 600,
35
+ narrationTailPadMs: 700,
36
+ minSectionMs: 1500,
37
+ minImageDwellMs: 2200,
38
+ imageFadeMs: 500,
39
+ };
40
+ exports.narratedChaptersPropsSchema = (0, template_utils_1.definePropsSchema)({
41
+ story: {
42
+ type: "json",
43
+ required: false,
44
+ description: "story.json manifest — { title, sections: [{ narrationText, narrationAudio?, images?, overrides? }], defaults?, brand?, outputs? }. Omit for the built-in demo story.",
45
+ meta: { ui: { label: "Story manifest", order: 1 } },
46
+ },
47
+ mediaPaths: {
48
+ type: "media[]",
49
+ required: false,
50
+ description: "Machine-generated flat mirror of every asset path in the story (run `story-studio build`); needed so narration durations are probed before render.",
51
+ meta: { ui: { label: "Media paths", order: 2 } },
52
+ },
53
+ projectDir: {
54
+ type: "string",
55
+ required: false,
56
+ description: "Story project folder (informational; used to shorten paths in diagnostics).",
57
+ meta: { control: { placeholder: "none (full paths in diagnostics)" }, ui: { label: "Project folder", order: 3 } },
58
+ },
59
+ });
60
+ /**
61
+ * Parse the `story` prop into a StoryDocument. `type:"json"` props can
62
+ * legally arrive as objects or JSON strings; anything else is an error.
63
+ * `undefined`/`null` means "no story given" (demo mode) and is NOT an error.
64
+ */
65
+ function coerceStoryProp(raw) {
66
+ if (raw === undefined || raw === null)
67
+ return { story: null, errors: [] };
68
+ let value = raw;
69
+ if (typeof raw === "string") {
70
+ if (raw.trim().length === 0)
71
+ return { story: null, errors: [] };
72
+ try {
73
+ value = JSON.parse(raw);
74
+ }
75
+ catch (e) {
76
+ return {
77
+ story: null,
78
+ errors: [`props.story is a string but not valid JSON — ${e.message}`],
79
+ };
80
+ }
81
+ }
82
+ if (typeof value !== "object" || value === null || Array.isArray(value)) {
83
+ return { story: null, errors: [`props.story must be a story object, got ${describe(value)}`] };
84
+ }
85
+ return { story: value, errors: [] };
86
+ }
87
+ /**
88
+ * Render-time structural gate (fail fast → error frame). Deliberately
89
+ * narrower than story-studio's authoring validator: only what the renderer
90
+ * needs to proceed safely. Collects every problem, not just the first.
91
+ */
92
+ function validateStoryShape(story) {
93
+ const errors = [];
94
+ if (story.schemaVersion !== undefined && story.schemaVersion !== exports.STORY_SCHEMA_VERSION) {
95
+ errors.push(`story.schemaVersion ${String(story.schemaVersion)} is unsupported (this template understands ${exports.STORY_SCHEMA_VERSION}).`);
96
+ }
97
+ const sections = story.sections;
98
+ if (!Array.isArray(sections) || sections.length === 0) {
99
+ errors.push(`story.sections must be a non-empty array of section objects.`);
100
+ }
101
+ else {
102
+ if (sections.length > exports.MAX_SECTIONS) {
103
+ errors.push(`story.sections has ${sections.length} entries; the maximum is ${exports.MAX_SECTIONS} (the pipeline concat wall sits at 80 steps).`);
104
+ }
105
+ sections.forEach((section, i) => {
106
+ if (typeof section !== "object" || section === null || Array.isArray(section)) {
107
+ errors.push(`story.sections[${i}] must be an object, got ${describe(section)}.`);
108
+ return;
109
+ }
110
+ // Blank/non-string image entries would silently shift imageFocus and
111
+ // imageWeights indices after filtering — reject them instead.
112
+ if (section.images !== undefined) {
113
+ if (!Array.isArray(section.images)) {
114
+ errors.push(`story.sections[${i}].images must be an array of path strings.`);
115
+ }
116
+ else {
117
+ section.images.forEach((img, k) => {
118
+ if (typeof img !== "string" || img.trim().length === 0) {
119
+ errors.push(`story.sections[${i}].images[${k}] must be a non-empty path string, got ${describe(img)}.`);
120
+ }
121
+ });
122
+ }
123
+ }
124
+ validateCueShape(section.cues, i, errors);
125
+ });
126
+ }
127
+ if (story.audio !== undefined && story.audio !== null && typeof story.audio === "object") {
128
+ if (story.audio.music !== undefined && (typeof story.audio.music !== "string" || story.audio.music.trim().length === 0)) {
129
+ errors.push(`story.audio.music must be a non-empty path string.`);
130
+ }
131
+ if (story.audio.musicStartMs !== undefined &&
132
+ !(typeof story.audio.musicStartMs === "number" && Number.isFinite(story.audio.musicStartMs) && story.audio.musicStartMs >= 0)) {
133
+ errors.push(`story.audio.musicStartMs must be a number of milliseconds ≥ 0.`);
134
+ }
135
+ }
136
+ if (story.outputs !== undefined) {
137
+ if (!Array.isArray(story.outputs)) {
138
+ errors.push(`story.outputs must be an array; valid values: ${exports.STORY_OUTPUT_NAMES.join(", ")}.`);
139
+ }
140
+ else {
141
+ story.outputs.forEach((o, i) => {
142
+ if (!exports.STORY_OUTPUT_NAMES.includes(o)) {
143
+ errors.push(`story.outputs[${i}] is ${JSON.stringify(o)}; valid values: ${exports.STORY_OUTPUT_NAMES.map((n) => `"${n}"`).join(", ")}.`);
144
+ }
145
+ });
146
+ }
147
+ }
148
+ return errors;
149
+ }
150
+ /**
151
+ * Recognize a bare story document passed AS the props bag. `--props
152
+ * @story.json` hands the CLI the manifest itself, so `props.story` is
153
+ * undefined — without this sniff the render silently fell back to the demo
154
+ * (the worst outcome: a wrong video with zero diagnostics). A bag with a
155
+ * `sections` array and no `story` key IS the story; validateStoryShape
156
+ * still gates it fully afterwards.
157
+ */
158
+ function sniffBareStory(props) {
159
+ if (typeof props !== "object" || props === null || Array.isArray(props))
160
+ return null;
161
+ const bag = props;
162
+ if (bag.story !== undefined)
163
+ return null;
164
+ if (!Array.isArray(bag.sections))
165
+ return null;
166
+ return bag;
167
+ }
168
+ /** Same monotonic non-overlap rule the orchestrator enforces — defensive twin. */
169
+ function validateCueShape(cues, sectionIndex, errors) {
170
+ if (cues === undefined)
171
+ return;
172
+ if (!Array.isArray(cues)) {
173
+ errors.push(`story.sections[${sectionIndex}].cues must be an array of { startMs, endMs, text }.`);
174
+ return;
175
+ }
176
+ let prevEnd = -1;
177
+ cues.forEach((cue, k) => {
178
+ const c = cue;
179
+ const ok = typeof cue === "object" &&
180
+ cue !== null &&
181
+ typeof c.startMs === "number" &&
182
+ Number.isFinite(c.startMs) &&
183
+ c.startMs >= 0 &&
184
+ typeof c.endMs === "number" &&
185
+ Number.isFinite(c.endMs) &&
186
+ c.endMs > c.startMs &&
187
+ typeof c.text === "string" &&
188
+ c.text.trim().length > 0;
189
+ if (!ok) {
190
+ errors.push(`story.sections[${sectionIndex}].cues[${k}] must be { startMs ≥ 0, endMs > startMs, text } (narration-relative ms).`);
191
+ return;
192
+ }
193
+ if (c.startMs < prevEnd) {
194
+ errors.push(`story.sections[${sectionIndex}].cues[${k}] starts before the previous cue ends — cues must be ordered and non-overlapping.`);
195
+ }
196
+ prevEnd = c.endMs;
197
+ });
198
+ }
199
+ function describe(v) {
200
+ if (v === null)
201
+ return "null";
202
+ if (Array.isArray(v))
203
+ return "an array";
204
+ return `a ${typeof v}`;
205
+ }
@@ -0,0 +1,64 @@
1
+ /**
2
+ * Body scenes — the section's images with restrained Ken Burns drift,
3
+ * windowed cross-dissolves, burned captions, and the audio bed.
4
+ *
5
+ * Z-order comes from the m0's nested overlay structure (image k is the
6
+ * overlay of k−1 and paints above it), never from source-array position.
7
+ * Each image only ever FADES IN — its predecessor sits opaque underneath,
8
+ * so one canonical alpha ramp is a true dissolve with no luminance dip
9
+ * (R4: alpha + typed window, both). Every covered image's window closes
10
+ * shortly after its successor is fully opaque, keeping the tail composite
11
+ * at 2 layers instead of M.
12
+ *
13
+ * Captions are DRAWTEXT by necessity (`buildSvgTextSource` merges every
14
+ * layer and drops per-layer `enable` — an svg caption source would show
15
+ * all cues at once, forever): ONE text source per section (R5), one layer
16
+ * per cue, each enable-gated `between(t, start, end)`, renderMode
17
+ * {kind:"video"} so the gates evaluate per frame. Cue times are
18
+ * narration-relative == step-local (cards cut INTO narration, so the
19
+ * body's t=0 is the narration's first sample).
20
+ *
21
+ * Narration is a `mediaType:"audio"` source on the top overlay leaf —
22
+ * mandatory even for real audio files (an MP3 with ID3 cover art probes
23
+ * hasVideo:true; the declaration keeps it out of the video composite while
24
+ * still contributing its audio). It starts at t=0 and the step's last
25
+ * xfadeOut ≤ tailPad milliseconds are pad silence, which is what makes a
26
+ * body step legal as the A side of a crossfade. The music bed is
27
+ * replicated per step with `playback.clipStartMs = musicStartMs +
28
+ * scene.startMs` (there is no pipeline-spanning audio track, no ducking,
29
+ * no afade — engine gaps by design, documented not faked).
30
+ */
31
+ import type { MosaicDocument, MosaicSource } from "@m0saic/types";
32
+ import type { StoryPlan, StoryScene, StoryVariant } from "../plan";
33
+ import type { StorySectionOverrides } from "../props";
34
+ import type { StoryTheme } from "../theme";
35
+ /** One resolved, probe-verified image for a section. */
36
+ export type ResolvedImage = {
37
+ /** Raw path string as it appears in the story (the ctx.media key). */
38
+ path: string;
39
+ /** Deterministic manifest key (positional — collision-free by construction). */
40
+ assetKey: string;
41
+ };
42
+ export type SectionMedia = {
43
+ images: ResolvedImage[];
44
+ /** Per-image subject anchors from overrides.imageFocus (0..1 fractions). */
45
+ focus: Array<{
46
+ x: number;
47
+ y: number;
48
+ } | undefined>;
49
+ /** Narration clip (raw path + manifest key) when the section declares one. */
50
+ narration?: ResolvedImage;
51
+ };
52
+ /** The music bed, shared by every scene (undefined = no music). */
53
+ export type MusicBed = {
54
+ path: string;
55
+ assetKey: string;
56
+ };
57
+ export declare function buildBodyDoc(scene: StoryScene, media: SectionMedia | undefined, variant: StoryVariant, plan: StoryPlan, theme: StoryTheme, music?: MusicBed): MosaicDocument;
58
+ /** The music-bed source for ANY scene: same file, per-step clip offset. */
59
+ export declare function musicSource(music: MusicBed, scene: StoryScene, plan: StoryPlan, label: string): MosaicSource;
60
+ /** Per-image subject anchors from a section's overrides, length-tolerant. */
61
+ export declare function focusFromOverrides(overrides: StorySectionOverrides | undefined, imageCount: number): Array<{
62
+ x: number;
63
+ y: number;
64
+ } | undefined>;
@@ -0,0 +1,253 @@
1
+ "use strict";
2
+ /**
3
+ * Body scenes — the section's images with restrained Ken Burns drift,
4
+ * windowed cross-dissolves, burned captions, and the audio bed.
5
+ *
6
+ * Z-order comes from the m0's nested overlay structure (image k is the
7
+ * overlay of k−1 and paints above it), never from source-array position.
8
+ * Each image only ever FADES IN — its predecessor sits opaque underneath,
9
+ * so one canonical alpha ramp is a true dissolve with no luminance dip
10
+ * (R4: alpha + typed window, both). Every covered image's window closes
11
+ * shortly after its successor is fully opaque, keeping the tail composite
12
+ * at 2 layers instead of M.
13
+ *
14
+ * Captions are DRAWTEXT by necessity (`buildSvgTextSource` merges every
15
+ * layer and drops per-layer `enable` — an svg caption source would show
16
+ * all cues at once, forever): ONE text source per section (R5), one layer
17
+ * per cue, each enable-gated `between(t, start, end)`, renderMode
18
+ * {kind:"video"} so the gates evaluate per frame. Cue times are
19
+ * narration-relative == step-local (cards cut INTO narration, so the
20
+ * body's t=0 is the narration's first sample).
21
+ *
22
+ * Narration is a `mediaType:"audio"` source on the top overlay leaf —
23
+ * mandatory even for real audio files (an MP3 with ID3 cover art probes
24
+ * hasVideo:true; the declaration keeps it out of the video composite while
25
+ * still contributing its audio). It starts at t=0 and the step's last
26
+ * xfadeOut ≤ tailPad milliseconds are pad silence, which is what makes a
27
+ * body step legal as the A side of a crossfade. The music bed is
28
+ * replicated per step with `playback.clipStartMs = musicStartMs +
29
+ * scene.startMs` (there is no pipeline-spanning audio track, no ducking,
30
+ * no afade — engine gaps by design, documented not faked).
31
+ */
32
+ Object.defineProperty(exports, "__esModule", { value: true });
33
+ exports.buildBodyDoc = buildBodyDoc;
34
+ exports.musicSource = musicSource;
35
+ exports.focusFromOverrides = focusFromOverrides;
36
+ const template_utils_1 = require("@m0saic/template-utils");
37
+ const layout_1 = require("../layout");
38
+ const kenburns_1 = require("../kenburns");
39
+ const card_1 = require("./card");
40
+ /** How long after a successor is fully opaque the covered image stays live. */
41
+ const WINDOW_SLACK_SEC = 0.25;
42
+ /** Drawtext is shaped by fontconfig while we measure bundled Roboto — leave margin. */
43
+ const CAPTION_SAFE_W = 0.9;
44
+ const CAPTION_MIN_FONT = 14;
45
+ function buildBodyDoc(scene, media, variant, plan, theme, music) {
46
+ var _a, _b, _c;
47
+ if (scene.kind !== "body") {
48
+ throw new Error(`buildBodyDoc: got a ${scene.kind} scene ("${scene.name}")`);
49
+ }
50
+ const durationMs = scene.visibleMs + scene.xfadeOutMs;
51
+ const aspect = (0, layout_1.classifyAspect)(variant.width, variant.height);
52
+ const spec = layout_1.ASPECT_TABLE[aspect];
53
+ const schedule = (_a = scene.images) !== null && _a !== void 0 ? _a : [];
54
+ const hasImages = media !== undefined && media.images.length > 0 && schedule.length > 0;
55
+ const cues = (_b = scene.cues) !== null && _b !== void 0 ? _b : [];
56
+ const captionsOn = cues.length > 0;
57
+ const narration = media === null || media === void 0 ? void 0 : media.narration;
58
+ const assets = {};
59
+ const sources = [];
60
+ // -- visual stack: images or the media-free panel -------------------------
61
+ if (hasImages) {
62
+ const fadeSec = Math.max(0.05, ((_c = scene.imageFadeMs) !== null && _c !== void 0 ? _c : 500) / 1000);
63
+ schedule.forEach((slot, k) => {
64
+ var _a, _b, _c;
65
+ const image = media.images[slot.imageIndex];
66
+ if (image === undefined) {
67
+ throw new Error(`buildBodyDoc: ${scene.name} schedules images[${slot.imageIndex}] but only ${media.images.length} resolved`);
68
+ }
69
+ assets[image.assetKey] = {
70
+ kind: "file",
71
+ path: image.path,
72
+ mediaType: "image",
73
+ };
74
+ const subject = media.focus[slot.imageIndex];
75
+ const startSec = slot.startMs / 1000;
76
+ const next = schedule[k + 1];
77
+ const camera = (0, kenburns_1.kenBurnsCamera)({
78
+ seed: plan.motion.seed,
79
+ sectionIndex: (_a = scene.sectionIndex) !== null && _a !== void 0 ? _a : 0,
80
+ imageIndex: slot.imageIndex,
81
+ startSec,
82
+ endSec: (slot.startMs + slot.durationMs) / 1000,
83
+ intensity: plan.motion.intensity,
84
+ ease: plan.motion.ease,
85
+ ampScale: spec.cameraAmpScale,
86
+ ...(subject !== undefined ? { subjectX: subject.x, subjectY: subject.y } : {}),
87
+ });
88
+ const window = {
89
+ ...(k > 0 ? { startSec } : {}),
90
+ ...(next !== undefined ? { endSec: next.startMs / 1000 + fadeSec + WINDOW_SLACK_SEC } : {}),
91
+ };
92
+ sources.push({
93
+ type: "media",
94
+ mediaType: "image",
95
+ assetId: image.assetKey,
96
+ placement: {
97
+ fit: "cover",
98
+ focusX: (_b = subject === null || subject === void 0 ? void 0 : subject.x) !== null && _b !== void 0 ? _b : 0.5,
99
+ focusY: (_c = subject === null || subject === void 0 ? void 0 : subject.y) !== null && _c !== void 0 ? _c : spec.coverFocusY,
100
+ },
101
+ ...(camera !== undefined ? { effects: { camera } } : {}),
102
+ overlay: {
103
+ ...(k > 0 ? { alpha: (0, template_utils_1.fadeInExpr)(startSec, fadeSec, "linear") } : {}),
104
+ ...(Object.keys(window).length > 0 ? { window } : {}),
105
+ },
106
+ editor: { owner: "template", label: `${scene.name}/img${slot.imageIndex}` },
107
+ });
108
+ });
109
+ }
110
+ else {
111
+ const S = Math.min(variant.width, variant.height);
112
+ sources.push((0, template_utils_1.makeColorTile)(theme.card), (0, card_1.textCell)(scene.heading, {
113
+ maxFont: Math.round(S * spec.headingScale * 0.7),
114
+ maxW: Math.floor(variant.width * spec.cardSafeW),
115
+ bandH: Math.floor(variant.height * 0.3),
116
+ color: theme.muted,
117
+ label: `${scene.name}/panel-heading`,
118
+ }));
119
+ }
120
+ // -- captions: plate + gated drawtext ------------------------------------
121
+ if (captionsOn) {
122
+ sources.push(...buildCaptionSources(scene, cues, variant, aspect, spec, plan, theme));
123
+ }
124
+ // -- audio leaves: narration, then music ----------------------------------
125
+ if (narration !== undefined) {
126
+ assets[narration.assetKey] = {
127
+ kind: "file",
128
+ path: narration.path,
129
+ mediaType: "audio",
130
+ };
131
+ sources.push({
132
+ type: "media",
133
+ mediaType: "audio",
134
+ assetId: narration.assetKey,
135
+ audio: { enabled: true, volume: plan.audio.narrationVolume },
136
+ editor: { owner: "template", label: `${scene.name}/narration` },
137
+ });
138
+ }
139
+ if (music !== undefined) {
140
+ assets[music.assetKey] = {
141
+ kind: "file",
142
+ path: music.path,
143
+ mediaType: "audio",
144
+ };
145
+ sources.push(musicSource(music, scene, plan, `${scene.name}/music`));
146
+ }
147
+ const stackFrames = hasImages ? schedule.length : 2;
148
+ const audioCount = (narration !== undefined ? 1 : 0) + (music !== undefined ? 1 : 0);
149
+ return {
150
+ kind: "mosaic_document",
151
+ version: 1,
152
+ m0: (0, layout_1.buildBodyM0)({ aspect, stackFrames, captions: captionsOn, audioCount }),
153
+ assets,
154
+ sources,
155
+ size: { width: variant.width, height: variant.height },
156
+ fps: plan.fps,
157
+ durationMs,
158
+ backgroundColor: theme.canvas,
159
+ editor: { label: `${variant.name}/${scene.name}` },
160
+ };
161
+ }
162
+ /** The music-bed source for ANY scene: same file, per-step clip offset. */
163
+ function musicSource(music, scene, plan, label) {
164
+ return {
165
+ type: "media",
166
+ mediaType: "audio",
167
+ assetId: music.assetKey,
168
+ audio: { enabled: true, volume: plan.audio.musicVolume },
169
+ playback: { clipStartMs: plan.audio.musicStartMs + scene.startMs },
170
+ editor: { owner: "template", label },
171
+ };
172
+ }
173
+ /**
174
+ * Caption frames for the band carved by buildBodyM0. Portrait: [plate,
175
+ * text]. Landscape/square get an extra leading TRANSPARENT tile claiming
176
+ * the split's top band so the images show through: [topSpacer, plate,
177
+ * text]. The plate fills its real band cell (small insets only — the
178
+ * engine caps inset at 0.49/side, which is why the band is carved, not
179
+ * painted).
180
+ */
181
+ function buildCaptionSources(scene, cues, variant, aspect, spec, plan, theme) {
182
+ const S = Math.min(variant.width, variant.height);
183
+ const isBand = aspect === "portrait";
184
+ const plateColor = "#000000@0.55";
185
+ const plate = plan.captions.plate === "never"
186
+ ? (0, template_utils_1.makeColorTile)("black@0")
187
+ : (0, template_utils_1.makeColorTile)(plateColor, {
188
+ placement: { inset: { top: 0.05, left: 0.05, right: 0.05, bottom: 0.12 } },
189
+ });
190
+ // Fit once per section against every cue (no per-cue jitter): shrink the
191
+ // font until each cue wraps within the line budget. The wrap ALWAYS runs
192
+ // at least once — a tiny canvas whose cap starts below the floor must
193
+ // still produce layers, never an empty wrapped list.
194
+ const boxW = Math.floor(variant.width * 0.85 * CAPTION_SAFE_W);
195
+ let fontSize = Math.max(CAPTION_MIN_FONT, Math.round(S * spec.captionScale));
196
+ let wrapped = cues.map((cue) => wrapCue(cue.text, fontSize, boxW));
197
+ while (!wrapped.every((lines) => lines.length <= spec.captionLines) && fontSize > CAPTION_MIN_FONT) {
198
+ fontSize = Math.max(CAPTION_MIN_FONT, Math.floor(fontSize * 0.9));
199
+ wrapped = cues.map((cue) => wrapCue(cue.text, fontSize, boxW));
200
+ }
201
+ const text = {
202
+ type: "text",
203
+ renderMode: { kind: "video" }, // per-layer enable gates evaluate per FRAME
204
+ layers: cues.map((cue, i) => ({
205
+ content: { kind: "literal", text: wrapped[i].join("\n") },
206
+ style: { fontSize, fontColor: theme.ink },
207
+ placement: { hAlign: "center", vAlign: "middle", padding: { x: 0.07, y: 0.1 } },
208
+ overlay: { enable: `between(t,${(cue.startMs / 1000).toFixed(3)},${(cue.endMs / 1000).toFixed(3)})` },
209
+ })),
210
+ editor: { owner: "template", label: `${scene.name}/captions` },
211
+ };
212
+ return isBand ? [plate, text] : [(0, template_utils_1.makeColorTile)("black@0"), plate, text];
213
+ }
214
+ /** Greedy word-wrap against real metrics; oversized words stay whole (drawtext clips). */
215
+ function wrapCue(text, fontSize, maxW) {
216
+ const width = (s) => (0, template_utils_1.measureText)(s, { fontSize }).width;
217
+ const out = [];
218
+ let current = "";
219
+ for (const word of text.replace(/\n/g, " ").split(/\s+/).filter((w) => w.length > 0)) {
220
+ const joined = current.length > 0 ? `${current} ${word}` : word;
221
+ if (width(joined) <= maxW || current.length === 0) {
222
+ current = joined;
223
+ }
224
+ else {
225
+ out.push(current);
226
+ current = word;
227
+ }
228
+ }
229
+ if (current.length > 0)
230
+ out.push(current);
231
+ return out.length > 0 ? out : [text];
232
+ }
233
+ /** Per-image subject anchors from a section's overrides, length-tolerant. */
234
+ function focusFromOverrides(overrides, imageCount) {
235
+ const raw = overrides === null || overrides === void 0 ? void 0 : overrides.imageFocus;
236
+ const out = new Array(imageCount).fill(undefined);
237
+ if (!Array.isArray(raw))
238
+ return out;
239
+ for (let i = 0; i < imageCount && i < raw.length; i++) {
240
+ const f = raw[i];
241
+ if (typeof f === "object" &&
242
+ f !== null &&
243
+ typeof f.x === "number" &&
244
+ f.x >= 0 &&
245
+ f.x <= 1 &&
246
+ typeof f.y === "number" &&
247
+ f.y >= 0 &&
248
+ f.y <= 1) {
249
+ out[i] = { x: f.x, y: f.y };
250
+ }
251
+ }
252
+ return out;
253
+ }