@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,173 @@
1
+ "use strict";
2
+ /**
3
+ * ============================================================================
4
+ * hero/ffmpeg-pulse — background scatter (loads the shipped layout)
5
+ * ============================================================================
6
+ *
7
+ * The signature backdrop: a field of dark rounded squares with the occasional
8
+ * green accent, behind every beat. The geometry is NOT generated — it's the
9
+ * HUMAN-TRACED scatter shipped as a sidecar `.m0p` (`scatter-layout.m0p`, the
10
+ * sandbox-approved desktop trace + cover-fit square/mobile derivations, each
11
+ * variant carrying per-tile fill colors). At render the loader:
12
+ * 1. picks the variant matching the canvas aspect,
13
+ * 2. scales its tiles to the actual render dims,
14
+ * 3. paints each as a rounded `makeColorTile` of its stored fill color,
15
+ * 4. packs them into `placeRects` layers (a valid overlay base each).
16
+ *
17
+ * Returns per-layer Nodes so the chrome can nest its content as the frontmost
18
+ * child over the backdrop ({@link pulseChrome} `scatter` opt). Resolution is
19
+ * baked per render (the px are scaled from the variant's native size), the
20
+ * deliberate trade for matching the approved trace exactly.
21
+ * ============================================================================
22
+ */
23
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
24
+ if (k2 === undefined) k2 = k;
25
+ var desc = Object.getOwnPropertyDescriptor(m, k);
26
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
27
+ desc = { enumerable: true, get: function() { return m[k]; } };
28
+ }
29
+ Object.defineProperty(o, k2, desc);
30
+ }) : (function(o, m, k, k2) {
31
+ if (k2 === undefined) k2 = k;
32
+ o[k2] = m[k];
33
+ }));
34
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
35
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
36
+ }) : function(o, v) {
37
+ o["default"] = v;
38
+ });
39
+ var __importStar = (this && this.__importStar) || (function () {
40
+ var ownKeys = function(o) {
41
+ ownKeys = Object.getOwnPropertyNames || function (o) {
42
+ var ar = [];
43
+ for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
44
+ return ar;
45
+ };
46
+ return ownKeys(o);
47
+ };
48
+ return function (mod) {
49
+ if (mod && mod.__esModule) return mod;
50
+ var result = {};
51
+ if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
52
+ __setModuleDefault(result, mod);
53
+ return result;
54
+ };
55
+ })();
56
+ Object.defineProperty(exports, "__esModule", { value: true });
57
+ exports.scatterLayers = scatterLayers;
58
+ exports.scatterNode = scatterNode;
59
+ const path = __importStar(require("node:path"));
60
+ const template_utils_1 = require("@m0saic/template-utils");
61
+ // readLayoutFile reads the filesystem — deep import (not re-exported from the
62
+ // barrel, which must stay web-bundleable). This hero pack is node-only.
63
+ const readLayoutFile_1 = require("@m0saic/template-utils/dist/m0saic/readLayoutFile");
64
+ const dsl_stdlib_1 = require("@m0saic/dsl-stdlib");
65
+ const dsl_file_formats_1 = require("@m0saic/dsl-file-formats");
66
+ const dsl_1 = require("@m0saic/dsl");
67
+ const alpine_card_1 = require("../../../alpine/_shared/alpine-card");
68
+ // The shipped scatter pack, loaded once (copy-assets mirrors assets/ to dist).
69
+ let BUNDLED = null;
70
+ function bundledPack() {
71
+ if (!BUNDLED) {
72
+ const r = (0, readLayoutFile_1.readLayoutFile)(path.resolve(__dirname, "assets", "scatter-layout.m0p"));
73
+ if (r.kind !== "m0p")
74
+ throw new Error("scatter-layout asset is not an .m0p pack");
75
+ BUNDLED = r.file;
76
+ }
77
+ return BUNDLED;
78
+ }
79
+ function variantKey(W, H) {
80
+ const ar = W / H;
81
+ return ar >= 1.3 ? "desktop" : ar < 0.85 ? "mobile" : "square";
82
+ }
83
+ /**
84
+ * Build the scatter as per-layer Nodes (one per `placeRects` layer, each a
85
+ * single split → a valid overlay base). Spread into `overlay([...layers, top])`
86
+ * so caller content nests over the backdrop. Returns `[]` for degenerate dims.
87
+ */
88
+ function scatterLayers(opts) {
89
+ var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k;
90
+ const W = Math.max(1, Math.round(opts.W));
91
+ const H = Math.max(1, Math.round(opts.H));
92
+ const pack = (_a = opts.pack) !== null && _a !== void 0 ? _a : bundledPack();
93
+ const variant = (_b = (0, dsl_file_formats_1.getVariant)(pack, variantKey(W, H))) !== null && _b !== void 0 ? _b : (0, dsl_file_formats_1.getVariant)(pack, "desktop");
94
+ if (!variant)
95
+ return [];
96
+ const nW = variant.size.width;
97
+ const nH = variant.size.height;
98
+ const fill = ((_c = variant.fill) !== null && _c !== void 0 ? _c : {});
99
+ const parsed = (0, dsl_1.parseM0StringComplete)(variant.m0, nW, nH);
100
+ const frames = (_f = (_e = (_d = parsed.ir) === null || _d === void 0 ? void 0 : _d.renderFrames) !== null && _e !== void 0 ? _e : parsed.renderFrames) !== null && _f !== void 0 ? _f : [];
101
+ const sx = W / nW;
102
+ const sy = H / nH;
103
+ const SNAP = 4;
104
+ const snap = (v) => Math.max(SNAP, Math.round(v / SNAP) * SNAP);
105
+ const rects = [];
106
+ const colors = [];
107
+ for (const f of frames) {
108
+ const key = (_h = (_g = f.meta) === null || _g === void 0 ? void 0 : _g.stableKey) !== null && _h !== void 0 ? _h : f.stableKey;
109
+ const color = (_j = fill[key]) === null || _j === void 0 ? void 0 : _j.color;
110
+ if (!color)
111
+ continue;
112
+ const x = snap(f.x * sx);
113
+ const y = snap(f.y * sy);
114
+ let w = snap(f.width * sx);
115
+ let h = snap(f.height * sy);
116
+ if (x + w > W)
117
+ w = W - x;
118
+ if (y + h > H)
119
+ h = H - y;
120
+ if (w < SNAP || h < SNAP)
121
+ continue;
122
+ rects.push({ x, y, w, h, claimant: "F" });
123
+ colors.push(color);
124
+ }
125
+ if (rects.length === 0)
126
+ return [];
127
+ const cr = (_k = opts.cornerRadius) !== null && _k !== void 0 ? _k : 0.16;
128
+ // Rank-set reveal: assign every tile a global rank, then a staggered fade start.
129
+ // Ranks span all tiles (across placeRects layers) so the reveal reads as one
130
+ // ordered sweep/sparkle, not per-layer.
131
+ let revealStart = null;
132
+ if (opts.reveal) {
133
+ const N = rects.length;
134
+ const order = rects.map((_, i) => i);
135
+ if (opts.reveal.order === "random") {
136
+ // Seeded shuffle (deterministic — no Math.random): hash the rect geometry.
137
+ const keyOf = (i) => { const r = rects[i]; let h = (r.x * 73856093) ^ (r.y * 19349663) ^ (r.w * 83492791) ^ (r.h * 2654435761); return (h >>> 0); };
138
+ order.sort((a, b) => keyOf(a) - keyOf(b));
139
+ }
140
+ else if (opts.reveal.order === "horizontal") {
141
+ // A vertical reveal line sweeping LEFT → RIGHT (order purely by x).
142
+ order.sort((a, b) => rects[a].x - rects[b].x || rects[a].y - rects[b].y);
143
+ }
144
+ else {
145
+ // Diagonal sweep (top-left → bottom-right).
146
+ order.sort((a, b) => (rects[a].x + rects[a].y) - (rects[b].x + rects[b].y));
147
+ }
148
+ const rank = new Array(N);
149
+ order.forEach((ri, o) => { rank[ri] = o; });
150
+ const { startSec, spanSec, tileSec, ease } = opts.reveal;
151
+ revealStart = (idx) => (0, template_utils_1.fadeInExpr)(startSec + (N <= 1 ? 0 : (rank[idx] / (N - 1)) * spanSec), tileSec, ease !== null && ease !== void 0 ? ease : "smoothstep");
152
+ }
153
+ const placed = (0, dsl_stdlib_1.placeRects)({ rootW: W, rootH: H, rects: rects });
154
+ return placed.layers.map((L) => {
155
+ const ordered = [...L.rectIndices].sort((a, b) => rects[a].y - rects[b].y || rects[a].x - rects[b].x);
156
+ const sources = ordered.map((idx) => {
157
+ var _a;
158
+ const src = (0, template_utils_1.makeColorTile)(colors[idx], {
159
+ effects: { rounding: { cornerStyle: "rounded", borderRadius: cr } },
160
+ });
161
+ return revealStart
162
+ ? { ...src, overlay: { ...((_a = src.overlay) !== null && _a !== void 0 ? _a : {}), alpha: revealStart(idx) } }
163
+ : src;
164
+ });
165
+ return { m0: String(L.m0), sources };
166
+ });
167
+ }
168
+ /** The scatter composed into a single full-canvas Node (standalone backdrop).
169
+ * EMPTY when nothing is emitted. */
170
+ function scatterNode(opts) {
171
+ const layers = scatterLayers(opts);
172
+ return layers.length ? (0, alpine_card_1.overlay)(layers) : alpine_card_1.EMPTY;
173
+ }
@@ -0,0 +1,37 @@
1
+ /**
2
+ * ============================================================================
3
+ * @m0saic/hero/ffmpeg-pulse/activity-trend/v1 — Weekly Pulse · Activity Trend (Beat 2)
4
+ * ============================================================================
5
+ *
6
+ * Commits-over-time beat: the SAME chrome as the KPI Overview beat (BEAT chip
7
+ * floating top-left, FFmpeg logo IN LINE with the title, subtitle, footer, baked
8
+ * scatter, bg-first-then-content timing) — kept identical so the beats read as one
9
+ * set — wrapping a "COMMITS OVER TIME" line chart (nested @m0saic/alpine/line-chart)
10
+ * on the left and a rail of derived stat tiles (Total Commits / Peak Day / Daily Avg
11
+ * / Active Days, nested @m0saic/alpine/stat-card) on the right.
12
+ *
13
+ * Driven by `pulse.activity` (Mon→Sun day commits + peak); the rail figures are
14
+ * derived (sum / peak / avg / active-days). Aspect-adaptive (rail right on desktop,
15
+ * a 2×2 under the chart on square/mobile). Deterministic; reduceMotion → static.
16
+ * ============================================================================
17
+ */
18
+ import type { MosaicTemplate } from "@m0saic/types";
19
+ import { type PulsePreset } from "../../_shared/pulse-theme";
20
+ import { type WeeklyPulse } from "../../_shared/pulse-data";
21
+ type AnimConfig = {
22
+ introFrac: number;
23
+ reduceMotion: boolean;
24
+ };
25
+ type ActivityTrendProps = {
26
+ pulse: WeeklyPulse;
27
+ eyebrow?: string;
28
+ headline?: string;
29
+ subtitle?: string;
30
+ preset?: PulsePreset;
31
+ renderMode?: "premium" | "light";
32
+ anim?: AnimConfig;
33
+ animate?: boolean;
34
+ debugLayout?: boolean;
35
+ };
36
+ export declare const FfmpegPulseActivityTrend: MosaicTemplate<ActivityTrendProps>;
37
+ export {};
@@ -0,0 +1,178 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.FfmpegPulseActivityTrend = 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: 680, h: 92 }, subtitle: { x: 142, y: 282, w: 680, h: 34 },
16
+ footer: { x: 140, y: 1006, w: 560, h: 50 }, chart: { x: 140, y: 384, w: 960, h: 600 }, rail: { x0: 1140, y0: 384, cols: 2, cw: 300, ch: 288, gx: 20, gy: 24 } },
17
+ // Square: all three sections (header / chart / KPI rail) share ONE width — a
18
+ // centered ~740px column (margin 170) — with the rail widened so its 2×2 cards
19
+ // stay square-ish. The chart is a compact strip; header + chart + rail align.
20
+ square: { nativeW: 1080, nativeH: 1080, margin: 170,
21
+ beat: { x: 170, y: 40, w: 120, h: 38 }, logo: { x: 170, y: 104, w: 92, h: 92 }, title: { x: 282, y: 110, w: 600, h: 78 }, subtitle: { x: 172, y: 202, w: 720, h: 30 },
22
+ footer: { x: 170, y: 1026, w: 420, h: 34 }, chart: { x: 170, y: 252, w: 740, h: 210 },
23
+ rail: { x0: 170, y0: 482, cols: 2, cw: 360, ch: 258, gx: 20, gy: 16 } },
24
+ mobile: { nativeW: 1080, nativeH: 1920, margin: 80,
25
+ 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 },
26
+ footer: { x: 80, y: 1800, w: 640, h: 56 }, chart: { x: 80, y: 430, w: 920, h: 560 }, rail: { x0: 80, y0: 1024, cols: 2, cw: 448, ch: 338, gx: 24, gy: 24 } },
27
+ };
28
+ // ---------------------------------------------------------------------------
29
+ // Template
30
+ // (chrome helpers — text1/pill/capFont/withFade/insetSafe/backdrop/header/footer/
31
+ // scatter/timing — now live in ../../_shared/pulse-chrome)
32
+ // ---------------------------------------------------------------------------
33
+ const propsSchema = (0, template_utils_1.definePropsSchema)({
34
+ pulse: { type: "group", required: false, description: "Weekly Pulse data sheet (activity drives the chart + rail).", meta: { ui: { label: "Pulse data", order: 1, consumer: "agent" } } },
35
+ eyebrow: { type: "string", required: false, description: "Beat chip label.", meta: { control: { placeholder: "BEAT 2" }, ui: { label: "Eyebrow", order: 1 } } },
36
+ headline: { type: "string", required: false, description: "Beat title.", meta: { control: { placeholder: "ACTIVITY TREND" }, ui: { label: "Headline", order: 2 } } },
37
+ subtitle: { type: "string", required: false, description: "One-line beat subtitle.", meta: { ui: { label: "Subtitle", order: 3 } } },
38
+ preset: { type: "string", required: false, description: "Pulse theme variant.", meta: { constraints: { oneOf: ["dark"] }, ui: { label: "Preset", order: 10 } } },
39
+ 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 } } },
40
+ anim: { type: "group", required: false, description: "Intro: introFrac, reduceMotion.", meta: { ui: { label: "Animation", collapsedByDefault: true, consumer: "agent" } } },
41
+ animate: { type: "boolean", required: false, description: "Animate the chart draw-on + content fade.", meta: { ui: { label: "Animate", consumer: "human", order: 1 }, control: { syncsTo: [{ prop: "anim.reduceMotion", map: { kind: "boolInvert" } }] } } },
42
+ debugLayout: { type: "boolean", required: false, description: "Dev-only layout contract: assert the shared chrome (header cluster in the top band, footer in the bottom band) + this beat's chart/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 } } },
43
+ });
44
+ exports.FfmpegPulseActivityTrend = {
45
+ id: (0, types_1.asTemplateId)("@m0saic/hero/ffmpeg-pulse/activity-trend/v1"),
46
+ label: "Weekly Pulse · Activity Trend",
47
+ version: 1,
48
+ description: "FFmpeg Weekly Pulse — Activity Trend beat (Beat 2). The KPI-Overview chrome wrapping a commits-over-time line chart + a rail of derived stat tiles (total / peak / avg / active days). Aspect-adaptive.",
49
+ capabilities: { tier: "core" },
50
+ internal: true,
51
+ tags: ["hero", "ffmpeg-pulse", "activity-trend", "beat"],
52
+ outputHints: { width: 1920, height: 1080, fps: 30, durationMs: 9000 },
53
+ upstreamDataSchema: pulse_data_1.WEEKLY_PULSE_UPSTREAM_SCHEMA,
54
+ propsSchema,
55
+ defaultProps: {
56
+ debugLayout: false,
57
+ pulse: pulse_data_1.MOCK_FFMPEG_PULSE,
58
+ eyebrow: "BEAT 2",
59
+ headline: "ACTIVITY TREND",
60
+ subtitle: "Commits over the week.",
61
+ preset: DEFAULT_PRESET,
62
+ renderMode: "premium",
63
+ anim: DEFAULT_ANIM,
64
+ },
65
+ async render(props, ctx) {
66
+ var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l, _m, _o, _p, _q;
67
+ const W = Math.max(1, Math.round(ctx.target.width));
68
+ const H = Math.max(1, Math.round(ctx.target.height));
69
+ const theme = (0, pulse_theme_1.pulseTheme)((_a = props.preset) !== null && _a !== void 0 ? _a : DEFAULT_PRESET);
70
+ const pulse = (0, pulse_data_1.resolvePulse)(props.pulse, ctx);
71
+ const anim = { ...DEFAULT_ANIM, ...((_b = props.anim) !== null && _b !== void 0 ? _b : {}) };
72
+ const reduceMotion = anim.reduceMotion;
73
+ const renderMode = props.renderMode === "light" ? "light" : "premium";
74
+ const durationMs = (_c = ctx.target.durationMs) !== null && _c !== void 0 ? _c : 9000;
75
+ const variant = (0, pulse_chrome_1.classify)(W, H);
76
+ const gm = GEOM[variant];
77
+ const sx = W / gm.nativeW, sy = H / gm.nativeH;
78
+ 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) });
79
+ const days = (_e = (_d = pulse.activity) === null || _d === void 0 ? void 0 : _d.days) !== null && _e !== void 0 ? _e : [];
80
+ if (!days.length)
81
+ return (0, template_utils_1.makeErrorMosaic)("activity-trend: pulse has no activity days", { title: `${this.id}`, width: W, height: H });
82
+ const values = days.map((d) => d.commits);
83
+ const dayLabels = days.map((d) => d.label);
84
+ const total = values.reduce((a, b) => a + b, 0);
85
+ const peak = (_f = pulse.activity) === null || _f === void 0 ? void 0 : _f.peak;
86
+ const avg = Math.round((total / values.length) * 10) / 10;
87
+ const active = values.filter((v) => v > 0).length;
88
+ const commitsKpi = ((_g = pulse.kpis) !== null && _g !== void 0 ? _g : []).find((k) => k.key === "commits");
89
+ // Rail tiles (derived from activity).
90
+ const railData = [
91
+ { label: "Total Commits", value: String(total), delta: commitsKpi ? (0, pulse_data_1.kpiDelta)(commitsKpi) : "", direction: (_h = commitsKpi === null || commitsKpi === void 0 ? void 0 : commitsKpi.direction) !== null && _h !== void 0 ? _h : "flat", sublabel: "vs last week", iconKey: "commits" },
92
+ { label: "Peak Day", value: String((_j = peak === null || peak === void 0 ? void 0 : peak.commits) !== null && _j !== void 0 ? _j : ""), sublabel: `${(_k = peak === null || peak === void 0 ? void 0 : peak.dayLabel) !== null && _k !== void 0 ? _k : ""} · ${peak ? (0, pulse_data_1.monthDay)(peak.dateISO) : ""}`.trim(), iconKey: "stars" },
93
+ { label: "Daily Avg", value: String(avg), sublabel: "commits / day", iconKey: "commits" },
94
+ { label: "Active Days", value: `${active}/${values.length}`, sublabel: "100% of week", iconKey: "contributors" },
95
+ ];
96
+ // ── Rail cells (row-major) ──
97
+ const rg = gm.rail;
98
+ const railCells = railData.map((_, i) => {
99
+ const row = Math.floor(i / rg.cols), col = i % rg.cols;
100
+ return scale({ x: rg.x0 + col * (rg.cw + rg.gx), y: rg.y0 + row * (rg.ch + rg.gy), w: rg.cw, h: rg.ch });
101
+ });
102
+ // Every nested child renders at the CELL its inset will produce (exact fit
103
+ // for an absolutely-laid-out child at any canvas) — nudged so that cell is
104
+ // 5-smooth and hands the child no rough factor (insetSlot, pulse-chrome).
105
+ const railSlots = railCells.map((r) => (0, pulse_chrome_1.insetSlot)(r, W, H));
106
+ railCells.forEach((_, i) => { railCells[i] = railSlots[i].rect; });
107
+ const chartRSlot = (0, pulse_chrome_1.insetSlot)(scale(gm.chart), W, H);
108
+ const chartR = chartRSlot.rect;
109
+ // ── Nested panels: the line chart + the rail stat cards ──
110
+ const introMs = reduceMotion ? 0 : Math.max(500, Math.round(durationMs * anim.introFrac));
111
+ const chartChild = await (0, template_utils_1.renderNestedTemplate)("@m0saic/alpine/line-chart/v1", {
112
+ values, labels: dayLabels, title: "COMMITS OVER TIME", subtitle: `${total} commits this week`,
113
+ curve: "smooth", preset: "dark", lineColor: theme.primaryBright,
114
+ area: { show: true, opacity: 0.18 }, points: { show: true }, grid: { show: true, count: 4 },
115
+ anim: { introFrac: anim.introFrac, ease: "smoothstep", reduceMotion },
116
+ }, ctx, { slot: { width: chartRSlot.slot.width, height: chartRSlot.slot.height, durationMs } });
117
+ const railChildren = await Promise.all(railData.map((r, i) => {
118
+ var _a, _b, _c;
119
+ return (0, template_utils_1.renderNestedTemplate)("@m0saic/alpine/stat-card/v1", {
120
+ 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 : "",
121
+ accent: theme.primaryBright, iconPath: r.iconKey ? pulse_glyphs_1.KPI_GLYPHS[r.iconKey] : undefined,
122
+ renderMode, // runner-controlled render weight (light = geq-free; premium = alpha-fade)
123
+ preset: "dark", // hero keeps its dark KPI look (stat-card now light by default)
124
+ backgroundColor: theme.card,
125
+ anim: { countUp: !reduceMotion, fade: false, introMs, reduceMotion },
126
+ }, ctx, { slot: { width: railSlots[i].slot.width, height: railSlots[i].slot.height, durationMs } });
127
+ }));
128
+ // ── Intro timing + content cascade (shared chrome) ──
129
+ const t = (0, pulse_chrome_1.pulseTiming)(durationMs, reduceMotion);
130
+ const { bgFinishT, chromeFadeDur, cardStagger, cardsStart, animOn } = t;
131
+ const children = { chart: chartChild };
132
+ const chartNode = (0, pulse_chrome_1.insetSafe)((0, pulse_chrome_1.withFade)((0, alpine_card_1.paint)({ type: "mosaic", ref: "chart" }), bgFinishT, chromeFadeDur, animOn), chartR, W, H);
133
+ const railNodes = railChildren.map((c, i) => {
134
+ const ref = `rail${i}`;
135
+ children[ref] = c;
136
+ 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);
137
+ });
138
+ // ── Header cluster + footer (shared chrome) ──
139
+ const beatR = scale(gm.beat), logoR = scale(gm.logo), titleR = scale(gm.title), subR = scale(gm.subtitle), footR = scale(gm.footer);
140
+ const footText = `WEEK ${(_m = (_l = pulse.period) === null || _l === void 0 ? void 0 : _l.weekNumber) !== null && _m !== void 0 ? _m : ""} · ${(0, pulse_data_1.periodLabel)(pulse.period)}`.trim();
141
+ const header = (0, pulse_chrome_1.buildHeader)({ beat: beatR, logo: logoR, title: titleR, subtitle: subR }, theme, { eyebrow: (_o = props.eyebrow) !== null && _o !== void 0 ? _o : "BEAT 2", title: (_p = props.headline) !== null && _p !== void 0 ? _p : "ACTIVITY TREND", subtitle: (_q = props.subtitle) !== null && _q !== void 0 ? _q : "Commits over the week.", bind: { eyebrow: "eyebrow", title: "headline", subtitle: "subtitle" } }, t, W, H);
142
+ const footNode = (0, pulse_chrome_1.buildFooter)(footR, theme, footText, t, W, H);
143
+ // ── Backdrop panels (aligned left edge), fading with the header ──
144
+ const M = Math.round(gm.margin * sx);
145
+ const pad = Math.round(Math.min(W, H) * 0.018);
146
+ const panelX = Math.max(0, M - pad), panelRight = Math.min(W, W - M + pad);
147
+ const railBbox = (0, pulse_chrome_1.unionRect)(railCells, 0, W, H);
148
+ // The chart panel gets a DISTINCT (slightly lighter) bg so the plot stands out
149
+ // from the card-colored header/rail panels.
150
+ const CHART_BG = "#1b2330";
151
+ 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);
152
+ const chartBg = (0, pulse_chrome_1.labelNode)((0, pulse_chrome_1.backdrop)(CHART_BG, { x: chartR.x - pad, y: chartR.y - pad, w: chartR.w + 2 * pad, h: chartR.h + 2 * pad }, W, H, bgFinishT, chromeFadeDur, animOn), "content-panel");
153
+ 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");
154
+ 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);
155
+ const root = (0, alpine_card_1.overlay)([(0, pulse_chrome_1.scatterNode)(), chartBg, railBg, headerBg, footBg, ...header.nodes, footNode, chartNode, ...railNodes]);
156
+ const doc = {
157
+ kind: "mosaic_document",
158
+ version: 1,
159
+ assets: { ...(0, pulse_chrome_1.chromeAssets)(variant) },
160
+ m0: root.m0,
161
+ sources: root.sources,
162
+ children,
163
+ backgroundColor: theme.canvas,
164
+ fps: ctx.target.fps,
165
+ durationMs,
166
+ size: { width: W, height: H },
167
+ };
168
+ // Layout contract (dev tripwire; falsy debug → returns `doc` untouched at zero
169
+ // cost). Shared chrome zones + this beat's chart/rail content panels.
170
+ const constraints = [...pulse_chrome_1.PULSE_CHROME_CONSTRAINTS, ...pulse_chrome_1.PULSE_CONTENT_CONSTRAINTS];
171
+ // flatten:false — the constraints target this beat's OWN top-level chrome +
172
+ // content panels (all in `root.m0`); we must NOT flatten into the nested
173
+ // line-chart/stat-cards, whose grid primitive hits SPLIT_EXCEEDS_AXIS at small
174
+ // canvases (a separate U-C1 quirk) and would collapse the whole check.
175
+ return (0, template_utils_1.withLayoutContract)(doc, ctx, { templateId: "@m0saic/hero/ffmpeg-pulse/activity-trend/v1", constraints, flatten: false, debug: props.debugLayout === true });
176
+ },
177
+ };
178
+ (0, template_utils_1.registerTemplate)(exports.FfmpegPulseActivityTrend);
@@ -0,0 +1 @@
1
+ export { FfmpegPulseActivityTrend } from "./activity-trend";
@@ -0,0 +1,5 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.FfmpegPulseActivityTrend = void 0;
4
+ var activity_trend_1 = require("./activity-trend");
5
+ Object.defineProperty(exports, "FfmpegPulseActivityTrend", { enumerable: true, get: function () { return activity_trend_1.FfmpegPulseActivityTrend; } });
@@ -0,0 +1,37 @@
1
+ /**
2
+ * ============================================================================
3
+ * @m0saic/hero/ffmpeg-pulse/changes-breakdown/v1 — Weekly Pulse · Changes Breakdown (Beat 4)
4
+ * ============================================================================
5
+ *
6
+ * The SAME chrome as the other beats (BEAT chip top-left, FFmpeg logo in line with
7
+ * the title, subtitle, footer, baked scatter, bg-first timing) wrapping a
8
+ * changes-by-subsystem donut (nested @m0saic/alpine/donut, ring + side legend +
9
+ * center "files changed" total) on the left + a rail of aggregate stat tiles
10
+ * (nested @m0saic/alpine/stat-card) on the right.
11
+ *
12
+ * Driven by `pulse.changes` (byArea → donut segments + legend, totalFiles → center,
13
+ * rail → stat tiles). The donut self-surfaces with theme.card, so a theme.card
14
+ * backdrop at ±pad behind it keeps the panel edges aligned with the rest of the
15
+ * chrome (cohesive). Aspect-adaptive; deterministic; reduceMotion → static.
16
+ * ============================================================================
17
+ */
18
+ import type { MosaicTemplate } from "@m0saic/types";
19
+ import { type PulsePreset } from "../../_shared/pulse-theme";
20
+ import { type WeeklyPulse } from "../../_shared/pulse-data";
21
+ type AnimConfig = {
22
+ introFrac: number;
23
+ reduceMotion: boolean;
24
+ };
25
+ type ChangesBreakdownProps = {
26
+ pulse: WeeklyPulse;
27
+ eyebrow?: string;
28
+ headline?: string;
29
+ subtitle?: string;
30
+ preset?: PulsePreset;
31
+ renderMode?: "premium" | "light";
32
+ anim?: AnimConfig;
33
+ animate?: boolean;
34
+ debugLayout?: boolean;
35
+ };
36
+ export declare const FfmpegPulseChangesBreakdown: MosaicTemplate<ChangesBreakdownProps>;
37
+ export {};
@@ -0,0 +1,164 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.FfmpegPulseChangesBreakdown = 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 }, donut: { 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: 58 }, subtitle: { x: 172, y: 202, w: 720, h: 30 },
19
+ footer: { x: 170, y: 1026, w: 420, h: 34 }, donut: { x: 170, y: 252, w: 740, h: 366 },
20
+ rail: { x0: 170, y0: 638, cols: 2, cw: 360, ch: 184, 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
+ // Donut shortened (the ring + legend don't need the full column) so the rail beneath
24
+ // gets real height — a 2×2 of wider+taller tiles reads far better than a 4×1 of
25
+ // narrow width-bound cards.
26
+ footer: { x: 80, y: 1800, w: 640, h: 56 }, donut: { x: 80, y: 430, w: 920, h: 720 },
27
+ rail: { x0: 80, y0: 1180, cols: 2, cw: 448, ch: 298, gx: 24, gy: 16 } },
28
+ };
29
+ // rail KPI key → glyph key.
30
+ const RAIL_GLYPH = { totalFiles: "commits", additions: "additions", deletions: "deletions", netChanges: "commits", contributors: "contributors", stars: "stars" };
31
+ const propsSchema = (0, template_utils_1.definePropsSchema)({
32
+ pulse: { type: "group", required: false, description: "Weekly Pulse data sheet (changes drives the donut + rail).", meta: { ui: { label: "Pulse data", order: 1, consumer: "agent" } } },
33
+ eyebrow: { type: "string", required: false, description: "Beat chip label.", meta: { control: { placeholder: "BEAT 4" }, ui: { label: "Eyebrow", order: 1 } } },
34
+ headline: { type: "string", required: false, description: "Beat title.", meta: { control: { placeholder: "CHANGES BREAKDOWN" }, ui: { label: "Headline", order: 2 } } },
35
+ subtitle: { type: "string", required: false, description: "One-line beat subtitle.", meta: { ui: { label: "Subtitle", order: 3 } } },
36
+ preset: { type: "string", required: false, description: "Pulse theme variant.", meta: { constraints: { oneOf: ["dark"] }, ui: { label: "Preset", order: 10 } } },
37
+ 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 } } },
38
+ anim: { type: "group", required: false, description: "Intro: introFrac, reduceMotion.", meta: { ui: { label: "Animation", collapsedByDefault: true, consumer: "agent" } } },
39
+ animate: { type: "boolean", required: false, description: "Animate the donut sweep + content fade.", meta: { ui: { label: "Animate", consumer: "human", order: 1 }, control: { syncsTo: [{ prop: "anim.reduceMotion", map: { kind: "boolInvert" } }] } } },
40
+ 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 } } },
41
+ });
42
+ exports.FfmpegPulseChangesBreakdown = {
43
+ id: (0, types_1.asTemplateId)("@m0saic/hero/ffmpeg-pulse/changes-breakdown/v1"),
44
+ label: "Weekly Pulse · Changes Breakdown",
45
+ version: 1,
46
+ description: "FFmpeg Weekly Pulse — Changes Breakdown beat (Beat 4). The shared beat chrome wrapping a changes-by-subsystem donut (ring + legend + center total) + a rail of aggregate stat tiles. Aspect-adaptive.",
47
+ capabilities: { tier: "core" },
48
+ internal: true,
49
+ tags: ["hero", "ffmpeg-pulse", "changes-breakdown", "beat"],
50
+ outputHints: { width: 1920, height: 1080, fps: 30, durationMs: 9000 },
51
+ upstreamDataSchema: pulse_data_1.WEEKLY_PULSE_UPSTREAM_SCHEMA,
52
+ propsSchema,
53
+ defaultProps: {
54
+ debugLayout: false,
55
+ pulse: pulse_data_1.MOCK_FFMPEG_PULSE,
56
+ eyebrow: "BEAT 4",
57
+ headline: "CHANGES BREAKDOWN",
58
+ subtitle: "What changed, by subsystem.",
59
+ preset: DEFAULT_PRESET,
60
+ renderMode: "premium",
61
+ anim: DEFAULT_ANIM,
62
+ },
63
+ async render(props, ctx) {
64
+ var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l, _m, _o, _p;
65
+ const W = Math.max(1, Math.round(ctx.target.width));
66
+ const H = Math.max(1, Math.round(ctx.target.height));
67
+ const theme = (0, pulse_theme_1.pulseTheme)((_a = props.preset) !== null && _a !== void 0 ? _a : DEFAULT_PRESET);
68
+ const pulse = (0, pulse_data_1.resolvePulse)(props.pulse, ctx);
69
+ const anim = { ...DEFAULT_ANIM, ...((_b = props.anim) !== null && _b !== void 0 ? _b : {}) };
70
+ const reduceMotion = anim.reduceMotion;
71
+ const renderMode = props.renderMode === "light" ? "light" : "premium";
72
+ const durationMs = (_c = ctx.target.durationMs) !== null && _c !== void 0 ? _c : 9000;
73
+ const variant = (0, pulse_chrome_1.classify)(W, H);
74
+ const gm = GEOM[variant];
75
+ const sx = W / gm.nativeW, sy = H / gm.nativeH;
76
+ 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) });
77
+ const areas = (_e = (_d = pulse.changes) === null || _d === void 0 ? void 0 : _d.byArea) !== null && _e !== void 0 ? _e : [];
78
+ if (!areas.length)
79
+ return (0, template_utils_1.makeErrorMosaic)("changes-breakdown: pulse has no changes.byArea", { title: `${this.id}`, width: W, height: H });
80
+ const segments = areas.map((a) => ({ label: a.area, value: a.files, color: a.color }));
81
+ const totalFiles = (_g = (_f = pulse.changes) === null || _f === void 0 ? void 0 : _f.totalFiles) !== null && _g !== void 0 ? _g : areas.reduce((s, a) => s + a.files, 0);
82
+ // Rail tiles (aggregate KPIs, first 4 of pulse.changes.rail).
83
+ const railData = ((_j = (_h = pulse.changes) === null || _h === void 0 ? void 0 : _h.rail) !== null && _j !== void 0 ? _j : []).slice(0, 4).map((k) => {
84
+ var _a, _b, _c;
85
+ return ({
86
+ 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",
87
+ });
88
+ });
89
+ // ── Rail cells (row-major) ──
90
+ const rg = gm.rail;
91
+ const railCells = railData.map((_, i) => {
92
+ const row = Math.floor(i / rg.cols), col = i % rg.cols;
93
+ return scale({ x: rg.x0 + col * (rg.cw + rg.gx), y: rg.y0 + row * (rg.ch + rg.gy), w: rg.cw, h: rg.ch });
94
+ });
95
+ // Every nested child renders at the CELL its inset will produce (exact fit
96
+ // for an absolutely-laid-out child at any canvas) — nudged so that cell is
97
+ // 5-smooth and hands the child no rough factor (insetSlot, pulse-chrome).
98
+ const railSlots = railCells.map((r) => (0, pulse_chrome_1.insetSlot)(r, W, H));
99
+ railCells.forEach((_, i) => { railCells[i] = railSlots[i].rect; });
100
+ const donutRSlot = (0, pulse_chrome_1.insetSlot)(scale(gm.donut), W, H);
101
+ const donutR = donutRSlot.rect;
102
+ // ── Nested panels: the donut + the rail stat cards ──
103
+ const introMs = reduceMotion ? 0 : Math.max(500, Math.round(durationMs * anim.introFrac));
104
+ const donutChild = await (0, template_utils_1.renderNestedTemplate)("@m0saic/alpine/donut/v1", {
105
+ segments, title: "", subtitle: "", centerValue: String(totalFiles), centerLabel: "files changed",
106
+ preset: "dark", legend: "right", segmentLabels: "percent",
107
+ anim: { introFrac: anim.introFrac, countUp: !reduceMotion, easing: "easeOut", reduceMotion, renderMode }, // runner-controlled render weight (light = geq-free donut sweep; premium = alpha fade)
108
+ }, ctx, { slot: { width: donutRSlot.slot.width, height: donutRSlot.slot.height, durationMs } });
109
+ const railChildren = await Promise.all(railData.map((r, i) => {
110
+ var _a, _b, _c;
111
+ return (0, template_utils_1.renderNestedTemplate)("@m0saic/alpine/stat-card/v1", {
112
+ 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 : "",
113
+ accent: theme.primaryBright, iconPath: r.iconKey ? pulse_glyphs_1.KPI_GLYPHS[r.iconKey] : undefined,
114
+ renderMode, // runner-controlled render weight (light = geq-free; premium = alpha-fade)
115
+ preset: "dark", // hero keeps its dark KPI look (stat-card now light by default)
116
+ backgroundColor: theme.card,
117
+ anim: { countUp: !reduceMotion, fade: false, introMs, reduceMotion },
118
+ }, ctx, { slot: { width: railSlots[i].slot.width, height: railSlots[i].slot.height, durationMs } });
119
+ }));
120
+ // ── Intro timing + content cascade (shared chrome) ──
121
+ const t = (0, pulse_chrome_1.pulseTiming)(durationMs, reduceMotion);
122
+ const { bgFinishT, chromeFadeDur, cardStagger, cardsStart, animOn } = t;
123
+ const children = { donut: donutChild };
124
+ const donutNode = (0, pulse_chrome_1.insetSafe)((0, pulse_chrome_1.withFade)((0, alpine_card_1.paint)({ type: "mosaic", ref: "donut" }), bgFinishT, chromeFadeDur, animOn), donutR, W, H);
125
+ const railNodes = railChildren.map((c, i) => {
126
+ const ref = `rail${i}`;
127
+ children[ref] = c;
128
+ 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);
129
+ });
130
+ // ── Header cluster + footer (shared chrome) ──
131
+ const beatR = scale(gm.beat), logoR = scale(gm.logo), titleR = scale(gm.title), subR = scale(gm.subtitle), footR = scale(gm.footer);
132
+ const footText = `WEEK ${(_l = (_k = pulse.period) === null || _k === void 0 ? void 0 : _k.weekNumber) !== null && _l !== void 0 ? _l : ""} · ${(0, pulse_data_1.periodLabel)(pulse.period)}`.trim();
133
+ const header = (0, pulse_chrome_1.buildHeader)({ beat: beatR, logo: logoR, title: titleR, subtitle: subR }, theme, { eyebrow: (_m = props.eyebrow) !== null && _m !== void 0 ? _m : "BEAT 4", title: (_o = props.headline) !== null && _o !== void 0 ? _o : "CHANGES BREAKDOWN", subtitle: (_p = props.subtitle) !== null && _p !== void 0 ? _p : "What changed, by subsystem.", bind: { eyebrow: "eyebrow", title: "headline", subtitle: "subtitle" } }, t, W, H);
134
+ const footNode = (0, pulse_chrome_1.buildFooter)(footR, theme, footText, t, W, H);
135
+ // ── Backdrop panels (all theme.card with the same ±pad inset → aligned edges).
136
+ // The donut self-surfaces with theme.card, so its ±pad backdrop blends seamlessly. ──
137
+ const M = Math.round(gm.margin * sx);
138
+ const pad = Math.round(Math.min(W, H) * 0.018);
139
+ const panelX = Math.max(0, M - pad), panelRight = Math.min(W, W - M + pad);
140
+ const railBbox = (0, pulse_chrome_1.unionRect)(railCells, 0, W, H);
141
+ const donutBg = (0, pulse_chrome_1.labelNode)((0, pulse_chrome_1.backdrop)(theme.card, { x: donutR.x - pad, y: donutR.y - pad, w: donutR.w + 2 * pad, h: donutR.h + 2 * pad }, W, H, bgFinishT, chromeFadeDur, animOn), "content-panel");
142
+ 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);
143
+ 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");
144
+ 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);
145
+ const root = (0, alpine_card_1.overlay)([(0, pulse_chrome_1.scatterNode)(), donutBg, railBg, headerBg, footBg, ...header.nodes, footNode, donutNode, ...railNodes]);
146
+ const doc = {
147
+ kind: "mosaic_document",
148
+ version: 1,
149
+ assets: { ...(0, pulse_chrome_1.chromeAssets)(variant) },
150
+ m0: root.m0,
151
+ sources: root.sources,
152
+ children,
153
+ backgroundColor: theme.canvas,
154
+ fps: ctx.target.fps,
155
+ durationMs,
156
+ size: { width: W, height: H },
157
+ };
158
+ // Layout contract (dev tripwire; flatten:false → judge only this beat's own
159
+ // top-level chrome + content/rail panels, not the nested donut/cards).
160
+ const constraints = [...pulse_chrome_1.PULSE_CHROME_CONSTRAINTS, ...pulse_chrome_1.PULSE_CONTENT_CONSTRAINTS];
161
+ return (0, template_utils_1.withLayoutContract)(doc, ctx, { templateId: "@m0saic/hero/ffmpeg-pulse/changes-breakdown/v1", constraints, flatten: false, debug: props.debugLayout === true });
162
+ },
163
+ };
164
+ (0, template_utils_1.registerTemplate)(exports.FfmpegPulseChangesBreakdown);
@@ -0,0 +1 @@
1
+ export { FfmpegPulseChangesBreakdown } from "./changes-breakdown";
@@ -0,0 +1,5 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.FfmpegPulseChangesBreakdown = void 0;
4
+ var changes_breakdown_1 = require("./changes-breakdown");
5
+ Object.defineProperty(exports, "FfmpegPulseChangesBreakdown", { enumerable: true, get: function () { return changes_breakdown_1.FfmpegPulseChangesBreakdown; } });