@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,509 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.AlpineCommitFeedV2 = exports.KIND_MARKS = void 0;
4
+ const types_1 = require("@m0saic/types");
5
+ const template_utils_1 = require("@m0saic/template-utils");
6
+ const alpine_card_1 = require("../../_shared/alpine-card");
7
+ const alpine_glyphs_1 = require("../../_shared/alpine-glyphs");
8
+ const onboarding_cover_1 = require("../../../_shared/onboarding-cover");
9
+ const alpine_theme_1 = require("../../_shared/alpine-theme");
10
+ const alpine_anim_1 = require("../../_shared/alpine-anim");
11
+ // Alpine-pack citizen: card/text colors come from the shared alpine theme (light by
12
+ // default; the FFmpeg hero passes preset:"dark"). Only DATA-SEMANTIC colors are local:
13
+ // GLYPH_COLOR (dark glyph on the colored chips) + the signal/kind/reviewer maps.
14
+ const GLYPH_COLOR = "#0d1117";
15
+ const DEFAULT_PRESET = "light";
16
+ const SIGNAL_COLOR = { win: "#3fb950", warn: "#e3b341", neutral: "#6e7681" };
17
+ /**
18
+ * Named kind-chip MARK vocabulary (24×24 paths, simple geometry). The
19
+ * `kindGlyphs` override map accepts either a mark NAME from this catalog or a
20
+ * raw SVG path (values starting with "M") — the friendly half lives in the
21
+ * VALUE domain, so `{"security": "shield"}` is human-typable while the prop
22
+ * stays one code-friendly map. Exported for tests.
23
+ */
24
+ exports.KIND_MARKS = {
25
+ add: "M12.9 4.5a.9.9 0 0 0-1.8 0v6.6H4.5a.9.9 0 0 0 0 1.8h6.6v6.6a.9.9 0 0 0 1.8 0v-6.6h6.6a.9.9 0 0 0 0-1.8h-6.6V4.5Z",
26
+ dash: "M4.5 10.5h15a1.5 1.5 0 0 1 0 3h-15a1.5 1.5 0 0 1 0-3Z",
27
+ up: "M12 3.5 19.5 12H15v8.5H9V12H4.5L12 3.5Z",
28
+ lines: "M5 5.4h14v2.4H5zM5 10.8h14v2.4H5zM5 16.2h9v2.4H5z",
29
+ check: "M19.8 6.9a1 1 0 0 1 .15 1.41l-8.8 11a1 1 0 0 1-1.5.07l-4.6-4.6a1 1 0 1 1 1.4-1.42l3.8 3.8 8.13-10.16a1 1 0 0 1 1.42-.1Z",
30
+ dot: "M12 8.4a3.6 3.6 0 1 0 0 7.2 3.6 3.6 0 0 0 0-7.2Z",
31
+ shield: "M12 2 20 5v6c0 5-3.4 8.6-8 11-4.6-2.4-8-6-8-11V5l8-3Z",
32
+ back: "M15 5 7 12l8 7V5Z",
33
+ diamond: "M12 3l7 9-7 9-7-9 7-9Z",
34
+ box: "M4 8l8-4 8 4v8l-8 4-8-4V8Z",
35
+ blocks: "M5 5h6v6H5zM13 13h6v6h-6z",
36
+ };
37
+ /** Built-in kind styling — colors + marks for the COMMON kinds, so most feeds
38
+ * never need the override maps (custom kinds fall back to muted + no glyph). */
39
+ const KIND_COLORS = {
40
+ feat: "#3fb950", fix: "#388bfd", perf: "#a371f7", docs: "#e3b341", test: "#2ea043", chore: "#8b949e",
41
+ refactor: "#39c5cf", revert: "#f85149", security: "#f0883e", ci: "#db61a2", deps: "#58a6ff",
42
+ };
43
+ const KIND_GLYPHS = {
44
+ feat: exports.KIND_MARKS.add, fix: exports.KIND_MARKS.dash, perf: exports.KIND_MARKS.up, docs: exports.KIND_MARKS.lines,
45
+ test: exports.KIND_MARKS.check, chore: exports.KIND_MARKS.dot,
46
+ refactor: exports.KIND_MARKS.blocks, revert: exports.KIND_MARKS.back, security: exports.KIND_MARKS.shield,
47
+ ci: exports.KIND_MARKS.diamond, deps: exports.KIND_MARKS.box,
48
+ };
49
+ /** kindGlyphs override values: a KIND_MARKS name, or a raw path ("M…"). */
50
+ function resolveKindMark(value) {
51
+ if (!value)
52
+ return undefined;
53
+ if (value.startsWith("M"))
54
+ return value;
55
+ const mark = exports.KIND_MARKS[value];
56
+ if (!mark) {
57
+ throw new Error(`@m0saic/alpine/commit-feed/v2: unknown kind mark "${value}" — a KIND_MARKS name (${Object.keys(exports.KIND_MARKS).join(", ")}) or a raw 24x24 SVG path.`);
58
+ }
59
+ return mark;
60
+ }
61
+ const REVIEWER_HUES = ["#3fb950", "#388bfd", "#a371f7", "#db61a2", "#e3b341"];
62
+ const DEFAULT_RENDER_MODE = "premium";
63
+ const DEFAULT_ANIM = { renderMode: DEFAULT_RENDER_MODE, introFrac: 0.7, reduceMotion: false };
64
+ const MAX_ROWS = 7;
65
+ // ---------------------------------------------------------------------------
66
+ // Helpers
67
+ // ---------------------------------------------------------------------------
68
+ function blend(a, b, t) {
69
+ const pa = parseInt(a.slice(1), 16), pb = parseInt(b.slice(1), 16);
70
+ const mix = (sh) => Math.round(((pa >> sh) & 255) + (((pb >> sh) & 255) - ((pa >> sh) & 255)) * t);
71
+ return ("#" + [mix(16), mix(8), mix(0)].map((x) => x.toString(16).padStart(2, "0")).join(""));
72
+ }
73
+ const fmtPr = (pr) => (pr == null || pr === "" ? "" : `#${pr}`);
74
+ const propsSchema = (0, template_utils_1.definePropsSchema)({
75
+ rows: { type: "array", required: true, description: "Feed rows. Each: title (+ optional kind, author, date, pr, reviewers, area, signal).", meta: { control: { flavor: "jsonModal" }, ui: { label: "Rows", order: 1 } } },
76
+ title: { type: "string", required: false, description: "Card title.", meta: { control: { placeholder: "e.g., NOTABLE COMMITS" }, ui: { label: "Title", order: 2 } } },
77
+ subtitle: { type: "string", required: false, description: "Card subtitle.", meta: { ui: { label: "Subtitle", order: 3 } } },
78
+ preset: { type: "string", required: false, description: "Alpine theme variant (light default; dark = the FFmpeg hero look).", meta: { constraints: { oneOf: ["light", "dark"] }, ui: { label: "Preset", order: 4 } } },
79
+ showHeader: { type: "boolean", required: false, description: "Show the icon + title + subtitle band (default true). False when a parent chrome supplies the title.", meta: { ui: { label: "Show header", order: 5 } } },
80
+ accent: { type: "string", required: false, description: "Accent color (header chip). Defaults to the theme primary.", meta: { constraints: { isColor: true }, control: { placeholder: "theme primary", colorPicker: true, defaultColor: "#2563EB" }, ui: { label: "Accent", order: 6 } } },
81
+ backgroundColor: { type: "string", required: false, description: "Card surface color. \"black@0\" → transparent (composed under a chrome).", meta: { constraints: { isColor: true }, control: { placeholder: "theme card", colorPicker: true, defaultColor: "#FFFFFF" }, ui: { label: "Card color", order: 7 } } },
82
+ washColor: { type: "string", required: false, description: "Solid color the row tiles blend against (for transparent surfaces on a colored backdrop).", meta: { constraints: { isColor: true }, control: { placeholder: "card background", colorPicker: true, defaultColor: "#FFFFFF" }, ui: { label: "Wash base", order: 8 } } },
83
+ anim: {
84
+ type: "group", required: false, description: "Reveal mode + row-cascade intro.",
85
+ meta: { ui: { label: "Animation", order: 11, collapsedByDefault: true } },
86
+ fields: {
87
+ renderMode: (0, alpine_anim_1.fEnum)("Render mode", ["premium", "light"], "\"premium\" (default): rows cascade in via alpha fade — a geq per faded source. \"light\": the same cascade via free enable-gate pops — no geq, composable, cheap when nested."),
88
+ reduceMotion: alpine_anim_1.ALPINE_ANIM_FIELDS.reduceMotion,
89
+ introFrac: alpine_anim_1.ALPINE_ANIM_FIELDS.introFrac,
90
+ },
91
+ },
92
+ theme: {
93
+ type: "group", required: false, description: "Opt into a theme source. Uses the alpine preset by default; set a producer slug + namespace to pull shared design tokens. Explicit color props still win.",
94
+ meta: { ui: { label: "Theme", order: 13, collapsedByDefault: true } },
95
+ fields: { slug: (0, alpine_anim_1.fStr)("Producer slug", "Producer template to seed tokens from (e.g. \"@m0saic/theming/v1\").", "preset palette (no producer)"), preset: (0, alpine_anim_1.fStr)("Preset", "Producer preset/variant (light | dark | high-contrast; producer-defined).", "producer default"), namespace: (0, alpine_anim_1.fStr)("Namespace", "Upstream alias to read tokens from. Default \"theme\".", "theme"), forceFetch: (0, alpine_anim_1.fBool)("Force fetch", "Re-seed via the slug even if the namespace is populated.") },
96
+ },
97
+ icon: { type: "string", required: false, description: "Named header glyph (shared alpine catalog). A derived HUMAN view of the raw iconPath agent prop: picking a name WRITES the SVG path into iconPath (the stored, code-friendly value); a bespoke agent-written path shows as no selection.", meta: { constraints: { oneOf: alpine_glyphs_1.ALPINE_GLYPH_NAMES }, ui: { label: "Icon", order: 14, consumer: "human" }, control: { syncsTo: [{ prop: "iconPath", map: { kind: "lookup", table: alpine_glyphs_1.ALPINE_GLYPHS } }] } } },
98
+ iconPath: { type: "string", required: false, description: "Header glyph SVG path d (24×24) — the raw value behind the friendly `icon` knob, and the override that wins.", meta: { ui: { label: "Icon path (SVG d)", order: 15, consumer: "agent" } } },
99
+ kindColors: { type: "group", required: false, description: "kind → chip color override (open-keyed map). Built-ins already cover feat, fix, perf, docs, test, chore, refactor, revert, security, ci, deps — this map restyles them or colors CUSTOM kinds.", meta: { ui: { label: "Kind colors", order: 16, collapsedByDefault: true, consumer: "agent" } } },
100
+ kindGlyphs: { type: "group", required: false, description: "kind → chip glyph override (open-keyed map). Values are a mark NAME (add, dash, up, lines, check, dot, shield, back, diamond, box, blocks) or a raw 24x24 SVG path starting with \"M\" — e.g. {\"hotfix\": \"shield\"}.", meta: { ui: { label: "Kind glyphs", order: 17, collapsedByDefault: true, consumer: "agent" } } },
101
+ // ── Debug — hidden by default; the sandbox / matrix / Make iteration flip it true. ──
102
+ debugLayout: { type: "boolean", required: false, description: "Dev-only layout contract view: renders the contract wireframe instead of the feed — rows GREEN with the measured rule when every row is the same size, offenders RED when not. Deterministic default false; production never sets it.", meta: { ui: { label: "Debug layout", order: 18, collapsedByDefault: true } } },
103
+ });
104
+ exports.AlpineCommitFeedV2 = {
105
+ id: (0, types_1.asTemplateId)("@m0saic/alpine/commit-feed/v2"),
106
+ label: "Alpine Commit Feed",
107
+ version: 2,
108
+ description: "Alpine commit feed — friendly mobile-marketing card: a scannable list of notable commits (kind icon + title + PR, area chip + author + reviewers + date) with a signal status bar (green win / amber warn / neutral). Alpine-light by default; the FFmpeg Weekly Pulse uses preset:\"dark\". v2 rebuilds the geometry as a RATIO layout (nested row/col splits with proportional weights) so it composes at any canvas without the absolute-placement precision blowup.",
109
+ capabilities: { tier: "core" },
110
+ primitive: true,
111
+ tags: ["data-viz", "alpine", "commit-feed", "feed", "list", "animated", "developers", "analysts", "git", "changelog"],
112
+ outputHints: { format: { kind: "video", container: "mp4" }, width: 1280, height: 720, fps: 30, durationMs: 3000 }, // 720 not 708: a 5-smooth hinted canvas (latticeSmooth)
113
+ propsSchema,
114
+ defaultProps: {
115
+ showHeader: true,
116
+ preset: "light",
117
+ debugLayout: false,
118
+ theme: { forceFetch: false },
119
+ rows: [
120
+ { kind: "perf", area: "avcodec", title: "avcodec: improve AV1 decode performance", hash: "a1b2c3d", author: "Anton Khirnov", date: "May 15", pr: 14201, reviewers: ["James Almer", "Michael Niedermayer"], signal: "warn" },
121
+ { kind: "feat", area: "avformat", title: "avformat: add support for new container", hash: "d4e5f6g", author: "James Almer", date: "May 14", pr: 14198, reviewers: ["Anton Khirnov"], signal: "neutral" },
122
+ { kind: "fix", area: "avfilter", title: "avfilter: fix memory leak in overlay filter", hash: "h7i8j9k", author: "Marton Balint", date: "May 13", pr: 14185, reviewers: ["Anton Khirnov", "Limin Wang"], signal: "win" },
123
+ { kind: "docs", area: "doc", title: "doc: update HLS documentation", hash: "l0m1n2o", author: "Limin Wang", date: "May 12", pr: 14180, reviewers: ["Marton Balint"], signal: "neutral" },
124
+ { kind: "test", area: "tests", title: "tests: add FATE test for edge case", hash: "p3q4r5s", author: "Michael Niedermayer", date: "May 16", pr: 14205, reviewers: ["James Almer"], signal: "win" },
125
+ ],
126
+ title: "NOTABLE COMMITS",
127
+ subtitle: "Highlight interesting work.",
128
+ // Default header glyph — stored as the CANONICAL raw (the Icon dropdown
129
+ // shows "commits" via the lookup sync's inverse map).
130
+ iconPath: alpine_glyphs_1.ALPINE_GLYPHS.commits,
131
+ anim: DEFAULT_ANIM,
132
+ },
133
+ async render(props, ctx) {
134
+ var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l, _m, _o;
135
+ const W = Math.max(1, Math.round(ctx.target.width));
136
+ const H = Math.max(1, Math.round(ctx.target.height));
137
+ // Keep each drawn row's ORIGINAL index into props.rows: the leaf bindings
138
+ // (Make's double-click edit of rows[i].title etc.) must address the prop
139
+ // value, not the filtered / truncated draw order.
140
+ const rowEntries = ((_a = props.rows) !== null && _a !== void 0 ? _a : [])
141
+ .map((r, srcIndex) => ({ r, srcIndex }))
142
+ .filter(({ r }) => r && typeof r.title === "string")
143
+ .slice(0, MAX_ROWS);
144
+ const rows = rowEntries.map((e) => e.r);
145
+ if (!rows.length)
146
+ return (0, template_utils_1.makeErrorMosaic)("commit-feed needs rows[]", { title: `${this.id} props`, width: W, height: H });
147
+ // Alpine theming: light by default; the FFmpeg hero passes preset:"dark". A producer
148
+ // can override via props.theme; explicit color props still win.
149
+ const theme = await (0, alpine_theme_1.resolveAlpineTheme)((_b = props.preset) !== null && _b !== void 0 ? _b : DEFAULT_PRESET, ctx, props.theme);
150
+ const CARD_BG = theme.card, ROW_BG = theme.grid, TITLE_COLOR = theme.title, LABEL_COLOR = theme.muted, META_COLOR = theme.label;
151
+ const accent = (_c = props.accent) !== null && _c !== void 0 ? _c : theme.primary;
152
+ const cardBg = (_d = props.backgroundColor) !== null && _d !== void 0 ? _d : CARD_BG;
153
+ const surfaceSolid = typeof cardBg === "string" && cardBg.startsWith("#");
154
+ const washBase = (_e = props.washColor) !== null && _e !== void 0 ? _e : (surfaceSolid ? cardBg : CARD_BG);
155
+ const kindColors = { ...KIND_COLORS, ...((_f = props.kindColors) !== null && _f !== void 0 ? _f : {}) };
156
+ const kindGlyphs = { ...KIND_GLYPHS, ...((_g = props.kindGlyphs) !== null && _g !== void 0 ? _g : {}) };
157
+ const anim = { ...DEFAULT_ANIM, ...((_h = props.anim) !== null && _h !== void 0 ? _h : {}) };
158
+ const animate = !anim.reduceMotion;
159
+ const light = ((_j = anim.renderMode) !== null && _j !== void 0 ? _j : DEFAULT_RENDER_MODE) === "light";
160
+ const showHeader = (_k = props.showHeader) !== null && _k !== void 0 ? _k : true;
161
+ const narrow = W < 820; // portrait / small → drop the reviewer discs + PR to avoid cramming
162
+ const N = rows.length;
163
+ const clipSec = Math.max(0.1, ((_l = ctx.target.durationMs) !== null && _l !== void 0 ? _l : 3000) / 1000);
164
+ const introT = Math.max(0.1, Math.min(1, anim.introFrac) * clipSec);
165
+ const introDelay = Math.min(0.15, introT * 0.1);
166
+ const CASCADE = 0.5;
167
+ const rowDur = Math.max(0.05, (introT - introDelay) / (1 + CASCADE * Math.max(0, N - 1)));
168
+ const rowStagger = CASCADE * rowDur;
169
+ // Pixel geometry — used ONLY to derive proportional split weights (so the m0 is
170
+ // resolution-invariant within an aspect: at 2× resolution every px doubles and the
171
+ // ratios are identical). Fonts are sized to H (the ratio-template convention).
172
+ const pad = Math.round(Math.min(W, H) * 0.04);
173
+ const innerW = Math.max(1, W - 2 * pad), innerH = Math.max(1, H - 2 * pad);
174
+ const headerH = showHeader ? Math.round(innerH * 0.16) : 0;
175
+ const headerGap = showHeader ? Math.round(innerH * 0.04) : 0;
176
+ const rowsH = Math.max(1, innerH - headerH - headerGap);
177
+ const gap = Math.max(6, Math.round(rowsH * 0.025));
178
+ // Row PITCH (band incl. its half-gaps) from the EQUAL band split below —
179
+ // the row box itself is pitch minus the gap carved inside the band.
180
+ const pitch = Math.max(1, Math.floor(rowsH / N));
181
+ const rowH = Math.max(1, pitch - gap);
182
+ // Weight helpers: proportions of a reference px extent (basis ~100). `split()`
183
+ // caps the basis at 120, so these stay low-precision regardless of canvas.
184
+ const wOf = (px, ref) => Math.max(1, Math.round((px / ref) * 100));
185
+ // What the engine will ACTUALLY hand each band, in px: the kit rewrites
186
+ // weights onto the 5-smooth lattice (latticeWeights) and the parser hands
187
+ // the remainder out outside-in (quantizedSections) — an edge section can be
188
+ // several px wider than its ideal fraction. Intents that must register
189
+ // with a cell (the header chip's insets) derive from these, not from the
190
+ // fraction, so the painted chip stays square at every canvas.
191
+ const sectionsPx = (totalPx, weights) => (0, template_utils_1.quantizedSections)(totalPx, (0, template_utils_1.latticeWeights)(weights));
192
+ const innerWpx = sectionsPx(W, [pad, innerW, pad])[1];
193
+ const innerHpx = sectionsPx(H, [pad, innerH, pad])[1];
194
+ const bodyWeights = showHeader ? [wOf(headerH, innerH), wOf(headerGap, innerH)] : [];
195
+ const bodyRowsWeight = Math.max(1, 100 - bodyWeights.reduce((a, b) => a + b, 0));
196
+ const roundTile = (color, radius) => (0, template_utils_1.makeColorTile)(color, { effects: { rounding: { cornerStyle: "rounded", borderRadius: radius } } });
197
+ const glyphTile = (path) => (0, template_utils_1.makeColorTile)(GLYPH_COLOR, { mask: { kind: "inline-mask", localPath: path, bounds: { x: 0, y: 0, width: 24, height: 24 } } });
198
+ // Reveal a whole node's leaves at `startSec` (premium fades / light enable-gates /
199
+ // reduceMotion static). Matches v1's per-piece cascade, applied per sub-tree.
200
+ const reveal = (node, startSec) => !animate ? node : light ? (0, alpine_anim_1.revealGateNode)(node, startSec) : (0, alpine_anim_1.revealFadeNode)(node, startSec, rowDur);
201
+ // Fonts (sized to H — the ratio convention; replaces v1's box-width capFont)
202
+ // …then WIDTH-CAPPED to their slots: H-derived fonts cram narrow canvases
203
+ // and long strings (clipped titles at 720×1280, PR-over-title at 1001×733;
204
+ // textCell is plain text, not fit:contain). Each cap binds only when the
205
+ // longest string would overflow its slot — defaults render byte-identical.
206
+ const capW = (px, longest, slotPx, min) => Math.max(min, Math.min(px, Math.floor(slotPx / (Math.max(1, longest) * 0.62))));
207
+ const textWpx = Math.max(1, innerW - Math.round(rowH * 0.16) * 2 - Math.max(4, Math.round(rowH * 0.06)) - Math.round(rowH * 0.18) - Math.round(rowH * 0.5) - Math.round(rowH * 0.2));
208
+ const longestTitle = Math.max(1, ...rows.map((r) => (0, template_utils_1.textEmUnits)(r.title)));
209
+ const anyPr = !narrow && rows.some((r) => !!fmtPr(r.pr));
210
+ const longestPr = Math.max(1, ...rows.map((r) => (0, template_utils_1.textEmUnits)(fmtPr(r.pr))));
211
+ const longestAuthor = Math.max(1, ...rows.map((r) => { var _a; return (0, template_utils_1.textEmUnits)((_a = r.author) !== null && _a !== void 0 ? _a : ""); }));
212
+ const longestDate = Math.max(1, ...rows.map((r) => { var _a; return (0, template_utils_1.textEmUnits)((_a = r.date) !== null && _a !== void 0 ? _a : ""); }));
213
+ const longestArea = Math.max(1, ...rows.map((r) => { var _a; return (0, template_utils_1.textEmUnits)((_a = r.area) !== null && _a !== void 0 ? _a : ""); }));
214
+ // ×0.95: realized cells run a few % under the weight model (split
215
+ // quantization) — exact-slot caps left 43-char titles 4-16px over at
216
+ // square-ish canvases (text-fit tripwire catch). Floor-bound titles
217
+ // (12px can't shrink further) ELLIPSIZE: truncated text must FIT.
218
+ const titleSlot = textWpx * (anyPr ? 0.84 : 1) * 0.95;
219
+ const titleFont = capW(Math.max(12, Math.round(rowH * 0.30)), longestTitle, titleSlot, 12);
220
+ const maxTitleUnits = Math.max(4, titleSlot / (titleFont * 0.62));
221
+ const fitTitle = (t) => (0, alpine_card_1.fitEmUnits)(t, maxTitleUnits);
222
+ let metaFont = Math.max(9, Math.round(rowH * 0.20));
223
+ metaFont = capW(metaFont, longestAuthor, textWpx * 0.28, 9);
224
+ metaFont = capW(metaFont, longestDate, textWpx * (narrow ? 0.26 : 0.15), 9);
225
+ if (anyPr)
226
+ metaFont = capW(metaFont, longestPr, textWpx * 0.16, 9);
227
+ const chipFont = capW(Math.max(8, Math.round(rowH * 0.18)), longestArea, textWpx * 0.22 * 0.84, 8);
228
+ // Floor-bound meta text (9px can't shrink) ellipsizes to its slot.
229
+ // ×0.88: the realized line-2 bands run up to ~12% under their weight
230
+ // model at tiny canvases (19-char authors 4px over at 360×640).
231
+ const fitToSlot = (t, slotPx) => (0, alpine_card_1.fitEmUnits)(t, Math.max(2, (slotPx * 0.88) / (metaFont * 0.62)));
232
+ const fitPr = (t) => fitToSlot(t, textWpx * 0.16);
233
+ // ── One row: [bar · icon · text column] over a soft row wash ──
234
+ const rowNode = (i) => {
235
+ var _a, _b, _c, _d, _e;
236
+ const r = rows[i];
237
+ const ri = rowEntries[i].srcIndex;
238
+ // Leaf binding into the `rows` prop for the rect that shows a field.
239
+ const bindRow = (src, field, kind, ...rest) => (0, template_utils_1.bindPropPath)(src, "rows", [ri, field, ...rest], kind);
240
+ const sig = (_b = SIGNAL_COLOR[((_a = r.signal) !== null && _a !== void 0 ? _a : "neutral")]) !== null && _b !== void 0 ? _b : SIGNAL_COLOR.neutral;
241
+ const kColor = (r.kind && kindColors[r.kind]) || LABEL_COLOR;
242
+ const kGlyph = r.kind ? resolveKindMark(kindGlyphs[r.kind]) : undefined;
243
+ // Column pixel widths (→ proportional weights of innerW).
244
+ const cpad = Math.round(rowH * 0.16);
245
+ const barW = Math.max(4, Math.round(rowH * 0.06));
246
+ const iconSide = Math.round(rowH * 0.5);
247
+ const g1 = Math.round(rowH * 0.18), g2 = Math.round(rowH * 0.2);
248
+ const textW = Math.max(1, innerW - cpad * 2 - barW - g1 - iconSide - g2);
249
+ // Status bar — a thin vertical rule inset to ~60% of the row height.
250
+ const barCell = (0, alpine_card_1.rowSplit)([
251
+ { weight: 2, node: alpine_card_1.EMPTY },
252
+ { weight: 6, node: (0, alpine_card_1.paint)(roundTile(sig, 0.5)) },
253
+ { weight: 2, node: alpine_card_1.EMPTY },
254
+ ]);
255
+ // Kind icon — a rounded square (vertically centered) with the glyph inset.
256
+ // Placement insets (fiber), NOT insetNode: the 100-grain [22,56,22] split
257
+ // emitted 50 unit cells inside a chip that bottoms out ~24px at small
258
+ // canvases — infeasible (SPLIT_EXCEEDS_AXIS killed the doc at 640×360).
259
+ const iconInner = kGlyph
260
+ ? (0, alpine_card_1.overlay)([
261
+ (0, alpine_card_1.paint)(roundTile(kColor, 0.28)),
262
+ (0, alpine_card_1.paint)({ ...glyphTile(kGlyph), placement: { inset: { x: 0.22, y: 0.22 } } }),
263
+ ])
264
+ : (0, alpine_card_1.paint)(roundTile(kColor, 0.28));
265
+ const iconCell = (0, alpine_card_1.rowSplit)([
266
+ { weight: 1, node: alpine_card_1.EMPTY },
267
+ { weight: 2, node: iconInner },
268
+ { weight: 1, node: alpine_card_1.EMPTY },
269
+ ]);
270
+ // ── Text column: line1 (title + #PR) over line2 (area · author · reviewers · date) ──
271
+ const showPr = !narrow && !!fmtPr(r.pr);
272
+ const line1 = (0, alpine_card_1.colSplit)([
273
+ { weight: showPr ? 84 : 100, node: (0, alpine_card_1.paint)(bindRow((0, alpine_card_1.tag)((0, alpine_card_1.textCell)(fitTitle(r.title), titleFont, TITLE_COLOR, "left"), "row-title"), "title", "string")) },
274
+ ...(showPr ? [{ weight: 16, node: (0, alpine_card_1.paint)(bindRow((0, alpine_card_1.tag)((0, alpine_card_1.textCell)(fitPr(fmtPr(r.pr)), metaFont, LABEL_COLOR, "right"), "row-pr"), "pr", "number")) }] : []),
275
+ ]);
276
+ const areaChip = r.area
277
+ ? (0, alpine_card_1.overlay)([
278
+ (0, alpine_card_1.paint)(roundTile(blend(washBase, kColor, 0.24), 0.34)),
279
+ (0, alpine_card_1.paint)(bindRow((0, alpine_card_1.tag)((0, alpine_card_1.textCell)(r.area, chipFont, TITLE_COLOR, "center", "middle", { left: 0.08, right: 0.08 }), "chip-text"), "area", "string")),
280
+ ])
281
+ : alpine_card_1.EMPTY;
282
+ // Reviewer discs — up to 2 initials (wide only). Each disc is sized SQUARE:
283
+ // its column width weight is derived from the disc height (≈ line2 height) as a
284
+ // proportion of the text-column width, so it reads as a circle, not a wide bar.
285
+ const reviewers = !narrow ? ((_c = r.reviewers) !== null && _c !== void 0 ? _c : []).slice(0, 2) : [];
286
+ const discHpx = Math.round(rowH * 0.24);
287
+ const dw = Math.max(2, Math.round((discHpx / textW) * 100)); // square disc width weight
288
+ const discGap = Math.max(1, Math.round(dw * 0.4));
289
+ const discsNode = reviewers.length
290
+ ? (0, alpine_card_1.colSplit)(reviewers.flatMap((nm, k) => {
291
+ var _a;
292
+ const init = ((_a = nm.trim()[0]) !== null && _a !== void 0 ? _a : "?").toUpperCase();
293
+ const disc = (0, alpine_card_1.overlay)([
294
+ (0, alpine_card_1.paint)(roundTile(REVIEWER_HUES[k % REVIEWER_HUES.length], 0.5)),
295
+ // The disc shows an initial; the leaf it edits is the reviewer's full name.
296
+ (0, alpine_card_1.paint)(bindRow((0, alpine_card_1.textCell)(init, Math.max(8, Math.round(rowH * 0.16)), GLYPH_COLOR, "center"), "reviewers", "string", k)),
297
+ ]);
298
+ // Vertically center the square disc within the (taller) line-2 band.
299
+ const discCell = (0, alpine_card_1.rowSplit)([{ weight: 1, node: alpine_card_1.EMPTY }, { weight: 3, node: disc }, { weight: 1, node: alpine_card_1.EMPTY }]);
300
+ return k > 0 ? [{ weight: discGap, node: alpine_card_1.EMPTY }, { weight: dw, node: discCell }] : [{ weight: dw, node: discCell }];
301
+ }))
302
+ : alpine_card_1.EMPTY;
303
+ // line2 columns: [areaChip? · author · reviewers? · date] — proportional weights.
304
+ const areaW = r.area ? Math.min(22, Math.max(10, Math.round(r.area.length * 2.4) + 6)) : 0;
305
+ const dateW = narrow ? 26 : 15;
306
+ const revW = reviewers.length ? (narrow ? 0 : reviewers.length * dw + (reviewers.length - 1) * discGap + 3) : 0;
307
+ const authorW = Math.max(8, 100 - areaW - (areaW ? 2 : 0) - revW - dateW - 2);
308
+ const line2Bands = [];
309
+ if (r.area) {
310
+ line2Bands.push({ weight: areaW, node: areaChip });
311
+ line2Bands.push({ weight: 2, node: alpine_card_1.EMPTY });
312
+ }
313
+ line2Bands.push({ weight: authorW, node: (0, alpine_card_1.paint)(bindRow((0, alpine_card_1.tag)((0, alpine_card_1.textCell)(fitToSlot((_d = r.author) !== null && _d !== void 0 ? _d : "", textWpx * (authorW / 100)), metaFont, META_COLOR, "left"), "row-author"), "author", "string")) });
314
+ if (revW)
315
+ line2Bands.push({ weight: revW, node: discsNode });
316
+ line2Bands.push({ weight: dateW, node: (0, alpine_card_1.paint)(bindRow((0, alpine_card_1.tag)((0, alpine_card_1.textCell)((_e = r.date) !== null && _e !== void 0 ? _e : "", metaFont, LABEL_COLOR, "right"), "row-date"), "date", "string")) });
317
+ const line2 = (0, alpine_card_1.colSplit)(line2Bands);
318
+ const textCol = (0, alpine_card_1.rowSplit)([
319
+ { weight: 8, node: alpine_card_1.EMPTY },
320
+ { weight: 40, node: line1 },
321
+ { weight: 6, node: alpine_card_1.EMPTY },
322
+ { weight: 30, node: line2 },
323
+ { weight: 8, node: alpine_card_1.EMPTY },
324
+ ]);
325
+ const content = (0, alpine_card_1.colSplit)([
326
+ { weight: wOf(cpad, innerW), node: alpine_card_1.EMPTY },
327
+ { weight: wOf(barW, innerW), node: barCell },
328
+ { weight: wOf(g1, innerW), node: alpine_card_1.EMPTY },
329
+ { weight: wOf(iconSide, innerW), node: iconCell },
330
+ { weight: wOf(g2, innerW), node: alpine_card_1.EMPTY },
331
+ { weight: wOf(textW, innerW), node: textCol },
332
+ { weight: wOf(cpad, innerW), node: alpine_card_1.EMPTY },
333
+ ]);
334
+ const washTile = roundTile(blend(washBase, ROW_BG, 0.5), 0.12);
335
+ // "row" tag = the layout contract's join key (equal-size relation).
336
+ washTile.editor = { label: "row" };
337
+ // The wash is `washColor` blended toward the row tint → the one prop that controls
338
+ // it; every row wash binds it (1:N). Kind chips (kindColors map) / signal bars (enum)
339
+ // / reviewer discs (fixed hues) never bind.
340
+ const rowBg = (0, alpine_card_1.paint)((0, template_utils_1.bindProp)(washTile, "washColor"));
341
+ return (0, alpine_card_1.overlay)([rowBg, content]);
342
+ };
343
+ // ── Rows stack: one EQUAL band per row (quantization-exact — handbook §3:
344
+ // interleaved [row, gap] weights let the engine's outside-in remainder
345
+ // starve the CENTER row under ancestor drift; measured 96/94/90/93/96 at
346
+ // 1001×733 before this). The half-gap is carved INSIDE each band by a
347
+ // tiny [1, K, 1] split, so row height can never drift by more than ~1px. ──
348
+ const halfGapU = 1;
349
+ const rowU = Math.max(2, Math.round((2 * rowH) / Math.max(1, gap)));
350
+ const rowBands = [];
351
+ for (let i = 0; i < N; i++) {
352
+ const startSec = introDelay + i * rowStagger;
353
+ const banded = (0, alpine_card_1.rowSplit)([
354
+ { weight: halfGapU, node: alpine_card_1.EMPTY },
355
+ { weight: rowU, node: reveal(rowNode(i), startSec) },
356
+ { weight: halfGapU, node: alpine_card_1.EMPTY },
357
+ ]);
358
+ rowBands.push({ weight: 1, node: banded });
359
+ }
360
+ const rowsNode = (0, alpine_card_1.rowSplit)(rowBands);
361
+ // ── Header: accent icon tile + title / subtitle ──
362
+ let headerNode = alpine_card_1.EMPTY;
363
+ if (showHeader) {
364
+ const titleText = (_m = props.title) !== null && _m !== void 0 ? _m : "NOTABLE COMMITS";
365
+ const subText = (_o = props.subtitle) !== null && _o !== void 0 ? _o : "Highlight interesting work.";
366
+ // Friendly `icon` name → shared catalog path; raw `iconPath` wins.
367
+ const headerGlyphPath = (0, alpine_glyphs_1.resolveAlpineGlyph)(props.icon, props.iconPath, "@m0saic/alpine/commit-feed/v2");
368
+ // Icon chip: an intended SQUARE (side 0.6·headerH) carved from its cell by
369
+ // placement insets (fiber — quantization-immune). The old [2,6,2] shave
370
+ // squared only the HEIGHT, so the chip painted cell-wide (~1.6:1) and
371
+ // stretched the glyph. Intents use the QUANTIZED ratio yields (what the
372
+ // emitted weights actually produce), so the painted aspect stays ~1 at any
373
+ // canvas; the `header-icon` aspect constraint below ENFORCES it.
374
+ const headerColWeights = [wOf(headerH, innerW), wOf(Math.round(headerH * 0.22), innerW)];
375
+ headerColWeights.push(Math.max(1, 100 - headerColWeights[0] - headerColWeights[1]));
376
+ const colWInt = sectionsPx(innerWpx, headerColWeights)[0];
377
+ const bandHInt = sectionsPx(innerHpx, [...bodyWeights, bodyRowsWeight])[0];
378
+ const chipS = 0.6 * Math.min(colWInt, bandHInt);
379
+ const chipX = (colWInt - chipS) / (2 * colWInt);
380
+ const chipY = (bandHInt - chipS) / (2 * bandHInt);
381
+ const glyphX = chipX + (1 - 2 * chipX) * 0.22;
382
+ const glyphY = chipY + (1 - 2 * chipY) * 0.22;
383
+ const chipTile = (0, template_utils_1.makeColorTile)(accent, {
384
+ effects: { rounding: { cornerStyle: "rounded", borderRadius: 0.28 } },
385
+ placement: { inset: { x: chipX, y: chipY } },
386
+ });
387
+ chipTile.editor = { label: "header-icon" };
388
+ // The chip's fill IS `accent` → Make's color picker (the glyph over it is a fixed ink).
389
+ (0, template_utils_1.bindProp)(chipTile, "accent");
390
+ const hGlyphTile = headerGlyphPath
391
+ ? { ...glyphTile(headerGlyphPath), placement: { inset: { x: glyphX, y: glyphY } } }
392
+ : null;
393
+ const hIconCell = hGlyphTile ? (0, alpine_card_1.overlay)([(0, alpine_card_1.paint)(chipTile), (0, alpine_card_1.paint)(hGlyphTile)]) : (0, alpine_card_1.paint)(chipTile);
394
+ // Width-capped like the row fonts — long titles shrink, never clip.
395
+ // 1.16× the length ≈ a 0.72em char width: the title renders ALL-CAPS,
396
+ // which runs wider than the 0.62em body factor (clipped at 720×1280).
397
+ // Slot = the ACTUAL header text stack (innerW minus the square icon
398
+ // column + its gap), not a flat 0.66·innerW — the flat model overshot
399
+ // ~15% at portrait canvases where the icon eats a big share of a
400
+ // narrow width (27-char subtitle 42px over at 480×1040).
401
+ const headerStackW = Math.max(1, innerW - Math.round(headerH * 1.22));
402
+ const hTitleFont = capW(Math.max(14, Math.round(headerH * 0.4)), Math.ceil((0, template_utils_1.textEmUnits)(titleText) * 1.16), headerStackW * 0.95, 14);
403
+ const hSubFont = capW(Math.max(10, Math.round(headerH * 0.2)), (0, template_utils_1.textEmUnits)(subText), headerStackW * 0.95, 10);
404
+ // Self-drawn header (no alpineCard): bind title / subtitle here for Make's
405
+ // double-click edit — unconditionally, so the fallback copy can be replaced.
406
+ const headerText = (0, alpine_card_1.rowSplit)([
407
+ { weight: 58, node: (0, alpine_card_1.paint)((0, template_utils_1.bindProp)((0, alpine_card_1.tag)((0, alpine_card_1.textCell)(titleText, hTitleFont, TITLE_COLOR, "left"), "feed-title"), "title")) },
408
+ { weight: 42, node: (0, alpine_card_1.paint)((0, template_utils_1.bindProp)((0, alpine_card_1.tag)((0, alpine_card_1.textCell)(subText, hSubFont, LABEL_COLOR, "left"), "feed-subtitle"), "subtitle")) },
409
+ ]);
410
+ headerNode = reveal((0, alpine_card_1.colSplit)([
411
+ { weight: headerColWeights[0], node: hIconCell },
412
+ { weight: headerColWeights[1], node: alpine_card_1.EMPTY },
413
+ { weight: headerColWeights[2], node: headerText },
414
+ ]), introDelay);
415
+ }
416
+ // ── Card body: [header · gap · rows] inside the padded card ──
417
+ const bodyBands = [];
418
+ if (showHeader) {
419
+ bodyBands.push({ weight: wOf(headerH, innerH), node: headerNode });
420
+ bodyBands.push({ weight: wOf(headerGap, innerH), node: alpine_card_1.EMPTY });
421
+ }
422
+ // The rows band absorbs the percent rounding so the body sums to EXACTLY
423
+ // 100 (on the 5-smooth lattice; the same weights the chip intents used).
424
+ bodyBands.push({ weight: bodyRowsWeight, node: rowsNode });
425
+ const body = (0, alpine_card_1.rowSplit)(bodyBands);
426
+ const insetBody = (0, alpine_card_1.insetNode)(body, pad, pad, pad, pad, W, H);
427
+ // Surface: a rounded card tile when solid; skipped (transparent) when composed
428
+ // under a chrome (backgroundColor "black@0"). The surface fades with the first row.
429
+ const root = surfaceSolid
430
+ ? (0, alpine_card_1.overlay)([reveal((0, alpine_card_1.paint)((0, template_utils_1.bindProp)(roundTile(cardBg, 0.04), "backgroundColor")), 0), insetBody])
431
+ : insetBody;
432
+ const doc = {
433
+ kind: "mosaic_document",
434
+ version: 1,
435
+ assets: {},
436
+ m0: root.m0,
437
+ sources: root.sources,
438
+ // Standalone (solid card) → the alpine canvas shows in the rounded-corner gaps;
439
+ // composed under a chrome (transparent surface) → keep it transparent.
440
+ backgroundColor: surfaceSolid ? theme.canvas : "black@0",
441
+ fps: ctx.target.fps,
442
+ durationMs: ctx.target.durationMs,
443
+ size: { width: W, height: H },
444
+ };
445
+ // Dev tripwire: every feed row must render the SAME size. Falsy debugLayout
446
+ // (default) returns the doc untouched at zero cost; the relation needs ≥2
447
+ // rows to be meaningful.
448
+ return Promise.resolve((0, template_utils_1.withLayoutContract)(doc, ctx, {
449
+ templateId: "@m0saic/alpine/commit-feed/v2",
450
+ // tolerancePx 1 = the equal split's quantization guarantee; 2% catches
451
+ // real starvation where a fraction is meaningful.
452
+ relations: N >= 2 ? [{ label: "row", equal: "size", tolerance: 0.02, tolerancePx: 1 }] : [],
453
+ // The header icon chip must paint SQUARE (the 2026-08-20 squashed-glyph
454
+ // find). The checker judges the PAINTED box (inset-recovered), so this
455
+ // enforces the fiber-carved square, not the wide cell.
456
+ constraints: [
457
+ // 0.06, not 0.05: at 360×640 the chip realizes 63×60 (quantization) =
458
+ // aspect 1.050, dead on the old boundary. The squash this guards is 2-3×.
459
+ ...(showHeader ? [{ label: "header-icon", aspect: 1, aspectTolerance: 0.06 }] : []),
460
+ // Text-fit tripwires at the template's own 0.62em capW model.
461
+ ...(showHeader ? [
462
+ { label: "feed-title", textFits: { charWidthEm: 0.62 } },
463
+ { label: "feed-subtitle", textFits: { charWidthEm: 0.62 } },
464
+ ] : []),
465
+ // Row-level checks need N ≥ 2: the N=1 doc shape mis-recovers row
466
+ // frames as px slivers (the frames↔sources measurement-channel
467
+ // candidate, the internal contract-frame-zip-misalignment
468
+ // notes) — 1-4px boxes for visually-correct cells.
469
+ ...(N >= 2 ? [
470
+ { label: "row-title", textFits: { charWidthEm: 0.62 } },
471
+ { label: "row-author", textFits: { charWidthEm: 0.62 } },
472
+ { label: "row-date", textFits: { charWidthEm: 0.62 } },
473
+ ...(anyPr ? [{ label: "row-pr", textFits: { charWidthEm: 0.62 } }] : []),
474
+ ...(rows.some((r) => !!r.area) ? [{ label: "chip-text", textFits: { charWidthEm: 0.62 } }] : []),
475
+ ] : []),
476
+ ],
477
+ debug: props.debugLayout === true,
478
+ }));
479
+ },
480
+ // Editor-only first-open cover — the mosaic-branding theme (chat pane +
481
+ // real-material hero). The hero is this template's OWN static default feed,
482
+ // rendered at the hero box and INLINED flat (gate-15/21 keeper: never a
483
+ // nested child composite).
484
+ async renderCover(_props, ctx) {
485
+ const heroBox = (0, onboarding_cover_1.brandedCoverHeroBox)(ctx, "band");
486
+ const heroCtx = {
487
+ ...ctx,
488
+ target: { ...ctx.target, width: heroBox.width, height: heroBox.height },
489
+ output: { ...ctx.output, width: heroBox.width, height: heroBox.height },
490
+ };
491
+ const feed = (await exports.AlpineCommitFeedV2.render({
492
+ ...exports.AlpineCommitFeedV2.defaultProps,
493
+ anim: { renderMode: "light", introFrac: 0.7, reduceMotion: true },
494
+ }, heroCtx));
495
+ return (0, onboarding_cover_1.buildBrandedCover)({
496
+ ctx,
497
+ // Band variant (founder ruling 08-30): basic viz needs no
498
+ // explanation — hero full-bleed + brand band, nothing else.
499
+ variant: "band",
500
+ copy: {
501
+ productName: "Commit Feed",
502
+ title: "A commit feed.",
503
+ },
504
+ hero: (theme) => (0, onboarding_cover_1.onboardingFrame)((0, onboarding_cover_1.inlineHeroDoc)(feed), theme.borderStrong),
505
+ heroAssets: feed.assets,
506
+ });
507
+ },
508
+ };
509
+ (0, template_utils_1.registerTemplate)(exports.AlpineCommitFeedV2);
@@ -0,0 +1 @@
1
+ export { AlpineCommitFeedV2 } from "./commit-feed";
@@ -0,0 +1,5 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.AlpineCommitFeedV2 = void 0;
4
+ var commit_feed_1 = require("./commit-feed");
5
+ Object.defineProperty(exports, "AlpineCommitFeedV2", { enumerable: true, get: function () { return commit_feed_1.AlpineCommitFeedV2; } });
@@ -0,0 +1,13 @@
1
+ # contributor-table — reference layouts (GCD-collapsed)
2
+
3
+ The sandbox-approved table grid, GCD-collapsed (see the "GCD-collapse search" section of the internal precision-tiers notes).
4
+ Kept as REFERENCE (the live template generates an equivalent coarse layout); these document
5
+ the collapsed geometry + the safe minimum canvas at each complexity tier.
6
+
7
+ - `layout-standard.m0` — **0.6% drift · 2,928 chars · max 4px drift** · all gutters intact.
8
+ STANDARD layout. Safe minimum canvas ≈ **128 × 118 px**.
9
+ - `layout-lite.m0` — **1.2% drift · 1,429 chars · max 8px drift** · column/row gaps collapse.
10
+ LITE variant (lower complexity) for very small tiles. Safe minimum canvas ≈ **80 × 59 px**.
11
+
12
+ Source layout was ~11.5K chars (pack-only, no GCD). 2.0% drift (889 chars) was rejected — the
13
+ value-column gaps became inconsistent for too little extra savings over lite.
@@ -0,0 +1,9 @@
1
+ # m0
2
+ # version: 1
3
+ # created: 2026-06-24T00:00:00.000Z
4
+ # size: 1280x708
5
+ # app: m0saic
6
+ # appVersion: 0.1.0
7
+ # title: contributor-table layout — LITE (1.2% GCD drift, floor 80x59)
8
+
9
+ 59[0,0,-,0,0,80(0,0,0,0,0,0,0,-,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,-),-,0,80(0,0,0,0,0,0,0,-,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,-),0,-,0,0,80(0,0,0,-,0,1,0,-,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,-,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,1,0,0,0,-),0,0,-,0,0,0,80(0,0,0,-,0,1,0,0,0,0,0,0,-,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,-,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,1,0,0,0,-),0,-,0,0,0,0,0,0,0,20(-,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,-),-,0,0,0,0,0,0,20(-,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,-),-,0,0,0,0,0,0,0,20(-,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,-),0,0,0,0,0,0,0,20(-,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,-),0,0,-]{59[0,0,-,0,0,0,80(0,0,0,-,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,-),0,0,0,0,0,0,0,0,-,0,0,0,0,20(0,-,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,-),0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,-]{59[0,0,0,0,0,0,0,0,0,0,0,0,0,0,-,0,0,0,0,0,0,20(-,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,-),0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,-]}}
@@ -0,0 +1,9 @@
1
+ # m0
2
+ # version: 1
3
+ # created: 2026-06-24T00:00:00.000Z
4
+ # size: 1280x708
5
+ # app: m0saic
6
+ # appVersion: 0.1.0
7
+ # title: contributor-table layout — STANDARD (0.6% GCD drift, floor 128x118)
8
+
9
+ 118[0,0,0,0,0,-,0,0,0,0,0,0,128(0,0,0,0,0,0,0,0,0,0,0,0,-,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,-),-,0,0,0,128(0,0,0,0,0,0,0,0,0,0,0,0,-,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,-),0,0,0,0,-,0,0,0,128(0,0,0,0,0,-,0,0,0,1,0,0,-,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,-,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,-,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,-,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,-),0,0,0,0,0,0,-,0,0,0,0,0,0,128(0,0,0,0,0,-,0,0,0,1,0,0,0,0,0,0,0,0,0,0,-,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,-,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,-,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,-,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,-),0,0,0,0,0,-,0,0,0,0,0,0,0,0,0,0,0,0,0,0,64(0,0,-,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,-),0,-,0,0,0,0,0,0,0,0,0,0,0,0,0,64(0,0,-,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,-),0,-,0,0,0,0,0,0,0,0,0,0,0,0,0,0,64(0,0,-,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,-),0,-,0,0,0,0,0,0,0,0,0,0,0,0,0,0,64(0,0,-,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,-),0,0,0,0,0,-]{118[0,0,0,0,-,0,0,0,0,0,0,0,0,0,128(0,0,0,0,0,-,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,-),0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,-,0,0,0,0,0,0,0,0,0,0,128(0,0,0,0,0,0,0,0,0,0,0,0,-,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,-),0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,-]{118[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,-,0,0,0,0,0,0,0,0,0,0,0,0,0,0,64(0,0,-,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,-),0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,-]}}