@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,787 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.PageSkeleton = void 0;
4
+ exports.parseRectOverrides = parseRectOverrides;
5
+ exports.blendHexColors = blendHexColors;
6
+ exports.shadedRectangleFill = shadedRectangleFill;
7
+ exports.resolvePageSkeletonMotion = resolvePageSkeletonMotion;
8
+ exports.motionRankForRect = motionRankForRect;
9
+ exports.buildPageSkeletonMotionLavfi = buildPageSkeletonMotionLavfi;
10
+ exports.baseFillForKind = baseFillForKind;
11
+ exports.effectiveRadiusPx = effectiveRadiusPx;
12
+ exports.overriddenRectGeometry = overriddenRectGeometry;
13
+ exports.overriddenRadiusPx = overriddenRadiusPx;
14
+ exports.roundingForRect = roundingForRect;
15
+ exports.planSkeletonComposition = planSkeletonComposition;
16
+ exports.placeSkeletonPieces = placeSkeletonPieces;
17
+ const types_1 = require("@m0saic/types");
18
+ const dsl_stdlib_1 = require("@m0saic/dsl-stdlib");
19
+ const template_utils_1 = require("@m0saic/template-utils");
20
+ const capture_snippet_source_1 = require("./capture/capture-snippet-source");
21
+ const layout_1 = require("./layout");
22
+ const sample_capture_1 = require("./sample-capture");
23
+ const schema_1 = require("./schema");
24
+ const PAGE_SKELETON_ID = "@m0saic/web/page-skeleton/v1";
25
+ // Tiny field helpers mirror screencap_grid/v2 and stay local to this pack.
26
+ /* eslint-disable @typescript-eslint/no-explicit-any */
27
+ const fBool = (label, description = "") => ({
28
+ type: "boolean",
29
+ required: false,
30
+ description,
31
+ meta: { ui: { label } },
32
+ });
33
+ const fNum = (label, description = "", control, constraints) => ({
34
+ type: "number",
35
+ required: false,
36
+ description,
37
+ meta: {
38
+ ...(constraints ? { constraints } : {}),
39
+ ...(control ? { control } : {}),
40
+ ui: { label },
41
+ },
42
+ });
43
+ const fEnum = (label, oneOf, description = "") => ({
44
+ type: "string",
45
+ required: false,
46
+ description,
47
+ meta: { constraints: { oneOf }, ui: { label } },
48
+ });
49
+ const fColor = (label, description = "") => ({
50
+ type: "string",
51
+ required: false,
52
+ description,
53
+ meta: {
54
+ constraints: { isColor: true },
55
+ control: { colorPicker: true },
56
+ ui: { label },
57
+ },
58
+ });
59
+ /* eslint-enable @typescript-eslint/no-explicit-any */
60
+ const propsSchema = (0, template_utils_1.definePropsSchema)({
61
+ captureSnippet: {
62
+ type: "code",
63
+ required: false,
64
+ description: "Copy this exact JavaScript into the browser console. It copies anonymous visible-page geometry as JSON for Page capture.",
65
+ meta: {
66
+ ui: { label: "Browser capture snippet", order: 1, primary: true },
67
+ },
68
+ },
69
+ capture: {
70
+ type: "json",
71
+ required: true,
72
+ description: "Anonymous geometry from the page-skeleton browser snippet. See packages/docs/web-page-skeleton/README.md for the capture workflow.",
73
+ meta: {
74
+ control: { flavor: "jsonModal" },
75
+ ui: { label: "Page capture", order: 2, primary: true },
76
+ },
77
+ },
78
+ outputFormat: {
79
+ type: "string",
80
+ required: false,
81
+ description: "PNG keeps the editable still; MP4 animates the same rectangles as a looping loading skeleton.",
82
+ meta: {
83
+ constraints: { oneOf: ["png", "mp4"] },
84
+ control: {
85
+ options: [
86
+ { value: "png", label: "Still PNG" },
87
+ { value: "mp4", label: "Animated MP4" },
88
+ ],
89
+ },
90
+ ui: { label: "Output", order: 3, primary: true },
91
+ },
92
+ },
93
+ motion: {
94
+ type: "group",
95
+ required: false,
96
+ description: "Looping loading motion used by Animated MP4 output. Geometry and source count stay unchanged.",
97
+ meta: { ui: { label: "Motion", order: 4, collapsedByDefault: false } },
98
+ fields: {
99
+ mode: fEnum("Mode", ["shimmer", "pulse"], "Shimmer scans a bright band across the page; pulse breathes all content together."),
100
+ direction: fEnum("Direction", ["horizontal", "diagonal", "vertical"], "Canvas direction used by the shimmer scan."),
101
+ bandWidth: fNum("Band width", "Width of the shimmer band as a fraction of the canvas axis.", { flavor: "slider", step: 0.01 }, { min: 0.05, max: 1 }),
102
+ minOpacity: fNum("Resting opacity", "Lowest skeleton opacity between shimmer passes or pulse peaks.", { flavor: "slider", step: 0.01 }, { min: 0.1, max: 0.95 }),
103
+ },
104
+ },
105
+ appearance: {
106
+ type: "group",
107
+ required: false,
108
+ description: "Page, per-kind skeleton colors, and corner treatment.",
109
+ meta: { ui: { label: "Appearance", order: 5, collapsedByDefault: true } },
110
+ fields: {
111
+ bg: fColor("Background", "Canvas color behind the captured page geometry."),
112
+ fill: fColor("Fill", "Skeleton rectangle fill."),
113
+ textFill: fColor("Text fill", "Captured browser line-box fill."),
114
+ imageFill: fColor("Image fill", "Image, video, avatar, and control fill."),
115
+ radiusMode: fEnum("Radius mode", ["none", "captured", "uniform"], "Use captured browser radii, square corners, or one uniform canvas-pixel radius."),
116
+ uniformRadiusPx: fNum("Uniform radius", "Canvas-pixel radius used by uniform mode.", { flavor: "slider", step: 1, unit: "px" }, {
117
+ min: 0,
118
+ max: 256,
119
+ }),
120
+ },
121
+ },
122
+ behavior: {
123
+ type: "group",
124
+ required: false,
125
+ description: "Capture filtering, scaling, and containing-block behavior.",
126
+ meta: { ui: { label: "Behavior", order: 6, collapsedByDefault: true } },
127
+ fields: {
128
+ maxRects: fNum("Max rects", "Maximum retained capture rectangles and independently placed skeleton sources.", { flavor: "slider", step: 1 }, { min: 1, max: 600 }),
129
+ showTextLines: fBool("Text lines", "Render captured browser line boxes."),
130
+ showImages: fBool("Images", "Render image/replaced-element rectangles."),
131
+ showControls: fBool("Controls", "Render form-control rectangles."),
132
+ showDividers: fBool("Dividers", "Render thin divider rectangles."),
133
+ scaleMode: fEnum("Scale", ["fit", "fill", "stretch"], "fit letterboxes, fill crops, stretch scales each axis independently."),
134
+ containerMode: fEnum("Containers", ["keep", "drop"], "Keep large painted wrappers or prune wrappers containing several descendants."),
135
+ pureRects: fBool("Pure DSL rects", "Emit exact frame bounds with no placement insets. Easier for custom cell-local masks, at the cost of a larger m0 program."),
136
+ },
137
+ },
138
+ overrides: {
139
+ type: "json",
140
+ required: false,
141
+ description: 'Array of {i, hide?, fill?, shape?: "rect"|"rounded"|"pill"|"circle", radiusPx?}. Indices refer to capture.rects[].',
142
+ meta: {
143
+ control: { flavor: "jsonModal" },
144
+ ui: { label: "Rect overrides", order: 7 },
145
+ },
146
+ },
147
+ debug: {
148
+ type: "boolean",
149
+ required: false,
150
+ description: "Run the geometry contract and include capture filtering/drop counts in the document label.",
151
+ meta: { ui: { label: "Debug geometry", order: 8, collapsedByDefault: true } },
152
+ },
153
+ debugIndices: {
154
+ type: "boolean",
155
+ required: false,
156
+ description: "Programmatic diagnostic that overlays retained capture indices. Prefer Make canvas selection and the Structure panel for interactive editing.",
157
+ meta: { ui: { label: "Show rect indices", order: 9, hidden: true } },
158
+ },
159
+ });
160
+ // One step darker than the #e2 / #e8 / #d8 it shipped with: on the white page
161
+ // the lifted containers read as white and the cards as barely-there
162
+ // (founder, 2026-09-16: "a tad darker still"). Depth shading still lifts
163
+ // containers toward the page and darkens the top bucket from these.
164
+ const DEFAULT_APPEARANCE = {
165
+ bg: "#ffffff",
166
+ fill: "#d4d4d4",
167
+ textFill: "#dadada",
168
+ imageFill: "#c8c8c8",
169
+ radiusMode: "captured",
170
+ uniformRadiusPx: 8,
171
+ };
172
+ const DEFAULT_BEHAVIOR = {
173
+ maxRects: layout_1.DEFAULT_MAX_RECTS,
174
+ showTextLines: true,
175
+ showImages: true,
176
+ showControls: true,
177
+ showDividers: true,
178
+ scaleMode: "fit",
179
+ containerMode: "keep",
180
+ pureRects: false,
181
+ };
182
+ const DEFAULT_MOTION = {
183
+ // Pulse = the whole skeleton breathes together — the default motion
184
+ // (founder 2026-09-13: skeletons breathe in practice). Shimmer is the
185
+ // scanning-band alternative.
186
+ mode: "pulse",
187
+ direction: "diagonal",
188
+ bandWidth: 0.3,
189
+ minOpacity: 0.68,
190
+ };
191
+ const OVERRIDE_SHAPES = new Set(["rect", "rounded", "pill", "circle"]);
192
+ /** Parse the jsonModal's object-or-string value and validate capture indices. */
193
+ function parseRectOverrides(value, rectCount) {
194
+ let parsed = value;
195
+ if (typeof value === "string") {
196
+ if (!value.trim())
197
+ return new Map();
198
+ try {
199
+ parsed = JSON.parse(value);
200
+ }
201
+ catch (error) {
202
+ throw new Error(`overrides is not valid JSON: ${error instanceof Error ? error.message : String(error)}`);
203
+ }
204
+ }
205
+ if (parsed == null)
206
+ return new Map();
207
+ if (!Array.isArray(parsed)) {
208
+ throw new Error("overrides must be an array");
209
+ }
210
+ const overrides = new Map();
211
+ parsed.forEach((candidate, position) => {
212
+ if (candidate == null ||
213
+ typeof candidate !== "object" ||
214
+ Array.isArray(candidate)) {
215
+ throw new Error(`overrides[${position}] must be an object`);
216
+ }
217
+ const item = candidate;
218
+ if (!Number.isInteger(item.i) || item.i < 0) {
219
+ throw new Error(`overrides[${position}].i must be a non-negative integer`);
220
+ }
221
+ const i = item.i;
222
+ if (i >= rectCount) {
223
+ throw new Error(`overrides[${position}].i ${i} is outside capture.rects[] (length ${rectCount})`);
224
+ }
225
+ if (overrides.has(i)) {
226
+ throw new Error(`overrides[${position}].i ${i} is duplicated`);
227
+ }
228
+ if (item.hide !== undefined && typeof item.hide !== "boolean") {
229
+ throw new Error(`overrides[${position}].hide must be a boolean`);
230
+ }
231
+ if (item.fill !== undefined &&
232
+ (typeof item.fill !== "string" || !item.fill.trim())) {
233
+ throw new Error(`overrides[${position}].fill must be a non-empty string`);
234
+ }
235
+ if (item.shape !== undefined &&
236
+ (typeof item.shape !== "string" || !OVERRIDE_SHAPES.has(item.shape))) {
237
+ throw new Error(`overrides[${position}].shape must be rect, rounded, pill, or circle`);
238
+ }
239
+ if (item.radiusPx !== undefined &&
240
+ (typeof item.radiusPx !== "number" ||
241
+ !Number.isFinite(item.radiusPx) ||
242
+ item.radiusPx < 0)) {
243
+ throw new Error(`overrides[${position}].radiusPx must be a finite number ≥ 0`);
244
+ }
245
+ overrides.set(i, {
246
+ i,
247
+ ...(item.hide !== undefined ? { hide: item.hide } : {}),
248
+ ...(item.fill !== undefined ? { fill: item.fill.trim() } : {}),
249
+ ...(item.shape !== undefined
250
+ ? {
251
+ shape: item.shape,
252
+ }
253
+ : {}),
254
+ ...(item.radiusPx !== undefined
255
+ ? { radiusPx: item.radiusPx }
256
+ : {}),
257
+ });
258
+ });
259
+ return overrides;
260
+ }
261
+ function colorOr(value, fallback) {
262
+ return (typeof value === "string" && value.trim() ? value.trim() : fallback);
263
+ }
264
+ function parseHexColor(value) {
265
+ const match = value.trim().match(/^#([0-9a-f]{3}|[0-9a-f]{6})$/i);
266
+ if (!match)
267
+ return null;
268
+ const hex = match[1].length === 3
269
+ ? match[1]
270
+ .split("")
271
+ .map((digit) => digit + digit)
272
+ .join("")
273
+ : match[1];
274
+ return {
275
+ r: Number.parseInt(hex.slice(0, 2), 16),
276
+ g: Number.parseInt(hex.slice(2, 4), 16),
277
+ b: Number.parseInt(hex.slice(4, 6), 16),
278
+ };
279
+ }
280
+ const hexByte = (value) => Math.max(0, Math.min(255, Math.round(value))).toString(16).padStart(2, "0");
281
+ /** Blend two hex colors; non-hex editor values safely retain the base fill. */
282
+ function blendHexColors(base, toward, towardWeight) {
283
+ const a = parseHexColor(base);
284
+ const b = parseHexColor(toward);
285
+ if (!a || !b)
286
+ return base;
287
+ const weight = Math.max(0, Math.min(1, towardWeight));
288
+ return `#${hexByte(a.r + (b.r - a.r) * weight)}${hexByte(a.g + (b.g - a.g) * weight)}${hexByte(a.b + (b.b - a.b) * weight)}`;
289
+ }
290
+ /**
291
+ * Keep the skeleton monochrome while making its paint order legible:
292
+ * containers sit close to the page background; deeper rects step from a
293
+ * light gray toward the authored fill, with the top bucket darkened slightly.
294
+ */
295
+ function shadedRectangleFill(rect, fill, bg) {
296
+ if (rect.isSoftContainer)
297
+ return blendHexColors(fill, bg, 0.82);
298
+ const depth = Math.max(0, Math.min(1, rect.zBucket / 5));
299
+ const lifted = blendHexColors(fill, bg, 0.48 * (1 - depth));
300
+ return blendHexColors(lifted, "#000000", 0.08 * depth);
301
+ }
302
+ function errorDocument(message, ctx) {
303
+ const width = Math.max(1, Math.round(ctx.target.width));
304
+ const height = Math.max(1, Math.round(ctx.target.height));
305
+ return {
306
+ ...(0, template_utils_1.makeErrorMosaic)(message, {
307
+ width,
308
+ height,
309
+ title: "Page Skeleton",
310
+ errorCode: "PAGE_SKELETON_CAPTURE",
311
+ }),
312
+ fps: ctx.target.fps,
313
+ durationMs: ctx.target.durationMs,
314
+ size: { width, height },
315
+ format: { kind: "image", container: "png" },
316
+ };
317
+ }
318
+ const clampUnit = (value) => Math.max(0, Math.min(1, value));
319
+ const exprNumber = (value) => String(Number(value.toFixed(4)));
320
+ function resolvePageSkeletonMotion(value) {
321
+ const motion = { ...DEFAULT_MOTION, ...(value !== null && value !== void 0 ? value : {}) };
322
+ if (motion.mode !== "shimmer" && motion.mode !== "pulse") {
323
+ throw new Error(`motion.mode must be shimmer or pulse (got "${motion.mode}")`);
324
+ }
325
+ if (motion.direction !== "horizontal" &&
326
+ motion.direction !== "diagonal" &&
327
+ motion.direction !== "vertical") {
328
+ throw new Error(`motion.direction must be horizontal, diagonal, or vertical (got "${motion.direction}")`);
329
+ }
330
+ if (!Number.isFinite(motion.bandWidth) ||
331
+ motion.bandWidth < 0.05 ||
332
+ motion.bandWidth > 1) {
333
+ throw new Error(`motion.bandWidth must be in [0.05, 1] (got ${motion.bandWidth})`);
334
+ }
335
+ if (!Number.isFinite(motion.minOpacity) ||
336
+ motion.minOpacity < 0.1 ||
337
+ motion.minOpacity > 0.95) {
338
+ throw new Error(`motion.minOpacity must be in [0.1, 0.95] (got ${motion.minOpacity})`);
339
+ }
340
+ return motion;
341
+ }
342
+ /** Canvas-space rank used by the travelling shimmer band. */
343
+ function motionRankForRect(rect, canvas, direction) {
344
+ const nx = clampUnit((rect.x + rect.w / 2) / Math.max(1, canvas.w));
345
+ const ny = clampUnit((rect.y + rect.h / 2) / Math.max(1, canvas.h));
346
+ if (direction === "horizontal")
347
+ return nx;
348
+ if (direction === "vertical")
349
+ return ny;
350
+ return clampUnit((nx + ny) / 2);
351
+ }
352
+ /**
353
+ * A one-cycle native-fade color source. The output clip itself is the seamless
354
+ * cycle: shimmer begins and ends at the resting color; pulse does the same.
355
+ * Keeping motion inside the tile stream preserves grid lowering, avoiding the
356
+ * deep per-cell overlay chain that animated `overlay.alpha` would create.
357
+ */
358
+ function buildPageSkeletonMotionLavfi(fill, bg, rank, motion, durationSec) {
359
+ const fillRgb = parseHexColor(String(fill));
360
+ const bgRgb = parseHexColor(String(bg));
361
+ if (!fillRgb || !bgRgb)
362
+ return null;
363
+ const restRgb = {
364
+ r: fillRgb.r + (bgRgb.r - fillRgb.r) * (1 - motion.minOpacity),
365
+ g: fillRgb.g + (bgRgb.g - fillRgb.g) * (1 - motion.minOpacity),
366
+ b: fillRgb.b + (bgRgb.b - fillRgb.b) * (1 - motion.minOpacity),
367
+ };
368
+ const ffmpegColor = (rgb) => `0x${hexByte(rgb.r)}${hexByte(rgb.g)}${hexByte(rgb.b)}`;
369
+ const fillColor = ffmpegColor(fillRgb);
370
+ const restColor = ffmpegColor(restRgb);
371
+ const duration = Math.max(0.1, durationSec);
372
+ // Finish before the encoded clip's final frame so looping back to t=0 is
373
+ // visually identical even though video containers omit the end endpoint.
374
+ const activeDuration = duration * 0.9;
375
+ if (motion.mode === "pulse") {
376
+ // in THEN out is the only order ffmpeg composes: a fade-in outputs its
377
+ // colour fully before its `st` (WAITING) and a fade-out holds it after
378
+ // `st+d` (DONE), so out→in would blank the first half to the rest
379
+ // colour. Consequence: frame 0 IS the rest colour — the poster time
380
+ // (below) points at the peak so posters and the preview's rest frame
381
+ // show the authored fill (founder, 2026-09-16: "too light").
382
+ const half = exprNumber(activeDuration / 2);
383
+ return (`color=c=${fillColor},` +
384
+ `fade=t=in:st=0:d=${half}:color=${restColor},` +
385
+ `fade=t=out:st=${half}:d=${half}:color=${restColor}`);
386
+ }
387
+ const normalizedRank = clampUnit(rank);
388
+ const travel = 1 + motion.bandWidth;
389
+ const halfBand = motion.bandWidth / 2;
390
+ const fadeSec = Math.max(0.001, (activeDuration * halfBand) / travel);
391
+ const fadeInStart = (activeDuration * normalizedRank) / travel;
392
+ const fadeOutStart = (activeDuration * (normalizedRank + halfBand)) / travel;
393
+ return (`color=c=${fillColor},` +
394
+ `fade=t=in:st=${exprNumber(fadeInStart)}:d=${exprNumber(fadeSec)}:color=${restColor},` +
395
+ `fade=t=out:st=${exprNumber(fadeOutStart)}:d=${exprNumber(fadeSec)}:color=${restColor}`);
396
+ }
397
+ /** Resolve the authored per-kind base fill before deterministic depth shading. */
398
+ function baseFillForKind(kind, appearance) {
399
+ if (kind === "text")
400
+ return colorOr(appearance.textFill, DEFAULT_APPEARANCE.textFill);
401
+ if (kind === "image" || kind === "control") {
402
+ return colorOr(appearance.imageFill, DEFAULT_APPEARANCE.imageFill);
403
+ }
404
+ return colorOr(appearance.fill, DEFAULT_APPEARANCE.fill);
405
+ }
406
+ /** Radius in final canvas pixels for the selected appearance mode. */
407
+ function effectiveRadiusPx(rect, appearance) {
408
+ const halfShort = Math.floor(Math.min(rect.w, rect.h) / 2);
409
+ if (appearance.radiusMode === "none")
410
+ return 0;
411
+ const requested = appearance.radiusMode === "uniform"
412
+ ? Math.round(Number.isFinite(appearance.uniformRadiusPx)
413
+ ? appearance.uniformRadiusPx
414
+ : DEFAULT_APPEARANCE.uniformRadiusPx)
415
+ : rect.r;
416
+ return Math.max(0, Math.min(halfShort, requested));
417
+ }
418
+ /** Apply the only override that changes geometry: an inscribed centered circle. */
419
+ function overriddenRectGeometry(rect, override) {
420
+ if ((override === null || override === void 0 ? void 0 : override.shape) !== "circle")
421
+ return rect;
422
+ const size = Math.min(rect.w, rect.h);
423
+ return {
424
+ ...rect,
425
+ x: rect.x + Math.floor((rect.w - size) / 2),
426
+ y: rect.y + Math.floor((rect.h - size) / 2),
427
+ w: size,
428
+ h: size,
429
+ r: Math.floor(size / 2),
430
+ };
431
+ }
432
+ /** Resolve explicit override shape/radius on top of the appearance default. */
433
+ function overriddenRadiusPx(rect, appearance, override) {
434
+ const halfShort = Math.floor(Math.min(rect.w, rect.h) / 2);
435
+ if ((override === null || override === void 0 ? void 0 : override.shape) === "rect")
436
+ return 0;
437
+ if ((override === null || override === void 0 ? void 0 : override.shape) === "pill" || (override === null || override === void 0 ? void 0 : override.shape) === "circle")
438
+ return halfShort;
439
+ if ((override === null || override === void 0 ? void 0 : override.radiusPx) !== undefined) {
440
+ return Math.max(0, Math.min(halfShort, Math.round(override.radiusPx)));
441
+ }
442
+ return effectiveRadiusPx(rect, appearance);
443
+ }
444
+ /**
445
+ * Map a pixel radius to the engine's normalized rounding contract. Near-half
446
+ * radii become true pills/circles; every real structural tile carries an SVG
447
+ * rounding effect, including radius zero, so Make can expose its radius knob.
448
+ */
449
+ function roundingForRect(rect, radiusPx) {
450
+ const short = Math.min(rect.w, rect.h);
451
+ const halfShort = Math.floor(short / 2);
452
+ if (radiusPx > 0 && radiusPx >= halfShort - 1) {
453
+ return { cornerStyle: "pill", rasterizer: "svg" };
454
+ }
455
+ return {
456
+ cornerStyle: "rounded",
457
+ borderRadius: clampUnit((2 * radiusPx) / short),
458
+ rasterizer: "svg",
459
+ };
460
+ }
461
+ function rectangleSource(painted, motionLavfi) {
462
+ const effects = {
463
+ rounding: roundingForRect(painted.rect, painted.radiusPx),
464
+ };
465
+ const source = motionLavfi
466
+ ? { type: "lavfi", lavfi: motionLavfi, effects }
467
+ : (0, template_utils_1.makeColorTile)(painted.fill, { effects });
468
+ return {
469
+ ...source,
470
+ editor: {
471
+ owner: "user",
472
+ label: `Capture rect ${painted.rect.i} · ${painted.rect.k}`,
473
+ // `overrides` is a structured (json) prop, so a binding must name a LEAF
474
+ // by path + kind (bindingsSound convention). The leaf this rect shows is
475
+ // its own row's `fill`; a rect with no override row has no leaf to edit
476
+ // and carries no binding. (A capture-index binding via `index` was
477
+ // rejected by every host as kind-required — Make never offered it.)
478
+ ...(painted.overridePosition !== undefined
479
+ ? { binding: { propKey: "overrides", path: [painted.overridePosition, "fill"], kind: "color" } }
480
+ : {}),
481
+ },
482
+ };
483
+ }
484
+ function claimsFullCanvas(rect, canvas) {
485
+ return (rect.x === 0 &&
486
+ rect.y === 0 &&
487
+ rect.w === canvas.w &&
488
+ rect.h === canvas.h);
489
+ }
490
+ function debugLabelColor(bg) {
491
+ const rgb = parseHexColor(String(bg));
492
+ if (!rgb)
493
+ return "#3f3f46";
494
+ const luminance = (0.2126 * rgb.r + 0.7152 * rgb.g + 0.0722 * rgb.b) / 255;
495
+ return luminance >= 0.5 ? "#3f3f46" : "#f4f4f5";
496
+ }
497
+ function debugIndexPieces(painted, bg) {
498
+ return painted.map(({ rect }) => {
499
+ const digits = String(rect.i).length;
500
+ const fitted = Math.floor(Math.min(16, rect.h * 0.72, rect.w / Math.max(1, digits * 0.62)));
501
+ const fontSize = Math.max(6, fitted);
502
+ const metrics = (0, template_utils_1.measureText)(String(rect.i), { fontSize });
503
+ const w = Math.max(1, Math.min(rect.w, Math.ceil(metrics.width) + 2));
504
+ const h = Math.max(1, Math.min(rect.h, Math.ceil(metrics.height) + 2));
505
+ const x = rect.x + Math.floor((rect.w - w) / 2);
506
+ const y = rect.y + Math.floor((rect.h - h) / 2);
507
+ return {
508
+ rect: {
509
+ x,
510
+ y,
511
+ w,
512
+ h,
513
+ importance: layout_1.MAX_DEPTH_BUCKETS,
514
+ },
515
+ source: (0, template_utils_1.maskAtlasSource)([
516
+ (0, template_utils_1.textToPath)(String(rect.i), {
517
+ fontSize,
518
+ hAlign: "center",
519
+ vAlign: "middle",
520
+ rect: { x: 0, y: 0, width: w, height: h },
521
+ }, { width: w, height: h }),
522
+ ], debugLabelColor(bg), { width: w, height: h }),
523
+ };
524
+ });
525
+ }
526
+ /**
527
+ * One retained capture rectangle becomes one real, independently selectable
528
+ * source and one placement piece. `maxRects` is therefore a literal source
529
+ * cap; normal skeleton output never hides multiple painted rects in an atlas.
530
+ */
531
+ function planSkeletonComposition(rects, appearance, bg, canvas, customization = {}) {
532
+ var _a, _b;
533
+ // Map insertion order == `overrides` array order (parseRectOverrides walks
534
+ // the array and refuses duplicates), so a key's position IS its row index.
535
+ const overrideOrder = [...((_b = (_a = customization.overrides) === null || _a === void 0 ? void 0 : _a.keys()) !== null && _b !== void 0 ? _b : [])];
536
+ const painted = rects.map((rect) => {
537
+ var _a;
538
+ const override = (_a = customization.overrides) === null || _a === void 0 ? void 0 : _a.get(rect.i);
539
+ const geometry = overriddenRectGeometry(rect, override);
540
+ const base = baseFillForKind(rect.k, appearance);
541
+ return {
542
+ rect: geometry,
543
+ fill: (override === null || override === void 0 ? void 0 : override.fill)
544
+ ? colorOr(override.fill, String(base))
545
+ : shadedRectangleFill(geometry, base, bg),
546
+ radiusPx: overriddenRadiusPx(geometry, appearance, override),
547
+ ...(override ? { overridePosition: overrideOrder.indexOf(rect.i) } : {}),
548
+ };
549
+ });
550
+ const basePieces = painted.map((item) => ({
551
+ rect: {
552
+ x: item.rect.x,
553
+ y: item.rect.y,
554
+ w: item.rect.w,
555
+ h: item.rect.h,
556
+ importance: claimsFullCanvas(item.rect, canvas) ? -1 : item.rect.zBucket,
557
+ },
558
+ source: rectangleSource(item, customization.motion &&
559
+ !item.rect.isSoftContainer &&
560
+ !claimsFullCanvas(item.rect, canvas)
561
+ ? buildPageSkeletonMotionLavfi(item.fill, bg, motionRankForRect(item.rect, canvas, customization.motion.config.direction), customization.motion.config, customization.motion.durationSec)
562
+ : undefined),
563
+ }));
564
+ const labelPieces = customization.debugIndices === true
565
+ ? debugIndexPieces(painted, bg)
566
+ : [];
567
+ const pieces = [...basePieces, ...labelPieces];
568
+ const nonBaseCanvasClaim = pieces.find((piece) => claimsFullCanvas(piece.rect, canvas) &&
569
+ piece.rect.importance !== -1);
570
+ if (nonBaseCanvasClaim) {
571
+ throw new Error("page-skeleton composition produced a non-base piece that claims the full canvas");
572
+ }
573
+ const projectedLayers = (0, layout_1.projectOverlayLayerCount)(pieces.map((piece) => {
574
+ var _a;
575
+ return ({
576
+ x: piece.rect.x,
577
+ y: piece.rect.y,
578
+ w: piece.rect.w,
579
+ h: piece.rect.h,
580
+ zBucket: (_a = piece.rect.importance) !== null && _a !== void 0 ? _a : 0,
581
+ });
582
+ }));
583
+ return {
584
+ pieces,
585
+ stats: {
586
+ independentRects: painted.length,
587
+ debugLabels: labelPieces.length,
588
+ projectedLayers,
589
+ },
590
+ };
591
+ }
592
+ function inlineMaskBounds(source) {
593
+ const mask = source.mask;
594
+ return (mask === null || mask === void 0 ? void 0 : mask.kind) === "inline-mask" && mask.bounds
595
+ ? { width: mask.bounds.width, height: mask.bounds.height }
596
+ : null;
597
+ }
598
+ /**
599
+ * Place the composed skeleton through either the efficient inset-recovery
600
+ * path or exact pure DSL frames. Pure mode intentionally spends more m0 bytes
601
+ * so source-local custom masks can treat the cell itself as their bounds.
602
+ */
603
+ function placeSkeletonPieces(options) {
604
+ var _a;
605
+ const { rootW, rootH, pieces, pureRects } = options;
606
+ if (!pureRects) {
607
+ const placed = (0, template_utils_1.placeInsetPieces)({
608
+ rootW,
609
+ rootH,
610
+ pieces,
611
+ basis: 120,
612
+ onHostile: "exact",
613
+ });
614
+ return {
615
+ m0: placed.m0,
616
+ sources: placed.sources,
617
+ expectations: placed.expectations,
618
+ };
619
+ }
620
+ for (let i = 0; i < pieces.length; i++) {
621
+ const inset = (_a = pieces[i].source.placement) === null || _a === void 0 ? void 0 : _a.inset;
622
+ if (inset != null) {
623
+ throw new Error(`pureRects cannot emit pieces[${i}] because its source already carries placement.inset`);
624
+ }
625
+ }
626
+ const placed = (0, dsl_stdlib_1.placeRects)({
627
+ rootW,
628
+ rootH,
629
+ rects: pieces.map((piece) => ({
630
+ x: piece.rect.x,
631
+ y: piece.rect.y,
632
+ w: piece.rect.w,
633
+ h: piece.rect.h,
634
+ importance: piece.rect.importance,
635
+ claimant: "F",
636
+ })),
637
+ });
638
+ const sources = [];
639
+ const expectations = [];
640
+ for (const layer of placed.layers) {
641
+ const ordered = [...layer.rectIndices].sort((a, b) => pieces[a].rect.y - pieces[b].rect.y ||
642
+ pieces[a].rect.x - pieces[b].rect.x);
643
+ for (const index of ordered) {
644
+ const piece = pieces[index];
645
+ sources.push(piece.source);
646
+ expectations.push({
647
+ rect: {
648
+ x: piece.rect.x,
649
+ y: piece.rect.y,
650
+ w: piece.rect.w,
651
+ h: piece.rect.h,
652
+ },
653
+ inset: null,
654
+ maskBounds: inlineMaskBounds(piece.source),
655
+ tolerancePx: 0,
656
+ });
657
+ }
658
+ }
659
+ return { m0: placed.m0, sources, expectations };
660
+ }
661
+ exports.PageSkeleton = {
662
+ id: (0, types_1.asTemplateId)(PAGE_SKELETON_ID),
663
+ label: "Page Skeleton",
664
+ version: 1,
665
+ description: "Turns anonymous browser geometry into an editable skeleton-loading still or looping shimmer/pulse video.",
666
+ capabilities: { tier: "core" },
667
+ tags: ["web", "skeleton", "loading", "capture", "wireframe", "animated", "designers", "developers", "landing-page", "mockup"],
668
+ aspectRatio: { ideal: 1440 / 900, label: "16:10", mode: "none" },
669
+ // Per-render deliverable: the reserved `outputFormat` prop drives Make and
670
+ // CLI defaults. A static format hint would override MP4 with PNG.
671
+ outputHints: {
672
+ format: { kind: "video", container: "mp4" },
673
+ width: 1440,
674
+ height: 900,
675
+ fps: 30,
676
+ durationMs: 2400,
677
+ // The pulse's PEAK: the fade-in completes at 0.45 × duration (the active
678
+ // 90 % of the cycle, halved). Frame 0 is the faded rest colour, so the
679
+ // poster and the Make scrubber's resting frame sit here, on the fill.
680
+ posterTimeMs: 1080,
681
+ note: "Animated MP4 by default — the skeleton breathes (pulse). Choose Output → Still PNG for the editable still.",
682
+ },
683
+ propsSchema,
684
+ defaultProps: {
685
+ captureSnippet: {
686
+ language: "javascript",
687
+ code: capture_snippet_source_1.PAGE_SKELETON_CAPTURE_SNIPPET,
688
+ },
689
+ capture: sample_capture_1.SAMPLE_CAPTURE,
690
+ outputFormat: "mp4",
691
+ motion: DEFAULT_MOTION,
692
+ appearance: DEFAULT_APPEARANCE,
693
+ behavior: DEFAULT_BEHAVIOR,
694
+ overrides: [],
695
+ debug: false,
696
+ debugIndices: false,
697
+ },
698
+ async render(props, ctx) {
699
+ var _a, _b, _c;
700
+ const width = Math.max(1, Math.round(ctx.target.width));
701
+ const height = Math.max(1, Math.round(ctx.target.height));
702
+ try {
703
+ const outputFormat = (_a = props.outputFormat) !== null && _a !== void 0 ? _a : "png";
704
+ if (outputFormat !== "png" && outputFormat !== "mp4") {
705
+ throw new Error(`outputFormat must be png or mp4 (got "${outputFormat}")`);
706
+ }
707
+ const motion = outputFormat === "mp4"
708
+ ? resolvePageSkeletonMotion(props.motion)
709
+ : undefined;
710
+ const capture = (0, schema_1.parseCapture)(props.capture);
711
+ const overrides = parseRectOverrides(props.overrides, capture.rects.length);
712
+ const hiddenIndices = new Set([...overrides.values()]
713
+ .filter((override) => override.hide === true)
714
+ .map((override) => override.i));
715
+ const appearance = { ...DEFAULT_APPEARANCE, ...((_b = props.appearance) !== null && _b !== void 0 ? _b : {}) };
716
+ const behavior = { ...DEFAULT_BEHAVIOR, ...((_c = props.behavior) !== null && _c !== void 0 ? _c : {}) };
717
+ const bg = colorOr(appearance.bg, DEFAULT_APPEARANCE.bg);
718
+ const layout = (0, layout_1.layoutCapture)(capture, {
719
+ canvasW: width,
720
+ canvasH: height,
721
+ ...behavior,
722
+ hiddenIndices,
723
+ });
724
+ if (layout.rects.length === 0) {
725
+ return errorDocument("capture contains no visible rectangles after filtering and scaling", ctx);
726
+ }
727
+ const composition = planSkeletonComposition(layout.rects, appearance, bg, { w: width, h: height }, {
728
+ overrides,
729
+ debugIndices: props.debugIndices === true,
730
+ motion: motion
731
+ ? {
732
+ config: motion,
733
+ durationSec: Math.max(0.1, ctx.target.durationMs / 1000),
734
+ }
735
+ : undefined,
736
+ });
737
+ const placed = placeSkeletonPieces({
738
+ rootW: width,
739
+ rootH: height,
740
+ pieces: composition.pieces,
741
+ pureRects: behavior.pureRects === true,
742
+ });
743
+ const doc = {
744
+ kind: "mosaic_document",
745
+ version: 1,
746
+ assets: {},
747
+ m0: placed.m0,
748
+ sources: placed.sources,
749
+ backgroundColor: bg,
750
+ fps: ctx.target.fps,
751
+ durationMs: ctx.target.durationMs,
752
+ size: { width, height },
753
+ format: outputFormat === "mp4"
754
+ ? { kind: "video", container: "mp4" }
755
+ : { kind: "image", container: "png" },
756
+ ...(outputFormat === "mp4" ? { audio: { mode: "off" } } : {}),
757
+ ...(props.debug
758
+ ? {
759
+ editor: {
760
+ label: `Page Skeleton · ${layout.stats.output} rects · ` +
761
+ `filtered ${layout.stats.filtered} · capped ${layout.stats.capped} · ` +
762
+ `pruned ${layout.stats.pruned} · degenerate ${layout.stats.degenerate} · ` +
763
+ `${composition.stats.independentRects} independent sources · ` +
764
+ `${composition.stats.debugLabels} debug labels · ` +
765
+ `${composition.stats.projectedLayers} projected layers · ` +
766
+ `${behavior.pureRects ? "pure DSL rects" : "inset recovery"} · ` +
767
+ `${motion
768
+ ? `${motion.mode} ${motion.direction} ${ctx.target.durationMs}ms loop`
769
+ : "still"}`,
770
+ },
771
+ }
772
+ : {}),
773
+ };
774
+ return (0, template_utils_1.withGeometryContract)(doc, ctx, {
775
+ templateId: PAGE_SKELETON_ID,
776
+ expectations: placed.expectations,
777
+ debug: props.debug === true,
778
+ });
779
+ }
780
+ catch (error) {
781
+ const message = error instanceof Error ? error.message : String(error);
782
+ return errorDocument(message, ctx);
783
+ }
784
+ },
785
+ };
786
+ (0, template_utils_1.registerTemplate)(exports.PageSkeleton);
787
+ exports.default = exports.PageSkeleton;