@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,161 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.FfmpegPulseKpiOverview = void 0;
4
+ const types_1 = require("@m0saic/types");
5
+ const template_utils_1 = require("@m0saic/template-utils");
6
+ const alpine_card_1 = require("../../../../alpine/_shared/alpine-card");
7
+ const pulse_chrome_1 = require("../../_shared/pulse-chrome");
8
+ const pulse_theme_1 = require("../../_shared/pulse-theme");
9
+ const pulse_data_1 = require("../../_shared/pulse-data");
10
+ const pulse_glyphs_1 = require("../../_shared/pulse-glyphs");
11
+ const DEFAULT_PRESET = "dark";
12
+ const DEFAULT_ANIM = { introFrac: 0.7, reduceMotion: false };
13
+ const GEOM = {
14
+ desktop: { nativeW: 1920, nativeH: 1080, margin: 140,
15
+ beat: { x: 140, y: 66, w: 128, h: 42 }, logo: { x: 140, y: 138, w: 116, h: 116 }, title: { x: 276, y: 150, w: 640, h: 92 }, subtitle: { x: 142, y: 282, w: 640, h: 34 },
16
+ footer: { x: 140, y: 1006, w: 560, h: 50 }, grid: { x0: 140, y0: 380, cols: 4, cw: 386, ch: 266, gx: 32, gy: 32 } },
17
+ square: { nativeW: 1080, nativeH: 1080, margin: 56,
18
+ beat: { x: 56, y: 50, w: 120, h: 40 }, logo: { x: 56, y: 116, w: 100, h: 100 }, title: { x: 172, y: 126, w: 700, h: 82 }, subtitle: { x: 58, y: 224, w: 760, h: 32 },
19
+ footer: { x: 56, y: 1012, w: 460, h: 44 }, grid: { x0: 56, y0: 286, cols: 3, cw: 309, ch: 222, gx: 20, gy: 20 } },
20
+ mobile: { nativeW: 1080, nativeH: 1920, margin: 80,
21
+ beat: { x: 80, y: 110, w: 150, h: 46 }, logo: { x: 80, y: 196, w: 130, h: 130 }, title: { x: 230, y: 212, w: 700, h: 100 }, subtitle: { x: 82, y: 332, w: 760, h: 38 },
22
+ footer: { x: 80, y: 1800, w: 640, h: 56 }, grid: { x0: 80, y0: 430, cols: 2, cw: 446, ch: 300, gx: 28, gy: 28 } },
23
+ };
24
+ // Chrome helpers (text1/pill/withFade/insetSafe/backdrop/unionRect/header/footer/
25
+ // scatter/timing) now live in ../../_shared/pulse-chrome.
26
+ // ---------------------------------------------------------------------------
27
+ // Template
28
+ // ---------------------------------------------------------------------------
29
+ const propsSchema = (0, template_utils_1.definePropsSchema)({
30
+ pulse: { type: "group", required: false, description: "Weekly Pulse data sheet (period + kpis drive the grid).", meta: { ui: { label: "Pulse data", order: 1, consumer: "agent" } } },
31
+ eyebrow: { type: "string", required: false, description: "Beat chip label.", meta: { control: { placeholder: "BEAT 1" }, ui: { label: "Eyebrow", order: 1 } } },
32
+ headline: { type: "string", required: false, description: "Beat title.", meta: { control: { placeholder: "KPI OVERVIEW" }, ui: { label: "Headline", order: 2 } } },
33
+ subtitle: { type: "string", required: false, description: "One-line beat subtitle.", meta: { ui: { label: "Subtitle", order: 3 } } },
34
+ preset: { type: "string", required: false, description: "Pulse theme variant.", meta: { constraints: { oneOf: ["dark"] }, ui: { label: "Preset", order: 10 } } },
35
+ renderMode: { type: "string", required: false, description: "Render weight for this beat's nested charts/cards. \"premium\" (default): alpha-fade reveals — the softer look; the engine's enable-gating makes the per-pixel geq nearly free. \"light\": geq-free enable-gate pops — cheapest, most composable when nested many-deep. Set by the runner.", meta: { constraints: { oneOf: ["light", "premium"] }, ui: { label: "Render mode", order: 11 } } },
36
+ anim: { type: "group", required: false, description: "Intro: introFrac (share of clip), reduceMotion.", meta: { ui: { label: "Animation", collapsedByDefault: true, consumer: "agent" } } },
37
+ animate: { type: "boolean", required: false, description: "Animate the cards counting up + content fading in.", meta: { ui: { label: "Animate", consumer: "human", order: 1 }, control: { syncsTo: [{ prop: "anim.reduceMotion", map: { kind: "boolInvert" } }] } } },
38
+ debugLayout: { type: "boolean", required: false, description: "Dev-only layout contract: assert the shared chrome (header cluster top-band, footer bottom-band) + the KPI grid panel hold their canvas-fraction zones at any resolution/aspect; on violation render a LAYOUT_CONTRACT error mosaic + stamp editor.layoutContract. Default false; production never sets it. Swept by audit:layout-envelope.", meta: { ui: { label: "Debug layout", order: 20, collapsedByDefault: true } } },
39
+ });
40
+ exports.FfmpegPulseKpiOverview = {
41
+ id: (0, types_1.asTemplateId)("@m0saic/hero/ffmpeg-pulse/kpi-overview/v1"),
42
+ label: "Weekly Pulse · KPI Overview",
43
+ version: 1,
44
+ description: "FFmpeg Weekly Pulse — KPI Overview beat. Logo-left header cluster + an aspect-adaptive grid of KPI stat cards (4×2 desktop, 2×4 square/mobile) + WEEK/period footer, over the signature scatter. Grid driven by pulse.kpis.",
45
+ capabilities: { tier: "core" },
46
+ internal: true,
47
+ tags: ["hero", "ffmpeg-pulse", "kpi-overview", "beat"],
48
+ outputHints: { width: 1920, height: 1080, fps: 30, durationMs: 9000 },
49
+ upstreamDataSchema: pulse_data_1.WEEKLY_PULSE_UPSTREAM_SCHEMA,
50
+ propsSchema,
51
+ defaultProps: {
52
+ debugLayout: false,
53
+ pulse: pulse_data_1.MOCK_FFMPEG_PULSE,
54
+ eyebrow: "BEAT 1",
55
+ headline: "KPI OVERVIEW",
56
+ subtitle: "Key metrics at a glance for the week.",
57
+ preset: DEFAULT_PRESET,
58
+ renderMode: "premium",
59
+ anim: DEFAULT_ANIM,
60
+ },
61
+ async render(props, ctx) {
62
+ var _a, _b, _c, _d, _e, _f, _g, _h, _j;
63
+ const W = Math.max(1, Math.round(ctx.target.width));
64
+ const H = Math.max(1, Math.round(ctx.target.height));
65
+ const theme = (0, pulse_theme_1.pulseTheme)((_a = props.preset) !== null && _a !== void 0 ? _a : DEFAULT_PRESET);
66
+ const pulse = (0, pulse_data_1.resolvePulse)(props.pulse, ctx);
67
+ const anim = { ...DEFAULT_ANIM, ...((_b = props.anim) !== null && _b !== void 0 ? _b : {}) };
68
+ const reduceMotion = anim.reduceMotion;
69
+ const renderMode = props.renderMode === "light" ? "light" : "premium";
70
+ const durationMs = (_c = ctx.target.durationMs) !== null && _c !== void 0 ? _c : 9000;
71
+ const variant = (0, pulse_chrome_1.classify)(W, H);
72
+ const gm = GEOM[variant];
73
+ const sx = W / gm.nativeW, sy = H / gm.nativeH;
74
+ const scale = (r) => ({ x: Math.round(r.x * sx), y: Math.round(r.y * sy), w: Math.round(r.w * sx), h: Math.round(r.h * sy) });
75
+ const gd = gm.grid;
76
+ const kpis = ((_d = pulse.kpis) !== null && _d !== void 0 ? _d : []).slice(0, gd.cols * 4); // grid driven by kpi count
77
+ if (!kpis.length)
78
+ return (0, template_utils_1.makeErrorMosaic)("kpi-overview: pulse has no kpis", { title: `${this.id}`, width: W, height: H });
79
+ // KPI cells (row-major; a partial last row is centered), scaled to canvas.
80
+ const rowsNeeded = Math.max(1, Math.ceil(kpis.length / gd.cols));
81
+ const fullRowW = gd.cols * gd.cw + (gd.cols - 1) * gd.gx;
82
+ const cells = kpis.map((_, i) => {
83
+ const row = Math.floor(i / gd.cols);
84
+ const inRow = row === rowsNeeded - 1 ? kpis.length - row * gd.cols : gd.cols;
85
+ const col = i % gd.cols;
86
+ const rowX0 = gd.x0 + (inRow < gd.cols ? Math.round((fullRowW - (inRow * gd.cw + (inRow - 1) * gd.gx)) / 2) : 0);
87
+ return scale({ x: rowX0 + col * (gd.cw + gd.gx), y: gd.y0 + row * (gd.ch + gd.gy), w: gd.cw, h: gd.ch });
88
+ });
89
+ // Every card renders at the CELL its inset will produce, nudged 5-smooth
90
+ // (insetSlot, pulse-chrome): exact fit, no inherited rough factor.
91
+ const cellSlots = cells.map((r) => (0, pulse_chrome_1.insetSlot)(r, W, H));
92
+ cells.forEach((_, i) => { cells[i] = cellSlots[i].rect; });
93
+ // ── Nested KPI stat cards (each its own document; placed by mosaic ref) ──
94
+ // Per-KPI glyph: an Octicon SVG path masked onto the green chip (keyed by
95
+ // kpi.key, from pulse-glyphs); omitted keys fall back to the bare colored chip.
96
+ const introMs = reduceMotion ? 0 : Math.max(500, Math.round(durationMs * anim.introFrac));
97
+ const cards = await Promise.all(kpis.map((k, i) => {
98
+ var _a, _b;
99
+ return (0, template_utils_1.renderNestedTemplate)("@m0saic/alpine/stat-card/v1", {
100
+ label: k.label,
101
+ value: (0, pulse_data_1.kpiValue)(k),
102
+ delta: (0, pulse_data_1.kpiDelta)(k),
103
+ direction: (_a = k.direction) !== null && _a !== void 0 ? _a : "flat",
104
+ sublabel: (_b = k.sublabel) !== null && _b !== void 0 ? _b : "vs last week",
105
+ accent: theme.primaryBright,
106
+ iconPath: pulse_glyphs_1.KPI_GLYPHS[k.key],
107
+ // Whole-card fade is done at the beat level (below); keep only the count-up internally.
108
+ renderMode, // runner-controlled render weight (light = geq-free; premium = alpha-fade)
109
+ preset: "dark", // hero keeps its dark KPI look (stat-card now light by default)
110
+ backgroundColor: theme.card,
111
+ anim: { countUp: !reduceMotion, fade: false, introMs, reduceMotion },
112
+ }, ctx, { slot: { width: cellSlots[i].slot.width, height: cellSlots[i].slot.height, durationMs } });
113
+ }));
114
+ // Intro choreography (mirrors the title beat): the BAKED bg reveal plays first
115
+ // (its L→R wipe is pre-rendered into the scatter video, finishing ~22%); THEN the
116
+ // backdrops + header fade in; THEN the KPI cards cascade one-after-another (quick,
117
+ // the next starting as the previous ends → one flow). reduceMotion → all at t=0.
118
+ const t = (0, pulse_chrome_1.pulseTiming)(durationMs, reduceMotion);
119
+ const { bgFinishT, chromeFadeDur, cardStagger, cardsStart, animOn } = t;
120
+ const children = {};
121
+ const cardNodes = cards.map((c, i) => {
122
+ const ref = `kpi${i}`;
123
+ children[ref] = c;
124
+ // Staggered fade per card (whole-card alpha on the ref) → a sequential cascade.
125
+ return (0, pulse_chrome_1.insetSafe)((0, pulse_chrome_1.withFade)((0, alpine_card_1.paint)({ type: "mosaic", ref }), cardsStart + i * cardStagger, cardStagger, animOn), cells[i], W, H);
126
+ });
127
+ // ── Header cluster + footer (shared chrome; fade before the cards) ──
128
+ const beatR = scale(gm.beat), logoR = scale(gm.logo), titleR = scale(gm.title), subR = scale(gm.subtitle), footR = scale(gm.footer);
129
+ const footText = `WEEK ${(_f = (_e = pulse.period) === null || _e === void 0 ? void 0 : _e.weekNumber) !== null && _f !== void 0 ? _f : ""} · ${(0, pulse_data_1.periodLabel)(pulse.period)}`.trim();
130
+ const header = (0, pulse_chrome_1.buildHeader)({ beat: beatR, logo: logoR, title: titleR, subtitle: subR }, theme, { eyebrow: (_g = props.eyebrow) !== null && _g !== void 0 ? _g : "BEAT 1", title: (_h = props.headline) !== null && _h !== void 0 ? _h : "KPI OVERVIEW", subtitle: (_j = props.subtitle) !== null && _j !== void 0 ? _j : "Key metrics at a glance for the week.", bind: { eyebrow: "eyebrow", title: "headline", subtitle: "subtitle" } }, t, W, H);
131
+ const footNode = (0, pulse_chrome_1.buildFooter)(footR, theme, footText, t, W, H);
132
+ // ── Backdrop panels — all share the LEFT edge (panelX) so header / grid / footer align. ──
133
+ const M = Math.round(gm.margin * sx);
134
+ const pad = Math.round(Math.min(W, H) * 0.018);
135
+ const panelX = Math.max(0, M - pad);
136
+ const panelRight = Math.min(W, W - M + pad);
137
+ const gridTop = Math.min(...cells.map((c) => c.y)), gridBot = Math.max(...cells.map((c) => c.y + c.h));
138
+ const headerBg = (0, pulse_chrome_1.backdrop)(theme.card, { x: panelX, y: Math.max(0, header.bbox.y - pad), w: panelRight - panelX, h: header.bbox.h + 2 * pad }, W, H, bgFinishT, chromeFadeDur, animOn);
139
+ const gridBg = (0, pulse_chrome_1.labelNode)((0, pulse_chrome_1.backdrop)(theme.card, { x: panelX, y: gridTop - pad, w: panelRight - panelX, h: gridBot - gridTop + 2 * pad }, W, H, bgFinishT, chromeFadeDur, animOn), "grid-panel");
140
+ const footBg = (0, pulse_chrome_1.backdrop)(theme.card, { x: panelX, y: footR.y - pad, w: footR.w + 2 * pad, h: footR.h + 2 * pad }, W, H, bgFinishT, chromeFadeDur, animOn);
141
+ // Order: scatter → backdrops → chrome → KPI cards (each backdrop sits behind its content).
142
+ const root = (0, alpine_card_1.overlay)([(0, pulse_chrome_1.scatterNode)(), gridBg, headerBg, footBg, ...header.nodes, footNode, ...cardNodes]);
143
+ const doc = {
144
+ kind: "mosaic_document",
145
+ version: 1,
146
+ assets: { ...(0, pulse_chrome_1.chromeAssets)(variant) },
147
+ m0: root.m0,
148
+ sources: root.sources,
149
+ children,
150
+ backgroundColor: theme.canvas,
151
+ fps: ctx.target.fps,
152
+ durationMs,
153
+ size: { width: W, height: H },
154
+ };
155
+ // Layout contract (dev tripwire; flatten:false → judge only this beat's own
156
+ // top-level chrome + the KPI grid panel, not the nested stat cards).
157
+ const constraints = [...pulse_chrome_1.PULSE_CHROME_CONSTRAINTS, { label: "grid-panel", within: { yFrac: [0.14, 0.98] } }];
158
+ return (0, template_utils_1.withLayoutContract)(doc, ctx, { templateId: "@m0saic/hero/ffmpeg-pulse/kpi-overview/v1", constraints, flatten: false, debug: props.debugLayout === true });
159
+ },
160
+ };
161
+ (0, template_utils_1.registerTemplate)(exports.FfmpegPulseKpiOverview);
@@ -0,0 +1 @@
1
+ export { FfmpegPulseNotableCommits } from "./notable-commits";
@@ -0,0 +1,5 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.FfmpegPulseNotableCommits = void 0;
4
+ var notable_commits_1 = require("./notable-commits");
5
+ Object.defineProperty(exports, "FfmpegPulseNotableCommits", { enumerable: true, get: function () { return notable_commits_1.FfmpegPulseNotableCommits; } });
@@ -0,0 +1,36 @@
1
+ /**
2
+ * ============================================================================
3
+ * @m0saic/hero/ffmpeg-pulse/notable-commits/v1 — Weekly Pulse · Notable Commits (Beat 6)
4
+ * ============================================================================
5
+ *
6
+ * The SAME chrome as the other beats wrapping a commit feed (nested
7
+ * @m0saic/alpine/commit-feed — kind icon + title + PR, area chip + author +
8
+ * reviewer discs + date, with a win/warn/neutral signal bar) on the left + a rail
9
+ * of maintainer stat tiles (Merged PRs / Review Coverage / Open Issues /
10
+ * Contributors) on the right.
11
+ *
12
+ * Driven by `pulse.notable` (items → feed, rail → tiles). The feed is transparent
13
+ * (washColor = theme.card) so the beat's theme.card backdrop shows through the row
14
+ * gaps (cohesive). Aspect-adaptive; deterministic; reduceMotion → static.
15
+ * ============================================================================
16
+ */
17
+ import type { MosaicTemplate } from "@m0saic/types";
18
+ import { type PulsePreset } from "../../_shared/pulse-theme";
19
+ import { type WeeklyPulse } from "../../_shared/pulse-data";
20
+ type AnimConfig = {
21
+ introFrac: number;
22
+ reduceMotion: boolean;
23
+ };
24
+ type NotableCommitsProps = {
25
+ pulse: WeeklyPulse;
26
+ eyebrow?: string;
27
+ headline?: string;
28
+ subtitle?: string;
29
+ preset?: PulsePreset;
30
+ renderMode?: "premium" | "light";
31
+ anim?: AnimConfig;
32
+ animate?: boolean;
33
+ debugLayout?: boolean;
34
+ };
35
+ export declare const FfmpegPulseNotableCommits: MosaicTemplate<NotableCommitsProps>;
36
+ export {};
@@ -0,0 +1,151 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.FfmpegPulseNotableCommits = void 0;
4
+ const types_1 = require("@m0saic/types");
5
+ const template_utils_1 = require("@m0saic/template-utils");
6
+ const alpine_card_1 = require("../../../../alpine/_shared/alpine-card");
7
+ const pulse_chrome_1 = require("../../_shared/pulse-chrome");
8
+ const pulse_theme_1 = require("../../_shared/pulse-theme");
9
+ const pulse_data_1 = require("../../_shared/pulse-data");
10
+ const pulse_glyphs_1 = require("../../_shared/pulse-glyphs");
11
+ const DEFAULT_PRESET = "dark";
12
+ const DEFAULT_ANIM = { introFrac: 0.7, reduceMotion: false };
13
+ const GEOM = {
14
+ desktop: { nativeW: 1920, nativeH: 1080, margin: 140,
15
+ beat: { x: 140, y: 66, w: 128, h: 42 }, logo: { x: 140, y: 138, w: 116, h: 116 }, title: { x: 276, y: 150, w: 980, h: 92 }, subtitle: { x: 142, y: 282, w: 760, h: 34 },
16
+ footer: { x: 140, y: 1006, w: 560, h: 50 }, feed: { x: 140, y: 384, w: 980, h: 600 }, rail: { x0: 1160, y0: 384, cols: 2, cw: 290, ch: 288, gx: 20, gy: 24 } },
17
+ square: { nativeW: 1080, nativeH: 1080, margin: 170,
18
+ beat: { x: 170, y: 40, w: 120, h: 38 }, logo: { x: 170, y: 104, w: 92, h: 92 }, title: { x: 282, y: 120, w: 628, h: 60 }, subtitle: { x: 172, y: 202, w: 720, h: 30 },
19
+ footer: { x: 170, y: 1026, w: 420, h: 34 }, feed: { x: 170, y: 252, w: 740, h: 430 },
20
+ rail: { x0: 170, y0: 700, cols: 2, cw: 360, ch: 150, gx: 20, gy: 16 } },
21
+ mobile: { nativeW: 1080, nativeH: 1920, margin: 80,
22
+ beat: { x: 80, y: 110, w: 150, h: 46 }, logo: { x: 80, y: 196, w: 130, h: 130 }, title: { x: 230, y: 228, w: 760, h: 74 }, subtitle: { x: 82, y: 332, w: 760, h: 38 },
23
+ footer: { x: 80, y: 1800, w: 640, h: 56 }, feed: { x: 80, y: 430, w: 920, h: 880 },
24
+ rail: { x0: 80, y0: 1340, cols: 2, cw: 448, ch: 220, gx: 24, gy: 16 } },
25
+ };
26
+ const RAIL_GLYPH = { mergedPrs: "mergedPrs", reviewCoverage: "pullRequests", openIssues: "openIssues", contributors: "contributors", totalCommits: "commits" };
27
+ const propsSchema = (0, template_utils_1.definePropsSchema)({
28
+ pulse: { type: "group", required: false, description: "Weekly Pulse data sheet (notable drives the feed + rail).", meta: { ui: { label: "Pulse data", order: 1, consumer: "agent" } } },
29
+ eyebrow: { type: "string", required: false, description: "Beat chip label.", meta: { control: { placeholder: "BEAT 6" }, ui: { label: "Eyebrow", order: 1 } } },
30
+ headline: { type: "string", required: false, description: "Beat title.", meta: { control: { placeholder: "NOTABLE COMMITS" }, ui: { label: "Headline", order: 2 } } },
31
+ subtitle: { type: "string", required: false, description: "One-line beat subtitle.", meta: { ui: { label: "Subtitle", order: 3 } } },
32
+ preset: { type: "string", required: false, description: "Pulse theme variant.", meta: { constraints: { oneOf: ["dark"] }, ui: { label: "Preset", order: 10 } } },
33
+ renderMode: { type: "string", required: false, description: "Render weight for this beat's nested charts/cards. \"premium\" (default): alpha-fade reveals — the softer look; the engine's enable-gating makes the per-pixel geq nearly free. \"light\": geq-free enable-gate pops — cheapest, most composable when nested many-deep. Set by the runner.", meta: { constraints: { oneOf: ["light", "premium"] }, ui: { label: "Render mode", order: 11 } } },
34
+ anim: { type: "group", required: false, description: "Intro: introFrac, reduceMotion.", meta: { ui: { label: "Animation", collapsedByDefault: true, consumer: "agent" } } },
35
+ animate: { type: "boolean", required: false, description: "Animate the feed cascade + content fade.", meta: { ui: { label: "Animate", consumer: "human", order: 1 }, control: { syncsTo: [{ prop: "anim.reduceMotion", map: { kind: "boolInvert" } }] } } },
36
+ debugLayout: { type: "boolean", required: false, description: "Dev-only layout contract: assert the shared chrome (header cluster top-band, footer bottom-band) + this beat's content/rail panels hold their canvas-fraction zones at any resolution/aspect; on violation render a LAYOUT_CONTRACT error mosaic + stamp editor.layoutContract. Default false; production never sets it. Swept by audit:layout-envelope.", meta: { ui: { label: "Debug layout", order: 20, collapsedByDefault: true } } },
37
+ });
38
+ exports.FfmpegPulseNotableCommits = {
39
+ id: (0, types_1.asTemplateId)("@m0saic/hero/ffmpeg-pulse/notable-commits/v1"),
40
+ label: "Weekly Pulse · Notable Commits",
41
+ version: 1,
42
+ description: "FFmpeg Weekly Pulse — Notable Commits beat (Beat 6). The shared beat chrome wrapping a commit feed (kind icon + title + PR + area + reviewers + signal bar) + a rail of maintainer stat tiles (merged PRs / review coverage / open issues / contributors). Aspect-adaptive.",
43
+ capabilities: { tier: "core" },
44
+ internal: true,
45
+ tags: ["hero", "ffmpeg-pulse", "notable-commits", "beat"],
46
+ outputHints: { width: 1920, height: 1080, fps: 30, durationMs: 9000 },
47
+ upstreamDataSchema: pulse_data_1.WEEKLY_PULSE_UPSTREAM_SCHEMA,
48
+ propsSchema,
49
+ defaultProps: {
50
+ debugLayout: false,
51
+ pulse: pulse_data_1.MOCK_FFMPEG_PULSE,
52
+ eyebrow: "BEAT 6",
53
+ headline: "NOTABLE COMMITS",
54
+ subtitle: "Highlight interesting work.",
55
+ preset: DEFAULT_PRESET,
56
+ renderMode: "premium",
57
+ anim: DEFAULT_ANIM,
58
+ },
59
+ async render(props, ctx) {
60
+ var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l, _m;
61
+ const W = Math.max(1, Math.round(ctx.target.width));
62
+ const H = Math.max(1, Math.round(ctx.target.height));
63
+ const theme = (0, pulse_theme_1.pulseTheme)((_a = props.preset) !== null && _a !== void 0 ? _a : DEFAULT_PRESET);
64
+ const pulse = (0, pulse_data_1.resolvePulse)(props.pulse, ctx);
65
+ const anim = { ...DEFAULT_ANIM, ...((_b = props.anim) !== null && _b !== void 0 ? _b : {}) };
66
+ const reduceMotion = anim.reduceMotion;
67
+ const renderMode = props.renderMode === "light" ? "light" : "premium";
68
+ const durationMs = (_c = ctx.target.durationMs) !== null && _c !== void 0 ? _c : 9000;
69
+ const variant = (0, pulse_chrome_1.classify)(W, H);
70
+ const gm = GEOM[variant];
71
+ const sx = W / gm.nativeW, sy = H / gm.nativeH;
72
+ const scale = (r) => ({ x: Math.round(r.x * sx), y: Math.round(r.y * sy), w: Math.round(r.w * sx), h: Math.round(r.h * sy) });
73
+ const items = (_e = (_d = pulse.notable) === null || _d === void 0 ? void 0 : _d.items) !== null && _e !== void 0 ? _e : [];
74
+ if (!items.length)
75
+ return (0, template_utils_1.makeErrorMosaic)("notable-commits: pulse has no notable.items", { title: `${this.id}`, width: W, height: H });
76
+ const feedRows = items.map((it) => ({ kind: it.kind, title: it.title, author: it.author, date: (0, pulse_data_1.monthDay)(it.dateISO), pr: it.pr, reviewers: it.reviewers, area: it.area, signal: it.signal }));
77
+ const railData = ((_g = (_f = pulse.notable) === null || _f === void 0 ? void 0 : _f.rail) !== null && _g !== void 0 ? _g : []).slice(0, 4).map((k) => {
78
+ var _a, _b, _c;
79
+ return ({
80
+ label: k.label, value: (0, pulse_data_1.kpiValue)(k), delta: (0, pulse_data_1.kpiDelta)(k), direction: (_a = k.direction) !== null && _a !== void 0 ? _a : "flat", sublabel: (_b = k.sublabel) !== null && _b !== void 0 ? _b : "vs last week", iconKey: (_c = RAIL_GLYPH[k.key]) !== null && _c !== void 0 ? _c : "commits",
81
+ });
82
+ });
83
+ const rg = gm.rail;
84
+ const railCells = railData.map((_, i) => {
85
+ const row = Math.floor(i / rg.cols), col = i % rg.cols;
86
+ return scale({ x: rg.x0 + col * (rg.cw + rg.gx), y: rg.y0 + row * (rg.ch + rg.gy), w: rg.cw, h: rg.ch });
87
+ });
88
+ // Every nested child renders at the CELL its inset will produce (exact fit
89
+ // for an absolutely-laid-out child at any canvas) — nudged so that cell is
90
+ // 5-smooth and hands the child no rough factor (insetSlot, pulse-chrome).
91
+ const railSlots = railCells.map((r) => (0, pulse_chrome_1.insetSlot)(r, W, H));
92
+ railCells.forEach((_, i) => { railCells[i] = railSlots[i].rect; });
93
+ const feedRSlot = (0, pulse_chrome_1.insetSlot)(scale(gm.feed), W, H);
94
+ const feedR = feedRSlot.rect;
95
+ const introMs = reduceMotion ? 0 : Math.max(500, Math.round(durationMs * anim.introFrac));
96
+ const feedChild = await (0, template_utils_1.renderNestedTemplate)("@m0saic/alpine/commit-feed/v1", {
97
+ rows: feedRows, preset: "dark", showHeader: false, backgroundColor: "black@0", washColor: theme.card,
98
+ accent: theme.primaryBright, anim: { introFrac: anim.introFrac, reduceMotion, renderMode }, // runner-controlled render weight (light = geq-free cascade; premium = alpha fade)
99
+ }, ctx, { slot: { width: feedRSlot.slot.width, height: feedRSlot.slot.height, durationMs } });
100
+ const railChildren = await Promise.all(railData.map((r, i) => {
101
+ var _a, _b, _c;
102
+ return (0, template_utils_1.renderNestedTemplate)("@m0saic/alpine/stat-card/v1", {
103
+ label: r.label, value: r.value, delta: (_a = r.delta) !== null && _a !== void 0 ? _a : "", direction: (_b = r.direction) !== null && _b !== void 0 ? _b : "flat", sublabel: (_c = r.sublabel) !== null && _c !== void 0 ? _c : "",
104
+ accent: theme.primaryBright, iconPath: r.iconKey ? pulse_glyphs_1.KPI_GLYPHS[r.iconKey] : undefined,
105
+ renderMode, // runner-controlled render weight (light = geq-free; premium = alpha-fade)
106
+ preset: "dark", // hero keeps its dark KPI look (stat-card now light by default)
107
+ backgroundColor: theme.card,
108
+ anim: { countUp: !reduceMotion, fade: false, introMs, reduceMotion },
109
+ }, ctx, { slot: { width: railSlots[i].slot.width, height: railSlots[i].slot.height, durationMs } });
110
+ }));
111
+ const t = (0, pulse_chrome_1.pulseTiming)(durationMs, reduceMotion);
112
+ const { bgFinishT, chromeFadeDur, cardStagger, cardsStart, animOn } = t;
113
+ const children = { feed: feedChild };
114
+ const feedNode = (0, pulse_chrome_1.insetSafe)((0, pulse_chrome_1.withFade)((0, alpine_card_1.paint)({ type: "mosaic", ref: "feed" }), bgFinishT, chromeFadeDur, animOn), feedR, W, H);
115
+ const railNodes = railChildren.map((c, i) => {
116
+ const ref = `rail${i}`;
117
+ children[ref] = c;
118
+ return (0, pulse_chrome_1.insetSafe)((0, pulse_chrome_1.withFade)((0, alpine_card_1.paint)({ type: "mosaic", ref }), cardsStart + i * cardStagger, cardStagger, animOn), railCells[i], W, H);
119
+ });
120
+ const beatR = scale(gm.beat), logoR = scale(gm.logo), titleR = scale(gm.title), subR = scale(gm.subtitle), footR = scale(gm.footer);
121
+ const footText = `WEEK ${(_j = (_h = pulse.period) === null || _h === void 0 ? void 0 : _h.weekNumber) !== null && _j !== void 0 ? _j : ""} · ${(0, pulse_data_1.periodLabel)(pulse.period)}`.trim();
122
+ const header = (0, pulse_chrome_1.buildHeader)({ beat: beatR, logo: logoR, title: titleR, subtitle: subR }, theme, { eyebrow: (_k = props.eyebrow) !== null && _k !== void 0 ? _k : "BEAT 6", title: (_l = props.headline) !== null && _l !== void 0 ? _l : "NOTABLE COMMITS", subtitle: (_m = props.subtitle) !== null && _m !== void 0 ? _m : "Highlight interesting work.", bind: { eyebrow: "eyebrow", title: "headline", subtitle: "subtitle" } }, t, W, H);
123
+ const footNode = (0, pulse_chrome_1.buildFooter)(footR, theme, footText, t, W, H);
124
+ const M = Math.round(gm.margin * sx);
125
+ const pad = Math.round(Math.min(W, H) * 0.018);
126
+ const panelX = Math.max(0, M - pad), panelRight = Math.min(W, W - M + pad);
127
+ const railBbox = (0, pulse_chrome_1.unionRect)(railCells, 0, W, H);
128
+ const feedBg = (0, pulse_chrome_1.labelNode)((0, pulse_chrome_1.backdrop)(theme.card, { x: feedR.x - pad, y: feedR.y - pad, w: feedR.w + 2 * pad, h: feedR.h + 2 * pad }, W, H, bgFinishT, chromeFadeDur, animOn), "content-panel");
129
+ const headerBg = (0, pulse_chrome_1.backdrop)(theme.card, { x: panelX, y: Math.max(0, header.bbox.y - pad), w: panelRight - panelX, h: header.bbox.h + 2 * pad }, W, H, bgFinishT, chromeFadeDur, animOn);
130
+ const railBg = (0, pulse_chrome_1.labelNode)((0, pulse_chrome_1.backdrop)(theme.card, { x: railBbox.x - pad, y: railBbox.y - pad, w: railBbox.w + 2 * pad, h: railBbox.h + 2 * pad }, W, H, bgFinishT, chromeFadeDur, animOn), "rail-panel");
131
+ const footBg = (0, pulse_chrome_1.backdrop)(theme.card, { x: panelX, y: footR.y - pad, w: footR.w + 2 * pad, h: footR.h + 2 * pad }, W, H, bgFinishT, chromeFadeDur, animOn);
132
+ const root = (0, alpine_card_1.overlay)([(0, pulse_chrome_1.scatterNode)(), feedBg, railBg, headerBg, footBg, ...header.nodes, footNode, feedNode, ...railNodes]);
133
+ const doc = {
134
+ kind: "mosaic_document",
135
+ version: 1,
136
+ assets: { ...(0, pulse_chrome_1.chromeAssets)(variant) },
137
+ m0: root.m0,
138
+ sources: root.sources,
139
+ children,
140
+ backgroundColor: theme.canvas,
141
+ fps: ctx.target.fps,
142
+ durationMs,
143
+ size: { width: W, height: H },
144
+ };
145
+ // Layout contract (dev tripwire; flatten:false → judge only this beat's own
146
+ // top-level chrome + content/rail panels, not the nested feed/cards).
147
+ const constraints = [...pulse_chrome_1.PULSE_CHROME_CONSTRAINTS, ...pulse_chrome_1.PULSE_CONTENT_CONSTRAINTS];
148
+ return (0, template_utils_1.withLayoutContract)(doc, ctx, { templateId: "@m0saic/hero/ffmpeg-pulse/notable-commits/v1", constraints, flatten: false, debug: props.debugLayout === true });
149
+ },
150
+ };
151
+ (0, template_utils_1.registerTemplate)(exports.FfmpegPulseNotableCommits);
@@ -0,0 +1 @@
1
+ export { FfmpegPulseRunner } from "./runner";
@@ -0,0 +1,5 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.FfmpegPulseRunner = void 0;
4
+ var runner_1 = require("./runner");
5
+ Object.defineProperty(exports, "FfmpegPulseRunner", { enumerable: true, get: function () { return runner_1.FfmpegPulseRunner; } });
@@ -0,0 +1,54 @@
1
+ /**
2
+ * ============================================================================
3
+ * @m0saic/hero/ffmpeg-pulse/runner/v1 — Weekly Pulse · Runner (pipeline)
4
+ * ============================================================================
5
+ *
6
+ * Sequences the eight FFmpeg Weekly Pulse beats into one MosaicDocumentPipeline:
7
+ * title → kpi-overview → activity-trend → top-contributors → changes-breakdown
8
+ * → contributions → notable-commits → fin
9
+ *
10
+ * Each beat renders full-canvas (renderNestedTemplate at the runner's target size)
11
+ * as its own pipeline step, so every step gets a fresh overlay-depth budget. The
12
+ * whole `pulse` data sheet is passed to each beat as a direct prop (Phase 4 swaps
13
+ * to upstream-first). Per-beat durations are props (deterministic defaults ~35s);
14
+ * steps cross-fade. Aspect-adaptive (the beats classify W/H themselves).
15
+ * ============================================================================
16
+ */
17
+ import type { MosaicDocument, MosaicDocumentPipeline, MosaicEngineContext, MosaicTemplate } from "@m0saic/types";
18
+ import { type WeeklyPulse } from "../../_shared/pulse-data";
19
+ type BeatTimings = {
20
+ title?: number;
21
+ kpiOverview?: number;
22
+ activityTrend?: number;
23
+ contributions?: number;
24
+ topContributors?: number;
25
+ changesBreakdown?: number;
26
+ notableCommits?: number;
27
+ fin?: number;
28
+ };
29
+ /** Render weight applied to every beat — see `renderMode` prop. */
30
+ type RenderMode = "premium" | "light";
31
+ type RunnerProps = {
32
+ pulse: WeeklyPulse;
33
+ timings?: BeatTimings;
34
+ crossfadeMs?: number;
35
+ renderMode?: RenderMode;
36
+ requireUpstream?: boolean;
37
+ };
38
+ /**
39
+ * Sequence the eight beats into one cross-faded MosaicDocumentPipeline from an
40
+ * already-resolved pulse sheet. Shared by the core runner (mock / prop / upstream)
41
+ * and the capability-tier `@m0saic/github/weekly-pulse` (fetch → derive → render),
42
+ * so both produce the identical beat pipeline.
43
+ */
44
+ export declare function buildPulsePipeline(pulse: WeeklyPulse, opts: {
45
+ timings?: BeatTimings;
46
+ crossfadeMs?: number;
47
+ renderMode?: RenderMode;
48
+ }, ctx: MosaicEngineContext): Promise<MosaicDocumentPipeline>;
49
+ /** The preview stand-in shown when the beat templates aren't registered (the
50
+ * web build). The real 8-beat composition needs the native render templates,
51
+ * which only exist in the desktop engine. */
52
+ export declare function runnerPreviewStub(ctx: MosaicEngineContext): MosaicDocument;
53
+ export declare const FfmpegPulseRunner: MosaicTemplate<RunnerProps>;
54
+ export {};
@@ -0,0 +1,128 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.FfmpegPulseRunner = void 0;
4
+ exports.buildPulsePipeline = buildPulsePipeline;
5
+ exports.runnerPreviewStub = runnerPreviewStub;
6
+ const types_1 = require("@m0saic/types");
7
+ const template_utils_1 = require("@m0saic/template-utils");
8
+ const pulse_data_1 = require("../../_shared/pulse-data");
9
+ // Beat order + default per-beat durations (ms). Sum ≈ 35s. Order pairs the two
10
+ // activity views (trend → heatmap) and ends on the closing card.
11
+ const BEATS = [
12
+ { key: "title", id: "@m0saic/hero/ffmpeg-pulse/title/v1", defMs: 4000 },
13
+ { key: "kpiOverview", id: "@m0saic/hero/ffmpeg-pulse/kpi-overview/v1", defMs: 5000 },
14
+ { key: "activityTrend", id: "@m0saic/hero/ffmpeg-pulse/activity-trend/v1", defMs: 5000 },
15
+ { key: "contributions", id: "@m0saic/hero/ffmpeg-pulse/contributions/v1", defMs: 4500 },
16
+ { key: "topContributors", id: "@m0saic/hero/ffmpeg-pulse/top-contributors/v1", defMs: 5000 },
17
+ { key: "changesBreakdown", id: "@m0saic/hero/ffmpeg-pulse/changes-breakdown/v1", defMs: 5000 },
18
+ { key: "notableCommits", id: "@m0saic/hero/ffmpeg-pulse/notable-commits/v1", defMs: 5500 },
19
+ { key: "fin", id: "@m0saic/hero/ffmpeg-pulse/fin/v1", defMs: 4000 },
20
+ ];
21
+ /**
22
+ * Sequence the eight beats into one cross-faded MosaicDocumentPipeline from an
23
+ * already-resolved pulse sheet. Shared by the core runner (mock / prop / upstream)
24
+ * and the capability-tier `@m0saic/github/weekly-pulse` (fetch → derive → render),
25
+ * so both produce the identical beat pipeline.
26
+ */
27
+ async function buildPulsePipeline(pulse, opts, ctx) {
28
+ var _a, _b, _c;
29
+ const W = Math.max(1, Math.round(ctx.target.width));
30
+ const H = Math.max(1, Math.round(ctx.target.height));
31
+ const timings = (_a = opts.timings) !== null && _a !== void 0 ? _a : {};
32
+ const crossfadeMs = Math.max(0, Math.round((_b = opts.crossfadeMs) !== null && _b !== void 0 ? _b : 350));
33
+ const renderMode = opts.renderMode === "light" ? "light" : "premium";
34
+ const steps = [];
35
+ for (let i = 0; i < BEATS.length; i++) {
36
+ const b = BEATS[i];
37
+ const isLast = i === BEATS.length - 1;
38
+ const hasCrossfade = !isLast && crossfadeMs > 0;
39
+ // A crossfade OVERLAPS the two beats it joins — the stitched
40
+ // pipeline is `Σ steps − Σ crossfade`, not `Σ steps`. So a beat
41
+ // that fades out has to carry its own transition ON TOP of its
42
+ // visible time, or the hero renders short of the total its beat
43
+ // timings add up to (8 beats × 350ms fades = 2.45s short).
44
+ const visibleMs = Math.max(500, Math.round((_c = timings[b.key]) !== null && _c !== void 0 ? _c : b.defMs));
45
+ const durationMs = visibleMs + (hasCrossfade ? crossfadeMs : 0);
46
+ // Each beat binds its header text to ITS props (eyebrow / headline / …);
47
+ // composed here as a step of the runner, those keys would resolve against
48
+ // the runner's schema and reject. The runner owns the composition, so the
49
+ // beat's bindings are stripped at the seam (labels and geometry stay).
50
+ const file = (0, template_utils_1.stripPropBindings)((await (0, template_utils_1.renderNestedTemplate)(b.id, { pulse, renderMode }, ctx, { slot: { width: W, height: H, durationMs } })));
51
+ steps.push({
52
+ durationMs,
53
+ file,
54
+ ...(hasCrossfade ? { transitionToNext: { type: "fade", durationMs: crossfadeMs } } : {}),
55
+ });
56
+ }
57
+ return { kind: "mosaic_pipeline", version: 1, defaultTransition: { type: "cut" }, steps };
58
+ }
59
+ const propsSchema = (0, template_utils_1.definePropsSchema)({
60
+ pulse: { type: "group", required: false, description: "Weekly Pulse data sheet — passed to every beat.", meta: { ui: { label: "Pulse data", order: 1, consumer: "agent" } } },
61
+ timings: { type: "group", required: false, description: "Per-beat durations in ms (title/kpiOverview/activityTrend/contributions/topContributors/changesBreakdown/notableCommits/fin).", meta: { ui: { label: "Beat timings", collapsedByDefault: true, consumer: "agent" } } },
62
+ crossfadeMs: { type: "number", required: false, description: "Cross-fade duration between beats (ms). 0 = hard cut.", meta: { constraints: { min: 0, max: 2000 }, ui: { label: "Cross-fade" } } },
63
+ renderMode: { type: "string", required: false, description: "Render weight for ALL beats. \"premium\" (default): alpha-fade reveals across the nested charts/cards — the softer look; the engine's enable-gating makes the per-pixel geq nearly free. \"light\": geq-free enable-gate pops — cheapest, most composable. Propagates to every beat.", meta: { constraints: { oneOf: ["light", "premium"] }, ui: { label: "Render mode", order: 5 } } },
64
+ requireUpstream: { type: "boolean", required: false, description: "When true, render a visible error frame (instead of the built-in mock) if no upstream `weeklyPulse` block is present. Set this on data-connected pipelines (fetcher → adapter → runner) so a failed producer looks failed, not fake. Default false — standalone/preview renders use the mock.", meta: { ui: { label: "Require upstream data", order: 2 } } },
65
+ });
66
+ async function renderRunner(props, ctx) {
67
+ var _a;
68
+ const W = Math.max(1, Math.round(ctx.target.width));
69
+ const H = Math.max(1, Math.round(ctx.target.height));
70
+ // Data-connected pipelines set requireUpstream:true — a missing weeklyPulse
71
+ // then means the upstream producer failed, so surface a visible error frame
72
+ // instead of silently rendering the built-in mock.
73
+ if (props.requireUpstream && !((_a = ctx.upstreamData) === null || _a === void 0 ? void 0 : _a.weeklyPulse)) {
74
+ return (0, template_utils_1.makeErrorMosaic)("Weekly Pulse: upstream `weeklyPulse` is unavailable - the GitHub data producer failed or wasn't wired. (Preview on the mock with requireUpstream:false.)", { width: W, height: H, title: "Weekly Pulse", errorCode: "MISSING_UPSTREAM_WEEKLY_PULSE" });
75
+ }
76
+ const pulse = (0, pulse_data_1.resolvePulse)(props.pulse, ctx);
77
+ // "premium" (default): alpha-fade reveals across the nested charts/cards;
78
+ // "light": geq-free enable-gate pops. Propagated to every beat.
79
+ return buildPulsePipeline(pulse, { timings: props.timings, crossfadeMs: props.crossfadeMs, renderMode: props.renderMode }, ctx);
80
+ }
81
+ /** Are all eight beat templates registered? They import `node:path` and are
82
+ * EXCLUDED from the web build — when absent, the runner can't compose them, so
83
+ * `renderLite` shows a stand-in instead of throwing. */
84
+ function beatsRegistered() {
85
+ return BEATS.every((b) => (0, template_utils_1.getTemplate)(b.id) !== undefined);
86
+ }
87
+ /** The preview stand-in shown when the beat templates aren't registered (the
88
+ * web build). The real 8-beat composition needs the native render templates,
89
+ * which only exist in the desktop engine. */
90
+ function runnerPreviewStub(ctx) {
91
+ const W = Math.max(1, Math.round(ctx.target.width));
92
+ const H = Math.max(1, Math.round(ctx.target.height));
93
+ return (0, template_utils_1.makeStubMosaic)("Weekly Pulse - Runner", {
94
+ width: W,
95
+ height: H,
96
+ note: "Sequences 8 cross-faded beats from native render templates - build the full pulse in Mosaic Desktop.",
97
+ });
98
+ }
99
+ exports.FfmpegPulseRunner = {
100
+ id: (0, types_1.asTemplateId)("@m0saic/hero/ffmpeg-pulse/runner/v1"),
101
+ label: "Weekly Pulse · Runner",
102
+ version: 1,
103
+ description: "FFmpeg Weekly Pulse — the runner. Sequences all eight beats (title → kpi-overview → activity-trend → contributions → top-contributors → changes-breakdown → notable-commits → fin) into one cross-faded MosaicDocumentPipeline. Aspect-adaptive; per-beat durations as props.",
104
+ capabilities: { tier: "core" },
105
+ tags: ["data-viz", "hero", "ffmpeg-pulse", "runner", "pipeline", "animated", "developers", "marketers", "github", "changelog", "showcase"],
106
+ outputHints: { format: { kind: "video", container: "mp4" }, width: 1920, height: 1080, fps: 30, durationMs: 38000 },
107
+ upstreamDataSchema: pulse_data_1.WEEKLY_PULSE_UPSTREAM_SCHEMA,
108
+ propsSchema,
109
+ defaultProps: {
110
+ requireUpstream: false,
111
+ pulse: pulse_data_1.MOCK_FFMPEG_PULSE,
112
+ crossfadeMs: 350,
113
+ renderMode: "premium",
114
+ },
115
+ async render(props, ctx) {
116
+ return renderRunner(props, ctx);
117
+ },
118
+ // Preview / design hot path. The runner composes eight NESTED beat templates
119
+ // (title, kpi-overview, …) — node-only, and EXCLUDED from the web build. When
120
+ // they're registered (desktop) preview the real pulse; when they're not (web)
121
+ // return a stand-in instead of throwing "template not registered".
122
+ async renderLite(props, ctx) {
123
+ if (!beatsRegistered())
124
+ return runnerPreviewStub(ctx);
125
+ return renderRunner(props, ctx);
126
+ },
127
+ };
128
+ (0, template_utils_1.registerTemplate)(exports.FfmpegPulseRunner);
@@ -0,0 +1 @@
1
+ export { FfmpegPulseScatterBake } from "./scatter-bake";
@@ -0,0 +1,5 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.FfmpegPulseScatterBake = void 0;
4
+ var scatter_bake_1 = require("./scatter-bake");
5
+ Object.defineProperty(exports, "FfmpegPulseScatterBake", { enumerable: true, get: function () { return scatter_bake_1.FfmpegPulseScatterBake; } });
@@ -0,0 +1,29 @@
1
+ /**
2
+ * ============================================================================
3
+ * @m0saic/hero/ffmpeg-pulse/scatter-bake/v1 — one-off internal BAKE template
4
+ * ============================================================================
5
+ *
6
+ * Renders the signature rectangle scatter + its left→right rank-set reveal,
7
+ * full-canvas on the dark canvas, as a standalone clip — so it can be baked to
8
+ * a FLAT VIDEO and dropped into the beats as a single media source.
9
+ *
10
+ * Why: the live scatter is ~80K chars of m0 (225 per-tile sources) nested in
11
+ * every beat — heavy DSL + render. The field is CONSTANT across the video, so
12
+ * baking it once (the "reduce to 1 → flat video" perf win) collapses each beat's
13
+ * parent m0 to a single scatter `F` and renders cheap. Bake one per aspect:
14
+ * m0saic make @m0saic/hero/ffmpeg-pulse/scatter-bake/v1 -w 1920 -h 1080 \
15
+ * --durationMs 9000 -o .../_shared/assets/scatter-desktop.mp4
16
+ * (square 1080×1080 → scatter-square.mp4, mobile 1080×1920 → scatter-mobile.mp4)
17
+ *
18
+ * INTERNAL: not a curated/shippable template — purely a bake harness.
19
+ * ============================================================================
20
+ */
21
+ import type { MosaicTemplate } from "@m0saic/types";
22
+ type ScatterBakeProps = {
23
+ /** Fraction of the clip by which the reveal completes (matches the beats). */
24
+ revealFinishFrac?: number;
25
+ /** Per-tile fade duration (seconds). */
26
+ tileSec?: number;
27
+ };
28
+ export declare const FfmpegPulseScatterBake: MosaicTemplate<ScatterBakeProps>;
29
+ export {};