@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,675 @@
1
+ "use strict";
2
+ /**
3
+ * ============================================================================
4
+ * @m0saic/dsl-tutorial/v1 — animated DSL geometry-walk tutorial (orchestrator)
5
+ * ============================================================================
6
+ *
7
+ * A premium, SaaS-clean IDE/debugger that teaches how the m0 DSL parses and
8
+ * walks geometry. The parent owns the ONE deterministic timeline (`Step[]` from
9
+ * the DSL trace) + theme, lays the IDE shell out as a REAL m0 split (every panel
10
+ * a concrete cell — the Rect Thesis), and fills each panel with a coordinated
11
+ * subtemplate rendered at its exact slot size. All animation is ffmpeg
12
+ * expressions over precomputed time windows; children inherit the parent clock,
13
+ * so every panel stays frame-synchronized.
14
+ *
15
+ * Milestone M0b: IDE shell + chrome (header with the live counting Step pill +
16
+ * status bar) wired to the real pipeline. The four content panels are labeled
17
+ * placeholders here; M1–M4 replace each with its subtemplate.
18
+ *
19
+ * Gate 33 (v1 cut): the chrome rows are sized off `min(H, 0.75·W)` so a portrait
20
+ * or square canvas keeps app-bar-sized chrome (not 9% of a 1920px height); every
21
+ * panel width-fits its text (`_shared/text-fit`); `debugLayout` runs the
22
+ * label-keyed layout contract THROUGH the nested panels (`textFits` on every
23
+ * fitted string) and shows the contract wireframe; the walk's NATURAL length is
24
+ * authored on `durationMs` and only an explicit user ask (`ctx.userIntent`)
25
+ * pins it — the 12s output hint is a hint, never a pin.
26
+ * ============================================================================
27
+ */
28
+ Object.defineProperty(exports, "__esModule", { value: true });
29
+ exports.DslTutorial = void 0;
30
+ exports.chromeUnitPx = chromeUnitPx;
31
+ exports.dslTutorialLayoutConstraints = dslTutorialLayoutConstraints;
32
+ exports.dslTutorialCeiling = dslTutorialCeiling;
33
+ const types_1 = require("@m0saic/types");
34
+ const dsl_1 = require("@m0saic/dsl");
35
+ const dsl_stdlib_1 = require("@m0saic/dsl-stdlib");
36
+ const template_utils_1 = require("@m0saic/template-utils");
37
+ const node_kit_1 = require("./_shared/node-kit");
38
+ const tokens_1 = require("./theme/tokens");
39
+ const buildSteps_1 = require("./pipeline/buildSteps");
40
+ const timing_1 = require("./pipeline/timing");
41
+ const camera_1 = require("./pipeline/camera");
42
+ const inspector_1 = require("./pipeline/inspector");
43
+ const cursor_1 = require("./pipeline/cursor");
44
+ const dslString_1 = require("./pipeline/dslString");
45
+ const text_fit_1 = require("./_shared/text-fit");
46
+ const CHROME_ID = "@m0saic/dsl-tutorial/chrome/v1";
47
+ const CANVAS_ID = "@m0saic/dsl-tutorial/canvas/v1";
48
+ const INSPECTOR_ID = "@m0saic/dsl-tutorial/inspector/v1";
49
+ const STRING_ID = "@m0saic/dsl-tutorial/string/v1";
50
+ const propsSchema = (0, template_utils_1.definePropsSchema)({
51
+ M0String: {
52
+ type: "m0",
53
+ required: true,
54
+ description: "The m0 layout whose parse + geometry walk is taught (up to 16,000 characters and 6,000 frames — a layout past either is refused at any output size; open it in Layout instead).",
55
+ meta: { ui: { label: "m0 layout" } },
56
+ },
57
+ speedMultiplier: {
58
+ type: "number",
59
+ required: false,
60
+ description: "Animation speed (>1 = faster). Unset = auto by pace tier: teach runs the natural length (up to 2× for bigger lessons), summarize fits the whole walk in ~30 s, sloth in ~20 s. The Speed pill always shows the effective speed.",
61
+ meta: { constraints: { min: 0.1, max: 32 }, control: { placeholder: "auto (by tier)" }, ui: { label: "Speed" } },
62
+ },
63
+ tier: {
64
+ type: "string",
65
+ required: false,
66
+ description: "Pacing tier. auto = by the layout's character count: teach (≤ 400 chars — show everything, read it at 1×), summarize (≤ 8,000 — the whole walk in ~30 s, passthrough visuals light, camera on the full layout), sloth (beyond, up to the 16,000-char ceiling — ~20 s, passthroughs not drawn). Tile labels are size-driven in every tier: the frame number wherever it fits, dims when they fit too. Force one to preview it.",
67
+ meta: { constraints: { oneOf: ["auto", "teach", "summarize", "sloth"] }, ui: { label: "Pace tier" } },
68
+ },
69
+ preset: {
70
+ type: "string",
71
+ required: false,
72
+ description: "Theme preset.",
73
+ meta: {
74
+ constraints: { oneOf: ["light", "dark"] },
75
+ control: { options: [{ value: "dark", label: "Dark" }, { value: "light", label: "Light" }] },
76
+ ui: { label: "Preset" },
77
+ },
78
+ },
79
+ title: { type: "string", required: false, description: "Header title text.", meta: { ui: { label: "Title" }, control: { placeholder: "DSL Tutorial" } } },
80
+ stepEvents: {
81
+ type: "string",
82
+ required: false,
83
+ description: 'Step granularity. "enter+leaf" (default, ~one per node) or "all" (includes exits).',
84
+ meta: { constraints: { oneOf: ["enter+leaf", "all"] }, ui: { label: "Step granularity" } },
85
+ },
86
+ cameraZoom: {
87
+ type: "number",
88
+ required: false,
89
+ description: "Camera zoom override. Leave empty for AUTO (zoom only when tiles are too small to label). 1 = fit-to-panel; >1 = manual zoom + follow.",
90
+ meta: { constraints: { min: 1, max: 4 }, control: { placeholder: "auto" }, ui: { label: "Camera zoom" } },
91
+ },
92
+ canvasWidth: {
93
+ type: "number",
94
+ required: false,
95
+ description: "Target width the layout is PARSED at (default 1920). Sets the canvas aspect so vertical/square layouts preview un-stretched.",
96
+ meta: { constraints: { min: 1, max: 16384 }, control: { placeholder: "1920" }, ui: { label: "Canvas width" } },
97
+ },
98
+ canvasHeight: {
99
+ type: "number",
100
+ required: false,
101
+ description: "Target height the layout is PARSED at (default 1080). With canvas width, sets the canvas aspect.",
102
+ meta: { constraints: { min: 1, max: 16384 }, control: { placeholder: "1080" }, ui: { label: "Canvas height" } },
103
+ },
104
+ showCanvas: { type: "boolean", required: false, description: "Show the canvas panel.", meta: { ui: { label: "Show canvas" } } },
105
+ showInspector: { type: "boolean", required: false, description: "Show the inspector panel.", meta: { ui: { label: "Show inspector" } } },
106
+ showDslString: { type: "boolean", required: false, description: "Show the DSL string panel.", meta: { ui: { label: "Show DSL string" } } },
107
+ showChrome: { type: "boolean", required: false, description: "Show the IDE chrome.", meta: { ui: { label: "Show chrome" } } },
108
+ debugLayout: {
109
+ type: "boolean",
110
+ required: false,
111
+ description: "Debug: check the layout contract (every fitted string must fit its cell under the CLI width model, through the nested panels) and render the contract wireframe instead of the tutorial.",
112
+ meta: { ui: { label: "Debug layout", collapsedByDefault: true } },
113
+ },
114
+ });
115
+ /** Chrome row heights as fractions of the chrome unit (see {@link chromeUnitPx}). */
116
+ const HEADER_FRAC = 0.09;
117
+ const STRIP_FRAC = 0.09;
118
+ const NARRATION_FRAC = 0.06;
119
+ const STATUS_FRAC = 0.06;
120
+ /** The chrome unit: the canvas height, capped to 3/4 of its width — so a portrait
121
+ * or square canvas sizes its bars like a landscape one of the same width (a
122
+ * 9%-of-1920px header is a 173px slab; 9% of 810 is an app bar). Landscape
123
+ * canvases are unchanged (`H ≤ 0.75·W`). */
124
+ function chromeUnitPx(W, H) {
125
+ return Math.min(H, W * 0.75);
126
+ }
127
+ /** Inspector slot narrower than this (canvases under 700px wide) can't hold a
128
+ * legible field grid — captions and chips would sit at the 7px floor, and its
129
+ * 3px cells were the 480×270 source-count crash. The panel auto-hides and the
130
+ * canvas takes the body width. */
131
+ const INSPECTOR_MIN_SLOT_PX = 140;
132
+ /** The `debugLayout` contract: every fitted string, keyed by the label its panel
133
+ * tags it with, must fit its cell under the SAME em model its fit used. Only the
134
+ * visible panels' labels are listed (a hidden panel's labels never land). */
135
+ function dslTutorialLayoutConstraints(show) {
136
+ // padPx 0: the fits already leave FIT_SLACK + FIT_QUANT_PX inside every cell.
137
+ const fits = (label, em) => ({ label, textFits: { charWidthEm: em, padPx: 0 } });
138
+ const out = [];
139
+ if (show.chrome) {
140
+ out.push(fits("header-title", text_fit_1.PROSE_EM), fits("header-pill", text_fit_1.PROSE_EM), fits("status-label", text_fit_1.PROSE_EM));
141
+ out.push(fits("metric-label", text_fit_1.PROSE_EM), fits("metric-value", text_fit_1.DIGIT_EM));
142
+ }
143
+ if (show.dslString)
144
+ out.push(fits("narration", text_fit_1.PROSE_EM));
145
+ if (show.inspector) {
146
+ out.push(fits("inspector-title", text_fit_1.CAPS_EM), fits("chip", text_fit_1.PROSE_EM), fits("field-label", text_fit_1.CAPS_EM));
147
+ out.push(fits("field-value", text_fit_1.DIGIT_EM), fits("section-title", text_fit_1.CAPS_EM));
148
+ }
149
+ return out;
150
+ }
151
+ /** The tutorial's density CEILING (founder direction, 2026-09-05).
152
+ *
153
+ * The canvas child re-parses the taught layout at its own PANEL size (fit-to-
154
+ * panel), so the layout must be feasible in the panel, not just at its parse
155
+ * dims: a 1080-row split fits a 1920×1080 parse at 1px a row and is a 0-size
156
+ * frame in the 756px-tall panel. Until now the only message was the raw parser
157
+ * refusal ("Split produced a 0-size frame" — the 52k-char dictionary pick at
158
+ * precision 1080, which reads as a syntax error).
159
+ *
160
+ * The tutorial teaches layouts that fit its canvas. Past the floor it REFUSES in
161
+ * its own words — it does not chase the layout with a bigger canvas (a denser
162
+ * layout just moves the wall; Layout is the tool for those). Returns the refusal
163
+ * (ASCII — `makeErrorMosaic` draws it with drawtext, which turns `×`/`—` into
164
+ * `?`), or null when the layout fits. Four walls, checked in order: the
165
+ * ABSOLUTE size ({@link MAX_CHARS} — output-independent, so the wall can't be
166
+ * chased with a bigger canvas: the 52k pick that 1080p refused rendered at 4K in
167
+ * 93 minutes, founder 2026-09-06), the ABSOLUTE frame count ({@link MAX_FRAMES} —
168
+ * the reveal-curtain budget), the parse dims (`canvasWidth`/`canvasHeight`
169
+ * — the caller's own knobs, fixable) and the canvas panel (omit `panel` when the
170
+ * canvas is hidden — the string + inspector still teach a layout the panel can't
171
+ * draw). */
172
+ function dslTutorialCeiling(args) {
173
+ const { chars, frames, feas, parse, panel, output } = args;
174
+ if (chars > timing_1.MAX_CHARS) {
175
+ return (`dsl-tutorial: this layout is ${chars.toLocaleString("en-US")} characters; the tutorial teaches layouts up to ` +
176
+ `${timing_1.MAX_CHARS.toLocaleString("en-US")} (a layout this size takes the better part of an hour to walk at any output size, ` +
177
+ `and is not what this template is for). Open it in Layout instead.`);
178
+ }
179
+ if (frames > timing_1.MAX_FRAMES) {
180
+ return (`dsl-tutorial: this layout has ${frames.toLocaleString("en-US")} frames; the tutorial teaches layouts up to ` +
181
+ `${timing_1.MAX_FRAMES.toLocaleString("en-US")} (past that the tiles cannot be revealed one by one, which is the lesson). ` +
182
+ `Open it in Layout instead.`);
183
+ }
184
+ const floor = `${feas.minWidthPx} x ${feas.minHeightPx} px`;
185
+ if (feas.minWidthPx > parse.width || feas.minHeightPx > parse.height) {
186
+ return (`dsl-tutorial: this layout needs at least ${floor} to parse (its feasibility floor), ` +
187
+ `but it is parsed at ${parse.width} x ${parse.height} (canvasWidth x canvasHeight).`);
188
+ }
189
+ if (panel && (feas.minWidthPx > panel.width || feas.minHeightPx > panel.height)) {
190
+ return (`dsl-tutorial: this layout is too fine for the tutorial canvas - it needs at least ${floor} to draw ` +
191
+ `(its feasibility floor), but the canvas panel is ${panel.width} x ${panel.height} px at a ` +
192
+ `${output.width} x ${output.height} output. The tutorial teaches layouts that fit its canvas; ` +
193
+ `open a layout this dense in Layout instead.`);
194
+ }
195
+ return null;
196
+ }
197
+ /** Format the speed multiplier as a pill label (e.g. 1 → "1x", 1.25 → "1.25x"). */
198
+ function speedLabel(speed) {
199
+ // Always one decimal so it reads as a ratio: 1.0x (recommended), 5.3x (rendered
200
+ // shorter → faster), 0.5x (rendered longer → slower).
201
+ return `${(Math.round(speed * 10) / 10).toFixed(1)}x`;
202
+ }
203
+ exports.DslTutorial = {
204
+ id: (0, types_1.asTemplateId)("@m0saic/dsl-tutorial/v1"),
205
+ label: "DSL Tutorial",
206
+ version: 1,
207
+ description: "Animated, IDE/debugger-style tutorial that walks the m0 DSL parse + geometry step by step — animated canvas, an inspector showing the live rect (X/Y/W/H/Z) over the hidden engine state (split arity, quantization remainder, passthrough carry), and a live DSL string. Light/dark, speed-controlled.",
208
+ capabilities: { tier: "core" },
209
+ tags: ["dsl-tutorial", "tutorial", "wireframe", "docs", "animated", "developers", "onboarding"],
210
+ outputHints: {
211
+ width: 1920,
212
+ height: 1080,
213
+ fps: 30,
214
+ durationMs: 12000,
215
+ note: "A hint only: the walk authors its NATURAL length (scales with the layout's step count, ~0.9s per character at 1×; an unset speed auto-paces — 1× for small layouts, up to 15× for huge ones). An explicit duration ask (CLI --durationMs, the Make Duration field) is fit exactly — the walk speeds up/stretches to fill it.",
216
+ format: { kind: "video", container: "mp4" },
217
+ },
218
+ propsSchema,
219
+ // COMPLETE defaults (founder ruling 09-05, gate 33): every optional knob
220
+ // carries the value the render would fall back to, so the Make panel shows
221
+ // what the render does — no "title empty / showCanvas OFF while the canvas is
222
+ // on" (those fallbacks used to live only inside render()). `cameraZoom`
223
+ // stays unset on purpose: unset = AUTO, and its control.placeholder says so —
224
+ // and so does `speedMultiplier` (unset = auto pacing by step count, 2026-09-05).
225
+ defaultProps: {
226
+ M0String: "4[4(F,F,F,F),4(>,F,>,F),3(2[F,F],3[F,F,F],2[F,F]),4(F,F,F,F)]",
227
+ tier: "auto",
228
+ preset: "light",
229
+ title: "DSL Tutorial",
230
+ stepEvents: "enter+leaf",
231
+ canvasWidth: 1920,
232
+ canvasHeight: 1080,
233
+ showCanvas: true,
234
+ showInspector: true,
235
+ showDslString: true,
236
+ showChrome: true,
237
+ debugLayout: false,
238
+ },
239
+ async render(props, ctx) {
240
+ var _a, _b, _c;
241
+ const theme = (0, tokens_1.dslTutorialTheme)(props.preset);
242
+ const W = ctx.target.width;
243
+ const H = ctx.target.height;
244
+ // TARGET canvas dimensions the LAYOUT is parsed at (default 1920×1080). The shell
245
+ // + panels still lay out at the output W×H; only the taught layout — its geometry
246
+ // walk, tile dims, feasibility, and the viewframe container's aspect — uses these.
247
+ // So parsing at 1080×1920 previews a vertical layout at its true shape.
248
+ const canvasW = Math.max(1, Math.round((_a = props.canvasWidth) !== null && _a !== void 0 ? _a : 1920));
249
+ const canvasH = Math.max(1, Math.round((_b = props.canvasHeight) !== null && _b !== void 0 ? _b : 1080));
250
+ // ── The deterministic pipeline ──
251
+ // Normalize ANY input to pretty form (1→F, 0→>) up front, so the parse, the
252
+ // canvas, the inspector and the DSL strip all read the same canonical-pretty
253
+ // string — the tutorial always teaches in `F`/`>`, whatever the caller wrote.
254
+ const m0Pretty = (0, dsl_1.toPrettyM0String)(String(props.M0String));
255
+ // The density ceiling (`dslTutorialCeiling`): the layout's exact feasibility
256
+ // floor, checked against the parse dims here and against the canvas PANEL once
257
+ // the shell is laid out — so a layout past the floor is refused in the
258
+ // template's words, never by a raw parser line. An invalid string still fails
259
+ // the way it always has (the validator's message under the parse-failed prefix).
260
+ let feas;
261
+ try {
262
+ feas = (0, dsl_1.computeFeasibility)(String(m0Pretty));
263
+ }
264
+ catch (e) {
265
+ throw new Error(`dsl-tutorial: m0 parse failed - ${e instanceof Error ? e.message : String(e)}`);
266
+ }
267
+ const chars = String(m0Pretty).length;
268
+ // Static DSL metrics — the frame count feeds the ceiling, the rest the status bar.
269
+ const cx = (0, dsl_1.getComplexityMetricsFast)(String(m0Pretty));
270
+ const parseCeiling = dslTutorialCeiling({ chars, frames: cx.frameCount, feas, parse: { width: canvasW, height: canvasH }, output: { width: W, height: H } });
271
+ if (parseCeiling)
272
+ throw new Error(parseCeiling);
273
+ const { m0: parseString, steps } = (0, buildSteps_1.buildSteps)(m0Pretty, canvasW, canvasH, {
274
+ stepEvents: props.stepEvents,
275
+ });
276
+ // Pacing TIER (founder direction 2026-09-05), by the pretty string's character
277
+ // count: teach (≤ 400 — the hero: show everything, read it), summarize (≤ 8,000
278
+ // — watch the renderer paint the whole thing in ~30 s), sloth (beyond — ~20 s,
279
+ // passthroughs not drawn). A pin or an explicit speed still wins.
280
+ const tier = (0, timing_1.resolveTier)(chars, props.tier);
281
+ // Status info bar metrics (all derived from the layout).
282
+ const statusMetrics = {
283
+ canvas: `${canvasW}×${canvasH}`,
284
+ chars,
285
+ frames: cx.frameCount,
286
+ passthroughs: cx.passthroughCount,
287
+ nulls: cx.nullCount,
288
+ groups: cx.groupCount,
289
+ precision: `${cx.precision.maxSplitX}×${cx.precision.maxSplitY}`,
290
+ minFeasible: `${feas.minWidthPx}×${feas.minHeightPx} px`,
291
+ };
292
+ // ── Duration model ──────────────────────────────────────────────────────
293
+ // The animation FITS the output length. We RECOMMEND a duration from how
294
+ // many tiles must paint (more tiles → longer), but if the render pins an
295
+ // explicit duration we scale the whole walk to fill it exactly — so a dense
296
+ // layout never gets truncated mid-walk for being given "only 30s".
297
+ //
298
+ // Q1 law (userIntent-only pins): ONLY an explicit user ask pins the length —
299
+ // CLI `--durationMs`, the Make Duration field. The host-seeded
300
+ // `ctx.output.durationMs` echoes the 12s outputHint and is a default, never a
301
+ // pin (reading it as one crammed every walk into 12s — the 61-step gallery
302
+ // preview ran at 4.7×). Unpinned, the walk AUTHORS its natural length on
303
+ // `durationMs`, which out-ranks the hint at plan time (gate-26 stamp law).
304
+ const fps = ctx.target.fps;
305
+ const pinnedMs = (0, template_utils_1.resolvePinnedDurationMs)(ctx);
306
+ const timing = (0, timing_1.tierTiming)({
307
+ stepCount: steps.length,
308
+ tier,
309
+ fps,
310
+ speedMultiplier: props.speedMultiplier,
311
+ pinnedMs: pinnedMs !== null && pinnedMs !== void 0 ? pinnedMs : undefined,
312
+ });
313
+ // Effective playback speed for the Speed pill: how compressed the final
314
+ // timeline is vs the COMFORTABLE recommended pace (speedMultiplier=1, no pin).
315
+ // 1.0× = rendered at the recommended length; a shorter render reads >1.0×
316
+ // (we had to run the walk faster to fit), a longer one <1.0× (slower). This
317
+ // folds BOTH the speedMultiplier prop and any pinned duration into one honest
318
+ // number the viewer can read.
319
+ const baselineMs = (0, timing_1.computeTiming)(steps.length, 1, undefined, fps).durationMs;
320
+ const effectiveSpeed = timing.durationMs > 0 ? baselineMs / timing.durationMs : 1;
321
+ // Canvas source. The camera (effects.camera) is attached AFTER the shell is
322
+ // parsed, since the auto-zoom needs the canvas panel's pixel size. Effects
323
+ // don't change geometry, so attaching them later is safe.
324
+ const canvasSource = (0, node_kit_1.mosaicRef)("canvas");
325
+ // ── Panel visibility. Undefined = shown (all default true); only an explicit
326
+ // `false` hides. A hidden panel keeps its cell (stable geometry + leaf
327
+ // indices) but renders a cheap single-PNG stub instead of a full-duration
328
+ // nested-video child — so toggling a panel OFF actually skips its render
329
+ // cost. (Each visible panel is a separate full-duration .mov intermediate;
330
+ // that fan-out is the dominant render cost, so the toggles are the lever.)
331
+ const show = {
332
+ chrome: props.showChrome !== false,
333
+ canvas: props.showCanvas !== false,
334
+ inspector: props.showInspector !== false,
335
+ dslString: props.showDslString !== false,
336
+ };
337
+ // Legibility floor: an inspector slot under INSPECTOR_MIN_SLOT_PX can't hold
338
+ // the field grid (3px cells at 480×270 — and a quantized 0-size frame that
339
+ // refused the whole render). Auto-hide it; the canvas takes the body width.
340
+ if (show.inspector && show.canvas && W * 0.2 < INSPECTOR_MIN_SLOT_PX)
341
+ show.inspector = false;
342
+ // ── IDE shell as a real m0 split (full canvas). Each panel = ONE leaf so
343
+ // shell leaf indices are predictable: header0 · dslStrip1 · narration2 ·
344
+ // canvas3 · inspector4 · status5. Every node below is exactly one painted
345
+ // leaf (paint(...) or panelStub(...)), so indices are stable regardless of
346
+ // which panels are toggled on. ──
347
+ // The DSL strip + narration/explanation span the FULL width (the ruler reads
348
+ // across the whole frame). Below them the body is the canvas HERO (wide) and a
349
+ // tightened inspector flush with the canvas top — output rect (X/Y/W/H/Z) over
350
+ // a divided ENGINE STATE section (N/R/C). No separate debugger panel; the
351
+ // hidden state it would have shown lives in the inspector now.
352
+ const inspectorSource = (0, node_kit_1.mosaicRef)("inspector");
353
+ // The IDE shell is built from ONLY the visible panels, so a hidden panel
354
+ // reserves NO space — its weight folds into the canvas+inspector body and the
355
+ // hero grows to fill. Hidden ROW panels (chrome header/status, DSL strip +
356
+ // narration) donate their vertical weight to the body; a hidden inspector
357
+ // gives the canvas the full body width. Leaf (DFS) indices vary with the
358
+ // visible set, so they're derived dynamically (`leafKeys`) — never hardcoded.
359
+ // Row heights in PX off the chrome unit (min(H, 0.75·W)): landscape canvases
360
+ // keep the 9/9/6/70/6 split of the height; portrait/square canvases get
361
+ // app-bar-sized chrome and hand the rest to the body.
362
+ // Weights are hundredths of the unit, so a landscape canvas (unit = H) keeps
363
+ // the exact 9/9/6/70/6 split it always had.
364
+ const unit = chromeUnitPx(W, H);
365
+ const headerW = show.chrome ? HEADER_FRAC * 100 : 0;
366
+ const stripW = show.dslString ? STRIP_FRAC * 100 : 0;
367
+ const narrationW = show.dslString ? NARRATION_FRAC * 100 : 0;
368
+ const statusW = show.chrome ? STATUS_FRAC * 100 : 0;
369
+ const bodyW = Math.max(1, (H / unit) * 100 - headerW - stripW - narrationW - statusW);
370
+ const buildShell = (cNode) => {
371
+ const bodyCols = [];
372
+ if (show.canvas)
373
+ bodyCols.push({ weight: 80, node: cNode });
374
+ if (show.inspector)
375
+ bodyCols.push({ weight: 20, node: (0, node_kit_1.paint)(inspectorSource) });
376
+ const rows = [];
377
+ if (show.chrome)
378
+ rows.push({ weight: headerW, node: (0, node_kit_1.paint)((0, node_kit_1.mosaicRef)("chrome-header")) });
379
+ if (show.dslString) {
380
+ rows.push({ weight: stripW, node: (0, node_kit_1.paint)((0, node_kit_1.mosaicRef)("dsl-string")) });
381
+ rows.push({ weight: narrationW, node: (0, node_kit_1.paint)((0, node_kit_1.mosaicRef)("dsl-narration")) });
382
+ }
383
+ if (bodyCols.length > 0) {
384
+ rows.push({ weight: bodyW, node: bodyCols.length === 1 ? bodyCols[0].node : (0, node_kit_1.colSplit)(bodyCols) });
385
+ }
386
+ if (show.chrome)
387
+ rows.push({ weight: statusW, node: (0, node_kit_1.paint)((0, node_kit_1.mosaicRef)("chrome-status")) });
388
+ // canvas defaults on, so `rows` is never empty in practice; guard anyway.
389
+ return rows.length > 0 ? (0, node_kit_1.rowSplit)(rows) : (0, node_kit_1.paint)(canvasSource);
390
+ };
391
+ // DFS leaf order of the visible panels — mirrors buildShell's node order, so
392
+ // frames[leafIdx(key)] is that panel's rect whatever the visible set.
393
+ const leafKeys = [];
394
+ if (show.chrome)
395
+ leafKeys.push("header");
396
+ if (show.dslString) {
397
+ leafKeys.push("dslStrip");
398
+ leafKeys.push("narration");
399
+ }
400
+ if (show.canvas)
401
+ leafKeys.push("canvas");
402
+ if (show.inspector)
403
+ leafKeys.push("inspector");
404
+ if (show.chrome)
405
+ leafKeys.push("status");
406
+ const leafIdx = (k) => leafKeys.indexOf(k);
407
+ const parseShell = (s) => {
408
+ var _a, _b;
409
+ const p = (0, dsl_1.parseM0StringComplete)(s, W, H);
410
+ if (!p.ok)
411
+ throw new Error(`dsl-tutorial: shell m0 invalid — ${(_b = (_a = p.error) === null || _a === void 0 ? void 0 : _a.message) !== null && _b !== void 0 ? _b : "unknown"}`);
412
+ return p.ir.renderFrames.slice().sort((a, b) => a.logicalIndex - b.logicalIndex);
413
+ };
414
+ // First parse with the canvas filling its cell → learn the cell's exact pixels.
415
+ let shell = buildShell((0, node_kit_1.paint)(canvasSource));
416
+ let frames = parseShell(shell.m0);
417
+ // GEOMETRY letterbox: size the canvas cell to the TARGET aspect via real m0 cells
418
+ // (NULL side/top bars — no distortion, no extra render leaves), so a portrait/
419
+ // square layout keeps its true shape. The parent hands the canvas child exactly
420
+ // this container to target; nothing inside stretches.
421
+ if (show.canvas) {
422
+ const cellRect = frames[leafIdx("canvas")];
423
+ const canvasAR = canvasW / canvasH;
424
+ const cellAR = cellRect.width / cellRect.height;
425
+ const containerW = canvasAR >= cellAR ? cellRect.width : cellRect.height * canvasAR;
426
+ const containerH = canvasAR >= cellAR ? cellRect.width / canvasAR : cellRect.height;
427
+ const barLR = Math.max(0, (cellRect.width - containerW) / 2);
428
+ const barTB = Math.max(0, (cellRect.height - containerH) / 2);
429
+ if (barLR > 0.5 || barTB > 0.5) {
430
+ shell = buildShell((0, node_kit_1.insetNode)((0, node_kit_1.paint)(canvasSource), barTB, barLR, barTB, barLR, cellRect.width, cellRect.height));
431
+ frames = parseShell(shell.m0); // re-derive: the canvas leaf is now the container
432
+ }
433
+ }
434
+ // Rects by dynamic leaf index — each is only READ under its panel's `show` gate.
435
+ const headerRect = frames[leafIdx("header")];
436
+ const dslStripRect = frames[leafIdx("dslStrip")];
437
+ const narrationRect = frames[leafIdx("narration")];
438
+ const canvasRect = frames[leafIdx("canvas")]; // the letterboxed container (or full cell when aspects match)
439
+ const inspectorRect = frames[leafIdx("inspector")];
440
+ const statusRect = frames[leafIdx("status")];
441
+ // The canvas PANEL wall of the density ceiling: the child re-parses the layout
442
+ // at exactly this slot, so it must be feasible here — refuse now, in the
443
+ // template's words, before any panel renders.
444
+ if (show.canvas) {
445
+ const panelCeiling = dslTutorialCeiling({
446
+ chars,
447
+ frames: cx.frameCount,
448
+ feas,
449
+ parse: { width: canvasW, height: canvasH },
450
+ panel: { width: Math.round(canvasRect.width), height: Math.round(canvasRect.height) },
451
+ output: { width: W, height: H },
452
+ });
453
+ if (panelCeiling)
454
+ throw new Error(panelCeiling);
455
+ }
456
+ // ── Canvas camera (attached now that we know the canvas panel size). Zoom is
457
+ // AUTO by default: 1 (fit-to-panel) when every tile already paints its
458
+ // number + dims legibly, otherwise the minimum zoom that makes the
459
+ // smallest tile legible — and the engine eases focusX/focusY to follow the
460
+ // active tile. `cameraZoom` overrides: 1 forces fit-to-panel, >1 forces a
461
+ // manual zoom. Effects don't affect geometry, so frames above are intact. ──
462
+ if (show.canvas) {
463
+ // Camera follows the active tile: zoom is AUTO — 1 (fit-to-panel) when every
464
+ // tile already paints its number + dims legibly, otherwise the minimum zoom
465
+ // that makes the smallest tile legible, with the focus easing to follow the
466
+ // walk. (The engine `applyCamera` was fixed to use a static even-dimension
467
+ // scale for a constant zoom, so the crop no longer fails to (re)configure on a
468
+ // zoomed/dense canvas.) `cameraZoom` overrides: 1 forces fit-to-panel.
469
+ // Summarize / sloth watch the WHOLE layout assemble: fit-to-panel, no chase.
470
+ const zoom = props.cameraZoom != null
471
+ ? props.cameraZoom
472
+ : tier === "teach"
473
+ ? (0, camera_1.autoCanvasZoom)(steps, canvasW, canvasH, canvasRect.width, canvasRect.height)
474
+ : 1;
475
+ const camera = zoom > 1 ? (0, camera_1.buildCanvasCamera)(steps, timing, canvasW, canvasH, zoom) : undefined;
476
+ if (camera)
477
+ canvasSource.effects = { camera };
478
+ }
479
+ // Per-leaf timing for the canvas, in logical (leafIndex) order. True dims
480
+ // come from the Step[] (parsed at the real output size — honest geometry).
481
+ const tiles = steps
482
+ .filter((s) => s.eventType === "emitLeaf" && s.leafIndex != null)
483
+ .sort((a, b) => (a.leafIndex - b.leafIndex))
484
+ .map((s) => {
485
+ const start = timing.stepStartSec(s.index);
486
+ return {
487
+ order: s.leafIndex + 1,
488
+ w: s.rect.width,
489
+ h: s.rect.height,
490
+ revealAtSec: start,
491
+ activeStartSec: start,
492
+ activeEndSec: start + timing.stepDurSec,
493
+ };
494
+ });
495
+ // Only render the children for VISIBLE panels — a hidden panel's cell already
496
+ // holds a cheap stub, so skipping its child render is what makes the toggle a
497
+ // real perf lever (no wasted full-duration video intermediate).
498
+ const children = {};
499
+ // Each split closes (its region fully claimed) at its matching `exit` step —
500
+ // keyed by stableKey, which the enter + exit of the same node share. The dashed
501
+ // subdivision is scaffolding: it clears once every cell in the region is painted.
502
+ const closeSecByKey = new Map();
503
+ for (const s of steps) {
504
+ if (s.eventType === "exit" && s.stableKey) {
505
+ closeSecByKey.set(s.stableKey, timing.stepStartSec(s.index));
506
+ }
507
+ }
508
+ // Per-leaf emit geometry + time — used to clear each interior divider as soon as
509
+ // the tile spanning it is painted (not when the whole split closes).
510
+ const leafEmits = steps
511
+ .filter((s) => s.eventType === "emitLeaf")
512
+ .map((s) => ({ rect: s.rect, sec: timing.stepStartSec(s.index) }));
513
+ /** When the divider at `frac` of `region` (along `axis`) clears: the LATEST emit
514
+ * among the tiles whose rect spans that line — a passthrough-merged tile spans
515
+ * the boundary inside it, so it clears on THAT tile's claim — capped at close. */
516
+ const dividerClearSec = (region, axis, frac, closeSec) => {
517
+ const pos = axis === "col" ? region.x + frac * region.width : region.y + frac * region.height;
518
+ const regCrossLo = axis === "col" ? region.y : region.x;
519
+ const regCrossHi = regCrossLo + (axis === "col" ? region.height : region.width);
520
+ let latest = -1;
521
+ for (const e of leafEmits) {
522
+ const r = e.rect;
523
+ const axLo = axis === "col" ? r.x : r.y;
524
+ const axHi = axLo + (axis === "col" ? r.width : r.height);
525
+ const crossLo = axis === "col" ? r.y : r.x;
526
+ const crossHi = crossLo + (axis === "col" ? r.height : r.width);
527
+ const inCross = crossLo >= regCrossLo - 2 && crossHi <= regCrossHi + 2;
528
+ const spans = axLo <= pos + 1 && pos - 1 <= axHi;
529
+ if (inCross && spans && e.sec > latest)
530
+ latest = e.sec;
531
+ }
532
+ return latest < 0 ? closeSec : Math.min(closeSec, latest + timing.transitionSec);
533
+ };
534
+ /** Painted tiles that span the divider at `frac`: each cover is the tile's extent
535
+ * ALONG the divider (canvas px) + its paint time, flagged `interior` when the
536
+ * divider runs THROUGH the tile (a passthrough-absorbed boundary) rather than
537
+ * along its edge. The canvas clears every dash on its own cover, so a stroke
538
+ * that absorbed six rows loses the row lines inside it the moment it paints,
539
+ * while a boundary dash waits for both neighbours (brand M, 2026-09-05). */
540
+ const dividerCovers = (region, axis, frac) => {
541
+ const pos = axis === "col" ? region.x + frac * region.width : region.y + frac * region.height;
542
+ const regCrossLo = axis === "col" ? region.y : region.x;
543
+ const regCrossHi = regCrossLo + (axis === "col" ? region.height : region.width);
544
+ const out = [];
545
+ for (const e of leafEmits) {
546
+ const r = e.rect;
547
+ const axLo = axis === "col" ? r.x : r.y;
548
+ const axHi = axLo + (axis === "col" ? r.width : r.height);
549
+ const crossLo = axis === "col" ? r.y : r.x;
550
+ const crossHi = crossLo + (axis === "col" ? r.height : r.width);
551
+ const inCross = crossLo >= regCrossLo - 2 && crossHi <= regCrossHi + 2;
552
+ const spans = axLo <= pos + 1 && pos - 1 <= axHi;
553
+ if (!inCross || !spans)
554
+ continue;
555
+ out.push({ lo: crossLo, hi: crossHi, sec: e.sec + timing.transitionSec, interior: axLo + 1 < pos && pos < axHi - 1 });
556
+ }
557
+ return out;
558
+ };
559
+ // Split (enter) steps → dotted subdivisions on the canvas, so entering a split
560
+ // visibly draws the columns/rows it creates BEFORE the cells paint. Each interior
561
+ // divider then clears on its OWN tile's claim; the region outline clears at close.
562
+ const splits = steps
563
+ .filter((s) => s.eventType === "enter" && s.split && s.splitRegion && s.split.dividers.length > 0)
564
+ .map((s) => {
565
+ var _a;
566
+ const region = s.splitRegion;
567
+ const axis = s.split.axis;
568
+ const closeSec = (_a = closeSecByKey.get(s.stableKey)) !== null && _a !== void 0 ? _a : timing.durationMs / 1000;
569
+ return {
570
+ // The REGION being split (parent), not the cursor (its first child).
571
+ // Fractions of the CANVAS (parse dims), so they're aspect-independent.
572
+ xFrac: region.x / canvasW,
573
+ yFrac: region.y / canvasH,
574
+ wFrac: region.width / canvasW,
575
+ hFrac: region.height / canvasH,
576
+ axis,
577
+ dividers: s.split.dividers.map((frac) => ({
578
+ frac,
579
+ clearSec: dividerClearSec(region, axis, frac, closeSec),
580
+ covers: dividerCovers(region, axis, frac),
581
+ })),
582
+ activeStartSec: timing.stepStartSec(s.index),
583
+ clearAtSec: closeSec,
584
+ };
585
+ });
586
+ // The orange geometry cursor — one enable-gated ring per step (it snaps to
587
+ // each new bound as the parse advances), so it leads the parse at the live
588
+ // bounds. Baked rects, not a per-frame geq (cheap, deterministic).
589
+ // Sloth: the cursor hops between the steps that change geometry or paint —
590
+ // passthrough / null slots are not drawn at all.
591
+ const cursorRects = (0, cursor_1.buildCursorRects)(tier === "sloth" ? steps.filter((s) => s.eventType !== "passthrough" && s.eventType !== "null") : steps, timing, canvasW, canvasH);
592
+ // Every panel is a full-length nested VIDEO child: it must carry the walk's
593
+ // authored length (`slot.durationMs`), not the parent's `ctx.target.durationMs`
594
+ // — unpinned, that is the host-seeded 12s output HINT, and a 12s child under a
595
+ // 15.8s parent loops: the last frames of every natural-length render showed
596
+ // "Step 4 / 16" (2026-09-05). A pin made both equal, which is why the gate-33
597
+ // renders (all `--durationMs`-pinned to their natural length) never showed it.
598
+ if (show.canvas) {
599
+ children["canvas"] = await (0, template_utils_1.renderNestedTemplate)(CANVAS_ID, {
600
+ M0String: props.M0String,
601
+ preset: props.preset,
602
+ tiles,
603
+ introSec: 0.3,
604
+ // Sloth draws no passthrough scaffolding at all; summarize draws it light.
605
+ splits: tier === "sloth" ? [] : splits,
606
+ cursorRects,
607
+ tier,
608
+ }, ctx,
609
+ // The canvas cell IS the letterboxed container now (real geometry), so the
610
+ // child renders at exactly this size — no aspect inference, no stretch.
611
+ { slot: { width: Math.round(canvasRect.width), height: Math.round(canvasRect.height), durationMs: timing.durationMs } });
612
+ }
613
+ if (show.inspector) {
614
+ const projection = (0, inspector_1.buildInspectorProjection)(steps, timing);
615
+ children["inspector"] = await (0, template_utils_1.renderNestedTemplate)(INSPECTOR_ID, { preset: props.preset, ...projection }, ctx, { slot: { width: Math.round(inspectorRect.width), height: Math.round(inspectorRect.height), durationMs: timing.durationMs } });
616
+ }
617
+ // DSL-string panel — the syntax-highlighted strip + stepping caret (leaf 1)
618
+ // and the narration banner (leaf 2). Both read the same projection (glyphs,
619
+ // per-glyph caret enables, narration variants) off the global clock.
620
+ if (show.dslString) {
621
+ const stringProjection = (0, dslString_1.buildDslStringProjection)(steps, timing, parseString);
622
+ children["dsl-string"] = await (0, template_utils_1.renderNestedTemplate)(STRING_ID, {
623
+ part: "strip",
624
+ preset: props.preset,
625
+ glyphs: stringProjection.glyphs,
626
+ caretEnable: stringProjection.caretEnable,
627
+ caretSteps: stringProjection.caretSteps,
628
+ }, ctx, { slot: { width: Math.round(dslStripRect.width), height: Math.round(dslStripRect.height), durationMs: timing.durationMs } });
629
+ children["dsl-narration"] = await (0, template_utils_1.renderNestedTemplate)(STRING_ID, { part: "narration", preset: props.preset, narration: stringProjection.narration }, ctx, { slot: { width: Math.round(narrationRect.width), height: Math.round(narrationRect.height), durationMs: timing.durationMs } });
630
+ }
631
+ if (show.chrome) {
632
+ children["chrome-header"] = await (0, template_utils_1.renderNestedTemplate)(CHROME_ID, {
633
+ part: "header",
634
+ preset: props.preset,
635
+ title: (_c = props.title) !== null && _c !== void 0 ? _c : "DSL Tutorial",
636
+ speedLabel: speedLabel(effectiveSpeed),
637
+ stepExpr: (0, timing_1.stepNumberExpr)(timing), // bare number; the chrome adds the wording
638
+ stepTotal: timing.stepCount,
639
+ // When the DSL strip below the header is hidden, the header needs its own
640
+ // divider so it doesn't blend into the canvas beneath it.
641
+ divider: !show.dslString,
642
+ }, ctx, { slot: { width: Math.round(headerRect.width), height: Math.round(headerRect.height), durationMs: timing.durationMs } });
643
+ children["chrome-status"] = await (0, template_utils_1.renderNestedTemplate)(CHROME_ID, {
644
+ part: "status",
645
+ preset: props.preset,
646
+ statusLabel: "Parsing",
647
+ metrics: statusMetrics,
648
+ }, ctx, { slot: { width: Math.round(statusRect.width), height: Math.round(statusRect.height), durationMs: timing.durationMs } });
649
+ }
650
+ const doc = {
651
+ kind: "mosaic_document",
652
+ version: 1,
653
+ assets: {},
654
+ m0: (0, dsl_stdlib_1.toM0String)(shell.m0, "DslTutorial"),
655
+ sources: shell.sources,
656
+ backgroundColor: theme.canvas,
657
+ // Authored: the walk's own length (L1 — out-ranks the hint-seeded target).
658
+ durationMs: timing.durationMs,
659
+ // Gate-26 convention: every rendered doc declares its format. A silent
660
+ // video deliverable — never mux a placeholder audio track.
661
+ format: { kind: "video", container: "mp4" },
662
+ audio: { mode: "off" },
663
+ children,
664
+ };
665
+ // Dev tripwire (debug-only, founder ruling 08-22): the contract checks every
666
+ // fitted string THROUGH the nested panels (checkLayout flattens the children)
667
+ // and, when on, shows the contract wireframe. Zero cost when off.
668
+ return (0, template_utils_1.withLayoutContract)(doc, { ...ctx, target: { ...ctx.target, durationMs: timing.durationMs } }, {
669
+ templateId: String(exports.DslTutorial.id),
670
+ constraints: dslTutorialLayoutConstraints(show),
671
+ debug: props.debugLayout,
672
+ });
673
+ },
674
+ };
675
+ (0, template_utils_1.registerTemplate)(exports.DslTutorial);