m0saic 0.0.0 → 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 (1510) hide show
  1. package/LICENSE +126 -0
  2. package/README.md +162 -2
  3. package/dist/browseE2e.js +1 -0
  4. package/dist/connectionsFromEnv.js +1 -0
  5. package/dist/e2eTemplateVariants.js +1 -0
  6. package/dist/frontDoor.js +1 -0
  7. package/dist/index.js +2 -0
  8. package/dist/inlineDsl.js +1 -0
  9. package/dist/mosaicxRunner.js +1 -0
  10. package/dist/outputPattern.js +1 -0
  11. package/dist/showcaseFeed.js +1 -0
  12. package/dist/templateDoctor.js +1 -0
  13. package/dist/utils/checkFeasibility.js +1 -0
  14. package/dist/utils/collectRenderErrors.js +1 -0
  15. package/dist/utils/enrichImageAlphaFromDoc.js +1 -0
  16. package/dist/utils/ensureFfmpeg.js +1 -0
  17. package/dist/utils/extractLayoutMeta.js +1 -0
  18. package/dist/utils/failureHints.js +1 -0
  19. package/dist/utils/ffmpegProbe.js +1 -0
  20. package/dist/utils/formatM0saicForCli.js +1 -0
  21. package/dist/utils/hashFile.js +1 -0
  22. package/dist/utils/helpGroups.js +1 -0
  23. package/dist/utils/invocation.js +1 -0
  24. package/dist/utils/mosaicSpinner.js +1 -0
  25. package/dist/utils/parseDimensions.js +1 -0
  26. package/dist/utils/pathInfo.js +1 -0
  27. package/dist/utils/readJsonArg.js +1 -0
  28. package/dist/utils/renderOutcome.js +1 -0
  29. package/dist/utils/renderReport.js +1 -0
  30. package/dist/utils/renderSignals.js +1 -0
  31. package/dist/utils/renderWorkspace.js +1 -0
  32. package/dist/utils/setupFfmpeg.js +1 -0
  33. package/dist/utils/telemetry.js +1 -0
  34. package/dist/utils/telemetryFlushWorker.js +1 -0
  35. package/dist/utils/telemetryUpstream.js +1 -0
  36. package/dist/utils/telemetryUsage.js +1 -0
  37. package/dist/utils/toolchainConfig.js +1 -0
  38. package/dist/utils/tutorialDuration.js +1 -0
  39. package/dist/utils/updateCheck.js +1 -0
  40. package/dist/utils/updateCheckWorker.js +1 -0
  41. package/dist/utils/validateSourceCounts.js +1 -0
  42. package/dist/utils/versions.js +1 -0
  43. package/dist/webCustomizeLink.js +1 -0
  44. package/node_modules/@m0saic/community-m/CONTRIBUTING.md +108 -0
  45. package/node_modules/@m0saic/community-m/LICENSE +28 -0
  46. package/node_modules/@m0saic/community-m/README.md +102 -0
  47. package/node_modules/@m0saic/community-m/geometry/m-33-tiles.json +270 -0
  48. package/node_modules/@m0saic/community-m/geometry/m-33.m0c +265 -0
  49. package/node_modules/@m0saic/community-m/index.json +148 -0
  50. package/node_modules/@m0saic/community-m/ms/001/community-m-001.m0p +346 -0
  51. package/node_modules/@m0saic/community-m/ms/001/m.json +12 -0
  52. package/node_modules/@m0saic/community-m/ms/001/root/assets/.gitkeep +0 -0
  53. package/node_modules/@m0saic/community-m/ms/001/root/piece.mosaic +105 -0
  54. package/node_modules/@m0saic/community-m/ms/001/root/portrait.jpg +0 -0
  55. package/node_modules/@m0saic/community-m/ms/001/root/slot.json +18 -0
  56. package/node_modules/@m0saic/community-m/ms/001/root/slot.m0c +296 -0
  57. package/node_modules/@m0saic/community-m/ms/001/root/tile.png +0 -0
  58. package/node_modules/@m0saic/community-m/ms/002/community-m-002.m0p +324 -0
  59. package/node_modules/@m0saic/community-m/ms/002/m.json +7 -0
  60. package/node_modules/@m0saic/community-m/package.json +5 -0
  61. package/node_modules/@m0saic/community-m/release.json +4 -0
  62. package/node_modules/@m0saic/community-m/tools/assemble.mjs +87 -0
  63. package/node_modules/@m0saic/community-m/tools/claim-order.mjs +42 -0
  64. package/node_modules/@m0saic/community-m/tools/lib.mjs +208 -0
  65. package/node_modules/@m0saic/community-m/tools/new-slot.mjs +123 -0
  66. package/node_modules/@m0saic/community-m/tools/validate.mjs +203 -0
  67. package/node_modules/@m0saic/core/LICENSE +7 -0
  68. package/node_modules/@m0saic/core/assets/pill_mask_1024.png +0 -0
  69. package/node_modules/@m0saic/core/assets/rounded_mask_1024.png +0 -0
  70. package/node_modules/@m0saic/core/dist/core/buildChildMosaicSource.js +1 -0
  71. package/node_modules/@m0saic/core/dist/core/buildChunkCommands.js +1 -0
  72. package/node_modules/@m0saic/core/dist/core/buildEncodeCommands.js +1 -0
  73. package/node_modules/@m0saic/core/dist/core/buildLavfiSource.js +1 -0
  74. package/node_modules/@m0saic/core/dist/core/buildMediaSource.js +1 -0
  75. package/node_modules/@m0saic/core/dist/core/buildMosaicNode.js +1 -0
  76. package/node_modules/@m0saic/core/dist/core/buildMosaicPlanFromFile.js +1 -0
  77. package/node_modules/@m0saic/core/dist/core/buildSvgTextSource.js +1 -0
  78. package/node_modules/@m0saic/core/dist/core/buildTextRenderCommand.js +1 -0
  79. package/node_modules/@m0saic/core/dist/core/collectRefTargets.js +1 -0
  80. package/node_modules/@m0saic/core/dist/core/index.js +1 -0
  81. package/node_modules/@m0saic/core/dist/core/maskCacheDir.js +1 -0
  82. package/node_modules/@m0saic/core/dist/core/maskWorkerBridge.js +1 -0
  83. package/node_modules/@m0saic/core/dist/core/playbackPlaySpeed.js +1 -0
  84. package/node_modules/@m0saic/core/dist/core/prepareProps.js +1 -0
  85. package/node_modules/@m0saic/core/dist/core/primaryOutput.js +1 -0
  86. package/node_modules/@m0saic/core/dist/core/rasterizeMaskPng.js +1 -0
  87. package/node_modules/@m0saic/core/dist/core/rasterizeSvgMediaPng.js +1 -0
  88. package/node_modules/@m0saic/core/dist/core/refTargetTap.js +1 -0
  89. package/node_modules/@m0saic/core/dist/core/resolveMasks.js +1 -0
  90. package/node_modules/@m0saic/core/dist/core/resolveMasksSync.js +1 -0
  91. package/node_modules/@m0saic/core/dist/core/resolveStrokeRingsSync.js +1 -0
  92. package/node_modules/@m0saic/core/dist/core/roundedRectMask.js +1 -0
  93. package/node_modules/@m0saic/core/dist/core/strokeRing.js +1 -0
  94. package/node_modules/@m0saic/core/dist/core/svgRaster.js +1 -0
  95. package/node_modules/@m0saic/core/dist/defaults.js +1 -0
  96. package/node_modules/@m0saic/core/dist/ffmpeg/backgroundImageInput.js +1 -0
  97. package/node_modules/@m0saic/core/dist/ffmpeg/bufferGuard.js +1 -0
  98. package/node_modules/@m0saic/core/dist/ffmpeg/ffmpegCommands.js +1 -0
  99. package/node_modules/@m0saic/core/dist/ffmpeg/filters/applyBackdropBlur.js +1 -0
  100. package/node_modules/@m0saic/core/dist/ffmpeg/filters/applyBlur.js +1 -0
  101. package/node_modules/@m0saic/core/dist/ffmpeg/filters/applyBorderRadius.js +1 -0
  102. package/node_modules/@m0saic/core/dist/ffmpeg/filters/applyCamera.js +1 -0
  103. package/node_modules/@m0saic/core/dist/ffmpeg/filters/applyChromaKey.js +1 -0
  104. package/node_modules/@m0saic/core/dist/ffmpeg/filters/applyFade.js +1 -0
  105. package/node_modules/@m0saic/core/dist/ffmpeg/filters/applyGrade.js +1 -0
  106. package/node_modules/@m0saic/core/dist/ffmpeg/filters/applyMask.js +1 -0
  107. package/node_modules/@m0saic/core/dist/ffmpeg/filters/applyNoise.js +1 -0
  108. package/node_modules/@m0saic/core/dist/ffmpeg/filters/applyPixelize.js +1 -0
  109. package/node_modules/@m0saic/core/dist/ffmpeg/filters/applyRotate.js +1 -0
  110. package/node_modules/@m0saic/core/dist/ffmpeg/filters/applyStroke.js +1 -0
  111. package/node_modules/@m0saic/core/dist/ffmpeg/filters/applyTileEffects.js +1 -0
  112. package/node_modules/@m0saic/core/dist/ffmpeg/filters/coverCrop.js +1 -0
  113. package/node_modules/@m0saic/core/dist/ffmpeg/filters/index.js +1 -0
  114. package/node_modules/@m0saic/core/dist/ffmpeg/filters/sourceRectCrop.js +1 -0
  115. package/node_modules/@m0saic/core/dist/ffmpeg/gridLowering.js +1 -0
  116. package/node_modules/@m0saic/core/dist/ffmpeg/index.js +1 -0
  117. package/node_modules/@m0saic/core/dist/ffmpeg/splitAvMux.js +1 -0
  118. package/node_modules/@m0saic/core/dist/ffmpeg/threadGuard.js +1 -0
  119. package/node_modules/@m0saic/core/dist/flatten/index.js +1 -0
  120. package/node_modules/@m0saic/core/dist/fs/index.js +1 -0
  121. package/node_modules/@m0saic/core/dist/fs/tempWorkspace.js +1 -0
  122. package/node_modules/@m0saic/core/dist/index.js +1 -0
  123. package/node_modules/@m0saic/core/dist/media/buildAssetManifestFromInputs.js +1 -0
  124. package/node_modules/@m0saic/core/dist/media/buildMediaRegistryFromInput.js +1 -0
  125. package/node_modules/@m0saic/core/dist/media/collectMediaInputsFromInvocationProps.js +1 -0
  126. package/node_modules/@m0saic/core/dist/media/collectMediaInputsFromMosaicRenderableFile.js +1 -0
  127. package/node_modules/@m0saic/core/dist/media/collectMediaInputsFromProps.js +1 -0
  128. package/node_modules/@m0saic/core/dist/media/index.js +1 -0
  129. package/node_modules/@m0saic/core/dist/media/internalMintAsset.js +1 -0
  130. package/node_modules/@m0saic/core/dist/media/remoteUrl.js +1 -0
  131. package/node_modules/@m0saic/core/dist/media/stageUnsafeFilenames.js +1 -0
  132. package/node_modules/@m0saic/core/dist/media/types.js +1 -0
  133. package/node_modules/@m0saic/core/dist/output/index.js +1 -0
  134. package/node_modules/@m0saic/core/dist/output/resolveOutputFormat.js +1 -0
  135. package/node_modules/@m0saic/core/dist/output/types.js +1 -0
  136. package/node_modules/@m0saic/core/dist/probe/cellLuminanceProbe.js +1 -0
  137. package/node_modules/@m0saic/core/dist/probe/extractSubtitleCues.js +1 -0
  138. package/node_modules/@m0saic/core/dist/probe/helpers.js +1 -0
  139. package/node_modules/@m0saic/core/dist/probe/index.js +1 -0
  140. package/node_modules/@m0saic/core/dist/probe/luminanceProbe.js +1 -0
  141. package/node_modules/@m0saic/core/dist/probe/probeMedia.js +1 -0
  142. package/node_modules/@m0saic/core/dist/probe/runFFprobe.js +1 -0
  143. package/node_modules/@m0saic/core/dist/probe/types.js +1 -0
  144. package/node_modules/@m0saic/core/dist/runtime/engineRedaction.js +1 -0
  145. package/node_modules/@m0saic/core/dist/runtime/ffmpegFailure.js +1 -0
  146. package/node_modules/@m0saic/core/dist/runtime/filterPreflight.js +1 -0
  147. package/node_modules/@m0saic/core/dist/runtime/hashFile.js +1 -0
  148. package/node_modules/@m0saic/core/dist/runtime/index.js +1 -0
  149. package/node_modules/@m0saic/core/dist/runtime/pathInfo.js +1 -0
  150. package/node_modules/@m0saic/core/dist/runtime/perfHeatmap.js +1 -0
  151. package/node_modules/@m0saic/core/dist/runtime/perfReport.js +1 -0
  152. package/node_modules/@m0saic/core/dist/runtime/pipelineM0p.js +1 -0
  153. package/node_modules/@m0saic/core/dist/runtime/renderCostModel.constants.js +1 -0
  154. package/node_modules/@m0saic/core/dist/runtime/renderCostModel.js +1 -0
  155. package/node_modules/@m0saic/core/dist/runtime/renderReport.js +1 -0
  156. package/node_modules/@m0saic/core/dist/runtime/renderSidecars.js +1 -0
  157. package/node_modules/@m0saic/core/dist/runtime/resolveMosaicx.js +1 -0
  158. package/node_modules/@m0saic/core/dist/runtime/runPlan.js +1 -0
  159. package/node_modules/@m0saic/core/dist/runtime/types.js +1 -0
  160. package/node_modules/@m0saic/core/dist/runtime/upstream.js +1 -0
  161. package/node_modules/@m0saic/core/dist/runtime/writeSidecars.js +1 -0
  162. package/node_modules/@m0saic/core/dist/types/chunk.js +1 -0
  163. package/node_modules/@m0saic/core/dist/types/index.js +1 -0
  164. package/node_modules/@m0saic/core/dist/types/mosaic-plan.js +1 -0
  165. package/node_modules/@m0saic/core/dist/utils/assertTiming.js +1 -0
  166. package/node_modules/@m0saic/core/dist/utils/command.js +1 -0
  167. package/node_modules/@m0saic/core/dist/utils/createEngineContext.js +1 -0
  168. package/node_modules/@m0saic/core/dist/utils/createTemplateRenderCache.js +1 -0
  169. package/node_modules/@m0saic/core/dist/utils/ffmpegColor.js +1 -0
  170. package/node_modules/@m0saic/core/dist/utils/formatDuration.js +1 -0
  171. package/node_modules/@m0saic/core/dist/utils/fsSafeId.js +1 -0
  172. package/node_modules/@m0saic/core/dist/utils/index.js +1 -0
  173. package/node_modules/@m0saic/core/dist/utils/lowerRenderableToMosaicDocument.js +1 -0
  174. package/node_modules/@m0saic/core/dist/utils/movSafeCodec.js +1 -0
  175. package/node_modules/@m0saic/core/dist/utils/resolveBoxFrac.js +1 -0
  176. package/node_modules/@m0saic/core/dist/validate/index.js +1 -0
  177. package/node_modules/@m0saic/core/package.json +6 -0
  178. package/node_modules/@m0saic/core/scripts/mask-rasterize-core.js +1 -0
  179. package/node_modules/@m0saic/core/scripts/mask-rasterize-worker.js +1 -0
  180. package/node_modules/@m0saic/core/scripts/mask-worker-thread.js +1 -0
  181. package/node_modules/@m0saic/dictionary/LICENSE +13 -0
  182. package/node_modules/@m0saic/dictionary/dist/browser.js +1 -0
  183. package/node_modules/@m0saic/dictionary/dist/entries/__generated__.js +1 -0
  184. package/node_modules/@m0saic/dictionary/dist/entries/brand/index.js +1 -0
  185. package/node_modules/@m0saic/dictionary/dist/entries/brand/m-33/index.js +1 -0
  186. package/node_modules/@m0saic/dictionary/dist/entries/brand/m-33/m0.json +1 -0
  187. package/node_modules/@m0saic/dictionary/dist/entries/brand/m-33/m0saic.js +1 -0
  188. package/node_modules/@m0saic/dictionary/dist/entries/brand/m-33/m0saic.m0c +265 -0
  189. package/node_modules/@m0saic/dictionary/dist/entries/brand/m-33/m0saic_src.m0 +8 -0
  190. package/node_modules/@m0saic/dictionary/dist/entries/brand/m-33/m0saic_visual.txt +274 -0
  191. package/node_modules/@m0saic/dictionary/dist/entries/brand/m-33/m0saic_visual_areas.txt +272 -0
  192. package/node_modules/@m0saic/dictionary/dist/entries/brand/m-33/m0saic_visual_art.txt +272 -0
  193. package/node_modules/@m0saic/dictionary/dist/entries/brand/m-33/metadata.json +300 -0
  194. package/node_modules/@m0saic/dictionary/dist/entries/brand/m-33/preview.png +0 -0
  195. package/node_modules/@m0saic/dictionary/dist/entries/brand/m-33_bitmap/index.js +1 -0
  196. package/node_modules/@m0saic/dictionary/dist/entries/brand/m-33_bitmap/m0saic.js +2 -0
  197. package/node_modules/@m0saic/dictionary/dist/entries/brand/m-33_bitmap/m0saic.m0 +9 -0
  198. package/node_modules/@m0saic/dictionary/dist/entries/brand/m-33_bitmap/metadata.json +54 -0
  199. package/node_modules/@m0saic/dictionary/dist/entries/brand/m0/index.js +1 -0
  200. package/node_modules/@m0saic/dictionary/dist/entries/brand/m0/m0.json +1 -0
  201. package/node_modules/@m0saic/dictionary/dist/entries/brand/m0/m0saic.js +1 -0
  202. package/node_modules/@m0saic/dictionary/dist/entries/brand/m0/m0saic.m0c +205 -0
  203. package/node_modules/@m0saic/dictionary/dist/entries/brand/m0/m0saic_src.m0 +8 -0
  204. package/node_modules/@m0saic/dictionary/dist/entries/brand/m0/metadata.json +247 -0
  205. package/node_modules/@m0saic/dictionary/dist/entries/brand/m0/preview.png +0 -0
  206. package/node_modules/@m0saic/dictionary/dist/entries/brand/m0saic-pattern/index.js +1 -0
  207. package/node_modules/@m0saic/dictionary/dist/entries/brand/m0saic-pattern/m0.json +1 -0
  208. package/node_modules/@m0saic/dictionary/dist/entries/brand/m0saic-pattern/m0saic.js +1 -0
  209. package/node_modules/@m0saic/dictionary/dist/entries/brand/m0saic-pattern/m0saic.m0c +366 -0
  210. package/node_modules/@m0saic/dictionary/dist/entries/brand/m0saic-pattern/m0saic_src.m0 +8 -0
  211. package/node_modules/@m0saic/dictionary/dist/entries/brand/m0saic-pattern/metadata.json +406 -0
  212. package/node_modules/@m0saic/dictionary/dist/entries/brand/m0saic-pattern/preview.png +0 -0
  213. package/node_modules/@m0saic/dictionary/dist/entries/brand/qr/index.js +1 -0
  214. package/node_modules/@m0saic/dictionary/dist/entries/brand/qr/m0.json +1 -0
  215. package/node_modules/@m0saic/dictionary/dist/entries/brand/qr/m0saic.js +1 -0
  216. package/node_modules/@m0saic/dictionary/dist/entries/brand/qr/m0saic.m0c +24 -0
  217. package/node_modules/@m0saic/dictionary/dist/entries/brand/qr/m0saic_src.m0 +8 -0
  218. package/node_modules/@m0saic/dictionary/dist/entries/brand/qr/metadata.json +49 -0
  219. package/node_modules/@m0saic/dictionary/dist/entries/grids/2x2/index.js +1 -0
  220. package/node_modules/@m0saic/dictionary/dist/entries/grids/2x2/m0saic.js +2 -0
  221. package/node_modules/@m0saic/dictionary/dist/entries/grids/2x2/m0saic.m0 +7 -0
  222. package/node_modules/@m0saic/dictionary/dist/entries/grids/2x2/m0saic_pretty.txt +10 -0
  223. package/node_modules/@m0saic/dictionary/dist/entries/grids/2x2/m0saic_tree.txt +7 -0
  224. package/node_modules/@m0saic/dictionary/dist/entries/grids/2x2/metadata.json +49 -0
  225. package/node_modules/@m0saic/dictionary/dist/entries/grids/2x2/wireframe_1080x1080.mp4 +0 -0
  226. package/node_modules/@m0saic/dictionary/dist/entries/grids/2x2/wireframe_1920x1080.mp4 +0 -0
  227. package/node_modules/@m0saic/dictionary/dist/entries/grids/2x3/index.js +1 -0
  228. package/node_modules/@m0saic/dictionary/dist/entries/grids/2x3/m0saic.js +2 -0
  229. package/node_modules/@m0saic/dictionary/dist/entries/grids/2x3/m0saic.m0 +7 -0
  230. package/node_modules/@m0saic/dictionary/dist/entries/grids/2x3/m0saic_pretty.txt +14 -0
  231. package/node_modules/@m0saic/dictionary/dist/entries/grids/2x3/m0saic_tree.txt +10 -0
  232. package/node_modules/@m0saic/dictionary/dist/entries/grids/2x3/metadata.json +53 -0
  233. package/node_modules/@m0saic/dictionary/dist/entries/grids/3x2/index.js +1 -0
  234. package/node_modules/@m0saic/dictionary/dist/entries/grids/3x2/m0saic.js +2 -0
  235. package/node_modules/@m0saic/dictionary/dist/entries/grids/3x2/m0saic.m0 +7 -0
  236. package/node_modules/@m0saic/dictionary/dist/entries/grids/3x2/m0saic_pretty.txt +12 -0
  237. package/node_modules/@m0saic/dictionary/dist/entries/grids/3x2/m0saic_tree.txt +9 -0
  238. package/node_modules/@m0saic/dictionary/dist/entries/grids/3x2/metadata.json +49 -0
  239. package/node_modules/@m0saic/dictionary/dist/entries/grids/3x3/index.js +1 -0
  240. package/node_modules/@m0saic/dictionary/dist/entries/grids/3x3/m0saic.js +2 -0
  241. package/node_modules/@m0saic/dictionary/dist/entries/grids/3x3/m0saic.m0 +7 -0
  242. package/node_modules/@m0saic/dictionary/dist/entries/grids/3x3/m0saic_pretty.txt +17 -0
  243. package/node_modules/@m0saic/dictionary/dist/entries/grids/3x3/m0saic_tree.txt +13 -0
  244. package/node_modules/@m0saic/dictionary/dist/entries/grids/3x3/metadata.json +48 -0
  245. package/node_modules/@m0saic/dictionary/dist/entries/grids/4x4/index.js +1 -0
  246. package/node_modules/@m0saic/dictionary/dist/entries/grids/4x4/m0saic.js +2 -0
  247. package/node_modules/@m0saic/dictionary/dist/entries/grids/4x4/m0saic.m0 +7 -0
  248. package/node_modules/@m0saic/dictionary/dist/entries/grids/4x4/m0saic_pretty.txt +26 -0
  249. package/node_modules/@m0saic/dictionary/dist/entries/grids/4x4/m0saic_tree.txt +21 -0
  250. package/node_modules/@m0saic/dictionary/dist/entries/grids/4x4/metadata.json +48 -0
  251. package/node_modules/@m0saic/dictionary/dist/entries/grids/index.js +1 -0
  252. package/node_modules/@m0saic/dictionary/dist/entries/index.js +1 -0
  253. package/node_modules/@m0saic/dictionary/dist/entries/layouts/bottom-feature/index.js +1 -0
  254. package/node_modules/@m0saic/dictionary/dist/entries/layouts/bottom-feature/m0saic.js +2 -0
  255. package/node_modules/@m0saic/dictionary/dist/entries/layouts/bottom-feature/m0saic.m0 +7 -0
  256. package/node_modules/@m0saic/dictionary/dist/entries/layouts/bottom-feature/m0saic_pretty.txt +13 -0
  257. package/node_modules/@m0saic/dictionary/dist/entries/layouts/bottom-feature/m0saic_tree.txt +10 -0
  258. package/node_modules/@m0saic/dictionary/dist/entries/layouts/bottom-feature/metadata.json +49 -0
  259. package/node_modules/@m0saic/dictionary/dist/entries/layouts/column-grid/index.js +1 -0
  260. package/node_modules/@m0saic/dictionary/dist/entries/layouts/column-grid/m0saic.js +2 -0
  261. package/node_modules/@m0saic/dictionary/dist/entries/layouts/column-grid/m0saic.m0 +7 -0
  262. package/node_modules/@m0saic/dictionary/dist/entries/layouts/column-grid/m0saic_pretty.txt +16 -0
  263. package/node_modules/@m0saic/dictionary/dist/entries/layouts/column-grid/m0saic_tree.txt +11 -0
  264. package/node_modules/@m0saic/dictionary/dist/entries/layouts/column-grid/metadata.json +49 -0
  265. package/node_modules/@m0saic/dictionary/dist/entries/layouts/dense-dashboard/index.js +1 -0
  266. package/node_modules/@m0saic/dictionary/dist/entries/layouts/dense-dashboard/m0saic.js +2 -0
  267. package/node_modules/@m0saic/dictionary/dist/entries/layouts/dense-dashboard/m0saic.m0 +7 -0
  268. package/node_modules/@m0saic/dictionary/dist/entries/layouts/dense-dashboard/m0saic_pretty.txt +20 -0
  269. package/node_modules/@m0saic/dictionary/dist/entries/layouts/dense-dashboard/m0saic_tree.txt +16 -0
  270. package/node_modules/@m0saic/dictionary/dist/entries/layouts/dense-dashboard/metadata.json +50 -0
  271. package/node_modules/@m0saic/dictionary/dist/entries/layouts/feature-sidebar/index.js +1 -0
  272. package/node_modules/@m0saic/dictionary/dist/entries/layouts/feature-sidebar/m0saic.js +2 -0
  273. package/node_modules/@m0saic/dictionary/dist/entries/layouts/feature-sidebar/m0saic.m0 +7 -0
  274. package/node_modules/@m0saic/dictionary/dist/entries/layouts/feature-sidebar/m0saic_pretty.txt +14 -0
  275. package/node_modules/@m0saic/dictionary/dist/entries/layouts/feature-sidebar/m0saic_tree.txt +10 -0
  276. package/node_modules/@m0saic/dictionary/dist/entries/layouts/feature-sidebar/metadata.json +49 -0
  277. package/node_modules/@m0saic/dictionary/dist/entries/layouts/hero-bottom-strip/index.js +1 -0
  278. package/node_modules/@m0saic/dictionary/dist/entries/layouts/hero-bottom-strip/m0saic.js +2 -0
  279. package/node_modules/@m0saic/dictionary/dist/entries/layouts/hero-bottom-strip/m0saic.m0 +7 -0
  280. package/node_modules/@m0saic/dictionary/dist/entries/layouts/hero-bottom-strip/m0saic_pretty.txt +8 -0
  281. package/node_modules/@m0saic/dictionary/dist/entries/layouts/hero-bottom-strip/m0saic_tree.txt +6 -0
  282. package/node_modules/@m0saic/dictionary/dist/entries/layouts/hero-bottom-strip/metadata.json +54 -0
  283. package/node_modules/@m0saic/dictionary/dist/entries/layouts/hero-bottom-strip/wireframe_1080x1080.mp4 +0 -0
  284. package/node_modules/@m0saic/dictionary/dist/entries/layouts/hero-bottom-strip/wireframe_1280x720.mp4 +0 -0
  285. package/node_modules/@m0saic/dictionary/dist/entries/layouts/hero-bottom-strip/wireframe_1920x1080.mp4 +0 -0
  286. package/node_modules/@m0saic/dictionary/dist/entries/layouts/hero-sidebar/index.js +1 -0
  287. package/node_modules/@m0saic/dictionary/dist/entries/layouts/hero-sidebar/m0saic.js +2 -0
  288. package/node_modules/@m0saic/dictionary/dist/entries/layouts/hero-sidebar/m0saic.m0 +7 -0
  289. package/node_modules/@m0saic/dictionary/dist/entries/layouts/hero-sidebar/m0saic_pretty.txt +7 -0
  290. package/node_modules/@m0saic/dictionary/dist/entries/layouts/hero-sidebar/m0saic_tree.txt +5 -0
  291. package/node_modules/@m0saic/dictionary/dist/entries/layouts/hero-sidebar/metadata.json +54 -0
  292. package/node_modules/@m0saic/dictionary/dist/entries/layouts/hero-sidebar/wireframe_1080x1080.mp4 +0 -0
  293. package/node_modules/@m0saic/dictionary/dist/entries/layouts/hero-sidebar/wireframe_1920x1080.mp4 +0 -0
  294. package/node_modules/@m0saic/dictionary/dist/entries/layouts/hero-sidebar/wireframe_2560x1080.mp4 +0 -0
  295. package/node_modules/@m0saic/dictionary/dist/entries/layouts/hero-top-strip/index.js +1 -0
  296. package/node_modules/@m0saic/dictionary/dist/entries/layouts/hero-top-strip/m0saic.js +2 -0
  297. package/node_modules/@m0saic/dictionary/dist/entries/layouts/hero-top-strip/m0saic.m0 +7 -0
  298. package/node_modules/@m0saic/dictionary/dist/entries/layouts/hero-top-strip/m0saic_pretty.txt +8 -0
  299. package/node_modules/@m0saic/dictionary/dist/entries/layouts/hero-top-strip/m0saic_tree.txt +6 -0
  300. package/node_modules/@m0saic/dictionary/dist/entries/layouts/hero-top-strip/metadata.json +52 -0
  301. package/node_modules/@m0saic/dictionary/dist/entries/layouts/index.js +1 -0
  302. package/node_modules/@m0saic/dictionary/dist/entries/layouts/l-shape/index.js +1 -0
  303. package/node_modules/@m0saic/dictionary/dist/entries/layouts/l-shape/m0saic.js +2 -0
  304. package/node_modules/@m0saic/dictionary/dist/entries/layouts/l-shape/m0saic.m0 +7 -0
  305. package/node_modules/@m0saic/dictionary/dist/entries/layouts/l-shape/m0saic_pretty.txt +10 -0
  306. package/node_modules/@m0saic/dictionary/dist/entries/layouts/l-shape/m0saic_tree.txt +7 -0
  307. package/node_modules/@m0saic/dictionary/dist/entries/layouts/l-shape/metadata.json +48 -0
  308. package/node_modules/@m0saic/dictionary/dist/entries/layouts/main-two-supporting/index.js +1 -0
  309. package/node_modules/@m0saic/dictionary/dist/entries/layouts/main-two-supporting/m0saic.js +2 -0
  310. package/node_modules/@m0saic/dictionary/dist/entries/layouts/main-two-supporting/m0saic.m0 +7 -0
  311. package/node_modules/@m0saic/dictionary/dist/entries/layouts/main-two-supporting/m0saic_pretty.txt +8 -0
  312. package/node_modules/@m0saic/dictionary/dist/entries/layouts/main-two-supporting/m0saic_tree.txt +6 -0
  313. package/node_modules/@m0saic/dictionary/dist/entries/layouts/main-two-supporting/metadata.json +50 -0
  314. package/node_modules/@m0saic/dictionary/dist/entries/layouts/sidebar-main/index.js +1 -0
  315. package/node_modules/@m0saic/dictionary/dist/entries/layouts/sidebar-main/m0saic.js +2 -0
  316. package/node_modules/@m0saic/dictionary/dist/entries/layouts/sidebar-main/m0saic.m0 +7 -0
  317. package/node_modules/@m0saic/dictionary/dist/entries/layouts/sidebar-main/m0saic_pretty.txt +7 -0
  318. package/node_modules/@m0saic/dictionary/dist/entries/layouts/sidebar-main/m0saic_tree.txt +5 -0
  319. package/node_modules/@m0saic/dictionary/dist/entries/layouts/sidebar-main/metadata.json +48 -0
  320. package/node_modules/@m0saic/dictionary/dist/entries/layouts/stacked-pairs/index.js +1 -0
  321. package/node_modules/@m0saic/dictionary/dist/entries/layouts/stacked-pairs/m0saic.js +2 -0
  322. package/node_modules/@m0saic/dictionary/dist/entries/layouts/stacked-pairs/m0saic.m0 +7 -0
  323. package/node_modules/@m0saic/dictionary/dist/entries/layouts/stacked-pairs/m0saic_pretty.txt +15 -0
  324. package/node_modules/@m0saic/dictionary/dist/entries/layouts/stacked-pairs/m0saic_tree.txt +11 -0
  325. package/node_modules/@m0saic/dictionary/dist/entries/layouts/stacked-pairs/metadata.json +49 -0
  326. package/node_modules/@m0saic/dictionary/dist/entries/layouts/t-shape/index.js +1 -0
  327. package/node_modules/@m0saic/dictionary/dist/entries/layouts/t-shape/m0saic.js +2 -0
  328. package/node_modules/@m0saic/dictionary/dist/entries/layouts/t-shape/m0saic.m0 +7 -0
  329. package/node_modules/@m0saic/dictionary/dist/entries/layouts/t-shape/m0saic_pretty.txt +12 -0
  330. package/node_modules/@m0saic/dictionary/dist/entries/layouts/t-shape/m0saic_tree.txt +9 -0
  331. package/node_modules/@m0saic/dictionary/dist/entries/layouts/t-shape/metadata.json +49 -0
  332. package/node_modules/@m0saic/dictionary/dist/entries/layouts/three-up/index.js +1 -0
  333. package/node_modules/@m0saic/dictionary/dist/entries/layouts/three-up/m0saic.js +2 -0
  334. package/node_modules/@m0saic/dictionary/dist/entries/layouts/three-up/m0saic.m0 +7 -0
  335. package/node_modules/@m0saic/dictionary/dist/entries/layouts/three-up/m0saic_pretty.txt +7 -0
  336. package/node_modules/@m0saic/dictionary/dist/entries/layouts/three-up/m0saic_tree.txt +5 -0
  337. package/node_modules/@m0saic/dictionary/dist/entries/layouts/three-up/metadata.json +49 -0
  338. package/node_modules/@m0saic/dictionary/dist/entries/layouts/wide-feature/index.js +1 -0
  339. package/node_modules/@m0saic/dictionary/dist/entries/layouts/wide-feature/m0saic.js +2 -0
  340. package/node_modules/@m0saic/dictionary/dist/entries/layouts/wide-feature/m0saic.m0 +7 -0
  341. package/node_modules/@m0saic/dictionary/dist/entries/layouts/wide-feature/m0saic_pretty.txt +14 -0
  342. package/node_modules/@m0saic/dictionary/dist/entries/layouts/wide-feature/m0saic_tree.txt +11 -0
  343. package/node_modules/@m0saic/dictionary/dist/entries/layouts/wide-feature/metadata.json +50 -0
  344. package/node_modules/@m0saic/dictionary/dist/entries/splits/1-2-col/index.js +1 -0
  345. package/node_modules/@m0saic/dictionary/dist/entries/splits/1-2-col/m0saic.js +2 -0
  346. package/node_modules/@m0saic/dictionary/dist/entries/splits/1-2-col/m0saic.m0 +7 -0
  347. package/node_modules/@m0saic/dictionary/dist/entries/splits/1-2-col/m0saic_pretty.txt +5 -0
  348. package/node_modules/@m0saic/dictionary/dist/entries/splits/1-2-col/m0saic_tree.txt +4 -0
  349. package/node_modules/@m0saic/dictionary/dist/entries/splits/1-2-col/metadata.json +50 -0
  350. package/node_modules/@m0saic/dictionary/dist/entries/splits/1-2-row/index.js +1 -0
  351. package/node_modules/@m0saic/dictionary/dist/entries/splits/1-2-row/m0saic.js +2 -0
  352. package/node_modules/@m0saic/dictionary/dist/entries/splits/1-2-row/m0saic.m0 +7 -0
  353. package/node_modules/@m0saic/dictionary/dist/entries/splits/1-2-row/m0saic_pretty.txt +5 -0
  354. package/node_modules/@m0saic/dictionary/dist/entries/splits/1-2-row/m0saic_tree.txt +4 -0
  355. package/node_modules/@m0saic/dictionary/dist/entries/splits/1-2-row/metadata.json +51 -0
  356. package/node_modules/@m0saic/dictionary/dist/entries/splits/2-1-col/index.js +1 -0
  357. package/node_modules/@m0saic/dictionary/dist/entries/splits/2-1-col/m0saic.js +2 -0
  358. package/node_modules/@m0saic/dictionary/dist/entries/splits/2-1-col/m0saic.m0 +7 -0
  359. package/node_modules/@m0saic/dictionary/dist/entries/splits/2-1-col/m0saic_pretty.txt +5 -0
  360. package/node_modules/@m0saic/dictionary/dist/entries/splits/2-1-col/m0saic_tree.txt +4 -0
  361. package/node_modules/@m0saic/dictionary/dist/entries/splits/2-1-col/metadata.json +50 -0
  362. package/node_modules/@m0saic/dictionary/dist/entries/splits/2-1-row/index.js +1 -0
  363. package/node_modules/@m0saic/dictionary/dist/entries/splits/2-1-row/m0saic.js +2 -0
  364. package/node_modules/@m0saic/dictionary/dist/entries/splits/2-1-row/m0saic.m0 +7 -0
  365. package/node_modules/@m0saic/dictionary/dist/entries/splits/2-1-row/m0saic_pretty.txt +5 -0
  366. package/node_modules/@m0saic/dictionary/dist/entries/splits/2-1-row/m0saic_tree.txt +4 -0
  367. package/node_modules/@m0saic/dictionary/dist/entries/splits/2-1-row/metadata.json +51 -0
  368. package/node_modules/@m0saic/dictionary/dist/entries/splits/2-col/index.js +1 -0
  369. package/node_modules/@m0saic/dictionary/dist/entries/splits/2-col/m0saic.js +2 -0
  370. package/node_modules/@m0saic/dictionary/dist/entries/splits/2-col/m0saic.m0 +7 -0
  371. package/node_modules/@m0saic/dictionary/dist/entries/splits/2-col/m0saic_pretty.txt +4 -0
  372. package/node_modules/@m0saic/dictionary/dist/entries/splits/2-col/m0saic_tree.txt +3 -0
  373. package/node_modules/@m0saic/dictionary/dist/entries/splits/2-col/metadata.json +49 -0
  374. package/node_modules/@m0saic/dictionary/dist/entries/splits/2-col/wireframe_1080x1080.mp4 +0 -0
  375. package/node_modules/@m0saic/dictionary/dist/entries/splits/2-col/wireframe_1920x1080.mp4 +0 -0
  376. package/node_modules/@m0saic/dictionary/dist/entries/splits/2-row/index.js +1 -0
  377. package/node_modules/@m0saic/dictionary/dist/entries/splits/2-row/m0saic.js +2 -0
  378. package/node_modules/@m0saic/dictionary/dist/entries/splits/2-row/m0saic.m0 +7 -0
  379. package/node_modules/@m0saic/dictionary/dist/entries/splits/2-row/m0saic_pretty.txt +4 -0
  380. package/node_modules/@m0saic/dictionary/dist/entries/splits/2-row/m0saic_tree.txt +3 -0
  381. package/node_modules/@m0saic/dictionary/dist/entries/splits/2-row/metadata.json +49 -0
  382. package/node_modules/@m0saic/dictionary/dist/entries/splits/3-col/index.js +1 -0
  383. package/node_modules/@m0saic/dictionary/dist/entries/splits/3-col/m0saic.js +2 -0
  384. package/node_modules/@m0saic/dictionary/dist/entries/splits/3-col/m0saic.m0 +7 -0
  385. package/node_modules/@m0saic/dictionary/dist/entries/splits/3-col/m0saic_pretty.txt +5 -0
  386. package/node_modules/@m0saic/dictionary/dist/entries/splits/3-col/m0saic_tree.txt +4 -0
  387. package/node_modules/@m0saic/dictionary/dist/entries/splits/3-col/metadata.json +53 -0
  388. package/node_modules/@m0saic/dictionary/dist/entries/splits/3-col/wireframe_1080x1080.mp4 +0 -0
  389. package/node_modules/@m0saic/dictionary/dist/entries/splits/3-col/wireframe_1920x1080.mp4 +0 -0
  390. package/node_modules/@m0saic/dictionary/dist/entries/splits/3-col/wireframe_2560x1080.mp4 +0 -0
  391. package/node_modules/@m0saic/dictionary/dist/entries/splits/3-row/index.js +1 -0
  392. package/node_modules/@m0saic/dictionary/dist/entries/splits/3-row/m0saic.js +2 -0
  393. package/node_modules/@m0saic/dictionary/dist/entries/splits/3-row/m0saic.m0 +7 -0
  394. package/node_modules/@m0saic/dictionary/dist/entries/splits/3-row/m0saic_pretty.txt +5 -0
  395. package/node_modules/@m0saic/dictionary/dist/entries/splits/3-row/m0saic_tree.txt +4 -0
  396. package/node_modules/@m0saic/dictionary/dist/entries/splits/3-row/metadata.json +54 -0
  397. package/node_modules/@m0saic/dictionary/dist/entries/splits/3-row/wireframe_1080x1080.mp4 +0 -0
  398. package/node_modules/@m0saic/dictionary/dist/entries/splits/3-row/wireframe_1080x1350.mp4 +0 -0
  399. package/node_modules/@m0saic/dictionary/dist/entries/splits/3-row/wireframe_1080x1920.mp4 +0 -0
  400. package/node_modules/@m0saic/dictionary/dist/entries/splits/4-col/index.js +1 -0
  401. package/node_modules/@m0saic/dictionary/dist/entries/splits/4-col/m0saic.js +2 -0
  402. package/node_modules/@m0saic/dictionary/dist/entries/splits/4-col/m0saic.m0 +7 -0
  403. package/node_modules/@m0saic/dictionary/dist/entries/splits/4-col/m0saic_pretty.txt +6 -0
  404. package/node_modules/@m0saic/dictionary/dist/entries/splits/4-col/m0saic_tree.txt +5 -0
  405. package/node_modules/@m0saic/dictionary/dist/entries/splits/4-col/metadata.json +48 -0
  406. package/node_modules/@m0saic/dictionary/dist/entries/splits/4-row/index.js +1 -0
  407. package/node_modules/@m0saic/dictionary/dist/entries/splits/4-row/m0saic.js +2 -0
  408. package/node_modules/@m0saic/dictionary/dist/entries/splits/4-row/m0saic.m0 +7 -0
  409. package/node_modules/@m0saic/dictionary/dist/entries/splits/4-row/m0saic_pretty.txt +6 -0
  410. package/node_modules/@m0saic/dictionary/dist/entries/splits/4-row/m0saic_tree.txt +5 -0
  411. package/node_modules/@m0saic/dictionary/dist/entries/splits/4-row/metadata.json +53 -0
  412. package/node_modules/@m0saic/dictionary/dist/entries/splits/index.js +1 -0
  413. package/node_modules/@m0saic/dictionary/dist/generators/aspectFit.js +1 -0
  414. package/node_modules/@m0saic/dictionary/dist/generators/aspectSafeGrid.js +1 -0
  415. package/node_modules/@m0saic/dictionary/dist/generators/barcodeGenerator.js +1 -0
  416. package/node_modules/@m0saic/dictionary/dist/generators/bentoGridGenerator.js +1 -0
  417. package/node_modules/@m0saic/dictionary/dist/generators/comparisonGenerator.js +1 -0
  418. package/node_modules/@m0saic/dictionary/dist/generators/goldenLayout.js +1 -0
  419. package/node_modules/@m0saic/dictionary/dist/generators/goldenSpiralGenerator.js +1 -0
  420. package/node_modules/@m0saic/dictionary/dist/generators/grid.js +1 -0
  421. package/node_modules/@m0saic/dictionary/dist/generators/index.js +1 -0
  422. package/node_modules/@m0saic/dictionary/dist/generators/labelTier.js +1 -0
  423. package/node_modules/@m0saic/dictionary/dist/generators/magazine.js +1 -0
  424. package/node_modules/@m0saic/dictionary/dist/generators/magazineGenerator.js +1 -0
  425. package/node_modules/@m0saic/dictionary/dist/generators/placeRect.js +1 -0
  426. package/node_modules/@m0saic/dictionary/dist/generators/qrCodeGenerator.js +1 -0
  427. package/node_modules/@m0saic/dictionary/dist/generators/quantizationFix.js +1 -0
  428. package/node_modules/@m0saic/dictionary/dist/generators/rankedListGenerator.js +1 -0
  429. package/node_modules/@m0saic/dictionary/dist/generators/safeCanvas.js +1 -0
  430. package/node_modules/@m0saic/dictionary/dist/generators/snapGrid.js +1 -0
  431. package/node_modules/@m0saic/dictionary/dist/generators/spotlightGenerator.js +1 -0
  432. package/node_modules/@m0saic/dictionary/dist/generators/types.js +1 -0
  433. package/node_modules/@m0saic/dictionary/dist/index.js +1 -0
  434. package/node_modules/@m0saic/dictionary/dist/loadEntryM0.js +2 -0
  435. package/node_modules/@m0saic/dictionary/dist/operations/descriptors.js +1 -0
  436. package/node_modules/@m0saic/dictionary/dist/operations/index.js +1 -0
  437. package/node_modules/@m0saic/dictionary/dist/operations/types.js +1 -0
  438. package/node_modules/@m0saic/dictionary/dist/registry.js +1 -0
  439. package/node_modules/@m0saic/dictionary/dist/resolve.js +1 -0
  440. package/node_modules/@m0saic/dictionary/dist/sourceOrder.js +1 -0
  441. package/node_modules/@m0saic/dictionary/package.json +6 -0
  442. package/node_modules/@m0saic/dsl/LICENSE +201 -0
  443. package/node_modules/@m0saic/dsl/NOTICE +13 -0
  444. package/node_modules/@m0saic/dsl/README.md +417 -0
  445. package/node_modules/@m0saic/dsl/dist/cjs/complexity/complexity.js +1 -0
  446. package/node_modules/@m0saic/dsl/dist/cjs/complexity/index.js +1 -0
  447. package/node_modules/@m0saic/dsl/dist/cjs/equality/equality.js +1 -0
  448. package/node_modules/@m0saic/dsl/dist/cjs/equality/index.js +1 -0
  449. package/node_modules/@m0saic/dsl/dist/cjs/errors/errors.js +1 -0
  450. package/node_modules/@m0saic/dsl/dist/cjs/errors/index.js +1 -0
  451. package/node_modules/@m0saic/dsl/dist/cjs/feasibility/computeFeasibility.js +1 -0
  452. package/node_modules/@m0saic/dsl/dist/cjs/feasibility/index.js +1 -0
  453. package/node_modules/@m0saic/dsl/dist/cjs/format/index.js +1 -0
  454. package/node_modules/@m0saic/dsl/dist/cjs/format/m0StringCompact.js +1 -0
  455. package/node_modules/@m0saic/dsl/dist/cjs/format/m0StringFormat.js +1 -0
  456. package/node_modules/@m0saic/dsl/dist/cjs/index.js +1 -0
  457. package/node_modules/@m0saic/dsl/dist/cjs/internal/m0LexUtils.js +1 -0
  458. package/node_modules/@m0saic/dsl/dist/cjs/parse/index.js +1 -0
  459. package/node_modules/@m0saic/dsl/dist/cjs/parse/m0StringParser.js +1 -0
  460. package/node_modules/@m0saic/dsl/dist/cjs/parse/sortDeferredOverlays.js +1 -0
  461. package/node_modules/@m0saic/dsl/dist/cjs/types.js +1 -0
  462. package/node_modules/@m0saic/dsl/dist/cjs/validate/index.js +1 -0
  463. package/node_modules/@m0saic/dsl/dist/cjs/validate/m0StringValidator.js +1 -0
  464. package/node_modules/@m0saic/dsl/dist/cjs/warnings/index.js +1 -0
  465. package/node_modules/@m0saic/dsl/dist/cjs/warnings/warnings.js +1 -0
  466. package/node_modules/@m0saic/dsl/package.json +14 -0
  467. package/node_modules/@m0saic/dsl-file-formats/LICENSE +201 -0
  468. package/node_modules/@m0saic/dsl-file-formats/NOTICE +13 -0
  469. package/node_modules/@m0saic/dsl-file-formats/README.md +241 -0
  470. package/node_modules/@m0saic/dsl-file-formats/assets/icons/m0.svg +29 -0
  471. package/node_modules/@m0saic/dsl-file-formats/assets/icons/m0c.svg +29 -0
  472. package/node_modules/@m0saic/dsl-file-formats/assets/icons/m0p.svg +29 -0
  473. package/node_modules/@m0saic/dsl-file-formats/assets/icons/m0v.svg +29 -0
  474. package/node_modules/@m0saic/dsl-file-formats/dist/cjs/conversions.js +1 -0
  475. package/node_modules/@m0saic/dsl-file-formats/dist/cjs/derive.js +1 -0
  476. package/node_modules/@m0saic/dsl-file-formats/dist/cjs/edit/editFileMeta.js +1 -0
  477. package/node_modules/@m0saic/dsl-file-formats/dist/cjs/edit/index.js +1 -0
  478. package/node_modules/@m0saic/dsl-file-formats/dist/cjs/index.js +1 -0
  479. package/node_modules/@m0saic/dsl-file-formats/dist/cjs/m0/index.js +1 -0
  480. package/node_modules/@m0saic/dsl-file-formats/dist/cjs/m0/parseM0File.js +1 -0
  481. package/node_modules/@m0saic/dsl-file-formats/dist/cjs/m0/serializeM0File.js +3 -0
  482. package/node_modules/@m0saic/dsl-file-formats/dist/cjs/m0Validation.js +1 -0
  483. package/node_modules/@m0saic/dsl-file-formats/dist/cjs/m0c/index.js +1 -0
  484. package/node_modules/@m0saic/dsl-file-formats/dist/cjs/m0c/m0cFile.js +5 -0
  485. package/node_modules/@m0saic/dsl-file-formats/dist/cjs/m0p/index.js +1 -0
  486. package/node_modules/@m0saic/dsl-file-formats/dist/cjs/m0p/m0pFile.js +2 -0
  487. package/node_modules/@m0saic/dsl-file-formats/dist/cjs/m0v/index.js +1 -0
  488. package/node_modules/@m0saic/dsl-file-formats/dist/cjs/m0v/m0vFile.js +2 -0
  489. package/node_modules/@m0saic/dsl-file-formats/dist/cjs/types.js +1 -0
  490. package/node_modules/@m0saic/dsl-file-formats/dist/cjs/validate/index.js +1 -0
  491. package/node_modules/@m0saic/dsl-file-formats/dist/cjs/validate/types.js +1 -0
  492. package/node_modules/@m0saic/dsl-file-formats/dist/cjs/validate/validateFill.js +1 -0
  493. package/node_modules/@m0saic/dsl-file-formats/dist/cjs/validate/validateInsets.js +1 -0
  494. package/node_modules/@m0saic/dsl-file-formats/dist/cjs/validate/validateLabels.js +1 -0
  495. package/node_modules/@m0saic/dsl-file-formats/dist/cjs/validate/validatePack.js +1 -0
  496. package/node_modules/@m0saic/dsl-file-formats/package.json +14 -0
  497. package/node_modules/@m0saic/dsl-stdlib/LICENSE +201 -0
  498. package/node_modules/@m0saic/dsl-stdlib/NOTICE +13 -0
  499. package/node_modules/@m0saic/dsl-stdlib/README.md +388 -0
  500. package/node_modules/@m0saic/dsl-stdlib/dist/cjs/builders/_internal/barSplit.js +1 -0
  501. package/node_modules/@m0saic/dsl-stdlib/dist/cjs/builders/_internal/packLeafRects.js +1 -0
  502. package/node_modules/@m0saic/dsl-stdlib/dist/cjs/builders/aspectFit.js +1 -0
  503. package/node_modules/@m0saic/dsl-stdlib/dist/cjs/builders/aspectSafeGrid.js +1 -0
  504. package/node_modules/@m0saic/dsl-stdlib/dist/cjs/builders/bakeInsets.js +1 -0
  505. package/node_modules/@m0saic/dsl-stdlib/dist/cjs/builders/compactDocument.js +1 -0
  506. package/node_modules/@m0saic/dsl-stdlib/dist/cjs/builders/compactLossless.js +1 -0
  507. package/node_modules/@m0saic/dsl-stdlib/dist/cjs/builders/comparison.js +1 -0
  508. package/node_modules/@m0saic/dsl-stdlib/dist/cjs/builders/container.js +1 -0
  509. package/node_modules/@m0saic/dsl-stdlib/dist/cjs/builders/equalSplit.js +1 -0
  510. package/node_modules/@m0saic/dsl-stdlib/dist/cjs/builders/golden.js +1 -0
  511. package/node_modules/@m0saic/dsl-stdlib/dist/cjs/builders/grid.js +1 -0
  512. package/node_modules/@m0saic/dsl-stdlib/dist/cjs/builders/index.js +1 -0
  513. package/node_modules/@m0saic/dsl-stdlib/dist/cjs/builders/placeInsetRects.js +1 -0
  514. package/node_modules/@m0saic/dsl-stdlib/dist/cjs/builders/placeOptimizedRects.js +1 -0
  515. package/node_modules/@m0saic/dsl-stdlib/dist/cjs/builders/placeRect.js +1 -0
  516. package/node_modules/@m0saic/dsl-stdlib/dist/cjs/builders/placeRects.js +1 -0
  517. package/node_modules/@m0saic/dsl-stdlib/dist/cjs/builders/rankedList.js +1 -0
  518. package/node_modules/@m0saic/dsl-stdlib/dist/cjs/builders/rebuildRects.js +1 -0
  519. package/node_modules/@m0saic/dsl-stdlib/dist/cjs/builders/safeCanvas.js +1 -0
  520. package/node_modules/@m0saic/dsl-stdlib/dist/cjs/builders/scale.js +1 -0
  521. package/node_modules/@m0saic/dsl-stdlib/dist/cjs/builders/snapGrid.js +1 -0
  522. package/node_modules/@m0saic/dsl-stdlib/dist/cjs/builders/snapRectPrecision.js +1 -0
  523. package/node_modules/@m0saic/dsl-stdlib/dist/cjs/builders/spotlight.js +1 -0
  524. package/node_modules/@m0saic/dsl-stdlib/dist/cjs/builders/strip.js +1 -0
  525. package/node_modules/@m0saic/dsl-stdlib/dist/cjs/builders/weightedSplit.js +1 -0
  526. package/node_modules/@m0saic/dsl-stdlib/dist/cjs/builders/weightedTokens.js +1 -0
  527. package/node_modules/@m0saic/dsl-stdlib/dist/cjs/constructors/index.js +1 -0
  528. package/node_modules/@m0saic/dsl-stdlib/dist/cjs/constructors/toM0FileText.js +1 -0
  529. package/node_modules/@m0saic/dsl-stdlib/dist/cjs/constructors/toM0String.js +4 -0
  530. package/node_modules/@m0saic/dsl-stdlib/dist/cjs/index.js +1 -0
  531. package/node_modules/@m0saic/dsl-stdlib/dist/cjs/libraries/barcode/barcodeChannels.js +1 -0
  532. package/node_modules/@m0saic/dsl-stdlib/dist/cjs/libraries/barcode/barcodeToBars.js +1 -0
  533. package/node_modules/@m0saic/dsl-stdlib/dist/cjs/libraries/barcode/barcodeToM0.js +1 -0
  534. package/node_modules/@m0saic/dsl-stdlib/dist/cjs/libraries/barcode/barcodeToM0c.js +1 -0
  535. package/node_modules/@m0saic/dsl-stdlib/dist/cjs/libraries/barcode/barcodeToRects.js +1 -0
  536. package/node_modules/@m0saic/dsl-stdlib/dist/cjs/libraries/barcode/code128.js +1 -0
  537. package/node_modules/@m0saic/dsl-stdlib/dist/cjs/libraries/barcode/ean13.js +1 -0
  538. package/node_modules/@m0saic/dsl-stdlib/dist/cjs/libraries/barcode/eanShared.js +1 -0
  539. package/node_modules/@m0saic/dsl-stdlib/dist/cjs/libraries/barcode/index.js +1 -0
  540. package/node_modules/@m0saic/dsl-stdlib/dist/cjs/libraries/barcode/types.js +1 -0
  541. package/node_modules/@m0saic/dsl-stdlib/dist/cjs/libraries/barcode/upca.js +1 -0
  542. package/node_modules/@m0saic/dsl-stdlib/dist/cjs/libraries/bitmap/binaryGridToM0.js +1 -0
  543. package/node_modules/@m0saic/dsl-stdlib/dist/cjs/libraries/bitmap/classifyPixels.js +1 -0
  544. package/node_modules/@m0saic/dsl-stdlib/dist/cjs/libraries/bitmap/despeckleGrid.js +1 -0
  545. package/node_modules/@m0saic/dsl-stdlib/dist/cjs/libraries/bitmap/index.js +1 -0
  546. package/node_modules/@m0saic/dsl-stdlib/dist/cjs/libraries/bitmap/labelAreas.js +1 -0
  547. package/node_modules/@m0saic/dsl-stdlib/dist/cjs/libraries/bitmap/types.js +1 -0
  548. package/node_modules/@m0saic/dsl-stdlib/dist/cjs/libraries/bitmap/visualSidecars.js +13 -0
  549. package/node_modules/@m0saic/dsl-stdlib/dist/cjs/libraries/index.js +1 -0
  550. package/node_modules/@m0saic/dsl-stdlib/dist/cjs/libraries/mask-shapes/index.js +1 -0
  551. package/node_modules/@m0saic/dsl-stdlib/dist/cjs/libraries/qr/encoder.js +1 -0
  552. package/node_modules/@m0saic/dsl-stdlib/dist/cjs/libraries/qr/index.js +1 -0
  553. package/node_modules/@m0saic/dsl-stdlib/dist/cjs/libraries/qr/mask.js +1 -0
  554. package/node_modules/@m0saic/dsl-stdlib/dist/cjs/libraries/qr/matrix.js +1 -0
  555. package/node_modules/@m0saic/dsl-stdlib/dist/cjs/libraries/qr/packDarkCells.js +1 -0
  556. package/node_modules/@m0saic/dsl-stdlib/dist/cjs/libraries/qr/qrPayloads.js +2 -0
  557. package/node_modules/@m0saic/dsl-stdlib/dist/cjs/libraries/qr/qrToM0.js +1 -0
  558. package/node_modules/@m0saic/dsl-stdlib/dist/cjs/libraries/qr/qrToM0c.js +1 -0
  559. package/node_modules/@m0saic/dsl-stdlib/dist/cjs/libraries/qr/qrToMatrix.js +1 -0
  560. package/node_modules/@m0saic/dsl-stdlib/dist/cjs/libraries/qr/qrToRects.js +1 -0
  561. package/node_modules/@m0saic/dsl-stdlib/dist/cjs/libraries/qr/reedSolomon.js +1 -0
  562. package/node_modules/@m0saic/dsl-stdlib/dist/cjs/libraries/qr/types.js +1 -0
  563. package/node_modules/@m0saic/dsl-stdlib/dist/cjs/libraries/qr/version.js +1 -0
  564. package/node_modules/@m0saic/dsl-stdlib/dist/cjs/libraries/ranks/customRankSet.js +1 -0
  565. package/node_modules/@m0saic/dsl-stdlib/dist/cjs/libraries/ranks/customStableKeyRankSet.js +1 -0
  566. package/node_modules/@m0saic/dsl-stdlib/dist/cjs/libraries/ranks/generateRankSet.js +1 -0
  567. package/node_modules/@m0saic/dsl-stdlib/dist/cjs/libraries/ranks/generateStableKeyRankSet.js +1 -0
  568. package/node_modules/@m0saic/dsl-stdlib/dist/cjs/libraries/ranks/index.js +1 -0
  569. package/node_modules/@m0saic/dsl-stdlib/dist/cjs/libraries/ranks/rankFramesFromM0.js +1 -0
  570. package/node_modules/@m0saic/dsl-stdlib/dist/cjs/libraries/ranks/types.js +1 -0
  571. package/node_modules/@m0saic/dsl-stdlib/dist/cjs/libraries/svg/enumerateSvgToM0.js +1 -0
  572. package/node_modules/@m0saic/dsl-stdlib/dist/cjs/libraries/svg/extractGeometry.js +1 -0
  573. package/node_modules/@m0saic/dsl-stdlib/dist/cjs/libraries/svg/generateMasks.js +1 -0
  574. package/node_modules/@m0saic/dsl-stdlib/dist/cjs/libraries/svg/generateMasksByStableKey.js +1 -0
  575. package/node_modules/@m0saic/dsl-stdlib/dist/cjs/libraries/svg/index.js +1 -0
  576. package/node_modules/@m0saic/dsl-stdlib/dist/cjs/libraries/svg/inferGrid.js +1 -0
  577. package/node_modules/@m0saic/dsl-stdlib/dist/cjs/libraries/svg/parseSvg.js +1 -0
  578. package/node_modules/@m0saic/dsl-stdlib/dist/cjs/libraries/svg/rectsToM0.js +1 -0
  579. package/node_modules/@m0saic/dsl-stdlib/dist/cjs/libraries/svg/svgToM0.js +1 -0
  580. package/node_modules/@m0saic/dsl-stdlib/dist/cjs/libraries/svg/types.js +1 -0
  581. package/node_modules/@m0saic/dsl-stdlib/dist/cjs/mirroredTypes.js +1 -0
  582. package/node_modules/@m0saic/dsl-stdlib/dist/cjs/queries/evaluateM0.js +1 -0
  583. package/node_modules/@m0saic/dsl-stdlib/dist/cjs/queries/extractNodeByStableId.js +1 -0
  584. package/node_modules/@m0saic/dsl-stdlib/dist/cjs/queries/findFrames.js +1 -0
  585. package/node_modules/@m0saic/dsl-stdlib/dist/cjs/queries/getLayerCount.js +1 -0
  586. package/node_modules/@m0saic/dsl-stdlib/dist/cjs/queries/hasOverlayAtSpan.js +1 -0
  587. package/node_modules/@m0saic/dsl-stdlib/dist/cjs/queries/index.js +1 -0
  588. package/node_modules/@m0saic/dsl-stdlib/dist/cjs/queries/quantizationSpread.js +1 -0
  589. package/node_modules/@m0saic/dsl-stdlib/dist/cjs/queries/queryFrames.js +1 -0
  590. package/node_modules/@m0saic/dsl-stdlib/dist/cjs/queries/withinBounds.js +1 -0
  591. package/node_modules/@m0saic/dsl-stdlib/dist/cjs/transforms/_internal/constants.js +1 -0
  592. package/node_modules/@m0saic/dsl-stdlib/dist/cjs/transforms/_internal/index.js +1 -0
  593. package/node_modules/@m0saic/dsl-stdlib/dist/cjs/transforms/_internal/lexUtils.js +1 -0
  594. package/node_modules/@m0saic/dsl-stdlib/dist/cjs/transforms/_internal/output.js +1 -0
  595. package/node_modules/@m0saic/dsl-stdlib/dist/cjs/transforms/_internal/resolveSpanByStableId.js +1 -0
  596. package/node_modules/@m0saic/dsl-stdlib/dist/cjs/transforms/_internal/walkByLogicalIndex.js +1 -0
  597. package/node_modules/@m0saic/dsl-stdlib/dist/cjs/transforms/compose.js +1 -0
  598. package/node_modules/@m0saic/dsl-stdlib/dist/cjs/transforms/composed/measure/_internal/buildMeasureFragment.js +1 -0
  599. package/node_modules/@m0saic/dsl-stdlib/dist/cjs/transforms/composed/measure/index.js +1 -0
  600. package/node_modules/@m0saic/dsl-stdlib/dist/cjs/transforms/composed/measure/measureSplitByLogicalIndex.js +1 -0
  601. package/node_modules/@m0saic/dsl-stdlib/dist/cjs/transforms/composed/measure/measureSplitBySpan.js +1 -0
  602. package/node_modules/@m0saic/dsl-stdlib/dist/cjs/transforms/composed/measure/measureSplitByStableId.js +1 -0
  603. package/node_modules/@m0saic/dsl-stdlib/dist/cjs/transforms/composed/overlay/addOverlayToAllFrames.js +1 -0
  604. package/node_modules/@m0saic/dsl-stdlib/dist/cjs/transforms/composed/overlay/index.js +1 -0
  605. package/node_modules/@m0saic/dsl-stdlib/dist/cjs/transforms/composed/swap/index.js +1 -0
  606. package/node_modules/@m0saic/dsl-stdlib/dist/cjs/transforms/composed/swap/swapFramesByLogicalIndex.js +1 -0
  607. package/node_modules/@m0saic/dsl-stdlib/dist/cjs/transforms/index.js +1 -0
  608. package/node_modules/@m0saic/dsl-stdlib/dist/cjs/transforms/pipe.js +1 -0
  609. package/node_modules/@m0saic/dsl-stdlib/dist/cjs/transforms/primitives/frame/index.js +1 -0
  610. package/node_modules/@m0saic/dsl-stdlib/dist/cjs/transforms/primitives/frame/setFrameTypeByLogicalIndex.js +1 -0
  611. package/node_modules/@m0saic/dsl-stdlib/dist/cjs/transforms/primitives/overlay/addOverlayByLogicalIndex.js +1 -0
  612. package/node_modules/@m0saic/dsl-stdlib/dist/cjs/transforms/primitives/overlay/addOverlayBySpan.js +1 -0
  613. package/node_modules/@m0saic/dsl-stdlib/dist/cjs/transforms/primitives/overlay/addOverlayByStableId.js +1 -0
  614. package/node_modules/@m0saic/dsl-stdlib/dist/cjs/transforms/primitives/overlay/addOverlayLayer.js +1 -0
  615. package/node_modules/@m0saic/dsl-stdlib/dist/cjs/transforms/primitives/overlay/index.js +1 -0
  616. package/node_modules/@m0saic/dsl-stdlib/dist/cjs/transforms/primitives/overlay/removeOverlayByLogicalIndex.js +1 -0
  617. package/node_modules/@m0saic/dsl-stdlib/dist/cjs/transforms/primitives/overlay/removeOverlayBySpan.js +1 -0
  618. package/node_modules/@m0saic/dsl-stdlib/dist/cjs/transforms/primitives/overlay/removeOverlayByStableId.js +1 -0
  619. package/node_modules/@m0saic/dsl-stdlib/dist/cjs/transforms/primitives/overlay/removePureNullLayers.js +1 -0
  620. package/node_modules/@m0saic/dsl-stdlib/dist/cjs/transforms/primitives/overlay/wrapBelowByLogicalIndex.js +1 -0
  621. package/node_modules/@m0saic/dsl-stdlib/dist/cjs/transforms/primitives/replace/index.js +1 -0
  622. package/node_modules/@m0saic/dsl-stdlib/dist/cjs/transforms/primitives/replace/replaceNodeByLogicalIndex.js +1 -0
  623. package/node_modules/@m0saic/dsl-stdlib/dist/cjs/transforms/primitives/replace/replaceNodeBySpan.js +1 -0
  624. package/node_modules/@m0saic/dsl-stdlib/dist/cjs/transforms/primitives/replace/replaceNodeByStableId.js +1 -0
  625. package/node_modules/@m0saic/dsl-stdlib/dist/cjs/transforms/primitives/split/_internal/buildSplitFragment.js +1 -0
  626. package/node_modules/@m0saic/dsl-stdlib/dist/cjs/transforms/primitives/split/index.js +1 -0
  627. package/node_modules/@m0saic/dsl-stdlib/dist/cjs/transforms/primitives/split/reduceSplitCounts.js +1 -0
  628. package/node_modules/@m0saic/dsl-stdlib/dist/cjs/transforms/primitives/split/splitByLogicalIndex.js +1 -0
  629. package/node_modules/@m0saic/dsl-stdlib/dist/cjs/transforms/primitives/split/splitBySpan.js +1 -0
  630. package/node_modules/@m0saic/dsl-stdlib/dist/cjs/transforms/primitives/split/splitByStableId.js +1 -0
  631. package/node_modules/@m0saic/dsl-stdlib/dist/cjs/transforms/primitives/tile/index.js +1 -0
  632. package/node_modules/@m0saic/dsl-stdlib/dist/cjs/transforms/primitives/tile/setTileTypeBySpan.js +1 -0
  633. package/node_modules/@m0saic/dsl-stdlib/dist/cjs/transforms/primitives/tile/setTileTypeByStableId.js +1 -0
  634. package/node_modules/@m0saic/dsl-stdlib/dist/cjs/transforms/rewriteOverlayChains.js +1 -0
  635. package/node_modules/@m0saic/dsl-stdlib/dist/cjs/transforms/types.js +1 -0
  636. package/node_modules/@m0saic/dsl-stdlib/dist/cjs/transforms/unified/addOverlay.js +1 -0
  637. package/node_modules/@m0saic/dsl-stdlib/dist/cjs/transforms/unified/index.js +1 -0
  638. package/node_modules/@m0saic/dsl-stdlib/dist/cjs/transforms/unified/measureSplit.js +1 -0
  639. package/node_modules/@m0saic/dsl-stdlib/dist/cjs/transforms/unified/removeOverlay.js +1 -0
  640. package/node_modules/@m0saic/dsl-stdlib/dist/cjs/transforms/unified/replace.js +1 -0
  641. package/node_modules/@m0saic/dsl-stdlib/dist/cjs/transforms/unified/setTileType.js +1 -0
  642. package/node_modules/@m0saic/dsl-stdlib/dist/cjs/transforms/unified/split.js +1 -0
  643. package/node_modules/@m0saic/dsl-stdlib/dist/cjs/transforms/unified/swapFrames.js +1 -0
  644. package/node_modules/@m0saic/dsl-stdlib/dist/cjs/transforms/withHistory.js +1 -0
  645. package/node_modules/@m0saic/dsl-stdlib/dist/cjs/transforms/withInverse.js +1 -0
  646. package/node_modules/@m0saic/dsl-stdlib/dist/cjs/types.js +1 -0
  647. package/node_modules/@m0saic/dsl-stdlib/dist/cjs/vendor/abs-svg-path/index.js +1 -0
  648. package/node_modules/@m0saic/dsl-stdlib/dist/cjs/vendor/is-svg-path/index.js +1 -0
  649. package/node_modules/@m0saic/dsl-stdlib/dist/cjs/vendor/normalize-svg-path/index.js +1 -0
  650. package/node_modules/@m0saic/dsl-stdlib/dist/cjs/vendor/parse-svg-path/index.js +1 -0
  651. package/node_modules/@m0saic/dsl-stdlib/dist/cjs/vendor/svg-arc-to-cubic-bezier/index.js +1 -0
  652. package/node_modules/@m0saic/dsl-stdlib/dist/cjs/vendor/svg-path-bounds/index.js +1 -0
  653. package/node_modules/@m0saic/dsl-stdlib/package.json +14 -0
  654. package/node_modules/@m0saic/momo-types/LICENSE +201 -0
  655. package/node_modules/@m0saic/momo-types/NOTICE +13 -0
  656. package/node_modules/@m0saic/momo-types/dist/agent.js +6 -0
  657. package/node_modules/@m0saic/momo-types/dist/candidate.js +1 -0
  658. package/node_modules/@m0saic/momo-types/dist/category.js +1 -0
  659. package/node_modules/@m0saic/momo-types/dist/context.js +1 -0
  660. package/node_modules/@m0saic/momo-types/dist/index.js +1 -0
  661. package/node_modules/@m0saic/momo-types/dist/party.js +1 -0
  662. package/node_modules/@m0saic/momo-types/dist/region.js +1 -0
  663. package/node_modules/@m0saic/momo-types/dist/scoring.js +1 -0
  664. package/node_modules/@m0saic/momo-types/dist/session-summary.js +1 -0
  665. package/node_modules/@m0saic/momo-types/dist/session.js +1 -0
  666. package/node_modules/@m0saic/momo-types/package.json +16 -0
  667. package/node_modules/@m0saic/platform/LICENSE +201 -0
  668. package/node_modules/@m0saic/platform/NOTICE +13 -0
  669. package/node_modules/@m0saic/platform/dist/cjs/asset/index.js +1 -0
  670. package/node_modules/@m0saic/platform/dist/cjs/asset/resolveAsset.js +1 -0
  671. package/node_modules/@m0saic/platform/dist/cjs/asset/slugifyAssetKey.js +1 -0
  672. package/node_modules/@m0saic/platform/dist/cjs/bridges/protocol.js +1 -0
  673. package/node_modules/@m0saic/platform/dist/cjs/communityM/claimOrder.js +1 -0
  674. package/node_modules/@m0saic/platform/dist/cjs/communityM/index.js +1 -0
  675. package/node_modules/@m0saic/platform/dist/cjs/communityM/mTiles.generated.js +1 -0
  676. package/node_modules/@m0saic/platform/dist/cjs/communityM/node/hostCommunityDir.js +1 -0
  677. package/node_modules/@m0saic/platform/dist/cjs/communityM/node/index.js +1 -0
  678. package/node_modules/@m0saic/platform/dist/cjs/communityM/node/loadCommunityManifestFromDir.js +1 -0
  679. package/node_modules/@m0saic/platform/dist/cjs/communityM/node/validateCommunityPiece.js +1 -0
  680. package/node_modules/@m0saic/platform/dist/cjs/communityM/parseCommunityMManifest.js +1 -0
  681. package/node_modules/@m0saic/platform/dist/cjs/communityM/placeholderArt.js +1 -0
  682. package/node_modules/@m0saic/platform/dist/cjs/communityM/tileState.js +1 -0
  683. package/node_modules/@m0saic/platform/dist/cjs/ffexpr/balance.js +1 -0
  684. package/node_modules/@m0saic/platform/dist/cjs/ffexpr/compile.js +1 -0
  685. package/node_modules/@m0saic/platform/dist/cjs/ffexpr/ffmpeg.js +1 -0
  686. package/node_modules/@m0saic/platform/dist/cjs/ffexpr/guards.js +1 -0
  687. package/node_modules/@m0saic/platform/dist/cjs/ffexpr/index.js +1 -0
  688. package/node_modules/@m0saic/platform/dist/cjs/ffexpr/macros.js +1 -0
  689. package/node_modules/@m0saic/platform/dist/cjs/ffexpr/overlay.js +1 -0
  690. package/node_modules/@m0saic/platform/dist/cjs/ffexpr/time.js +1 -0
  691. package/node_modules/@m0saic/platform/dist/cjs/ffexpr/window.js +1 -0
  692. package/node_modules/@m0saic/platform/dist/cjs/host-connections/fileConnectionResolver.js +1 -0
  693. package/node_modules/@m0saic/platform/dist/cjs/host-connections/index.js +1 -0
  694. package/node_modules/@m0saic/platform/dist/cjs/index.js +1 -0
  695. package/node_modules/@m0saic/platform/dist/cjs/jobs/index.js +1 -0
  696. package/node_modules/@m0saic/platform/dist/cjs/jobs/types.js +1 -0
  697. package/node_modules/@m0saic/platform/dist/cjs/language/index.js +1 -0
  698. package/node_modules/@m0saic/platform/dist/cjs/language/language.js +1 -0
  699. package/node_modules/@m0saic/platform/dist/cjs/media/expandFolder.js +1 -0
  700. package/node_modules/@m0saic/platform/dist/cjs/media/index.js +1 -0
  701. package/node_modules/@m0saic/platform/dist/cjs/mosaic/absolutizeManifestPathsWeb.js +1 -0
  702. package/node_modules/@m0saic/platform/dist/cjs/mosaic/edit/applyRectEditToMosaicDocument.js +1 -0
  703. package/node_modules/@m0saic/platform/dist/cjs/mosaic/edit/bakeDocumentInsets.js +1 -0
  704. package/node_modules/@m0saic/platform/dist/cjs/mosaic/edit/index.js +1 -0
  705. package/node_modules/@m0saic/platform/dist/cjs/mosaic/edit/rebuildDocumentGeometry.js +1 -0
  706. package/node_modules/@m0saic/platform/dist/cjs/mosaic/flatten/flattenMosaicDocument.js +1 -0
  707. package/node_modules/@m0saic/platform/dist/cjs/mosaic/flatten/index.js +1 -0
  708. package/node_modules/@m0saic/platform/dist/cjs/mosaic/layoutFloors/index.js +1 -0
  709. package/node_modules/@m0saic/platform/dist/cjs/mosaic/layoutFloors/layoutFloors.js +1 -0
  710. package/node_modules/@m0saic/platform/dist/cjs/mosaic/loadMosaicDocument.js +1 -0
  711. package/node_modules/@m0saic/platform/dist/cjs/mosaic/loadMosaicXDocument.js +1 -0
  712. package/node_modules/@m0saic/platform/dist/cjs/mosaic/outputKind/index.js +1 -0
  713. package/node_modules/@m0saic/platform/dist/cjs/mosaic/outputKind/outputKind.js +1 -0
  714. package/node_modules/@m0saic/platform/dist/cjs/mosaic/propBindings/index.js +1 -0
  715. package/node_modules/@m0saic/platform/dist/cjs/mosaic/propBindings/propBindings.js +1 -0
  716. package/node_modules/@m0saic/platform/dist/cjs/mosaic/serializeMosaicDocument.js +1 -0
  717. package/node_modules/@m0saic/platform/dist/cjs/mosaic/validate/index.js +1 -0
  718. package/node_modules/@m0saic/platform/dist/cjs/mosaic/validate/validateAssetManifest.js +1 -0
  719. package/node_modules/@m0saic/platform/dist/cjs/mosaic/validate/validateLavfiSource.js +1 -0
  720. package/node_modules/@m0saic/platform/dist/cjs/mosaic/validate/validateMosaicDocument.js +1 -0
  721. package/node_modules/@m0saic/platform/dist/cjs/mosaic/validate/validateMosaicOutput.js +1 -0
  722. package/node_modules/@m0saic/platform/dist/cjs/mosaic/validate/validateMosaicXDocument.js +1 -0
  723. package/node_modules/@m0saic/platform/dist/cjs/mosaic/validate/validateSerializedMosaicDocument.js +1 -0
  724. package/node_modules/@m0saic/platform/dist/cjs/mosaic/validate/validateSources.js +1 -0
  725. package/node_modules/@m0saic/platform/dist/cjs/mosaic/validate/validateVariableSchema.js +1 -0
  726. package/node_modules/@m0saic/platform/dist/cjs/output/index.js +1 -0
  727. package/node_modules/@m0saic/platform/dist/cjs/output/validateOutputConfig.js +1 -0
  728. package/node_modules/@m0saic/platform/dist/cjs/paths/index.js +1 -0
  729. package/node_modules/@m0saic/platform/dist/cjs/paths/m0saicRoot.js +1 -0
  730. package/node_modules/@m0saic/platform/dist/cjs/paths/tempPrefix.js +1 -0
  731. package/node_modules/@m0saic/platform/dist/cjs/secrets/envSecretResolver.js +1 -0
  732. package/node_modules/@m0saic/platform/dist/cjs/secrets/index.js +1 -0
  733. package/node_modules/@m0saic/platform/dist/cjs/secrets/keychainSecretResolver.js +1 -0
  734. package/node_modules/@m0saic/platform/dist/cjs/secrets/schemeSecretResolver.js +1 -0
  735. package/node_modules/@m0saic/platform/dist/cjs/share/index.js +1 -0
  736. package/node_modules/@m0saic/platform/dist/cjs/share/mosaicxLink.js +1 -0
  737. package/node_modules/@m0saic/platform/dist/cjs/share/payloadCodec.js +1 -0
  738. package/node_modules/@m0saic/platform/dist/cjs/share/portableProps.js +1 -0
  739. package/node_modules/@m0saic/platform/dist/cjs/share/shareQuery.js +1 -0
  740. package/node_modules/@m0saic/platform/dist/cjs/system/index.js +1 -0
  741. package/node_modules/@m0saic/platform/dist/cjs/system/systemInfo.js +1 -0
  742. package/node_modules/@m0saic/platform/dist/cjs/telemetry/hostFingerprint.js +1 -0
  743. package/node_modules/@m0saic/platform/dist/cjs/telemetry/index.js +1 -0
  744. package/node_modules/@m0saic/platform/dist/cjs/telemetry/lifecycle.js +1 -0
  745. package/node_modules/@m0saic/platform/dist/cjs/telemetry/machineFactor.js +1 -0
  746. package/node_modules/@m0saic/platform/dist/cjs/telemetry/outbox.js +2 -0
  747. package/node_modules/@m0saic/platform/dist/cjs/telemetry/paths.js +1 -0
  748. package/node_modules/@m0saic/platform/dist/cjs/telemetry/preview.js +1 -0
  749. package/node_modules/@m0saic/platform/dist/cjs/telemetry/recordStore.js +3 -0
  750. package/node_modules/@m0saic/platform/dist/cjs/telemetry/recorder.js +1 -0
  751. package/node_modules/@m0saic/platform/dist/cjs/telemetry/redactor.js +1 -0
  752. package/node_modules/@m0saic/platform/dist/cjs/telemetry/renderRecord.js +1 -0
  753. package/node_modules/@m0saic/platform/dist/cjs/telemetry/rollup.js +1 -0
  754. package/node_modules/@m0saic/platform/dist/cjs/telemetry/scrambler.js +1 -0
  755. package/node_modules/@m0saic/platform/dist/cjs/telemetry/sender.js +1 -0
  756. package/node_modules/@m0saic/platform/dist/cjs/telemetry/settingsStore.js +2 -0
  757. package/node_modules/@m0saic/platform/dist/cjs/telemetry/status.js +1 -0
  758. package/node_modules/@m0saic/platform/dist/cjs/telemetry/summary.js +1 -0
  759. package/node_modules/@m0saic/platform/dist/cjs/telemetry/upstreamDefaults.js +1 -0
  760. package/node_modules/@m0saic/platform/dist/cjs/telemetry/usageRecorder.js +1 -0
  761. package/node_modules/@m0saic/platform/dist/cjs/telemetry/usageStore.js +3 -0
  762. package/node_modules/@m0saic/platform/dist/cjs/template-repos/depAllowlist.js +1 -0
  763. package/node_modules/@m0saic/platform/dist/cjs/template-repos/hostFirstResolution.js +1 -0
  764. package/node_modules/@m0saic/platform/dist/cjs/template-repos/index.js +1 -0
  765. package/node_modules/@m0saic/platform/dist/cjs/template-repos/loadTemplateRepoFromPath.js +6 -0
  766. package/node_modules/@m0saic/platform/dist/cjs/template-repos/resolveTemplatePreview.js +1 -0
  767. package/node_modules/@m0saic/platform/dist/cjs/template-repos/validateTemplateRoles.js +1 -0
  768. package/node_modules/@m0saic/platform/dist/cjs/templateId/index.js +1 -0
  769. package/node_modules/@m0saic/platform/dist/cjs/templateId/parseTemplateId.js +1 -0
  770. package/node_modules/@m0saic/platform/dist/cjs/toolchain/childEnv.js +1 -0
  771. package/node_modules/@m0saic/platform/dist/cjs/toolchain/defaultBinaries.js +1 -0
  772. package/node_modules/@m0saic/platform/dist/cjs/toolchain/ffmpeg/baseline.json +211 -0
  773. package/node_modules/@m0saic/platform/dist/cjs/toolchain/ffmpeg/index.js +1 -0
  774. package/node_modules/@m0saic/platform/dist/cjs/toolchain/ffmpeg/install.js +2 -0
  775. package/node_modules/@m0saic/platform/dist/cjs/toolchain/ffmpeg/release-dates.json +387 -0
  776. package/node_modules/@m0saic/platform/dist/cjs/toolchain/goldenFfmpeg.js +7 -0
  777. package/node_modules/@m0saic/platform/dist/cjs/toolchain/index.js +1 -0
  778. package/node_modules/@m0saic/platform/dist/cjs/toolchain/liveChildren.js +1 -0
  779. package/node_modules/@m0saic/platform/dist/cjs/toolchain/metadata.js +2 -0
  780. package/node_modules/@m0saic/platform/dist/cjs/toolchain/probe.js +1 -0
  781. package/node_modules/@m0saic/platform/dist/cjs/toolchain/probeChild.js +3 -0
  782. package/node_modules/@m0saic/platform/dist/cjs/toolchain/versionCompare.js +1 -0
  783. package/node_modules/@m0saic/platform/package.json +117 -0
  784. package/node_modules/@m0saic/product/LICENSE +7 -0
  785. package/node_modules/@m0saic/product/dist/communityRelease.js +1 -0
  786. package/node_modules/@m0saic/product/dist/freeTierLicense.js +1 -0
  787. package/node_modules/@m0saic/product/dist/index.js +1 -0
  788. package/node_modules/@m0saic/product/dist/licenseToken.js +1 -0
  789. package/node_modules/@m0saic/product/dist/postRenderWrapper.js +1 -0
  790. package/node_modules/@m0saic/product/dist/publicKeys.js +1 -0
  791. package/node_modules/@m0saic/product/dist/revokedKeys.js +1 -0
  792. package/node_modules/@m0saic/product/dist/upstreamDefaults.js +1 -0
  793. package/node_modules/@m0saic/product/package.json +6 -0
  794. package/node_modules/@m0saic/template-utils/LICENSE +201 -0
  795. package/node_modules/@m0saic/template-utils/NOTICE +13 -0
  796. package/node_modules/@m0saic/template-utils/README.md +3 -0
  797. package/node_modules/@m0saic/template-utils/assets/core/m-33_1024x1024.png +0 -0
  798. package/node_modules/@m0saic/template-utils/assets/core/placeholder-blue.png +0 -0
  799. package/node_modules/@m0saic/template-utils/assets/core/placeholder-gray.png +0 -0
  800. package/node_modules/@m0saic/template-utils/assets/core/placeholder-green.png +0 -0
  801. package/node_modules/@m0saic/template-utils/assets/core/placeholder-red.png +0 -0
  802. package/node_modules/@m0saic/template-utils/assets/core/placeholder.mp4 +0 -0
  803. package/node_modules/@m0saic/template-utils/assets/starter/avatar.svg +1 -0
  804. package/node_modules/@m0saic/template-utils/assets/starter/facecam.svg +1 -0
  805. package/node_modules/@m0saic/template-utils/assets/starter/landscape.svg +1 -0
  806. package/node_modules/@m0saic/template-utils/assets/starter/logo.svg +1 -0
  807. package/node_modules/@m0saic/template-utils/assets/starter/portrait.svg +1 -0
  808. package/node_modules/@m0saic/template-utils/assets/starter/square.svg +1 -0
  809. package/node_modules/@m0saic/template-utils/dist/anim/camera.js +1 -0
  810. package/node_modules/@m0saic/template-utils/dist/anim/index.js +1 -0
  811. package/node_modules/@m0saic/template-utils/dist/anim/keyframes.js +1 -0
  812. package/node_modules/@m0saic/template-utils/dist/anim/motion.js +1 -0
  813. package/node_modules/@m0saic/template-utils/dist/anim/timing.js +1 -0
  814. package/node_modules/@m0saic/template-utils/dist/anim/tracks.js +1 -0
  815. package/node_modules/@m0saic/template-utils/dist/assertTiming.js +1 -0
  816. package/node_modules/@m0saic/template-utils/dist/brand/brandGlyphs.js +1 -0
  817. package/node_modules/@m0saic/template-utils/dist/brand/hello-world/field-data.js +1 -0
  818. package/node_modules/@m0saic/template-utils/dist/brand/hello-world/helloWorld.js +1 -0
  819. package/node_modules/@m0saic/template-utils/dist/brand/hello-world/index.js +1 -0
  820. package/node_modules/@m0saic/template-utils/dist/brand/hello-world/m-rects.js +1 -0
  821. package/node_modules/@m0saic/template-utils/dist/brand/hello-world/wordmark.js +1 -0
  822. package/node_modules/@m0saic/template-utils/dist/brand/index.js +1 -0
  823. package/node_modules/@m0saic/template-utils/dist/brand/onboarding-cover/index.js +1 -0
  824. package/node_modules/@m0saic/template-utils/dist/brand/onboarding-cover/onboarding-cover.js +1 -0
  825. package/node_modules/@m0saic/template-utils/dist/brand/onboarding-cover/screencap-grid-cover-assets.js +1 -0
  826. package/node_modules/@m0saic/template-utils/dist/brand/onboarding-cover/screencap-grid-cover.js +1 -0
  827. package/node_modules/@m0saic/template-utils/dist/brand/onboarding-cover/screencap-grid-tutorial.js +1 -0
  828. package/node_modules/@m0saic/template-utils/dist/brand/onboarding-cover/theme-tokens.js +1 -0
  829. package/node_modules/@m0saic/template-utils/dist/codes/barcodeToRenderable.js +1 -0
  830. package/node_modules/@m0saic/template-utils/dist/codes/index.js +1 -0
  831. package/node_modules/@m0saic/template-utils/dist/codes/makeQrEyeChildDoc.js +1 -0
  832. package/node_modules/@m0saic/template-utils/dist/codes/qrStampExpressions.js +1 -0
  833. package/node_modules/@m0saic/template-utils/dist/codes/qrToRenderable.js +1 -0
  834. package/node_modules/@m0saic/template-utils/dist/codes/stampQr.js +1 -0
  835. package/node_modules/@m0saic/template-utils/dist/codes/styledQr.js +1 -0
  836. package/node_modules/@m0saic/template-utils/dist/data/connectionOptionsRegistry.js +1 -0
  837. package/node_modules/@m0saic/template-utils/dist/data/hostConnectionRegistry.js +1 -0
  838. package/node_modules/@m0saic/template-utils/dist/data/index.js +1 -0
  839. package/node_modules/@m0saic/template-utils/dist/data/upstream.js +1 -0
  840. package/node_modules/@m0saic/template-utils/dist/deprecated/gridCellInset.js +1 -0
  841. package/node_modules/@m0saic/template-utils/dist/deprecated/index.js +1 -0
  842. package/node_modules/@m0saic/template-utils/dist/deprecation.js +1 -0
  843. package/node_modules/@m0saic/template-utils/dist/dev/index.js +1 -0
  844. package/node_modules/@m0saic/template-utils/dist/dev/layoutFingerprintFs.js +3 -0
  845. package/node_modules/@m0saic/template-utils/dist/dev/renderTemplatePackToMosaicFiles.js +1 -0
  846. package/node_modules/@m0saic/template-utils/dist/dev/renderTemplateToMosaicFile.js +2 -0
  847. package/node_modules/@m0saic/template-utils/dist/ffexpr/index.js +1 -0
  848. package/node_modules/@m0saic/template-utils/dist/forensic/alphaPerCell.js +1 -0
  849. package/node_modules/@m0saic/template-utils/dist/forensic/bch.js +1 -0
  850. package/node_modules/@m0saic/template-utils/dist/forensic/decoder.js +1 -0
  851. package/node_modules/@m0saic/template-utils/dist/forensic/encoder.js +1 -0
  852. package/node_modules/@m0saic/template-utils/dist/forensic/gf.js +1 -0
  853. package/node_modules/@m0saic/template-utils/dist/forensic/index.js +1 -0
  854. package/node_modules/@m0saic/template-utils/dist/forensic/mask.js +1 -0
  855. package/node_modules/@m0saic/template-utils/dist/forensic/slotPlanner.js +1 -0
  856. package/node_modules/@m0saic/template-utils/dist/geometry/index.js +1 -0
  857. package/node_modules/@m0saic/template-utils/dist/geometry/polyline.js +1 -0
  858. package/node_modules/@m0saic/template-utils/dist/geometry-contract/assertGeometry.js +3 -0
  859. package/node_modules/@m0saic/template-utils/dist/geometry-contract/checkDocGeometry.js +1 -0
  860. package/node_modules/@m0saic/template-utils/dist/geometry-contract/frameResolution.js +1 -0
  861. package/node_modules/@m0saic/template-utils/dist/geometry-contract/index.js +1 -0
  862. package/node_modules/@m0saic/template-utils/dist/geometry-contract/latticeRelations.js +1 -0
  863. package/node_modules/@m0saic/template-utils/dist/geometry-contract/layoutConstraint.js +2 -0
  864. package/node_modules/@m0saic/template-utils/dist/geometry-contract/types.js +1 -0
  865. package/node_modules/@m0saic/template-utils/dist/geometry-contract/violationWireframe.js +1 -0
  866. package/node_modules/@m0saic/template-utils/dist/geometry-contract/withGeometryContract.js +3 -0
  867. package/node_modules/@m0saic/template-utils/dist/geometry-contract/withLayoutContract.js +5 -0
  868. package/node_modules/@m0saic/template-utils/dist/index.js +1 -0
  869. package/node_modules/@m0saic/template-utils/dist/lattice/index.js +1 -0
  870. package/node_modules/@m0saic/template-utils/dist/lattice/latticeReport.js +1 -0
  871. package/node_modules/@m0saic/template-utils/dist/lattice/smooth.js +1 -0
  872. package/node_modules/@m0saic/template-utils/dist/lattice/splitCounts.js +1 -0
  873. package/node_modules/@m0saic/template-utils/dist/layout/index.js +1 -0
  874. package/node_modules/@m0saic/template-utils/dist/layout/latticeCellInset.js +1 -0
  875. package/node_modules/@m0saic/template-utils/dist/layout/parseMosaicLayout.js +1 -0
  876. package/node_modules/@m0saic/template-utils/dist/layout/placeInsetPieces.js +1 -0
  877. package/node_modules/@m0saic/template-utils/dist/layout/placeOptimizedPieces.js +1 -0
  878. package/node_modules/@m0saic/template-utils/dist/m0saic/assetPath.js +1 -0
  879. package/node_modules/@m0saic/template-utils/dist/m0saic/build-overlay-stack.js +1 -0
  880. package/node_modules/@m0saic/template-utils/dist/m0saic/index.js +1 -0
  881. package/node_modules/@m0saic/template-utils/dist/m0saic/loadSession.js +1 -0
  882. package/node_modules/@m0saic/template-utils/dist/m0saic/readLayoutFile.js +1 -0
  883. package/node_modules/@m0saic/template-utils/dist/m0saic/utils.js +1 -0
  884. package/node_modules/@m0saic/template-utils/dist/media/buildStepNames.js +1 -0
  885. package/node_modules/@m0saic/template-utils/dist/media/canvasRegions.js +1 -0
  886. package/node_modules/@m0saic/template-utils/dist/media/computeFrameCount.js +1 -0
  887. package/node_modules/@m0saic/template-utils/dist/media/defaultMedia.js +1 -0
  888. package/node_modules/@m0saic/template-utils/dist/media/determineMediaType.js +1 -0
  889. package/node_modules/@m0saic/template-utils/dist/media/index.js +1 -0
  890. package/node_modules/@m0saic/template-utils/dist/media/timeRanges.js +1 -0
  891. package/node_modules/@m0saic/template-utils/dist/media/timedCues.js +1 -0
  892. package/node_modules/@m0saic/template-utils/dist/primitives/girdlines.js +1 -0
  893. package/node_modules/@m0saic/template-utils/dist/primitives/index.js +1 -0
  894. package/node_modules/@m0saic/template-utils/dist/primitives/lavfiStrip.js +1 -0
  895. package/node_modules/@m0saic/template-utils/dist/primitives/transparentSlot.js +1 -0
  896. package/node_modules/@m0saic/template-utils/dist/print/compliance.js +1 -0
  897. package/node_modules/@m0saic/template-utils/dist/print/dieline.js +1 -0
  898. package/node_modules/@m0saic/template-utils/dist/print/dpiCheck.js +1 -0
  899. package/node_modules/@m0saic/template-utils/dist/print/index.js +1 -0
  900. package/node_modules/@m0saic/template-utils/dist/print/latticeSnap.js +1 -0
  901. package/node_modules/@m0saic/template-utils/dist/print/units.js +1 -0
  902. package/node_modules/@m0saic/template-utils/dist/processRegistry.js +1 -0
  903. package/node_modules/@m0saic/template-utils/dist/render/autoCompactRenderable.js +1 -0
  904. package/node_modules/@m0saic/template-utils/dist/render/createDesignContext.js +1 -0
  905. package/node_modules/@m0saic/template-utils/dist/render/finalizeRenderable.js +1 -0
  906. package/node_modules/@m0saic/template-utils/dist/render/index.js +1 -0
  907. package/node_modules/@m0saic/template-utils/dist/render/renderNestedTemplate.js +1 -0
  908. package/node_modules/@m0saic/template-utils/dist/render/renderTemplateCover.js +1 -0
  909. package/node_modules/@m0saic/template-utils/dist/render/renderTemplateLite.js +1 -0
  910. package/node_modules/@m0saic/template-utils/dist/render/renderTemplateToRenderableFile.js +3 -0
  911. package/node_modules/@m0saic/template-utils/dist/render/renderTemplateTutorial.js +1 -0
  912. package/node_modules/@m0saic/template-utils/dist/render/stampOutput.js +1 -0
  913. package/node_modules/@m0saic/template-utils/dist/seededRng.js +1 -0
  914. package/node_modules/@m0saic/template-utils/dist/sources/index.js +1 -0
  915. package/node_modules/@m0saic/template-utils/dist/sources/makeColorTile.js +1 -0
  916. package/node_modules/@m0saic/template-utils/dist/sources/makeErrorMosaic.js +2 -0
  917. package/node_modules/@m0saic/template-utils/dist/sources/makeStubMosaic.js +1 -0
  918. package/node_modules/@m0saic/template-utils/dist/sources/solidBackground.js +1 -0
  919. package/node_modules/@m0saic/template-utils/dist/sources/svgTextSource.js +1 -0
  920. package/node_modules/@m0saic/template-utils/dist/stamp/index.js +1 -0
  921. package/node_modules/@m0saic/template-utils/dist/stamp/stampLayout.js +1 -0
  922. package/node_modules/@m0saic/template-utils/dist/stamp/stampOnMedia.js +1 -0
  923. package/node_modules/@m0saic/template-utils/dist/stamp/stampWindows.js +1 -0
  924. package/node_modules/@m0saic/template-utils/dist/template/auditDefaultProps.js +3 -0
  925. package/node_modules/@m0saic/template-utils/dist/template/auditRenderedTemplate.js +5 -0
  926. package/node_modules/@m0saic/template-utils/dist/template/auditRepoConventions.js +1 -0
  927. package/node_modules/@m0saic/template-utils/dist/template/auditSchemaConventions.js +1 -0
  928. package/node_modules/@m0saic/template-utils/dist/template/defineMosaicTemplate.js +1 -0
  929. package/node_modules/@m0saic/template-utils/dist/template/definePropsSchema.js +1 -0
  930. package/node_modules/@m0saic/template-utils/dist/template/index.js +1 -0
  931. package/node_modules/@m0saic/template-utils/dist/template/layoutFingerprintFile.js +1 -0
  932. package/node_modules/@m0saic/template-utils/dist/template/resolveTemplateOutputHints.js +1 -0
  933. package/node_modules/@m0saic/template-utils/dist/template/templateConventions.js +6 -0
  934. package/node_modules/@m0saic/template-utils/dist/template/templateOriginScope.js +1 -0
  935. package/node_modules/@m0saic/template-utils/dist/template/templateRegistry.js +3 -0
  936. package/node_modules/@m0saic/template-utils/dist/template/validateTemplateProps.js +1 -0
  937. package/node_modules/@m0saic/template-utils/dist/text/fitText.js +10 -0
  938. package/node_modules/@m0saic/template-utils/dist/text/index.js +1 -0
  939. package/node_modules/@m0saic/template-utils/dist/text/textToPath.js +1 -0
  940. package/node_modules/@m0saic/template-utils/dist/text/wrapText.js +1 -0
  941. package/node_modules/@m0saic/template-utils/dist/theming/index.js +1 -0
  942. package/node_modules/@m0saic/template-utils/dist/theming/resolveThemeTokens.js +1 -0
  943. package/node_modules/@m0saic/template-utils/dist/theming/theming.js +1 -0
  944. package/node_modules/@m0saic/template-utils/dist/transitions.js +1 -0
  945. package/node_modules/@m0saic/template-utils/package.json +6 -0
  946. package/node_modules/@m0saic/templates/LICENSE +13 -0
  947. package/node_modules/@m0saic/templates/dist/freeze.js +8 -0
  948. package/node_modules/@m0saic/templates/dist/index.js +1 -0
  949. package/node_modules/@m0saic/templates/dist/m0saic/_shared/onboarding-cover.js +1 -0
  950. package/node_modules/@m0saic/templates/dist/m0saic/_shared/raster.js +1 -0
  951. package/node_modules/@m0saic/templates/dist/m0saic/_shared/svgRaster.js +1 -0
  952. package/node_modules/@m0saic/templates/dist/m0saic/agents/commit-feed/index.js +1 -0
  953. package/node_modules/@m0saic/templates/dist/m0saic/agents/commit-feed/v1/commit-feed.js +1 -0
  954. package/node_modules/@m0saic/templates/dist/m0saic/agents/commit-feed/v1/index.js +1 -0
  955. package/node_modules/@m0saic/templates/dist/m0saic/agents/index.js +1 -0
  956. package/node_modules/@m0saic/templates/dist/m0saic/agents/trace-timeline/index.js +1 -0
  957. package/node_modules/@m0saic/templates/dist/m0saic/agents/trace-timeline/v1/index.js +1 -0
  958. package/node_modules/@m0saic/templates/dist/m0saic/agents/trace-timeline/v1/trace-timeline.js +1 -0
  959. package/node_modules/@m0saic/templates/dist/m0saic/alpine/_shared/alpine-anim.js +1 -0
  960. package/node_modules/@m0saic/templates/dist/m0saic/alpine/_shared/alpine-card.js +1 -0
  961. package/node_modules/@m0saic/templates/dist/m0saic/alpine/_shared/alpine-glyphs.js +1 -0
  962. package/node_modules/@m0saic/templates/dist/m0saic/alpine/_shared/alpine-theme.js +1 -0
  963. package/node_modules/@m0saic/templates/dist/m0saic/alpine/bar-graph/v1/bar-graph.js +1 -0
  964. package/node_modules/@m0saic/templates/dist/m0saic/alpine/bar-graph/v1/index.js +1 -0
  965. package/node_modules/@m0saic/templates/dist/m0saic/alpine/commit-feed/v1/commit-feed.js +1 -0
  966. package/node_modules/@m0saic/templates/dist/m0saic/alpine/commit-feed/v1/index.js +1 -0
  967. package/node_modules/@m0saic/templates/dist/m0saic/alpine/commit-feed/v2/commit-feed.js +1 -0
  968. package/node_modules/@m0saic/templates/dist/m0saic/alpine/commit-feed/v2/index.js +1 -0
  969. package/node_modules/@m0saic/templates/dist/m0saic/alpine/contributor-table/v1/assets/layout-lite.m0 +9 -0
  970. package/node_modules/@m0saic/templates/dist/m0saic/alpine/contributor-table/v1/assets/layout-standard.m0 +9 -0
  971. package/node_modules/@m0saic/templates/dist/m0saic/alpine/contributor-table/v1/contributor-table.js +1 -0
  972. package/node_modules/@m0saic/templates/dist/m0saic/alpine/contributor-table/v1/index.js +1 -0
  973. package/node_modules/@m0saic/templates/dist/m0saic/alpine/donut/v1/donut.js +1 -0
  974. package/node_modules/@m0saic/templates/dist/m0saic/alpine/donut/v1/index.js +1 -0
  975. package/node_modules/@m0saic/templates/dist/m0saic/alpine/donut/v2/donut.js +1 -0
  976. package/node_modules/@m0saic/templates/dist/m0saic/alpine/donut/v2/index.js +1 -0
  977. package/node_modules/@m0saic/templates/dist/m0saic/alpine/donut/v3/donut.js +1 -0
  978. package/node_modules/@m0saic/templates/dist/m0saic/alpine/donut/v3/index.js +1 -0
  979. package/node_modules/@m0saic/templates/dist/m0saic/alpine/heatmap/v1/heatmap.js +1 -0
  980. package/node_modules/@m0saic/templates/dist/m0saic/alpine/heatmap/v1/index.js +1 -0
  981. package/node_modules/@m0saic/templates/dist/m0saic/alpine/heatmap/v2/heatmap.js +1 -0
  982. package/node_modules/@m0saic/templates/dist/m0saic/alpine/heatmap/v2/index.js +1 -0
  983. package/node_modules/@m0saic/templates/dist/m0saic/alpine/index.js +1 -0
  984. package/node_modules/@m0saic/templates/dist/m0saic/alpine/kpi-card/v1/index.js +1 -0
  985. package/node_modules/@m0saic/templates/dist/m0saic/alpine/kpi-card/v1/kpi-card.js +1 -0
  986. package/node_modules/@m0saic/templates/dist/m0saic/alpine/kpi-card/v2/index.js +1 -0
  987. package/node_modules/@m0saic/templates/dist/m0saic/alpine/kpi-card/v2/kpi-card.js +1 -0
  988. package/node_modules/@m0saic/templates/dist/m0saic/alpine/leaderboard/v1/index.js +1 -0
  989. package/node_modules/@m0saic/templates/dist/m0saic/alpine/leaderboard/v1/leaderboard.js +1 -0
  990. package/node_modules/@m0saic/templates/dist/m0saic/alpine/line-chart/v1/index.js +1 -0
  991. package/node_modules/@m0saic/templates/dist/m0saic/alpine/line-chart/v1/line-chart.js +1 -0
  992. package/node_modules/@m0saic/templates/dist/m0saic/alpine/line-chart/v2/index.js +1 -0
  993. package/node_modules/@m0saic/templates/dist/m0saic/alpine/line-chart/v2/line-chart.js +1 -0
  994. package/node_modules/@m0saic/templates/dist/m0saic/alpine/progress-card/v1/index.js +1 -0
  995. package/node_modules/@m0saic/templates/dist/m0saic/alpine/progress-card/v1/progress-card.js +1 -0
  996. package/node_modules/@m0saic/templates/dist/m0saic/alpine/stat-card/v1/index.js +1 -0
  997. package/node_modules/@m0saic/templates/dist/m0saic/alpine/stat-card/v1/stat-card.js +1 -0
  998. package/node_modules/@m0saic/templates/dist/m0saic/alpine/timeline/v1/index.js +1 -0
  999. package/node_modules/@m0saic/templates/dist/m0saic/alpine/timeline/v1/timeline.js +1 -0
  1000. package/node_modules/@m0saic/templates/dist/m0saic/alpine/timeline/v2/index.js +1 -0
  1001. package/node_modules/@m0saic/templates/dist/m0saic/alpine/timeline/v2/timeline.js +4 -0
  1002. package/node_modules/@m0saic/templates/dist/m0saic/alpine/treemap/v1/index.js +1 -0
  1003. package/node_modules/@m0saic/templates/dist/m0saic/alpine/treemap/v1/treemap.js +1 -0
  1004. package/node_modules/@m0saic/templates/dist/m0saic/alpine/treemap/v2/index.js +1 -0
  1005. package/node_modules/@m0saic/templates/dist/m0saic/alpine/treemap/v2/treemap.js +1 -0
  1006. package/node_modules/@m0saic/templates/dist/m0saic/benchmark/battery/manifest.js +1 -0
  1007. package/node_modules/@m0saic/templates/dist/m0saic/benchmark/index.js +1 -0
  1008. package/node_modules/@m0saic/templates/dist/m0saic/benchmark/report/v1/assets/m-logo.png +0 -0
  1009. package/node_modules/@m0saic/templates/dist/m0saic/benchmark/report/v1/assets/sample-session/benchmark.json +41 -0
  1010. package/node_modules/@m0saic/templates/dist/m0saic/benchmark/report/v1/index.js +1 -0
  1011. package/node_modules/@m0saic/templates/dist/m0saic/benchmark/report/v1/report.js +1 -0
  1012. package/node_modules/@m0saic/templates/dist/m0saic/benchmark/run/v1/benchmarkRun.js +1 -0
  1013. package/node_modules/@m0saic/templates/dist/m0saic/benchmark/run/v1/confirmation.js +1 -0
  1014. package/node_modules/@m0saic/templates/dist/m0saic/benchmark/run/v1/index.js +1 -0
  1015. package/node_modules/@m0saic/templates/dist/m0saic/benchmark/run/v1/renderScenario.js +1 -0
  1016. package/node_modules/@m0saic/templates/dist/m0saic/benchmark/run/v1/runner.js +4 -0
  1017. package/node_modules/@m0saic/templates/dist/m0saic/brand/business-card/v1/back-catalog.js +1 -0
  1018. package/node_modules/@m0saic/templates/dist/m0saic/brand/business-card/v1/business-card.js +1 -0
  1019. package/node_modules/@m0saic/templates/dist/m0saic/brand/business-card/v1/index.js +1 -0
  1020. package/node_modules/@m0saic/templates/dist/m0saic/brand/business-card/v1/layout.js +1 -0
  1021. package/node_modules/@m0saic/templates/dist/m0saic/brand/community-m/v1/camera.js +1 -0
  1022. package/node_modules/@m0saic/templates/dist/m0saic/brand/community-m/v1/caption.js +1 -0
  1023. package/node_modules/@m0saic/templates/dist/m0saic/brand/community-m/v1/community-m.js +1 -0
  1024. package/node_modules/@m0saic/templates/dist/m0saic/brand/community-m/v1/community-m.web.js +1 -0
  1025. package/node_modules/@m0saic/templates/dist/m0saic/brand/community-m/v1/gen-seed-piece.js +1 -0
  1026. package/node_modules/@m0saic/templates/dist/m0saic/brand/community-m/v1/geometry.js +1 -0
  1027. package/node_modules/@m0saic/templates/dist/m0saic/brand/community-m/v1/imageSize.node.js +1 -0
  1028. package/node_modules/@m0saic/templates/dist/m0saic/brand/community-m/v1/index.js +1 -0
  1029. package/node_modules/@m0saic/templates/dist/m0saic/brand/community-m/v1/loadPiece.node.js +1 -0
  1030. package/node_modules/@m0saic/templates/dist/m0saic/brand/community-m/v1/manifest.js +1 -0
  1031. package/node_modules/@m0saic/templates/dist/m0saic/brand/community-m/v1/mark.js +1 -0
  1032. package/node_modules/@m0saic/templates/dist/m0saic/brand/community-m/v1/paths.js +1 -0
  1033. package/node_modules/@m0saic/templates/dist/m0saic/brand/community-m/v1/piece.js +1 -0
  1034. package/node_modules/@m0saic/templates/dist/m0saic/brand/community-m/v1/pipeline.js +1 -0
  1035. package/node_modules/@m0saic/templates/dist/m0saic/brand/community-m/v1/preview.js +1 -0
  1036. package/node_modules/@m0saic/templates/dist/m0saic/brand/community-m/v1/props.js +1 -0
  1037. package/node_modules/@m0saic/templates/dist/m0saic/brand/community-m/v1/reveal.js +1 -0
  1038. package/node_modules/@m0saic/templates/dist/m0saic/brand/community-m/v1/seedPiece.js +2 -0
  1039. package/node_modules/@m0saic/templates/dist/m0saic/brand/community-m/v1/target.js +1 -0
  1040. package/node_modules/@m0saic/templates/dist/m0saic/brand/community-m/v1/timing.js +1 -0
  1041. package/node_modules/@m0saic/templates/dist/m0saic/brand/community-m/v1/webPiece.js +1 -0
  1042. package/node_modules/@m0saic/templates/dist/m0saic/brand/community-m/v1/wordmark.js +1 -0
  1043. package/node_modules/@m0saic/templates/dist/m0saic/brand/index.js +1 -0
  1044. package/node_modules/@m0saic/templates/dist/m0saic/brand/logo/v1/index.js +1 -0
  1045. package/node_modules/@m0saic/templates/dist/m0saic/brand/logo/v1/logo.js +1 -0
  1046. package/node_modules/@m0saic/templates/dist/m0saic/brand/logo/v2/index.js +1 -0
  1047. package/node_modules/@m0saic/templates/dist/m0saic/brand/logo/v2/logo.js +1 -0
  1048. package/node_modules/@m0saic/templates/dist/m0saic/brand/logo/v3/index.js +1 -0
  1049. package/node_modules/@m0saic/templates/dist/m0saic/brand/logo/v3/logo.js +1 -0
  1050. package/node_modules/@m0saic/templates/dist/m0saic/brand/logo/v3/logo_runner.js +1 -0
  1051. package/node_modules/@m0saic/templates/dist/m0saic/brand/qr-stamp/assets/brand-qr-with-logo.svg +8 -0
  1052. package/node_modules/@m0saic/templates/dist/m0saic/brand/qr-stamp/assets/qr-animate.dark.mp4 +0 -0
  1053. package/node_modules/@m0saic/templates/dist/m0saic/brand/qr-stamp/assets/qr-animate.dark.static.png +0 -0
  1054. package/node_modules/@m0saic/templates/dist/m0saic/brand/qr-stamp/assets/qr-animate.light.mp4 +0 -0
  1055. package/node_modules/@m0saic/templates/dist/m0saic/brand/qr-stamp/assets/qr-animate.light.static.png +0 -0
  1056. package/node_modules/@m0saic/templates/dist/m0saic/brand/qr-stamp/still/v1/index.js +1 -0
  1057. package/node_modules/@m0saic/templates/dist/m0saic/brand/qr-stamp/still/v1/qr-stamp-still.js +1 -0
  1058. package/node_modules/@m0saic/templates/dist/m0saic/brand/qr-stamp/video/v2/index.js +1 -0
  1059. package/node_modules/@m0saic/templates/dist/m0saic/brand/qr-stamp/video/v2/qr-stamp.js +1 -0
  1060. package/node_modules/@m0saic/templates/dist/m0saic/brand/qr-stamp/video/v2/windows.js +1 -0
  1061. package/node_modules/@m0saic/templates/dist/m0saic/charts/_shared/index.js +1 -0
  1062. package/node_modules/@m0saic/templates/dist/m0saic/charts/_shared/line.js +2 -0
  1063. package/node_modules/@m0saic/templates/dist/m0saic/charts/_shared/scale.js +1 -0
  1064. package/node_modules/@m0saic/templates/dist/m0saic/charts/bar-graph/v1/anim.js +1 -0
  1065. package/node_modules/@m0saic/templates/dist/m0saic/charts/bar-graph/v1/axis.js +1 -0
  1066. package/node_modules/@m0saic/templates/dist/m0saic/charts/bar-graph/v1/bar-graph.js +1 -0
  1067. package/node_modules/@m0saic/templates/dist/m0saic/charts/bar-graph/v1/defaults.js +1 -0
  1068. package/node_modules/@m0saic/templates/dist/m0saic/charts/bar-graph/v1/format.js +1 -0
  1069. package/node_modules/@m0saic/templates/dist/m0saic/charts/bar-graph/v1/index.js +1 -0
  1070. package/node_modules/@m0saic/templates/dist/m0saic/charts/bar-graph/v1/internal/bar-cell.js +1 -0
  1071. package/node_modules/@m0saic/templates/dist/m0saic/charts/bar-graph/v1/internal/bar-fill.js +1 -0
  1072. package/node_modules/@m0saic/templates/dist/m0saic/charts/bar-graph/v1/internal/bars-stack.js +1 -0
  1073. package/node_modules/@m0saic/templates/dist/m0saic/charts/bar-graph/v1/internal/chart-frame.js +1 -0
  1074. package/node_modules/@m0saic/templates/dist/m0saic/charts/bar-graph/v1/internal/labels.js +1 -0
  1075. package/node_modules/@m0saic/templates/dist/m0saic/charts/bar-graph/v1/internal/plot-area.js +1 -0
  1076. package/node_modules/@m0saic/templates/dist/m0saic/charts/bar-graph/v1/types.js +1 -0
  1077. package/node_modules/@m0saic/templates/dist/m0saic/charts/bar-graph/v2/bar-graph.js +1 -0
  1078. package/node_modules/@m0saic/templates/dist/m0saic/charts/bar-graph/v2/index.js +1 -0
  1079. package/node_modules/@m0saic/templates/dist/m0saic/charts/donut/v1/anim.js +1 -0
  1080. package/node_modules/@m0saic/templates/dist/m0saic/charts/donut/v1/donut.js +1 -0
  1081. package/node_modules/@m0saic/templates/dist/m0saic/charts/donut/v1/geometry.js +1 -0
  1082. package/node_modules/@m0saic/templates/dist/m0saic/charts/donut/v1/index.js +1 -0
  1083. package/node_modules/@m0saic/templates/dist/m0saic/charts/donut/v2/donut.js +1 -0
  1084. package/node_modules/@m0saic/templates/dist/m0saic/charts/donut/v2/index.js +1 -0
  1085. package/node_modules/@m0saic/templates/dist/m0saic/charts/donut/v3/anim.js +1 -0
  1086. package/node_modules/@m0saic/templates/dist/m0saic/charts/donut/v3/donut.js +1 -0
  1087. package/node_modules/@m0saic/templates/dist/m0saic/charts/donut/v3/geometry.js +1 -0
  1088. package/node_modules/@m0saic/templates/dist/m0saic/charts/donut/v3/index.js +1 -0
  1089. package/node_modules/@m0saic/templates/dist/m0saic/charts/donut/v4/donut.js +1 -0
  1090. package/node_modules/@m0saic/templates/dist/m0saic/charts/donut/v4/index.js +1 -0
  1091. package/node_modules/@m0saic/templates/dist/m0saic/charts/index.js +1 -0
  1092. package/node_modules/@m0saic/templates/dist/m0saic/charts/line-chart/v1/anim.js +1 -0
  1093. package/node_modules/@m0saic/templates/dist/m0saic/charts/line-chart/v1/axis.js +1 -0
  1094. package/node_modules/@m0saic/templates/dist/m0saic/charts/line-chart/v1/card.js +1 -0
  1095. package/node_modules/@m0saic/templates/dist/m0saic/charts/line-chart/v1/chrome-spec.js +1 -0
  1096. package/node_modules/@m0saic/templates/dist/m0saic/charts/line-chart/v1/chrome.js +1 -0
  1097. package/node_modules/@m0saic/templates/dist/m0saic/charts/line-chart/v1/defaults.js +1 -0
  1098. package/node_modules/@m0saic/templates/dist/m0saic/charts/line-chart/v1/format.js +1 -0
  1099. package/node_modules/@m0saic/templates/dist/m0saic/charts/line-chart/v1/frame.js +1 -0
  1100. package/node_modules/@m0saic/templates/dist/m0saic/charts/line-chart/v1/geometry.js +1 -0
  1101. package/node_modules/@m0saic/templates/dist/m0saic/charts/line-chart/v1/index.js +1 -0
  1102. package/node_modules/@m0saic/templates/dist/m0saic/charts/line-chart/v1/line-chart.js +1 -0
  1103. package/node_modules/@m0saic/templates/dist/m0saic/charts/line-chart/v1/line-series.js +1 -0
  1104. package/node_modules/@m0saic/templates/dist/m0saic/charts/line-chart/v1/types.js +1 -0
  1105. package/node_modules/@m0saic/templates/dist/m0saic/charts/stat-card/v1/index.js +1 -0
  1106. package/node_modules/@m0saic/templates/dist/m0saic/charts/stat-card/v1/stat-card.js +1 -0
  1107. package/node_modules/@m0saic/templates/dist/m0saic/code/_shared/code-diff.js +1 -0
  1108. package/node_modules/@m0saic/templates/dist/m0saic/code/_shared/code-lexer.js +3 -0
  1109. package/node_modules/@m0saic/templates/dist/m0saic/code/_shared/code-metrics.js +1 -0
  1110. package/node_modules/@m0saic/templates/dist/m0saic/code/_shared/code-theme.js +1 -0
  1111. package/node_modules/@m0saic/templates/dist/m0saic/code/index.js +1 -0
  1112. package/node_modules/@m0saic/templates/dist/m0saic/code/snippet-morph/v1/internal/chrome.js +1 -0
  1113. package/node_modules/@m0saic/templates/dist/m0saic/code/snippet-morph/v1/internal/plan.js +1 -0
  1114. package/node_modules/@m0saic/templates/dist/m0saic/code/snippet-morph/v1/internal/steps.js +1 -0
  1115. package/node_modules/@m0saic/templates/dist/m0saic/code/snippet-morph/v1/snippet-morph.js +3 -0
  1116. package/node_modules/@m0saic/templates/dist/m0saic/collage/image-collage/v1/demo-fixture.js +1 -0
  1117. package/node_modules/@m0saic/templates/dist/m0saic/collage/image-collage/v1/emit.js +1 -0
  1118. package/node_modules/@m0saic/templates/dist/m0saic/collage/image-collage/v1/image-collage.js +1 -0
  1119. package/node_modules/@m0saic/templates/dist/m0saic/collage/image-collage/v1/index.js +1 -0
  1120. package/node_modules/@m0saic/templates/dist/m0saic/collage/image-collage/v1/packer/candidates.js +1 -0
  1121. package/node_modules/@m0saic/templates/dist/m0saic/collage/image-collage/v1/packer/classify.js +1 -0
  1122. package/node_modules/@m0saic/templates/dist/m0saic/collage/image-collage/v1/packer/index.js +1 -0
  1123. package/node_modules/@m0saic/templates/dist/m0saic/collage/image-collage/v1/packer/paging.js +1 -0
  1124. package/node_modules/@m0saic/templates/dist/m0saic/collage/image-collage/v1/packer/score.js +1 -0
  1125. package/node_modules/@m0saic/templates/dist/m0saic/collage/image-collage/v1/packer/solve.js +1 -0
  1126. package/node_modules/@m0saic/templates/dist/m0saic/collage/image-collage/v1/packer/tiler.js +1 -0
  1127. package/node_modules/@m0saic/templates/dist/m0saic/collage/image-collage/v1/packer/types.js +1 -0
  1128. package/node_modules/@m0saic/templates/dist/m0saic/collage/image-collage/v1/tutorial.js +1 -0
  1129. package/node_modules/@m0saic/templates/dist/m0saic/collage/index.js +1 -0
  1130. package/node_modules/@m0saic/templates/dist/m0saic/collage/spread-grid-mock/v1/grid-fixture.js +1 -0
  1131. package/node_modules/@m0saic/templates/dist/m0saic/collage/spread-grid-mock/v1/index.js +1 -0
  1132. package/node_modules/@m0saic/templates/dist/m0saic/collage/spread-grid-mock/v1/spread-grid-mock.js +1 -0
  1133. package/node_modules/@m0saic/templates/dist/m0saic/dsl-tutorial/index.js +1 -0
  1134. package/node_modules/@m0saic/templates/dist/m0saic/dsl-tutorial/v1/_shared/brand-glyphs.js +1 -0
  1135. package/node_modules/@m0saic/templates/dist/m0saic/dsl-tutorial/v1/_shared/m0saic-logo.js +1 -0
  1136. package/node_modules/@m0saic/templates/dist/m0saic/dsl-tutorial/v1/_shared/node-kit.js +1 -0
  1137. package/node_modules/@m0saic/templates/dist/m0saic/dsl-tutorial/v1/_shared/text-fit.js +1 -0
  1138. package/node_modules/@m0saic/templates/dist/m0saic/dsl-tutorial/v1/dsl-tutorial.js +1 -0
  1139. package/node_modules/@m0saic/templates/dist/m0saic/dsl-tutorial/v1/index.js +1 -0
  1140. package/node_modules/@m0saic/templates/dist/m0saic/dsl-tutorial/v1/panels/canvas/v1/dsl-canvas.js +1 -0
  1141. package/node_modules/@m0saic/templates/dist/m0saic/dsl-tutorial/v1/panels/chrome/v1/dsl-chrome.js +1 -0
  1142. package/node_modules/@m0saic/templates/dist/m0saic/dsl-tutorial/v1/panels/dsl-string/v1/dsl-string.js +1 -0
  1143. package/node_modules/@m0saic/templates/dist/m0saic/dsl-tutorial/v1/panels/inspector/v1/dsl-inspector.js +1 -0
  1144. package/node_modules/@m0saic/templates/dist/m0saic/dsl-tutorial/v1/pipeline/buildSteps.js +2 -0
  1145. package/node_modules/@m0saic/templates/dist/m0saic/dsl-tutorial/v1/pipeline/camera.js +1 -0
  1146. package/node_modules/@m0saic/templates/dist/m0saic/dsl-tutorial/v1/pipeline/cursor.js +1 -0
  1147. package/node_modules/@m0saic/templates/dist/m0saic/dsl-tutorial/v1/pipeline/dslString.js +1 -0
  1148. package/node_modules/@m0saic/templates/dist/m0saic/dsl-tutorial/v1/pipeline/inspector.js +1 -0
  1149. package/node_modules/@m0saic/templates/dist/m0saic/dsl-tutorial/v1/pipeline/timing.js +1 -0
  1150. package/node_modules/@m0saic/templates/dist/m0saic/dsl-tutorial/v1/theme/tokens.js +1 -0
  1151. package/node_modules/@m0saic/templates/dist/m0saic/forensic/index.js +1 -0
  1152. package/node_modules/@m0saic/templates/dist/m0saic/forensic/watermark/_shared/cellLuminance.js +1 -0
  1153. package/node_modules/@m0saic/templates/dist/m0saic/forensic/watermark/index.js +1 -0
  1154. package/node_modules/@m0saic/templates/dist/m0saic/forensic/watermark/verify/index.js +1 -0
  1155. package/node_modules/@m0saic/templates/dist/m0saic/forensic/watermark/verify/v1/decode.js +1 -0
  1156. package/node_modules/@m0saic/templates/dist/m0saic/forensic/watermark/verify/v1/index.js +1 -0
  1157. package/node_modules/@m0saic/templates/dist/m0saic/forensic/watermark/verify/v1/report.js +1 -0
  1158. package/node_modules/@m0saic/templates/dist/m0saic/forensic/watermark/verify/v1/verify.js +1 -0
  1159. package/node_modules/@m0saic/templates/dist/m0saic/forensic/watermark/video/index.js +1 -0
  1160. package/node_modules/@m0saic/templates/dist/m0saic/forensic/watermark/video/v1/forensic-watermark.js +1 -0
  1161. package/node_modules/@m0saic/templates/dist/m0saic/forensic/watermark/video/v1/index.js +1 -0
  1162. package/node_modules/@m0saic/templates/dist/m0saic/forensic/watermark/video/v1/maskAsset.js +1 -0
  1163. package/node_modules/@m0saic/templates/dist/m0saic/forensic/watermark/video/v1/probeHost.js +1 -0
  1164. package/node_modules/@m0saic/templates/dist/m0saic/github/client.js +1 -0
  1165. package/node_modules/@m0saic/templates/dist/m0saic/github/connection.js +1 -0
  1166. package/node_modules/@m0saic/templates/dist/m0saic/github/index.js +1 -0
  1167. package/node_modules/@m0saic/templates/dist/m0saic/github/repo-facts-fetcher/index.js +1 -0
  1168. package/node_modules/@m0saic/templates/dist/m0saic/github/repo-facts-fetcher/v1/build-facts.js +2 -0
  1169. package/node_modules/@m0saic/templates/dist/m0saic/github/repo-facts-fetcher/v1/facts.js +1 -0
  1170. package/node_modules/@m0saic/templates/dist/m0saic/github/repo-facts-fetcher/v1/repo-facts-fetcher.js +1 -0
  1171. package/node_modules/@m0saic/templates/dist/m0saic/github/repo-facts-fetcher/v1/sample-facts.js +1 -0
  1172. package/node_modules/@m0saic/templates/dist/m0saic/github/week-math.js +1 -0
  1173. package/node_modules/@m0saic/templates/dist/m0saic/github/weekly-pulse/index.js +1 -0
  1174. package/node_modules/@m0saic/templates/dist/m0saic/github/weekly-pulse/v1/weekly-pulse.js +1 -0
  1175. package/node_modules/@m0saic/templates/dist/m0saic/github/weekly-pulse-adapter/index.js +1 -0
  1176. package/node_modules/@m0saic/templates/dist/m0saic/github/weekly-pulse-adapter/v1/derive-pulse.js +1 -0
  1177. package/node_modules/@m0saic/templates/dist/m0saic/github/weekly-pulse-adapter/v1/weekly-pulse-adapter.js +1 -0
  1178. package/node_modules/@m0saic/templates/dist/m0saic/github/year-card/index.js +1 -0
  1179. package/node_modules/@m0saic/templates/dist/m0saic/github/year-card/v1/index.js +1 -0
  1180. package/node_modules/@m0saic/templates/dist/m0saic/github/year-card/v1/year-card.js +1 -0
  1181. package/node_modules/@m0saic/templates/dist/m0saic/hello-world/index.js +1 -0
  1182. package/node_modules/@m0saic/templates/dist/m0saic/hello-world/v1/hello-world.js +1 -0
  1183. package/node_modules/@m0saic/templates/dist/m0saic/hello-world/v1/index.js +1 -0
  1184. package/node_modules/@m0saic/templates/dist/m0saic/hero/ffmpeg-pulse/_shared/assets/ffmpeg-logo.png +0 -0
  1185. package/node_modules/@m0saic/templates/dist/m0saic/hero/ffmpeg-pulse/_shared/assets/ffmpeg_logo_480x480.svg +1 -0
  1186. package/node_modules/@m0saic/templates/dist/m0saic/hero/ffmpeg-pulse/_shared/assets/m-hero.png +0 -0
  1187. package/node_modules/@m0saic/templates/dist/m0saic/hero/ffmpeg-pulse/_shared/assets/qr-fin.mp4 +0 -0
  1188. package/node_modules/@m0saic/templates/dist/m0saic/hero/ffmpeg-pulse/_shared/assets/scatter-desktop.mp4 +0 -0
  1189. package/node_modules/@m0saic/templates/dist/m0saic/hero/ffmpeg-pulse/_shared/assets/scatter-layout.m0p +5146 -0
  1190. package/node_modules/@m0saic/templates/dist/m0saic/hero/ffmpeg-pulse/_shared/assets/scatter-mobile.mp4 +0 -0
  1191. package/node_modules/@m0saic/templates/dist/m0saic/hero/ffmpeg-pulse/_shared/assets/scatter-square.mp4 +0 -0
  1192. package/node_modules/@m0saic/templates/dist/m0saic/hero/ffmpeg-pulse/_shared/assets/title-layout.m0p +130 -0
  1193. package/node_modules/@m0saic/templates/dist/m0saic/hero/ffmpeg-pulse/_shared/pulse-chrome.js +1 -0
  1194. package/node_modules/@m0saic/templates/dist/m0saic/hero/ffmpeg-pulse/_shared/pulse-data.js +1 -0
  1195. package/node_modules/@m0saic/templates/dist/m0saic/hero/ffmpeg-pulse/_shared/pulse-glyphs.js +1 -0
  1196. package/node_modules/@m0saic/templates/dist/m0saic/hero/ffmpeg-pulse/_shared/pulse-theme.js +1 -0
  1197. package/node_modules/@m0saic/templates/dist/m0saic/hero/ffmpeg-pulse/_shared/scatter.js +1 -0
  1198. package/node_modules/@m0saic/templates/dist/m0saic/hero/ffmpeg-pulse/activity-trend/v1/activity-trend.js +1 -0
  1199. package/node_modules/@m0saic/templates/dist/m0saic/hero/ffmpeg-pulse/activity-trend/v1/index.js +1 -0
  1200. package/node_modules/@m0saic/templates/dist/m0saic/hero/ffmpeg-pulse/changes-breakdown/v1/changes-breakdown.js +1 -0
  1201. package/node_modules/@m0saic/templates/dist/m0saic/hero/ffmpeg-pulse/changes-breakdown/v1/index.js +1 -0
  1202. package/node_modules/@m0saic/templates/dist/m0saic/hero/ffmpeg-pulse/contributions/v1/contributions.js +1 -0
  1203. package/node_modules/@m0saic/templates/dist/m0saic/hero/ffmpeg-pulse/contributions/v1/index.js +1 -0
  1204. package/node_modules/@m0saic/templates/dist/m0saic/hero/ffmpeg-pulse/fin/v1/fin.js +1 -0
  1205. package/node_modules/@m0saic/templates/dist/m0saic/hero/ffmpeg-pulse/fin/v1/index.js +1 -0
  1206. package/node_modules/@m0saic/templates/dist/m0saic/hero/ffmpeg-pulse/index.js +1 -0
  1207. package/node_modules/@m0saic/templates/dist/m0saic/hero/ffmpeg-pulse/kpi-overview/v1/index.js +1 -0
  1208. package/node_modules/@m0saic/templates/dist/m0saic/hero/ffmpeg-pulse/kpi-overview/v1/kpi-overview.js +1 -0
  1209. package/node_modules/@m0saic/templates/dist/m0saic/hero/ffmpeg-pulse/notable-commits/v1/index.js +1 -0
  1210. package/node_modules/@m0saic/templates/dist/m0saic/hero/ffmpeg-pulse/notable-commits/v1/notable-commits.js +1 -0
  1211. package/node_modules/@m0saic/templates/dist/m0saic/hero/ffmpeg-pulse/runner/v1/index.js +1 -0
  1212. package/node_modules/@m0saic/templates/dist/m0saic/hero/ffmpeg-pulse/runner/v1/runner.js +1 -0
  1213. package/node_modules/@m0saic/templates/dist/m0saic/hero/ffmpeg-pulse/scatter-bake/v1/index.js +1 -0
  1214. package/node_modules/@m0saic/templates/dist/m0saic/hero/ffmpeg-pulse/scatter-bake/v1/scatter-bake.js +1 -0
  1215. package/node_modules/@m0saic/templates/dist/m0saic/hero/ffmpeg-pulse/title/v1/index.js +1 -0
  1216. package/node_modules/@m0saic/templates/dist/m0saic/hero/ffmpeg-pulse/title/v1/title.js +1 -0
  1217. package/node_modules/@m0saic/templates/dist/m0saic/hero/ffmpeg-pulse/top-contributors/v1/index.js +1 -0
  1218. package/node_modules/@m0saic/templates/dist/m0saic/hero/ffmpeg-pulse/top-contributors/v1/top-contributors.js +1 -0
  1219. package/node_modules/@m0saic/templates/dist/m0saic/hero/index.js +1 -0
  1220. package/node_modules/@m0saic/templates/dist/m0saic/index.js +1 -0
  1221. package/node_modules/@m0saic/templates/dist/m0saic/media/barcode/v1/barcode.js +1 -0
  1222. package/node_modules/@m0saic/templates/dist/m0saic/media/barcode/v1/index.js +1 -0
  1223. package/node_modules/@m0saic/templates/dist/m0saic/media/blur-regions/index.js +1 -0
  1224. package/node_modules/@m0saic/templates/dist/m0saic/media/blur-regions/v1/blur-regions.js +1 -0
  1225. package/node_modules/@m0saic/templates/dist/m0saic/media/blur-regions/v1/index.js +1 -0
  1226. package/node_modules/@m0saic/templates/dist/m0saic/media/blur-regions/v1/plan.js +1 -0
  1227. package/node_modules/@m0saic/templates/dist/m0saic/media/blur-regions/v1/tutorial.js +1 -0
  1228. package/node_modules/@m0saic/templates/dist/m0saic/media/highlights/index.js +1 -0
  1229. package/node_modules/@m0saic/templates/dist/m0saic/media/highlights/v1/highlights.js +1 -0
  1230. package/node_modules/@m0saic/templates/dist/m0saic/media/highlights/v1/index.js +1 -0
  1231. package/node_modules/@m0saic/templates/dist/m0saic/media/highlights/v1/pipeline.js +1 -0
  1232. package/node_modules/@m0saic/templates/dist/m0saic/media/highlights/v1/plan.js +1 -0
  1233. package/node_modules/@m0saic/templates/dist/m0saic/media/index.js +1 -0
  1234. package/node_modules/@m0saic/templates/dist/m0saic/media/logo-animate/index.js +1 -0
  1235. package/node_modules/@m0saic/templates/dist/m0saic/media/logo-animate/v1/default-logo.js +35 -0
  1236. package/node_modules/@m0saic/templates/dist/m0saic/media/logo-animate/v1/expressions.js +1 -0
  1237. package/node_modules/@m0saic/templates/dist/m0saic/media/logo-animate/v1/index.js +1 -0
  1238. package/node_modules/@m0saic/templates/dist/m0saic/media/logo-animate/v1/layout.js +1 -0
  1239. package/node_modules/@m0saic/templates/dist/m0saic/media/logo-animate/v1/logo-animate.js +1 -0
  1240. package/node_modules/@m0saic/templates/dist/m0saic/media/logo-animate/v1/svg-source.js +1 -0
  1241. package/node_modules/@m0saic/templates/dist/m0saic/media/logo-animate/v1/tutorial.js +1 -0
  1242. package/node_modules/@m0saic/templates/dist/m0saic/media/metadata-stamp/index.js +1 -0
  1243. package/node_modules/@m0saic/templates/dist/m0saic/media/metadata-stamp/v1/format-date.js +1 -0
  1244. package/node_modules/@m0saic/templates/dist/m0saic/media/metadata-stamp/v1/index.js +1 -0
  1245. package/node_modules/@m0saic/templates/dist/m0saic/media/metadata-stamp/v1/metadata-stamp.js +1 -0
  1246. package/node_modules/@m0saic/templates/dist/m0saic/media/qr/_shared/brandMCenter.js +1 -0
  1247. package/node_modules/@m0saic/templates/dist/m0saic/media/qr/animate/v1/expressions.js +1 -0
  1248. package/node_modules/@m0saic/templates/dist/m0saic/media/qr/animate/v1/index.js +1 -0
  1249. package/node_modules/@m0saic/templates/dist/m0saic/media/qr/animate/v1/qr-animate.js +1 -0
  1250. package/node_modules/@m0saic/templates/dist/m0saic/media/qr/animate/v2/index.js +1 -0
  1251. package/node_modules/@m0saic/templates/dist/m0saic/media/qr/animate/v2/qr-animate.js +1 -0
  1252. package/node_modules/@m0saic/templates/dist/m0saic/media/qr/basic/v1/index.js +1 -0
  1253. package/node_modules/@m0saic/templates/dist/m0saic/media/qr/basic/v1/qr.js +1 -0
  1254. package/node_modules/@m0saic/templates/dist/m0saic/media/qr/code/v1/index.js +1 -0
  1255. package/node_modules/@m0saic/templates/dist/m0saic/media/qr/code/v1/qr-code.js +1 -0
  1256. package/node_modules/@m0saic/templates/dist/m0saic/media/qr/index.js +1 -0
  1257. package/node_modules/@m0saic/templates/dist/m0saic/media/qr/rounded/v1/index.js +1 -0
  1258. package/node_modules/@m0saic/templates/dist/m0saic/media/qr/rounded/v1/qr-rounded.js +1 -0
  1259. package/node_modules/@m0saic/templates/dist/m0saic/media/qr/stamp/v1/qr-stamp-custom.js +1 -0
  1260. package/node_modules/@m0saic/templates/dist/m0saic/media/qr/stamp-video/v1/expressions.js +1 -0
  1261. package/node_modules/@m0saic/templates/dist/m0saic/media/qr/stamp-video/v1/gleamBand.js +19 -0
  1262. package/node_modules/@m0saic/templates/dist/m0saic/media/qr/stamp-video/v1/index.js +1 -0
  1263. package/node_modules/@m0saic/templates/dist/m0saic/media/qr/stamp-video/v1/qr-stamp.js +1 -0
  1264. package/node_modules/@m0saic/templates/dist/m0saic/media/screencap_grid/index.js +1 -0
  1265. package/node_modules/@m0saic/templates/dist/m0saic/media/screencap_grid/internal/index.js +1 -0
  1266. package/node_modules/@m0saic/templates/dist/m0saic/media/screencap_grid/internal/info_pane.js +1 -0
  1267. package/node_modules/@m0saic/templates/dist/m0saic/media/screencap_grid/v1/index.js +1 -0
  1268. package/node_modules/@m0saic/templates/dist/m0saic/media/screencap_grid/v1/screencap-grid.js +3 -0
  1269. package/node_modules/@m0saic/templates/dist/m0saic/media/screencap_grid/v2/assets/tutorial-sheet.jpg +0 -0
  1270. package/node_modules/@m0saic/templates/dist/m0saic/media/screencap_grid/v2/index.js +1 -0
  1271. package/node_modules/@m0saic/templates/dist/m0saic/media/screencap_grid/v2/screencap-grid-cover-assets.js +1 -0
  1272. package/node_modules/@m0saic/templates/dist/m0saic/media/screencap_grid/v2/screencap-grid-cover.js +1 -0
  1273. package/node_modules/@m0saic/templates/dist/m0saic/media/screencap_grid/v2/screencap-grid-tutorial.js +1 -0
  1274. package/node_modules/@m0saic/templates/dist/m0saic/media/screencap_grid/v2/screencap-grid.js +4 -0
  1275. package/node_modules/@m0saic/templates/dist/m0saic/media/screencap_grid_aspect_safe/index.js +1 -0
  1276. package/node_modules/@m0saic/templates/dist/m0saic/media/screencap_grid_aspect_safe/v1/assets/pair-sheet.jpg +0 -0
  1277. package/node_modules/@m0saic/templates/dist/m0saic/media/screencap_grid_aspect_safe/v1/index.js +1 -0
  1278. package/node_modules/@m0saic/templates/dist/m0saic/media/screencap_grid_aspect_safe/v1/screencap-grid-aspect-safe-cover.js +1 -0
  1279. package/node_modules/@m0saic/templates/dist/m0saic/media/screencap_grid_aspect_safe/v1/screencap-grid-aspect-safe-tutorial.js +1 -0
  1280. package/node_modules/@m0saic/templates/dist/m0saic/media/screencap_grid_aspect_safe/v1/screencap-grid-aspect-safe.js +3 -0
  1281. package/node_modules/@m0saic/templates/dist/m0saic/media/scroll_wall/index.js +1 -0
  1282. package/node_modules/@m0saic/templates/dist/m0saic/media/scroll_wall/v1/geometry.js +1 -0
  1283. package/node_modules/@m0saic/templates/dist/m0saic/media/scroll_wall/v1/index.js +1 -0
  1284. package/node_modules/@m0saic/templates/dist/m0saic/media/scroll_wall/v1/motion.js +1 -0
  1285. package/node_modules/@m0saic/templates/dist/m0saic/media/scroll_wall/v1/scroll-wall.js +1 -0
  1286. package/node_modules/@m0saic/templates/dist/m0saic/media/subtitle-burn/index.js +1 -0
  1287. package/node_modules/@m0saic/templates/dist/m0saic/media/subtitle-burn/v1/index.js +1 -0
  1288. package/node_modules/@m0saic/templates/dist/m0saic/media/subtitle-burn/v1/subtitle-burn-cover.js +1 -0
  1289. package/node_modules/@m0saic/templates/dist/m0saic/media/subtitle-burn/v1/subtitle-burn.js +4 -0
  1290. package/node_modules/@m0saic/templates/dist/m0saic/media/trickplay/index.js +1 -0
  1291. package/node_modules/@m0saic/templates/dist/m0saic/media/trickplay/v1/index.js +1 -0
  1292. package/node_modules/@m0saic/templates/dist/m0saic/media/trickplay/v1/pipeline.js +1 -0
  1293. package/node_modules/@m0saic/templates/dist/m0saic/media/trickplay/v1/plan.js +1 -0
  1294. package/node_modules/@m0saic/templates/dist/m0saic/media/trickplay/v1/sidecars.js +7 -0
  1295. package/node_modules/@m0saic/templates/dist/m0saic/media/trickplay/v1/trickplay.js +1 -0
  1296. package/node_modules/@m0saic/templates/dist/m0saic/media/video_to_png_sequence/index.js +1 -0
  1297. package/node_modules/@m0saic/templates/dist/m0saic/media/video_to_png_sequence/v1/index.js +1 -0
  1298. package/node_modules/@m0saic/templates/dist/m0saic/media/video_to_png_sequence/v1/video-to-png-sequence.js +1 -0
  1299. package/node_modules/@m0saic/templates/dist/m0saic/media/watermark/index.js +1 -0
  1300. package/node_modules/@m0saic/templates/dist/m0saic/media/watermark/v1/adaptive.js +1 -0
  1301. package/node_modules/@m0saic/templates/dist/m0saic/media/watermark/v1/content.js +1 -0
  1302. package/node_modules/@m0saic/templates/dist/m0saic/media/watermark/v1/geometry.js +2 -0
  1303. package/node_modules/@m0saic/templates/dist/m0saic/media/watermark/v1/index.js +1 -0
  1304. package/node_modules/@m0saic/templates/dist/m0saic/media/watermark/v1/pageGrid.js +1 -0
  1305. package/node_modules/@m0saic/templates/dist/m0saic/media/watermark/v1/pipeline.js +1 -0
  1306. package/node_modules/@m0saic/templates/dist/m0saic/media/watermark/v1/watermark.js +1 -0
  1307. package/node_modules/@m0saic/templates/dist/m0saic/meta/camera-debug/index.js +1 -0
  1308. package/node_modules/@m0saic/templates/dist/m0saic/meta/camera-debug/v1/camera-debug.js +1 -0
  1309. package/node_modules/@m0saic/templates/dist/m0saic/meta/fixture-fetcher/index.js +1 -0
  1310. package/node_modules/@m0saic/templates/dist/m0saic/meta/fixture-fetcher/v1/fixture-fetcher.js +1 -0
  1311. package/node_modules/@m0saic/templates/dist/m0saic/meta/hot-reload-smoke/index.js +1 -0
  1312. package/node_modules/@m0saic/templates/dist/m0saic/meta/hot-reload-smoke/v1/hot-reload-smoke.js +1 -0
  1313. package/node_modules/@m0saic/templates/dist/m0saic/meta/index.js +1 -0
  1314. package/node_modules/@m0saic/templates/dist/m0saic/meta/post-mortem/index.js +1 -0
  1315. package/node_modules/@m0saic/templates/dist/m0saic/meta/post-mortem/v1/assets/human.png +0 -0
  1316. package/node_modules/@m0saic/templates/dist/m0saic/meta/post-mortem/v1/assets/robot.png +0 -0
  1317. package/node_modules/@m0saic/templates/dist/m0saic/meta/post-mortem/v1/post-mortem.js +1 -0
  1318. package/node_modules/@m0saic/templates/dist/m0saic/meta/upstream-echo/index.js +1 -0
  1319. package/node_modules/@m0saic/templates/dist/m0saic/meta/upstream-echo/v1/upstream-echo.js +1 -0
  1320. package/node_modules/@m0saic/templates/dist/m0saic/primitives/grid/index.js +1 -0
  1321. package/node_modules/@m0saic/templates/dist/m0saic/primitives/grid/v1/grid.js +1 -0
  1322. package/node_modules/@m0saic/templates/dist/m0saic/primitives/grid/v2/grid.js +1 -0
  1323. package/node_modules/@m0saic/templates/dist/m0saic/primitives/index.js +1 -0
  1324. package/node_modules/@m0saic/templates/dist/m0saic/social/index.js +1 -0
  1325. package/node_modules/@m0saic/templates/dist/m0saic/social/quote-card/index.js +1 -0
  1326. package/node_modules/@m0saic/templates/dist/m0saic/social/quote-card/v1/index.js +1 -0
  1327. package/node_modules/@m0saic/templates/dist/m0saic/social/quote-card/v1/layout.js +4 -0
  1328. package/node_modules/@m0saic/templates/dist/m0saic/social/quote-card/v1/quote-card.js +1 -0
  1329. package/node_modules/@m0saic/templates/dist/m0saic/story/index.js +1 -0
  1330. package/node_modules/@m0saic/templates/dist/m0saic/story/narrated-chapters/index.js +1 -0
  1331. package/node_modules/@m0saic/templates/dist/m0saic/story/narrated-chapters/v1/captions.js +5 -0
  1332. package/node_modules/@m0saic/templates/dist/m0saic/story/narrated-chapters/v1/demo-fixture.js +1 -0
  1333. package/node_modules/@m0saic/templates/dist/m0saic/story/narrated-chapters/v1/index.js +1 -0
  1334. package/node_modules/@m0saic/templates/dist/m0saic/story/narrated-chapters/v1/kenburns.js +1 -0
  1335. package/node_modules/@m0saic/templates/dist/m0saic/story/narrated-chapters/v1/layout.js +1 -0
  1336. package/node_modules/@m0saic/templates/dist/m0saic/story/narrated-chapters/v1/narrated-chapters.js +4 -0
  1337. package/node_modules/@m0saic/templates/dist/m0saic/story/narrated-chapters/v1/pipeline.js +2 -0
  1338. package/node_modules/@m0saic/templates/dist/m0saic/story/narrated-chapters/v1/plan.js +2 -0
  1339. package/node_modules/@m0saic/templates/dist/m0saic/story/narrated-chapters/v1/props.js +1 -0
  1340. package/node_modules/@m0saic/templates/dist/m0saic/story/narrated-chapters/v1/scenes/body.js +2 -0
  1341. package/node_modules/@m0saic/templates/dist/m0saic/story/narrated-chapters/v1/scenes/card.js +4 -0
  1342. package/node_modules/@m0saic/templates/dist/m0saic/story/narrated-chapters/v1/theme.js +1 -0
  1343. package/node_modules/@m0saic/templates/dist/m0saic/story/scrapbook/v1/document.js +1 -0
  1344. package/node_modules/@m0saic/templates/dist/m0saic/story/scrapbook/v1/index.js +1 -0
  1345. package/node_modules/@m0saic/templates/dist/m0saic/story/scrapbook/v1/page.js +1 -0
  1346. package/node_modules/@m0saic/templates/dist/m0saic/story/scrapbook/v1/pages.js +1 -0
  1347. package/node_modules/@m0saic/templates/dist/m0saic/story/scrapbook/v1/pipeline.js +1 -0
  1348. package/node_modules/@m0saic/templates/dist/m0saic/story/scrapbook/v1/placeholder.js +1 -0
  1349. package/node_modules/@m0saic/templates/dist/m0saic/story/scrapbook/v1/props.js +1 -0
  1350. package/node_modules/@m0saic/templates/dist/m0saic/story/scrapbook/v1/scrapbook.js +1 -0
  1351. package/node_modules/@m0saic/templates/dist/m0saic/theming/index.js +1 -0
  1352. package/node_modules/@m0saic/templates/dist/m0saic/theming/v1/brand-m-glyph.js +1 -0
  1353. package/node_modules/@m0saic/templates/dist/m0saic/theming/v1/index.js +1 -0
  1354. package/node_modules/@m0saic/templates/dist/m0saic/theming/v1/theme-tokens.js +1 -0
  1355. package/node_modules/@m0saic/templates/dist/m0saic/theming/v1/theming.js +1 -0
  1356. package/node_modules/@m0saic/templates/dist/m0saic/theming/v1/token-sheet.js +1 -0
  1357. package/node_modules/@m0saic/templates/dist/m0saic/web/index.js +1 -0
  1358. package/node_modules/@m0saic/templates/dist/m0saic/web/page-skeleton/v1/capture/capture-snippet-source.js +2 -0
  1359. package/node_modules/@m0saic/templates/dist/m0saic/web/page-skeleton/v1/index.js +1 -0
  1360. package/node_modules/@m0saic/templates/dist/m0saic/web/page-skeleton/v1/layout.js +1 -0
  1361. package/node_modules/@m0saic/templates/dist/m0saic/web/page-skeleton/v1/page-skeleton.js +1 -0
  1362. package/node_modules/@m0saic/templates/dist/m0saic/web/page-skeleton/v1/sample-capture.js +1 -0
  1363. package/node_modules/@m0saic/templates/dist/m0saic/web/page-skeleton/v1/schema.js +1 -0
  1364. package/node_modules/@m0saic/templates/dist/m0saic/wireframe/animated/v1/animated-wireframe.js +2 -0
  1365. package/node_modules/@m0saic/templates/dist/m0saic/wireframe/animated/v1/index.js +1 -0
  1366. package/node_modules/@m0saic/templates/dist/m0saic/wireframe/base/v1/index.js +1 -0
  1367. package/node_modules/@m0saic/templates/dist/m0saic/wireframe/base/v1/wireframe.js +2 -0
  1368. package/node_modules/@m0saic/templates/dist/m0saic/wireframe/base/v2/index.js +1 -0
  1369. package/node_modules/@m0saic/templates/dist/m0saic/wireframe/base/v2/wireframe.js +1 -0
  1370. package/node_modules/@m0saic/templates/dist/m0saic/wireframe/index.js +1 -0
  1371. package/node_modules/@m0saic/templates/dist/m0saic/wireframe/utils/paperGrid.js +1 -0
  1372. package/node_modules/@m0saic/templates/dist/m0saic/wireframe/utils/wireframeCell.js +2 -0
  1373. package/node_modules/@m0saic/templates/dist/registry.js +1 -0
  1374. package/node_modules/@m0saic/templates/dist/repo.js +1 -0
  1375. package/node_modules/@m0saic/templates/dist/template-registry.js +1 -0
  1376. package/node_modules/@m0saic/templates/dist/web.js +1 -0
  1377. package/node_modules/@m0saic/templates/dist/webTemplateIds.js +1 -0
  1378. package/node_modules/@m0saic/templates/package.json +6 -0
  1379. package/node_modules/@m0saic/templates/template-manifest.json +2015 -0
  1380. package/node_modules/@m0saic/templates/web-template-ids.json +84 -0
  1381. package/node_modules/@m0saic/templates-advanced/LICENSE +13 -0
  1382. package/node_modules/@m0saic/templates-advanced/README.md +5 -0
  1383. package/node_modules/@m0saic/templates-advanced/dist/index.js +1 -0
  1384. package/node_modules/@m0saic/templates-advanced/package.json +6 -0
  1385. package/node_modules/@m0saic/text/LICENSE +201 -0
  1386. package/node_modules/@m0saic/text/NOTICE +18 -0
  1387. package/node_modules/@m0saic/text/README.md +34 -0
  1388. package/node_modules/@m0saic/text/assets/fonts/JetBrainsMono-Bold.ttf +0 -0
  1389. package/node_modules/@m0saic/text/assets/fonts/JetBrainsMono-BoldItalic.ttf +0 -0
  1390. package/node_modules/@m0saic/text/assets/fonts/JetBrainsMono-Italic.ttf +0 -0
  1391. package/node_modules/@m0saic/text/assets/fonts/JetBrainsMono-OFL-1.1.txt +93 -0
  1392. package/node_modules/@m0saic/text/assets/fonts/JetBrainsMono-Regular.ttf +0 -0
  1393. package/node_modules/@m0saic/text/assets/fonts/Roboto-Bold.ttf +0 -0
  1394. package/node_modules/@m0saic/text/assets/fonts/Roboto-BoldItalic.ttf +0 -0
  1395. package/node_modules/@m0saic/text/assets/fonts/Roboto-Italic.ttf +0 -0
  1396. package/node_modules/@m0saic/text/assets/fonts/Roboto-Regular.LICENSE.txt +18 -0
  1397. package/node_modules/@m0saic/text/assets/fonts/Roboto-Regular.ttf +0 -0
  1398. package/node_modules/@m0saic/text/dist/bundledFonts.js +1 -0
  1399. package/node_modules/@m0saic/text/dist/fontCache.js +1 -0
  1400. package/node_modules/@m0saic/text/dist/fontRegistry.js +1 -0
  1401. package/node_modules/@m0saic/text/dist/index.js +1 -0
  1402. package/node_modules/@m0saic/text/dist/runsToPaths.js +1 -0
  1403. package/node_modules/@m0saic/text/dist/textToPath.js +3 -0
  1404. package/node_modules/@m0saic/text/package.json +6 -0
  1405. package/node_modules/@m0saic/types/LICENSE +201 -0
  1406. package/node_modules/@m0saic/types/NOTICE +13 -0
  1407. package/node_modules/@m0saic/types/README.md +28 -0
  1408. package/node_modules/@m0saic/types/assets/icons/mosaic.svg +36 -0
  1409. package/node_modules/@m0saic/types/assets/icons/mosaicx.svg +32 -0
  1410. package/node_modules/@m0saic/types/dist/analytics/consent.js +1 -0
  1411. package/node_modules/@m0saic/types/dist/analytics/event.js +1 -0
  1412. package/node_modules/@m0saic/types/dist/analytics/index.js +1 -0
  1413. package/node_modules/@m0saic/types/dist/analytics/redaction.js +1 -0
  1414. package/node_modules/@m0saic/types/dist/analytics/redactor.js +1 -0
  1415. package/node_modules/@m0saic/types/dist/analytics/sink.js +1 -0
  1416. package/node_modules/@m0saic/types/dist/analytics/usageMetrics.js +1 -0
  1417. package/node_modules/@m0saic/types/dist/asset/asset.js +1 -0
  1418. package/node_modules/@m0saic/types/dist/asset/index.js +1 -0
  1419. package/node_modules/@m0saic/types/dist/benchmark/index.js +1 -0
  1420. package/node_modules/@m0saic/types/dist/benchmark/session.js +1 -0
  1421. package/node_modules/@m0saic/types/dist/colors/ffmpegNamedColors.js +1 -0
  1422. package/node_modules/@m0saic/types/dist/colors/index.js +1 -0
  1423. package/node_modules/@m0saic/types/dist/colors/mosaicColor.js +1 -0
  1424. package/node_modules/@m0saic/types/dist/colors/parseMosaicColors.js +1 -0
  1425. package/node_modules/@m0saic/types/dist/community-m/community-m.js +1 -0
  1426. package/node_modules/@m0saic/types/dist/community-m/index.js +1 -0
  1427. package/node_modules/@m0saic/types/dist/defaults/audio.js +1 -0
  1428. package/node_modules/@m0saic/types/dist/defaults/color.js +1 -0
  1429. package/node_modules/@m0saic/types/dist/defaults/effects.js +1 -0
  1430. package/node_modules/@m0saic/types/dist/defaults/index.js +1 -0
  1431. package/node_modules/@m0saic/types/dist/defaults/media.js +1 -0
  1432. package/node_modules/@m0saic/types/dist/defaults/output-target.js +1 -0
  1433. package/node_modules/@m0saic/types/dist/defaults/pipeline.js +1 -0
  1434. package/node_modules/@m0saic/types/dist/defaults/placement.js +1 -0
  1435. package/node_modules/@m0saic/types/dist/defaults/text.js +1 -0
  1436. package/node_modules/@m0saic/types/dist/defaults/timing.js +1 -0
  1437. package/node_modules/@m0saic/types/dist/defaults/visual.js +1 -0
  1438. package/node_modules/@m0saic/types/dist/diagnostic/diagnostic.js +1 -0
  1439. package/node_modules/@m0saic/types/dist/diagnostic/index.js +1 -0
  1440. package/node_modules/@m0saic/types/dist/dictionary/dictionary.js +1 -0
  1441. package/node_modules/@m0saic/types/dist/dictionary/index.js +1 -0
  1442. package/node_modules/@m0saic/types/dist/document/document-pipeline.js +1 -0
  1443. package/node_modules/@m0saic/types/dist/document/document.js +1 -0
  1444. package/node_modules/@m0saic/types/dist/document/index.js +1 -0
  1445. package/node_modules/@m0saic/types/dist/document/mosaicx-document.js +1 -0
  1446. package/node_modules/@m0saic/types/dist/document/pipeline-helpers.js +1 -0
  1447. package/node_modules/@m0saic/types/dist/document/sidecars.js +1 -0
  1448. package/node_modules/@m0saic/types/dist/document/xfadeModes.js +1 -0
  1449. package/node_modules/@m0saic/types/dist/engine-context/engine-context.js +1 -0
  1450. package/node_modules/@m0saic/types/dist/engine-context/index.js +1 -0
  1451. package/node_modules/@m0saic/types/dist/host-connections/host-connections.js +1 -0
  1452. package/node_modules/@m0saic/types/dist/host-connections/index.js +1 -0
  1453. package/node_modules/@m0saic/types/dist/identifiers/identifiers.js +1 -0
  1454. package/node_modules/@m0saic/types/dist/identifiers/index.js +1 -0
  1455. package/node_modules/@m0saic/types/dist/index.js +1 -0
  1456. package/node_modules/@m0saic/types/dist/language/index.js +1 -0
  1457. package/node_modules/@m0saic/types/dist/language/language.js +1 -0
  1458. package/node_modules/@m0saic/types/dist/luminance/LuminanceBucket.js +1 -0
  1459. package/node_modules/@m0saic/types/dist/luminance/index.js +1 -0
  1460. package/node_modules/@m0saic/types/dist/meta/index.js +1 -0
  1461. package/node_modules/@m0saic/types/dist/meta/meta.js +1 -0
  1462. package/node_modules/@m0saic/types/dist/output/audio-config.js +1 -0
  1463. package/node_modules/@m0saic/types/dist/output/color-config.js +1 -0
  1464. package/node_modules/@m0saic/types/dist/output/container-metadata.js +1 -0
  1465. package/node_modules/@m0saic/types/dist/output/encode.js +1 -0
  1466. package/node_modules/@m0saic/types/dist/output/format.js +1 -0
  1467. package/node_modules/@m0saic/types/dist/output/index.js +1 -0
  1468. package/node_modules/@m0saic/types/dist/output/output.js +1 -0
  1469. package/node_modules/@m0saic/types/dist/output/target.js +1 -0
  1470. package/node_modules/@m0saic/types/dist/primitives/index.js +1 -0
  1471. package/node_modules/@m0saic/types/dist/primitives/primitives.js +1 -0
  1472. package/node_modules/@m0saic/types/dist/secrets/index.js +1 -0
  1473. package/node_modules/@m0saic/types/dist/secrets/secrets.js +1 -0
  1474. package/node_modules/@m0saic/types/dist/source/effectKeys.js +1 -0
  1475. package/node_modules/@m0saic/types/dist/source/index.js +1 -0
  1476. package/node_modules/@m0saic/types/dist/source/source.js +1 -0
  1477. package/node_modules/@m0saic/types/dist/telemetry/category.js +1 -0
  1478. package/node_modules/@m0saic/types/dist/telemetry/emit.js +1 -0
  1479. package/node_modules/@m0saic/types/dist/telemetry/event.js +1 -0
  1480. package/node_modules/@m0saic/types/dist/telemetry/ffmpegFailure.js +4 -0
  1481. package/node_modules/@m0saic/types/dist/telemetry/index.js +1 -0
  1482. package/node_modules/@m0saic/types/dist/telemetry/level.js +1 -0
  1483. package/node_modules/@m0saic/types/dist/telemetry/personas.js +1 -0
  1484. package/node_modules/@m0saic/types/dist/telemetry/record.js +1 -0
  1485. package/node_modules/@m0saic/types/dist/telemetry/sink.js +1 -0
  1486. package/node_modules/@m0saic/types/dist/telemetry/usage.js +1 -0
  1487. package/node_modules/@m0saic/types/dist/telemetry-settings/index.js +1 -0
  1488. package/node_modules/@m0saic/types/dist/telemetry-settings/mode.js +1 -0
  1489. package/node_modules/@m0saic/types/dist/telemetry-settings/settings.js +1 -0
  1490. package/node_modules/@m0saic/types/dist/telemetry-settings/upstream.js +1 -0
  1491. package/node_modules/@m0saic/types/dist/template/forensic-watermark-check.js +1 -0
  1492. package/node_modules/@m0saic/types/dist/template/forensic-watermark.js +1 -0
  1493. package/node_modules/@m0saic/types/dist/template/index.js +1 -0
  1494. package/node_modules/@m0saic/types/dist/template/region.js +1 -0
  1495. package/node_modules/@m0saic/types/dist/template/template.js +1 -0
  1496. package/node_modules/@m0saic/types/dist/template/time-range.js +1 -0
  1497. package/node_modules/@m0saic/types/dist/template/time-window.js +1 -0
  1498. package/node_modules/@m0saic/types/dist/template/timed-cue.js +1 -0
  1499. package/node_modules/@m0saic/types/dist/template-repo/index.js +1 -0
  1500. package/node_modules/@m0saic/types/dist/template-repo/template-repo.js +1 -0
  1501. package/node_modules/@m0saic/types/dist/theme/index.js +1 -0
  1502. package/node_modules/@m0saic/types/dist/theme/theme.js +1 -0
  1503. package/node_modules/@m0saic/types/package.json +6 -0
  1504. package/node_modules/@m0saic/types/schemas/mosaic.schema.json +771 -0
  1505. package/node_modules/@m0saic/types-internal/LICENSE +7 -0
  1506. package/node_modules/@m0saic/types-internal/dist/analytics/featureKeys.js +1 -0
  1507. package/node_modules/@m0saic/types-internal/dist/analytics/webEvent.js +1 -0
  1508. package/node_modules/@m0saic/types-internal/dist/index.js +1 -0
  1509. package/node_modules/@m0saic/types-internal/package.json +6 -0
  1510. package/package.json +49 -8
@@ -0,0 +1 @@
1
+ "use strict";var a=Object.defineProperty;var o=(r,e)=>a(r,"name",{value:e,configurable:!0});var __createBinding=this&&this.__createBinding||(Object.create?(function(r,e,t,i){i===void 0&&(i=t);var n=Object.getOwnPropertyDescriptor(e,t);(!n||("get"in n?!e.__esModule:n.writable||n.configurable))&&(n={enumerable:!0,get:o(function(){return e[t]},"get")}),Object.defineProperty(r,i,n)}):(function(r,e,t,i){i===void 0&&(i=t),r[i]=e[t]})),__exportStar=this&&this.__exportStar||function(r,e){for(var t in r)t!=="default"&&!Object.prototype.hasOwnProperty.call(e,t)&&__createBinding(e,r,t)};Object.defineProperty(exports,"__esModule",{value:!0}),__exportStar(require("./page-skeleton/v1"),exports);
@@ -0,0 +1,2 @@
1
+ "use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.PAGE_SKELETON_CAPTURE_SNIPPET=void 0,exports.PAGE_SKELETON_CAPTURE_SNIPPET=["(function () {",' "use strict";',"",' var FORMAT = "m0saic-page-skeleton";'," var VERSION = 1;"," var DEFAULT_MAX_RECTS = 600;"," var MAX_TEXT_LINES_PER_NODE = 12;"," var SAME_RECT_TOLERANCE_PX = 2;",""," var SKIP_SUBTREES = {"," SCRIPT: true,"," STYLE: true,"," NOSCRIPT: true,"," TEMPLATE: true,"," };"," var REPLACED_TAGS = {"," IMG: true,"," VIDEO: true,"," CANVAS: true,"," SVG: true,"," PICTURE: true,"," EMBED: true,"," OBJECT: true,"," IFRAME: true,"," };"," var CONTROL_TAGS = {"," INPUT: true,"," TEXTAREA: true,"," SELECT: true,"," BUTTON: true,"," PROGRESS: true,"," METER: true,"," };",""," function styleValue(style, camelName, cssName) {",' if (!style) return "";',' if (style[camelName] != null && style[camelName] !== "") {'," return String(style[camelName]);"," }",' if (typeof style.getPropertyValue === "function") {',' return String(style.getPropertyValue(cssName || camelName) || "");'," }",' return "";'," }",""," function colorAlpha(value) {",' var color = String(value || "").trim().toLowerCase();',' if (!color || color === "transparent") return 0;',""," var rgba = color.match(/^rgba?\\((.*)\\)$/);"," if (!rgba) return 1;",""," var body = rgba[1].trim();",' var slash = body.lastIndexOf("/");'," if (slash >= 0) {"," var slashAlpha = parseFloat(body.slice(slash + 1));"," return Number.isFinite(slashAlpha) ? Math.max(0, Math.min(1, slashAlpha)) : 1;"," }","",' var parts = body.split(",").map(function (part) {'," return part.trim();"," });"," if (parts.length < 4) return 1;"," var alpha = parseFloat(parts[3]);"," return Number.isFinite(alpha) ? Math.max(0, Math.min(1, alpha)) : 1;"," }",""," function firstRadiusToken(value) {",' var firstAxis = String(value || "").split("/")[0].trim();',' return firstAxis.split(/\\s+/)[0] || "";'," }",""," /**"," * Parse one computed corner radius (or an array of four corner radii)."," * Percentages are relative to the rect's shorter axis, then the result is"," * rounded and clamped to the inscribed pill/circle radius."," */"," function parseRadius(value, width, height) {"," var minSide = Math.max(0, Math.min(Number(width) || 0, Number(height) || 0));"," var maxRadius = Math.floor(minSide / 2);"," var values = Array.isArray(value) ? value : [value];"," var largest = 0;",""," values.forEach(function (entry) {"," var token = firstRadiusToken(entry);"," var match = token.match(/^(-?(?:\\d+\\.?\\d*|\\.\\d+))(px|%)$/i);"," if (!match) return;"," var amount = parseFloat(match[1]);"," if (!Number.isFinite(amount) || amount <= 0) return;",' var pixels = match[2].toLowerCase() === "%" ? (amount / 100) * minSide : amount;'," largest = Math.max(largest, pixels);"," });",""," return Math.max(0, Math.min(maxRadius, Math.round(largest)));"," }",""," /** Return true when computed style paints pixels of its own. */"," function isPainted(style) {",' if (colorAlpha(styleValue(style, "backgroundColor", "background-color")) > 0) {'," return true;"," }","",' var backgroundImage = styleValue(style, "backgroundImage", "background-image")'," .trim()"," .toLowerCase();",' if (backgroundImage && backgroundImage !== "none") return true;',"",' var shadow = styleValue(style, "boxShadow", "box-shadow").trim().toLowerCase();',' if (shadow && shadow !== "none") return true;',"",' var sides = ["Top", "Right", "Bottom", "Left"];'," for (var i = 0; i < sides.length; i++) {"," var side = sides[i];"," var width = parseFloat(",' styleValue(style, "border" + side + "Width", "border-" + side.toLowerCase() + "-width"),'," );"," var color = styleValue("," style,",' "border" + side + "Color",',' "border-" + side.toLowerCase() + "-color",'," );"," if (Number.isFinite(width) && width >= 1 && colorAlpha(color) > 0) return true;"," }","",' var borderWidth = parseFloat(styleValue(style, "borderWidth", "border-width"));'," return ("," Number.isFinite(borderWidth) &&"," borderWidth >= 1 &&",' colorAlpha(styleValue(style, "borderColor", "border-color")) > 0'," );"," }",""," /**"," * Classify an anonymous element descriptor. Unknown kinds deliberately fold",' * to "block" so future capture heuristics remain renderer-compatible.'," */"," function classify(subject) {",' var tagName = String((subject && subject.tagName) || "").toUpperCase();'," var width = Number(subject && subject.w) || 0;"," var height = Number(subject && subject.h) || 0;"," var painted = Boolean(subject && subject.painted);","",' if (tagName === "HR") return "divider";'," if ("," painted &&"," ((height <= 2 && width >= 24) || (width <= 2 && height >= 24))"," ) {",' return "divider";'," }",' if (REPLACED_TAGS[tagName]) return "image";',' if (CONTROL_TAGS[tagName]) return "control";',' return "block";'," }",""," function clipRect(rect, viewportWidth, viewportHeight) {"," if (!rect) return null;"," var left = Number(rect.left != null ? rect.left : rect.x);"," var top = Number(rect.top != null ? rect.top : rect.y);"," var right = Number("," rect.right != null ? rect.right : left + Number(rect.width != null ? rect.width : rect.w),"," );"," var bottom = Number("," rect.bottom != null"," ? rect.bottom"," : top + Number(rect.height != null ? rect.height : rect.h),"," );"," if (![left, top, right, bottom].every(Number.isFinite)) return null;",""," var clippedLeft = Math.max(0, Math.min(viewportWidth, left));"," var clippedTop = Math.max(0, Math.min(viewportHeight, top));"," var clippedRight = Math.max(0, Math.min(viewportWidth, right));"," var clippedBottom = Math.max(0, Math.min(viewportHeight, bottom));"," if (clippedRight <= clippedLeft || clippedBottom <= clippedTop) return null;",""," var x0 = Math.round(clippedLeft);"," var y0 = Math.round(clippedTop);"," var x1 = Math.round(clippedRight);"," var y1 = Math.round(clippedBottom);"," if (x1 <= x0 || y1 <= y0) return null;"," return { x: x0, y: y0, w: x1 - x0, h: y1 - y0 };"," }",""," function sameRect(a, b, tolerance) {"," var px = tolerance == null ? SAME_RECT_TOLERANCE_PX : tolerance;"," return ("," Math.abs(a.x - b.x) <= px &&"," Math.abs(a.y - b.y) <= px &&"," Math.abs(a.x + a.w - (b.x + b.w)) <= px &&"," Math.abs(a.y + a.h - (b.y + b.h)) <= px"," );"," }",""," /**"," * Drop matching emitted wrappers in favor of their nearest, more-specific"," * descendant. Internal `_id`/`_ancestorId` fields are collector bookkeeping"," * and are stripped by `buildOutput`."," */"," function dedupSameRect(rects) {"," var clones = rects.map(function (rect) {"," var copy = {};"," Object.keys(rect).forEach(function (key) {"," copy[key] = rect[key];"," });"," return copy;"," });"," var byId = {};"," var removed = {};",""," clones.forEach(function (rect) {"," if (rect._id != null) byId[rect._id] = rect;"," });",""," clones.forEach(function (rect) {"," var ancestorId = rect._ancestorId;"," while (ancestorId != null) {"," var ancestor = byId[ancestorId];"," if (!ancestor || !sameRect(rect, ancestor)) break;"," removed[ancestorId] = true;"," if (!rect.r && ancestor.r) rect.r = ancestor.r;"," ancestorId = ancestor._ancestorId;"," rect._ancestorId = ancestorId;"," }"," });",""," return clones.filter(function (rect) {"," return !removed[rect._id];"," });"," }",""," /**"," * Deterministic keep order: shallower paint depth, larger area, top-to-bottom,"," * left-to-right, then source traversal order."," */"," function capAndSort(rects, maxRects) {"," var cap = Number.isFinite(maxRects)"," ? Math.max(0, Math.floor(maxRects))"," : DEFAULT_MAX_RECTS;"," var ranked = rects.map(function (rect, index) {"," return { rect: rect, index: index };"," });"," ranked.sort(function (a, b) {"," var ar = a.rect;"," var br = b.rect;"," return ("," (ar.d || 0) - (br.d || 0) ||"," br.w * br.h - ar.w * ar.h ||"," ar.y - br.y ||"," ar.x - br.x ||"," br.w - ar.w ||"," br.h - ar.h ||"," a.index - b.index"," );"," });"," return {"," rects: ranked.slice(0, cap).map(function (entry) {"," return entry.rect;"," }),"," dropped: Math.max(0, ranked.length - cap),"," };"," }",""," function publicRect(rect) {"," return {"," x: rect.x,"," y: rect.y,"," w: rect.w,"," h: rect.h,"," k:",' rect.k === "text" ||',' rect.k === "image" ||',' rect.k === "control" ||',' rect.k === "divider"'," ? rect.k",' : "block",'," r: Math.max(0, Math.min(Math.floor(Math.min(rect.w, rect.h) / 2), rect.r || 0)),"," d: Math.max(0, Math.floor(rect.d || 0)),"," };"," }",""," /** Deduplicate, cap, normalize, and wrap anonymous geometry in schema v1. */"," function buildOutput(viewport, rects, maxRects) {"," var deduped = dedupSameRect(rects);"," var capped = capAndSort(deduped, maxRects);"," var outputViewport = {"," w: Math.max(1, Math.round(viewport.w)),"," h: Math.max(1, Math.round(viewport.h)),"," };"," if (Number.isFinite(viewport.dpr) && viewport.dpr > 0) {"," outputViewport.dpr = viewport.dpr;"," }"," return {"," format: FORMAT,"," version: VERSION,"," viewport: outputViewport,"," rects: capped.rects.map(publicRect),"," meta: { total: capped.rects.length, dropped: capped.dropped },"," };"," }",""," function elementTagName(element) {",' return String((element && (element.tagName || element.nodeName)) || "").toUpperCase();'," }",""," function elementChildren(element) {"," if (!element || !element.childNodes) return [];"," return Array.prototype.slice.call(element.childNodes);"," }",""," /**"," * Thin DOM collector. It reads computed paint geometry only; the output never"," * includes text, URLs, values, attributes, selectors, or page identity."," */"," function collect(documentObject, windowObject, options) {"," var viewportWidth = Math.max(1, Math.round(Number(windowObject.innerWidth) || 1));"," var viewportHeight = Math.max(1, Math.round(Number(windowObject.innerHeight) || 1));"," var getStyle =",' typeof windowObject.getComputedStyle === "function"'," ? windowObject.getComputedStyle.bind(windowObject)"," : function () {"," return {};"," };"," var candidates = [];"," var nextId = 0;",""," function addCandidate(rect, kind, radius, depth, ancestorId) {"," var candidate = {"," x: rect.x,"," y: rect.y,"," w: rect.w,"," h: rect.h,"," k: kind,"," r: radius || 0,"," d: depth,"," _id: nextId++,"," _ancestorId: ancestorId,"," };"," candidates.push(candidate);"," return candidate._id;"," }",""," function collectTextNode(node, depth, ancestorId) {",' if (!node || !/\\S/.test(String(node.nodeValue || ""))) return;',' if (!documentObject || typeof documentObject.createRange !== "function") return;',""," var range;"," try {"," range = documentObject.createRange();"," range.selectNodeContents(node);"," var lineRects = Array.prototype.slice.call(range.getClientRects() || []);"," for (var i = 0; i < Math.min(lineRects.length, MAX_TEXT_LINES_PER_NODE); i++) {"," var clipped = clipRect(lineRects[i], viewportWidth, viewportHeight);",' if (clipped) addCandidate(clipped, "text", 0, depth, ancestorId);'," }"," } catch (_error) {"," // A detached or browser-owned text node can reject Range selection."," } finally {",' if (range && typeof range.detach === "function") range.detach();'," }"," }",""," function walk(element, emittedDepth, nearestEmittedId) {"," if (!element || Number(element.nodeType) !== 1) return;"," var tagName = elementTagName(element);"," if (SKIP_SUBTREES[tagName]) return;",""," var style = getStyle(element);",' var display = styleValue(style, "display", "display").trim().toLowerCase();',' var opacity = parseFloat(styleValue(style, "opacity", "opacity"));',' if (display === "none" || (Number.isFinite(opacity) && opacity < 0.05)) return;',"",' var visibility = styleValue(style, "visibility", "visibility").trim().toLowerCase();',' var emitsSelf = visibility !== "hidden";'," var ownId = null;"," if ("," emitsSelf &&"," element &&",' typeof element.getBoundingClientRect === "function"'," ) {"," var rect = clipRect("," element.getBoundingClientRect(),"," viewportWidth,"," viewportHeight,"," );"," var painted = isPainted(style);"," var meaningful =",' painted || REPLACED_TAGS[tagName] || CONTROL_TAGS[tagName] || tagName === "HR";'," if (rect && meaningful) {"," var radius = parseRadius("," [",' styleValue(style, "borderTopLeftRadius", "border-top-left-radius"),',' styleValue(style, "borderTopRightRadius", "border-top-right-radius"),',' styleValue(style, "borderBottomRightRadius", "border-bottom-right-radius"),',' styleValue(style, "borderBottomLeftRadius", "border-bottom-left-radius"),'," ],"," rect.w,"," rect.h,"," );"," ownId = addCandidate("," rect,"," classify({ tagName: tagName, w: rect.w, h: rect.h, painted: painted }),"," radius,"," emittedDepth,"," nearestEmittedId,"," );"," }"," }",""," var childDepth = emittedDepth + (ownId == null ? 0 : 1);"," var childAncestor = ownId == null ? nearestEmittedId : ownId;"," elementChildren(element).forEach(function (child) {"," var nodeType = Number(child && child.nodeType);"," if (nodeType === 3) {",' if (visibility !== "hidden") {'," collectTextNode(child, childDepth, childAncestor);"," }"," } else if (nodeType === 1) {"," walk(child, childDepth, childAncestor);"," }"," });"," }",""," if (documentObject && documentObject.body) {"," walk(documentObject.body, 0, null);"," }",""," return buildOutput("," {"," w: viewportWidth,"," h: viewportHeight,"," dpr: Number(windowObject.devicePixelRatio) || undefined,"," },"," candidates,"," options && options.maxRects,"," );"," }",""," function kindSummary(rects) {"," var counts = { block: 0, text: 0, image: 0, control: 0, divider: 0 };"," rects.forEach(function (rect) {"," counts[rect.k] = (counts[rect.k] || 0) + 1;"," });"," return ("," counts.text +",' " text, " +'," counts.image +",' " image, " +'," counts.control +",' " control, " +'," counts.divider +",' " divider, " +'," counts.block +",' " block"'," );"," }",""," function logSummary(output, copied) {",' var suffix = copied ? "JSON copied" : "JSON logged for manual copy";'," console.log(",' "page-skeleton capture: " +'," output.rects.length +",' " rects (" +'," kindSummary(output.rects) +",' "), " +'," output.meta.dropped +",' " dropped \u2014 " +'," suffix,"," );"," }",""," function run() {"," var output = collect(document, window);"," var json = JSON.stringify(output, null, 2);",' var devtoolsCopy = typeof copy === "function" ? copy : window.copy;',"",' if (typeof devtoolsCopy === "function") {'," try {"," devtoolsCopy(json);"," logSummary(output, true);"," return output;"," } catch (_copyError) {"," // Fall through to the standards-based clipboard API."," }"," }",""," var clipboard = window.navigator && window.navigator.clipboard;",' if (clipboard && typeof clipboard.writeText === "function") {'," try {"," return Promise.resolve(clipboard.writeText(json))"," .then(function () {"," logSummary(output, true);"," return output;"," })"," .catch(function () {"," console.log(json);"," logSummary(output, false);"," return output;"," });"," } catch (_clipboardError) {"," // Fall through to console output."," }"," }",""," console.log(json);"," logSummary(output, false);"," return output;"," }",""," var api = {"," parseRadius: parseRadius,"," classify: classify,"," isPainted: isPainted,"," dedupSameRect: dedupSameRect,"," capAndSort: capAndSort,"," buildOutput: buildOutput,"," collect: collect,"," run: run,"," };","",' if (typeof module !== "undefined" && module.exports) module.exports = api;'," else run();","})();"].join(`
2
+ `);
@@ -0,0 +1 @@
1
+ "use strict";var o=Object.defineProperty;var e=(t,r)=>o(t,"name",{value:r,configurable:!0});Object.defineProperty(exports,"__esModule",{value:!0}),exports.PageSkeleton=void 0;var page_skeleton_1=require("./page-skeleton");Object.defineProperty(exports,"PageSkeleton",{enumerable:!0,get:e(function(){return page_skeleton_1.PageSkeleton},"get")});
@@ -0,0 +1 @@
1
+ "use strict";var C=Object.defineProperty;var c=(t,e)=>C(t,"name",{value:e,configurable:!0});Object.defineProperty(exports,"__esModule",{value:!0}),exports.MAX_DEPTH_BUCKETS=exports.DEFAULT_MAX_RECTS=void 0,exports.capCaptureRects=capCaptureRects,exports.findContainingBlockIds=findContainingBlockIds,exports.pruneContainingRects=pruneContainingRects,exports.quantizeDepthBuckets=quantizeDepthBuckets,exports.computeScaleTransform=computeScaleTransform,exports.scaleRectToCanvas=scaleRectToCanvas,exports.layoutCapture=layoutCapture,exports.projectOverlayLayerCount=projectOverlayLayerCount,exports.DEFAULT_MAX_RECTS=220,exports.MAX_DEPTH_BUCKETS=6;const clamp=c((t,e,o)=>Math.max(e,Math.min(o,t)),"clamp"),area=c(t=>t.w*t.h,"area");function kindEnabled(t,e){return t==="text"?e.showTextLines!==!1:t==="image"?e.showImages!==!1:t==="control"?e.showControls!==!1:t==="divider"?e.showDividers!==!1:!0}c(kindEnabled,"kindEnabled");function capCaptureRects(t,e=exports.DEFAULT_MAX_RECTS){const o=Math.max(0,Math.floor(Number.isFinite(e)?e:exports.DEFAULT_MAX_RECTS));return[...t].sort((s,r)=>s.d-r.d||area(r)-area(s)||s.y-r.y||s.x-r.x||r.w-s.w||r.h-s.h||s.i-r.i).slice(0,o)}c(capCaptureRects,"capCaptureRects");function contains(t,e){return t.i!==e.i&&t.x<=e.x&&t.y<=e.y&&t.x+t.w>=e.x+e.w&&t.y+t.h>=e.y+e.h}c(contains,"contains");function findContainingBlockIds(t,e){const o=new Set,s=e.w*e.h;for(const r of t){if(r.k!=="block"||area(r)<s*.35)continue;let n=0;for(const l of t)if(contains(r,l)&&n++,n>=2){o.add(r.i);break}}return o}c(findContainingBlockIds,"findContainingBlockIds");function pruneContainingRects(t,e,o){if(o!=="drop")return t;const s=findContainingBlockIds(t,e);return t.filter(r=>!s.has(r.i))}c(pruneContainingRects,"pruneContainingRects");function viewportBackdropId(t,e){var o,s;return(s=(o=t.filter(n=>n.k==="block"&&n.x<=0&&n.y<=0&&n.x+n.w>=e.w&&n.y+n.h>=e.h).sort((n,l)=>n.d-l.d||area(l)-area(n)||n.i-l.i)[0])===null||o===void 0?void 0:o.i)!==null&&s!==void 0?s:null}c(viewportBackdropId,"viewportBackdropId");function quantizeDepthBuckets(t,e=exports.MAX_DEPTH_BUCKETS){if(t.length===0)return[];const o=Math.max(1,Math.floor(e)),s=[...new Set(t.map(n=>n.d))].sort((n,l)=>n-l),r=new Map(s.map((n,l)=>[n,l]));return t.map(n=>{var l;return{...n,zBucket:Math.min(o-1,Math.floor(((l=r.get(n.d))!==null&&l!==void 0?l:0)*o/s.length))}})}c(quantizeDepthBuckets,"quantizeDepthBuckets");function computeScaleTransform(t,e,o){const s=e.w/t.w,r=e.h/t.h;if(o==="stretch")return{scaleX:s,scaleY:r,offsetX:0,offsetY:0};const n=o==="fill"?Math.max(s,r):Math.min(s,r);return{scaleX:n,scaleY:n,offsetX:(e.w-t.w*n)/2,offsetY:(e.h-t.h*n)/2}}c(computeScaleTransform,"computeScaleTransform");function forceOnePixel(t,e,o,s,r){if(e>t)return[t,e];const n=clamp(Math.round((o+s)/2),0,r-1);return[n,n+1]}c(forceOnePixel,"forceOnePixel");function scaleRectToCanvas(t,e,o){const s=e.offsetX+t.x*e.scaleX,r=e.offsetY+t.y*e.scaleY,n=e.offsetX+(t.x+t.w)*e.scaleX,l=e.offsetY+(t.y+t.h)*e.scaleY;if(n<=0||l<=0||s>=o.w||r>=o.h)return null;let i=clamp(Math.round(s),0,o.w),a=clamp(Math.round(r),0,o.h),h=clamp(Math.round(n),0,o.w),u=clamp(Math.round(l),0,o.h);if(t.k==="divider"){const f=t.w>=t.h;f&&h>i?[a,u]=forceOnePixel(a,u,r,l,o.h):!f&&u>a&&([i,h]=forceOnePixel(i,h,s,n,o.w))}if(h<=i||u<=a)return null;const x=Math.round(t.r*Math.min(e.scaleX,e.scaleY));return{...t,x:i,y:a,w:h-i,h:u-a,r:clamp(x,0,Math.floor(Math.min(h-i,u-a)/2))}}c(scaleRectToCanvas,"scaleRectToCanvas");function layoutCapture(t,e){var o,s,r,n;const l=Math.max(1,Math.round(e.canvasW)),i=Math.max(1,Math.round(e.canvasH)),a=t.rects.map((d,p)=>({...d,i:p})),h=a.filter(d=>{var p;return!(!((p=e.hiddenIndices)===null||p===void 0)&&p.has(d.i))&&kindEnabled(d.k,e)}),u=capCaptureRects(h,(o=e.maxRects)!==null&&o!==void 0?o:exports.DEFAULT_MAX_RECTS),x=findContainingBlockIds(u,t.viewport),f=pruneContainingRects(u,t.viewport,(s=e.containerMode)!==null&&s!==void 0?s:"keep"),_=viewportBackdropId(f,t.viewport),M=quantizeDepthBuckets(f,(r=e.maxDepthBuckets)!==null&&r!==void 0?r:exports.MAX_DEPTH_BUCKETS).map(d=>({...d,...x.has(d.i)?{isSoftContainer:!0}:{},...d.i===_?{isViewportBackdrop:!0}:{}})),y=computeScaleTransform(t.viewport,{w:l,h:i},(n=e.scaleMode)!==null&&n!==void 0?n:"fit"),w=M.map(d=>scaleRectToCanvas(d,y,{w:l,h:i})).filter(d=>d!==null);return{rects:w,transform:y,stats:{input:a.length,filtered:a.length-h.length,capped:h.length-u.length,pruned:u.length-f.length,degenerate:M.length-w.length,output:w.length}}}c(layoutCapture,"layoutCapture");const projectionOverlaps=c((t,e)=>t.x<e.x+e.w&&e.x<t.x+t.w&&t.y<e.y+e.h&&e.y<t.y+t.h,"projectionOverlaps"),yBoundarySubdivides=c((t,e)=>{const o=t.y,s=t.y+t.h,r=e.y,n=e.y+e.h;return o>r&&o<n||s>r&&s<n},"yBoundarySubdivides"),projectionConflicts=c((t,e)=>projectionOverlaps(t,e)||yBoundarySubdivides(t,e)||yBoundarySubdivides(e,t),"projectionConflicts");function projectOverlayLayerCount(t){var e,o;const s=new Map;for(const n of t){const l=(e=s.get(n.zBucket))!==null&&e!==void 0?e:[];l.push(n),s.set(n.zBucket,l)}let r=0;for(const n of[...s.keys()].sort((l,i)=>l-i)){const l=[];for(const i of(o=s.get(n))!==null&&o!==void 0?o:[]){const a=l.find(h=>h.every(u=>!projectionConflicts(i,u)));a?a.push(i):l.push([i])}r+=l.length}return r}c(projectOverlayLayerCount,"projectOverlayLayerCount");
@@ -0,0 +1 @@
1
+ "use strict";var w=Object.defineProperty;var c=(t,e)=>w(t,"name",{value:e,configurable:!0});Object.defineProperty(exports,"__esModule",{value:!0}),exports.PageSkeleton=void 0,exports.parseRectOverrides=parseRectOverrides,exports.blendHexColors=blendHexColors,exports.shadedRectangleFill=shadedRectangleFill,exports.resolvePageSkeletonMotion=resolvePageSkeletonMotion,exports.motionRankForRect=motionRankForRect,exports.buildPageSkeletonMotionLavfi=buildPageSkeletonMotionLavfi,exports.baseFillForKind=baseFillForKind,exports.effectiveRadiusPx=effectiveRadiusPx,exports.overriddenRectGeometry=overriddenRectGeometry,exports.overriddenRadiusPx=overriddenRadiusPx,exports.roundingForRect=roundingForRect,exports.planSkeletonComposition=planSkeletonComposition,exports.placeSkeletonPieces=placeSkeletonPieces;const types_1=require("@m0saic/types"),dsl_stdlib_1=require("@m0saic/dsl-stdlib"),template_utils_1=require("@m0saic/template-utils"),capture_snippet_source_1=require("./capture/capture-snippet-source"),layout_1=require("./layout"),sample_capture_1=require("./sample-capture"),schema_1=require("./schema"),PAGE_SKELETON_ID="@m0saic/web/page-skeleton/v1",fBool=c((t,e="")=>({type:"boolean",required:!1,description:e,meta:{ui:{label:t}}}),"fBool"),fNum=c((t,e="",r,o)=>({type:"number",required:!1,description:e,meta:{...o?{constraints:o}:{},...r?{control:r}:{},ui:{label:t}}}),"fNum"),fEnum=c((t,e,r="")=>({type:"string",required:!1,description:r,meta:{constraints:{oneOf:e},ui:{label:t}}}),"fEnum"),fColor=c((t,e="")=>({type:"string",required:!1,description:e,meta:{constraints:{isColor:!0},control:{colorPicker:!0},ui:{label:t}}}),"fColor"),propsSchema=(0,template_utils_1.definePropsSchema)({captureSnippet:{type:"code",required:!1,description:"Copy this exact JavaScript into the browser console. It copies anonymous visible-page geometry as JSON for Page capture.",meta:{ui:{label:"Browser capture snippet",order:1,primary:!0}}},capture:{type:"json",required:!0,description:"Anonymous geometry from the page-skeleton browser snippet. See packages/docs/web-page-skeleton/README.md for the capture workflow.",meta:{control:{flavor:"jsonModal"},ui:{label:"Page capture",order:2,primary:!0}}},outputFormat:{type:"string",required:!1,description:"PNG keeps the editable still; MP4 animates the same rectangles as a looping loading skeleton.",meta:{constraints:{oneOf:["png","mp4"]},control:{options:[{value:"png",label:"Still PNG"},{value:"mp4",label:"Animated MP4"}]},ui:{label:"Output",order:3,primary:!0}}},motion:{type:"group",required:!1,description:"Looping loading motion used by Animated MP4 output. Geometry and source count stay unchanged.",meta:{ui:{label:"Motion",order:4,collapsedByDefault:!1}},fields:{mode:fEnum("Mode",["shimmer","pulse"],"Shimmer scans a bright band across the page; pulse breathes all content together."),direction:fEnum("Direction",["horizontal","diagonal","vertical"],"Canvas direction used by the shimmer scan."),bandWidth:fNum("Band width","Width of the shimmer band as a fraction of the canvas axis.",{flavor:"slider",step:.01},{min:.05,max:1}),minOpacity:fNum("Resting opacity","Lowest skeleton opacity between shimmer passes or pulse peaks.",{flavor:"slider",step:.01},{min:.1,max:.95})}},appearance:{type:"group",required:!1,description:"Page, per-kind skeleton colors, and corner treatment.",meta:{ui:{label:"Appearance",order:5,collapsedByDefault:!0}},fields:{bg:fColor("Background","Canvas color behind the captured page geometry."),fill:fColor("Fill","Skeleton rectangle fill."),textFill:fColor("Text fill","Captured browser line-box fill."),imageFill:fColor("Image fill","Image, video, avatar, and control fill."),radiusMode:fEnum("Radius mode",["none","captured","uniform"],"Use captured browser radii, square corners, or one uniform canvas-pixel radius."),uniformRadiusPx:fNum("Uniform radius","Canvas-pixel radius used by uniform mode.",{flavor:"slider",step:1,unit:"px"},{min:0,max:256})}},behavior:{type:"group",required:!1,description:"Capture filtering, scaling, and containing-block behavior.",meta:{ui:{label:"Behavior",order:6,collapsedByDefault:!0}},fields:{maxRects:fNum("Max rects","Maximum retained capture rectangles and independently placed skeleton sources.",{flavor:"slider",step:1},{min:1,max:600}),showTextLines:fBool("Text lines","Render captured browser line boxes."),showImages:fBool("Images","Render image/replaced-element rectangles."),showControls:fBool("Controls","Render form-control rectangles."),showDividers:fBool("Dividers","Render thin divider rectangles."),scaleMode:fEnum("Scale",["fit","fill","stretch"],"fit letterboxes, fill crops, stretch scales each axis independently."),containerMode:fEnum("Containers",["keep","drop"],"Keep large painted wrappers or prune wrappers containing several descendants."),pureRects:fBool("Pure DSL rects","Emit exact frame bounds with no placement insets. Easier for custom cell-local masks, at the cost of a larger m0 program.")}},overrides:{type:"json",required:!1,description:'Array of {i, hide?, fill?, shape?: "rect"|"rounded"|"pill"|"circle", radiusPx?}. Indices refer to capture.rects[].',meta:{control:{flavor:"jsonModal"},ui:{label:"Rect overrides",order:7}}},debug:{type:"boolean",required:!1,description:"Run the geometry contract and include capture filtering/drop counts in the document label.",meta:{ui:{label:"Debug geometry",order:8,collapsedByDefault:!0}}},debugIndices:{type:"boolean",required:!1,description:"Programmatic diagnostic that overlays retained capture indices. Prefer Make canvas selection and the Structure panel for interactive editing.",meta:{ui:{label:"Show rect indices",order:9,hidden:!0}}}}),DEFAULT_APPEARANCE={bg:"#ffffff",fill:"#d4d4d4",textFill:"#dadada",imageFill:"#c8c8c8",radiusMode:"captured",uniformRadiusPx:8},DEFAULT_BEHAVIOR={maxRects:layout_1.DEFAULT_MAX_RECTS,showTextLines:!0,showImages:!0,showControls:!0,showDividers:!0,scaleMode:"fit",containerMode:"keep",pureRects:!1},DEFAULT_MOTION={mode:"pulse",direction:"diagonal",bandWidth:.3,minOpacity:.68},OVERRIDE_SHAPES=new Set(["rect","rounded","pill","circle"]);function parseRectOverrides(t,e){let r=t;if(typeof t=="string"){if(!t.trim())return new Map;try{r=JSON.parse(t)}catch(n){throw new Error(`overrides is not valid JSON: ${n instanceof Error?n.message:String(n)}`)}}if(r==null)return new Map;if(!Array.isArray(r))throw new Error("overrides must be an array");const o=new Map;return r.forEach((n,a)=>{if(n==null||typeof n!="object"||Array.isArray(n))throw new Error(`overrides[${a}] must be an object`);const i=n;if(!Number.isInteger(i.i)||i.i<0)throw new Error(`overrides[${a}].i must be a non-negative integer`);const l=i.i;if(l>=e)throw new Error(`overrides[${a}].i ${l} is outside capture.rects[] (length ${e})`);if(o.has(l))throw new Error(`overrides[${a}].i ${l} is duplicated`);if(i.hide!==void 0&&typeof i.hide!="boolean")throw new Error(`overrides[${a}].hide must be a boolean`);if(i.fill!==void 0&&(typeof i.fill!="string"||!i.fill.trim()))throw new Error(`overrides[${a}].fill must be a non-empty string`);if(i.shape!==void 0&&(typeof i.shape!="string"||!OVERRIDE_SHAPES.has(i.shape)))throw new Error(`overrides[${a}].shape must be rect, rounded, pill, or circle`);if(i.radiusPx!==void 0&&(typeof i.radiusPx!="number"||!Number.isFinite(i.radiusPx)||i.radiusPx<0))throw new Error(`overrides[${a}].radiusPx must be a finite number \u2265 0`);o.set(l,{i:l,...i.hide!==void 0?{hide:i.hide}:{},...i.fill!==void 0?{fill:i.fill.trim()}:{},...i.shape!==void 0?{shape:i.shape}:{},...i.radiusPx!==void 0?{radiusPx:i.radiusPx}:{}})}),o}c(parseRectOverrides,"parseRectOverrides");function colorOr(t,e){return typeof t=="string"&&t.trim()?t.trim():e}c(colorOr,"colorOr");function parseHexColor(t){const e=t.trim().match(/^#([0-9a-f]{3}|[0-9a-f]{6})$/i);if(!e)return null;const r=e[1].length===3?e[1].split("").map(o=>o+o).join(""):e[1];return{r:Number.parseInt(r.slice(0,2),16),g:Number.parseInt(r.slice(2,4),16),b:Number.parseInt(r.slice(4,6),16)}}c(parseHexColor,"parseHexColor");const hexByte=c(t=>Math.max(0,Math.min(255,Math.round(t))).toString(16).padStart(2,"0"),"hexByte");function blendHexColors(t,e,r){const o=parseHexColor(t),n=parseHexColor(e);if(!o||!n)return t;const a=Math.max(0,Math.min(1,r));return`#${hexByte(o.r+(n.r-o.r)*a)}${hexByte(o.g+(n.g-o.g)*a)}${hexByte(o.b+(n.b-o.b)*a)}`}c(blendHexColors,"blendHexColors");function shadedRectangleFill(t,e,r){if(t.isSoftContainer)return blendHexColors(e,r,.82);const o=Math.max(0,Math.min(1,t.zBucket/5)),n=blendHexColors(e,r,.48*(1-o));return blendHexColors(n,"#000000",.08*o)}c(shadedRectangleFill,"shadedRectangleFill");function errorDocument(t,e){const r=Math.max(1,Math.round(e.target.width)),o=Math.max(1,Math.round(e.target.height));return{...(0,template_utils_1.makeErrorMosaic)(t,{width:r,height:o,title:"Page Skeleton",errorCode:"PAGE_SKELETON_CAPTURE"}),fps:e.target.fps,durationMs:e.target.durationMs,size:{width:r,height:o},format:{kind:"image",container:"png"}}}c(errorDocument,"errorDocument");const clampUnit=c(t=>Math.max(0,Math.min(1,t)),"clampUnit"),exprNumber=c(t=>String(Number(t.toFixed(4))),"exprNumber");function resolvePageSkeletonMotion(t){const e={...DEFAULT_MOTION,...t??{}};if(e.mode!=="shimmer"&&e.mode!=="pulse")throw new Error(`motion.mode must be shimmer or pulse (got "${e.mode}")`);if(e.direction!=="horizontal"&&e.direction!=="diagonal"&&e.direction!=="vertical")throw new Error(`motion.direction must be horizontal, diagonal, or vertical (got "${e.direction}")`);if(!Number.isFinite(e.bandWidth)||e.bandWidth<.05||e.bandWidth>1)throw new Error(`motion.bandWidth must be in [0.05, 1] (got ${e.bandWidth})`);if(!Number.isFinite(e.minOpacity)||e.minOpacity<.1||e.minOpacity>.95)throw new Error(`motion.minOpacity must be in [0.1, 0.95] (got ${e.minOpacity})`);return e}c(resolvePageSkeletonMotion,"resolvePageSkeletonMotion");function motionRankForRect(t,e,r){const o=clampUnit((t.x+t.w/2)/Math.max(1,e.w)),n=clampUnit((t.y+t.h/2)/Math.max(1,e.h));return r==="horizontal"?o:r==="vertical"?n:clampUnit((o+n)/2)}c(motionRankForRect,"motionRankForRect");function buildPageSkeletonMotionLavfi(t,e,r,o,n){const a=parseHexColor(String(t)),i=parseHexColor(String(e));if(!a||!i)return null;const l={r:a.r+(i.r-a.r)*(1-o.minOpacity),g:a.g+(i.g-a.g)*(1-o.minOpacity),b:a.b+(i.b-a.b)*(1-o.minOpacity)},u=c(b=>`0x${hexByte(b.r)}${hexByte(b.g)}${hexByte(b.b)}`,"ffmpegColor"),d=u(a),f=u(l),p=Math.max(.1,n)*.9;if(o.mode==="pulse"){const b=exprNumber(p/2);return`color=c=${d},fade=t=in:st=0:d=${b}:color=${f},fade=t=out:st=${b}:d=${b}:color=${f}`}const y=clampUnit(r),s=1+o.bandWidth,m=o.bandWidth/2,h=Math.max(.001,p*m/s),x=p*y/s,v=p*(y+m)/s;return`color=c=${d},fade=t=in:st=${exprNumber(x)}:d=${exprNumber(h)}:color=${f},fade=t=out:st=${exprNumber(v)}:d=${exprNumber(h)}:color=${f}`}c(buildPageSkeletonMotionLavfi,"buildPageSkeletonMotionLavfi");function baseFillForKind(t,e){return t==="text"?colorOr(e.textFill,DEFAULT_APPEARANCE.textFill):t==="image"||t==="control"?colorOr(e.imageFill,DEFAULT_APPEARANCE.imageFill):colorOr(e.fill,DEFAULT_APPEARANCE.fill)}c(baseFillForKind,"baseFillForKind");function effectiveRadiusPx(t,e){const r=Math.floor(Math.min(t.w,t.h)/2);if(e.radiusMode==="none")return 0;const o=e.radiusMode==="uniform"?Math.round(Number.isFinite(e.uniformRadiusPx)?e.uniformRadiusPx:DEFAULT_APPEARANCE.uniformRadiusPx):t.r;return Math.max(0,Math.min(r,o))}c(effectiveRadiusPx,"effectiveRadiusPx");function overriddenRectGeometry(t,e){if(e?.shape!=="circle")return t;const r=Math.min(t.w,t.h);return{...t,x:t.x+Math.floor((t.w-r)/2),y:t.y+Math.floor((t.h-r)/2),w:r,h:r,r:Math.floor(r/2)}}c(overriddenRectGeometry,"overriddenRectGeometry");function overriddenRadiusPx(t,e,r){const o=Math.floor(Math.min(t.w,t.h)/2);return r?.shape==="rect"?0:r?.shape==="pill"||r?.shape==="circle"?o:r?.radiusPx!==void 0?Math.max(0,Math.min(o,Math.round(r.radiusPx))):effectiveRadiusPx(t,e)}c(overriddenRadiusPx,"overriddenRadiusPx");function roundingForRect(t,e){const r=Math.min(t.w,t.h),o=Math.floor(r/2);return e>0&&e>=o-1?{cornerStyle:"pill",rasterizer:"svg"}:{cornerStyle:"rounded",borderRadius:clampUnit(2*e/r),rasterizer:"svg"}}c(roundingForRect,"roundingForRect");function rectangleSource(t,e){const r={rounding:roundingForRect(t.rect,t.radiusPx)};return{...e?{type:"lavfi",lavfi:e,effects:r}:(0,template_utils_1.makeColorTile)(t.fill,{effects:r}),editor:{owner:"user",label:`Capture rect ${t.rect.i} \xB7 ${t.rect.k}`,...t.overridePosition!==void 0?{binding:{propKey:"overrides",path:[t.overridePosition,"fill"],kind:"color"}}:{}}}}c(rectangleSource,"rectangleSource");function claimsFullCanvas(t,e){return t.x===0&&t.y===0&&t.w===e.w&&t.h===e.h}c(claimsFullCanvas,"claimsFullCanvas");function debugLabelColor(t){const e=parseHexColor(String(t));return e?(.2126*e.r+.7152*e.g+.0722*e.b)/255>=.5?"#3f3f46":"#f4f4f5":"#3f3f46"}c(debugLabelColor,"debugLabelColor");function debugIndexPieces(t,e){return t.map(({rect:r})=>{const o=String(r.i).length,n=Math.floor(Math.min(16,r.h*.72,r.w/Math.max(1,o*.62))),a=Math.max(6,n),i=(0,template_utils_1.measureText)(String(r.i),{fontSize:a}),l=Math.max(1,Math.min(r.w,Math.ceil(i.width)+2)),u=Math.max(1,Math.min(r.h,Math.ceil(i.height)+2)),d=r.x+Math.floor((r.w-l)/2),f=r.y+Math.floor((r.h-u)/2);return{rect:{x:d,y:f,w:l,h:u,importance:layout_1.MAX_DEPTH_BUCKETS},source:(0,template_utils_1.maskAtlasSource)([(0,template_utils_1.textToPath)(String(r.i),{fontSize:a,hAlign:"center",vAlign:"middle",rect:{x:0,y:0,width:l,height:u}},{width:l,height:u})],debugLabelColor(e),{width:l,height:u})}})}c(debugIndexPieces,"debugIndexPieces");function planSkeletonComposition(t,e,r,o,n={}){var a,i;const l=[...(i=(a=n.overrides)===null||a===void 0?void 0:a.keys())!==null&&i!==void 0?i:[]],u=t.map(s=>{var m;const h=(m=n.overrides)===null||m===void 0?void 0:m.get(s.i),x=overriddenRectGeometry(s,h),v=baseFillForKind(s.k,e);return{rect:x,fill:h?.fill?colorOr(h.fill,String(v)):shadedRectangleFill(x,v,r),radiusPx:overriddenRadiusPx(x,e,h),...h?{overridePosition:l.indexOf(s.i)}:{}}}),d=u.map(s=>({rect:{x:s.rect.x,y:s.rect.y,w:s.rect.w,h:s.rect.h,importance:claimsFullCanvas(s.rect,o)?-1:s.rect.zBucket},source:rectangleSource(s,n.motion&&!s.rect.isSoftContainer&&!claimsFullCanvas(s.rect,o)?buildPageSkeletonMotionLavfi(s.fill,r,motionRankForRect(s.rect,o,n.motion.config.direction),n.motion.config,n.motion.durationSec):void 0)})),f=n.debugIndices===!0?debugIndexPieces(u,r):[],g=[...d,...f];if(g.find(s=>claimsFullCanvas(s.rect,o)&&s.rect.importance!==-1))throw new Error("page-skeleton composition produced a non-base piece that claims the full canvas");const y=(0,layout_1.projectOverlayLayerCount)(g.map(s=>{var m;return{x:s.rect.x,y:s.rect.y,w:s.rect.w,h:s.rect.h,zBucket:(m=s.rect.importance)!==null&&m!==void 0?m:0}}));return{pieces:g,stats:{independentRects:u.length,debugLabels:f.length,projectedLayers:y}}}c(planSkeletonComposition,"planSkeletonComposition");function inlineMaskBounds(t){const e=t.mask;return e?.kind==="inline-mask"&&e.bounds?{width:e.bounds.width,height:e.bounds.height}:null}c(inlineMaskBounds,"inlineMaskBounds");function placeSkeletonPieces(t){var e;const{rootW:r,rootH:o,pieces:n,pureRects:a}=t;if(!a){const d=(0,template_utils_1.placeInsetPieces)({rootW:r,rootH:o,pieces:n,basis:120,onHostile:"exact"});return{m0:d.m0,sources:d.sources,expectations:d.expectations}}for(let d=0;d<n.length;d++)if(((e=n[d].source.placement)===null||e===void 0?void 0:e.inset)!=null)throw new Error(`pureRects cannot emit pieces[${d}] because its source already carries placement.inset`);const i=(0,dsl_stdlib_1.placeRects)({rootW:r,rootH:o,rects:n.map(d=>({x:d.rect.x,y:d.rect.y,w:d.rect.w,h:d.rect.h,importance:d.rect.importance,claimant:"F"}))}),l=[],u=[];for(const d of i.layers){const f=[...d.rectIndices].sort((g,p)=>n[g].rect.y-n[p].rect.y||n[g].rect.x-n[p].rect.x);for(const g of f){const p=n[g];l.push(p.source),u.push({rect:{x:p.rect.x,y:p.rect.y,w:p.rect.w,h:p.rect.h},inset:null,maskBounds:inlineMaskBounds(p.source),tolerancePx:0})}}return{m0:i.m0,sources:l,expectations:u}}c(placeSkeletonPieces,"placeSkeletonPieces"),exports.PageSkeleton={id:(0,types_1.asTemplateId)(PAGE_SKELETON_ID),label:"Page Skeleton",version:1,description:"Turns anonymous browser geometry into an editable skeleton-loading still or looping shimmer/pulse video.",capabilities:{tier:"core"},tags:["web","skeleton","loading","capture","wireframe","animated","designers","developers","landing-page","mockup"],aspectRatio:{ideal:1440/900,label:"16:10",mode:"none"},outputHints:{format:{kind:"video",container:"mp4"},width:1440,height:900,fps:30,durationMs:2400,posterTimeMs:1080,note:"Animated MP4 by default \u2014 the skeleton breathes (pulse). Choose Output \u2192 Still PNG for the editable still."},propsSchema,defaultProps:{captureSnippet:{language:"javascript",code:capture_snippet_source_1.PAGE_SKELETON_CAPTURE_SNIPPET},capture:sample_capture_1.SAMPLE_CAPTURE,outputFormat:"mp4",motion:DEFAULT_MOTION,appearance:DEFAULT_APPEARANCE,behavior:DEFAULT_BEHAVIOR,overrides:[],debug:!1,debugIndices:!1},async render(t,e){var r,o,n;const a=Math.max(1,Math.round(e.target.width)),i=Math.max(1,Math.round(e.target.height));try{const l=(r=t.outputFormat)!==null&&r!==void 0?r:"png";if(l!=="png"&&l!=="mp4")throw new Error(`outputFormat must be png or mp4 (got "${l}")`);const u=l==="mp4"?resolvePageSkeletonMotion(t.motion):void 0,d=(0,schema_1.parseCapture)(t.capture),f=parseRectOverrides(t.overrides,d.rects.length),g=new Set([...f.values()].filter(b=>b.hide===!0).map(b=>b.i)),p={...DEFAULT_APPEARANCE,...(o=t.appearance)!==null&&o!==void 0?o:{}},y={...DEFAULT_BEHAVIOR,...(n=t.behavior)!==null&&n!==void 0?n:{}},s=colorOr(p.bg,DEFAULT_APPEARANCE.bg),m=(0,layout_1.layoutCapture)(d,{canvasW:a,canvasH:i,...y,hiddenIndices:g});if(m.rects.length===0)return errorDocument("capture contains no visible rectangles after filtering and scaling",e);const h=planSkeletonComposition(m.rects,p,s,{w:a,h:i},{overrides:f,debugIndices:t.debugIndices===!0,motion:u?{config:u,durationSec:Math.max(.1,e.target.durationMs/1e3)}:void 0}),x=placeSkeletonPieces({rootW:a,rootH:i,pieces:h.pieces,pureRects:y.pureRects===!0}),v={kind:"mosaic_document",version:1,assets:{},m0:x.m0,sources:x.sources,backgroundColor:s,fps:e.target.fps,durationMs:e.target.durationMs,size:{width:a,height:i},format:l==="mp4"?{kind:"video",container:"mp4"}:{kind:"image",container:"png"},...l==="mp4"?{audio:{mode:"off"}}:{},...t.debug?{editor:{label:`Page Skeleton \xB7 ${m.stats.output} rects \xB7 filtered ${m.stats.filtered} \xB7 capped ${m.stats.capped} \xB7 pruned ${m.stats.pruned} \xB7 degenerate ${m.stats.degenerate} \xB7 ${h.stats.independentRects} independent sources \xB7 ${h.stats.debugLabels} debug labels \xB7 ${h.stats.projectedLayers} projected layers \xB7 ${y.pureRects?"pure DSL rects":"inset recovery"} \xB7 ${u?`${u.mode} ${u.direction} ${e.target.durationMs}ms loop`:"still"}`}}:{}};return(0,template_utils_1.withGeometryContract)(v,e,{templateId:PAGE_SKELETON_ID,expectations:x.expectations,debug:t.debug===!0})}catch(l){const u=l instanceof Error?l.message:String(l);return errorDocument(u,e)}}},(0,template_utils_1.registerTemplate)(exports.PageSkeleton),exports.default=exports.PageSkeleton;
@@ -0,0 +1 @@
1
+ "use strict";var k=Object.defineProperty;var t=(r,o)=>k(r,"name",{value:o,configurable:!0});Object.defineProperty(exports,"__esModule",{value:!0}),exports.SAMPLE_CAPTURE=void 0;const card=t((r,o,d,e)=>[{x:r,y:o,w:181,h:102,k:"image",r:10,d:2},{x:r,y:o+116,w:32,h:32,k:"image",r:16,d:3},{x:r+44,y:o+117,w:d,h:12,k:"text",r:6,d:3},{x:r+44,y:o+139,w:e,h:10,k:"text",r:5,d:3}],"card");exports.SAMPLE_CAPTURE={format:"m0saic-page-skeleton",version:1,viewport:{w:1440,h:900,dpr:2},rects:[{x:0,y:0,w:1440,h:64,k:"block",r:0,d:0},{x:24,y:18,w:112,h:28,k:"image",r:6,d:1},{x:425,y:12,w:520,h:40,k:"control",r:20,d:1},{x:957,y:14,w:36,h:36,k:"control",r:18,d:1},{x:1240,y:16,w:72,h:32,k:"control",r:16,d:1},{x:1320,y:16,w:32,h:32,k:"control",r:16,d:1},{x:1368,y:16,w:32,h:32,k:"image",r:16,d:1},{x:0,y:64,w:216,h:836,k:"block",r:0,d:0},{x:0,y:63,w:1440,h:1,k:"divider",r:0,d:1},{x:240,y:80,w:54,h:32,k:"control",r:16,d:1},{x:302,y:80,w:74,h:32,k:"control",r:16,d:1},{x:384,y:80,w:88,h:32,k:"control",r:16,d:1},{x:480,y:80,w:66,h:32,k:"control",r:16,d:1},{x:554,y:80,w:102,h:32,k:"control",r:16,d:1},{x:664,y:80,w:78,h:32,k:"control",r:16,d:1},{x:750,y:80,w:94,h:32,k:"control",r:16,d:1},...card(240,136,126,92),...card(437,136,118,104),...card(634,136,132,78),...card(831,136,110,98),...card(1028,136,125,88),...card(1225,136,122,96),...card(240,504,116,82),...card(437,504,128,100),...card(634,504,104,74),...card(831,504,130,94),...card(1028,504,120,86),...card(1225,504,112,90)],meta:{total:64,dropped:0}};
@@ -0,0 +1 @@
1
+ "use strict";var c=Object.defineProperty;var n=(r,e)=>c(r,"name",{value:e,configurable:!0});Object.defineProperty(exports,"__esModule",{value:!0}),exports.PAGE_SKELETON_RECT_KINDS=exports.PAGE_SKELETON_CAPTURE_VERSION=exports.PAGE_SKELETON_CAPTURE_FORMAT=void 0,exports.parseCapture=parseCapture,exports.PAGE_SKELETON_CAPTURE_FORMAT="m0saic-page-skeleton",exports.PAGE_SKELETON_CAPTURE_VERSION=1,exports.PAGE_SKELETON_RECT_KINDS=["block","text","image","control","divider"];const RECT_KIND_SET=new Set(exports.PAGE_SKELETON_RECT_KINDS);function isRecord(r){return typeof r=="object"&&r!==null&&!Array.isArray(r)}n(isRecord,"isRecord");function expectRecord(r,e){if(!isRecord(r))throw new Error(`page-skeleton capture: ${e} must be an object`);return r}n(expectRecord,"expectRecord");function expectInteger(r,e){if(typeof r!="number"||!Number.isFinite(r)||!Number.isInteger(r))throw new Error(`page-skeleton capture: ${e} must be a finite integer`);return r}n(expectInteger,"expectInteger");function expectPositiveInteger(r,e){const t=expectInteger(r,e);if(t<1)throw new Error(`page-skeleton capture: ${e} must be at least 1`);return t}n(expectPositiveInteger,"expectPositiveInteger");function expectNonNegativeInteger(r,e){const t=expectInteger(r,e);if(t<0)throw new Error(`page-skeleton capture: ${e} must be at least 0`);return t}n(expectNonNegativeInteger,"expectNonNegativeInteger");function parseJsonString(r){try{return JSON.parse(r)}catch(e){const t=e instanceof Error?e.message:String(e);throw new Error(`page-skeleton capture: invalid JSON \u2014 ${t}`)}}n(parseJsonString,"parseJsonString");function parseViewport(r){const e=expectRecord(r,"viewport"),t={w:expectPositiveInteger(e.w,"viewport.w"),h:expectPositiveInteger(e.h,"viewport.h")};if(e.dpr!==void 0){if(typeof e.dpr!="number"||!Number.isFinite(e.dpr)||e.dpr<=0)throw new Error("page-skeleton capture: viewport.dpr must be a positive finite number");t.dpr=e.dpr}return t}n(parseViewport,"parseViewport");function parseRect(r,e){const t=`rects[${e}]`,o=expectRecord(r,t),s=expectPositiveInteger(o.w,`${t}.w`),p=expectPositiveInteger(o.h,`${t}.h`);let i="block";if(o.k!==void 0){if(typeof o.k!="string")throw new Error(`page-skeleton capture: ${t}.k must be a string`);RECT_KIND_SET.has(o.k)&&(i=o.k)}const a=o.r===void 0?0:expectNonNegativeInteger(o.r,`${t}.r`),E=Math.floor(Math.min(s,p)/2);if(a>E)throw new Error(`page-skeleton capture: ${t}.r must be at most ${E} for a ${s}x${p} rect`);return{x:expectInteger(o.x,`${t}.x`),y:expectInteger(o.y,`${t}.y`),w:s,h:p,k:i,r:a,d:o.d===void 0?0:expectNonNegativeInteger(o.d,`${t}.d`)}}n(parseRect,"parseRect");function parseMeta(r){const e=expectRecord(r,"meta");return{total:expectNonNegativeInteger(e.total,"meta.total"),dropped:expectNonNegativeInteger(e.dropped,"meta.dropped")}}n(parseMeta,"parseMeta");function parseCapture(r){const e=typeof r=="string"?parseJsonString(r):r,t=expectRecord(e,"payload");if(t.format!==exports.PAGE_SKELETON_CAPTURE_FORMAT)throw new Error(`page-skeleton capture: format must be "${exports.PAGE_SKELETON_CAPTURE_FORMAT}"`);if(t.version!==exports.PAGE_SKELETON_CAPTURE_VERSION)throw new Error(`page-skeleton capture: version must be ${exports.PAGE_SKELETON_CAPTURE_VERSION}`);if(!Array.isArray(t.rects))throw new Error("page-skeleton capture: rects must be an array");const o={format:exports.PAGE_SKELETON_CAPTURE_FORMAT,version:exports.PAGE_SKELETON_CAPTURE_VERSION,viewport:parseViewport(t.viewport),rects:t.rects.map(parseRect)};return t.meta!==void 0&&(o.meta=parseMeta(t.meta)),o}n(parseCapture,"parseCapture");
@@ -0,0 +1,2 @@
1
+ "use strict";var te=Object.defineProperty;var h=(e,t)=>te(e,"name",{value:t,configurable:!0});Object.defineProperty(exports,"__esModule",{value:!0}),exports.AnimatedWireframe=void 0,exports.textEm=textEm,exports.m0TextEm=m0TextEm,exports.middleEllipsize=middleEllipsize,exports.fitHeader=fitHeader,exports.fitCellText=fitCellText;const types_1=require("@m0saic/types"),dsl_stdlib_1=require("@m0saic/dsl-stdlib"),template_utils_1=require("@m0saic/template-utils"),wireframe_1=require("../../base/v1/wireframe"),paperGrid_1=require("../../utils/paperGrid"),DEFAULT_LAYOUT="2(2[1,1],2[1,1])",DEFAULT_BACKGROUND="white",DEFAULT_UNLABELED_CELLS="marks",DEFAULT_PADDING_SEC=.35,OVERLAY_SLIDE_MS=300,HEADER_ROWS=10,HEADER_FONT_FRAC=.36,HEADER_FONT_MIN=12,HEADER_FONT_MAX=48,HEADER_PAD_FRAC=.02,HEADER_FONT_FAMILY="Arial, sans-serif",CLI_EM=.72,CELL_TEXT_FRAC=.18,CELL_TEXT_MAX=96,CELL_OVERLAY_SCALE=.75,CELL_DIM_SCALE=1.25,CELL_AR_SCALE=.85,CELL_LINE_SPACING=1.45,CELL_INDEX_SCALE=.9,CELL_INDEX_PAD=.03,CELL_PAD_FRAC=.04,MIN_LEGIBLE_PX=9;function gcd(e,t){for(e=Math.abs(Math.round(e)),t=Math.abs(Math.round(t));t;)[e,t]=[t,e%t];return e||1}h(gcd,"gcd");function clamp(e,t,n){return Math.max(t,Math.min(n,e))}h(clamp,"clamp");function charEm(e){var t;return((t=e.codePointAt(0))!==null&&t!==void 0?t:0)>127?(0,template_utils_1.textEmUnits)(e)*CLI_EM:e>="a"&&e<="z"?.62:e>="A"&&e<="Z"?.75:e>="0"&&e<="9"?.66:/[\s,.;:'"`()[\]{}|!\-]/.test(e)?.4:CLI_EM}h(charEm,"charEm");function textEm(e){let t=0;for(const n of e)t+=charEm(n);return t}h(textEm,"textEm");function m0CharEm(e){return e===">"?.85:e==="{"||e==="}"?.65:/[,()[\]\-: ]/.test(e)?.42:charEm(e)}h(m0CharEm,"m0CharEm");function m0TextEm(e){let t=0;for(const n of e)t+=m0CharEm(n);return t}h(m0TextEm,"m0TextEm");function middleEllipsize(e,t,n=m0CharEm){if(h(d=>Array.from(d).reduce((p,v)=>p+n(v),0),"emOfText")(e)<=t)return e;const r=Math.max(0,t-n("\u2026")),l=Array.from(e),c=r/2,i=r-c;let u="",s=0;for(const d of l){const p=n(d);if(s+p>c)break;u+=d,s+=p}let f="";s=0;for(let d=l.length-1;d>=0;d--){const p=n(l[d]);if(s+p>i)break;f=l[d]+f,s+=p}return`${u}\u2026${f}`}h(middleEllipsize,"middleEllipsize");function fitHeader(e,t,n){const o=Math.max(1,t*(1-2*HEADER_PAD_FRAC));let r=clamp(Math.round(n*HEADER_FONT_FRAC),HEADER_FONT_MIN,HEADER_FONT_MAX);const l="m0: ",c=m0TextEm(l)+m0TextEm(e);c*r>o&&(r=Math.max(HEADER_FONT_MIN,Math.floor(o/c)));const i=o/r,u=c>i?middleEllipsize(e,Math.max(.5,i-m0TextEm(l))):e;return{text:`${l}${u}`,fontSize:r}}h(fitHeader,"fitHeader");function cellFonts(e){const t=Math.round(e*CELL_OVERLAY_SCALE);return{index:Math.round(e*CELL_INDEX_SCALE),dim:Math.round(t*CELL_DIM_SCALE),ar:Math.round(t*CELL_AR_SCALE)}}h(cellFonts,"cellFonts");function markLines(e,t){const n=gcd(e,t),o=parseFloat((e/t).toFixed(2)).toString();return[`${e} \xD7 ${t}`,`${Math.round(e)/n}:${Math.round(t)/n} \xB7 ${o}`]}h(markLines,"markLines");function fitLines(e,t,n,o,r){if(e.length===0)return r;const l=Math.max(4,Math.round(Math.min(t,n)*CELL_PAD_FRAC)),c=t-2*l;if(c<=0)return null;let i=r;for(let s=0;s<e.length;s++){const f=CELL_OVERLAY_SCALE*(s===0?CELL_DIM_SCALE:CELL_AR_SCALE),d=textEm(e[s]);d<=0||(i=Math.min(i,c/(d*f)))}const u=h(s=>{const f=cellFonts(s),d=e.reduce((v,H,a)=>v+(a===0?f.dim:f.ar)*CELL_LINE_SPACING,0),p=n*CELL_INDEX_PAD+f.index;return(n-d)/2>=p&&d<=n},"fitsHeight");for(i=Math.floor(i);i>=o&&!u(i);)i-=1;return i<o||cellFonts(i).ar<MIN_LEGIBLE_PX&&e.length>1?null:i}h(fitLines,"fitLines");function fitCellText(e){const{cellW:t,cellH:n,label:o,minTextSize:r}=e,l=Math.min(t,n),c=clamp(Math.round(l*CELL_TEXT_FRAC),r,CELL_TEXT_MAX);if(o!=null){const u=o.trim();if(!u)return{text:"",textSize:c,showOrder:!1};const s=fitLines([u],t,n,r,c);if(s!=null)return{text:u,textSize:s,showOrder:!1};const f=Math.max(4,Math.round(l*CELL_PAD_FRAC)),d=Math.max(1,t-2*f),p=cellFonts(r).dim;return{text:cutToEm(u,d/p),textSize:r,showOrder:!1}}const i=markLines(t,n);for(const u of[i,i.slice(0,1),[]]){const s=fitLines(u,t,n,r,c);if(s!=null)return{text:u.join(`
2
+ `),textSize:s,showOrder:!0}}return{text:"",textSize:r,showOrder:!0}}h(fitCellText,"fitCellText");function cutToEm(e,t){if(textEm(e)<=t)return e;let n="",o=charEm("\u2026");for(const r of e){const l=charEm(r);if(o+l>t)break;n+=r,o+=l}return`${n}\u2026`}h(cutToEm,"cutToEm");function cellLabelFor(e,t,n){var o;const r=e?.[t-1];return r&&r.trim()?r:((o=e?.length)!==null&&o!==void 0?o:0)>0&&n==="empty"?"":void 0}h(cellLabelFor,"cellLabelFor");const propsSchema=(0,template_utils_1.definePropsSchema)({M0String:{type:"m0",required:!0,description:"m0 string to generate layout of"},labels:{type:"string[]",required:!1,description:"Optional custom label per cell (1-based order). A labeled cell shows its label instead of its number and size marks; unlabeled cells keep their marks (see Unlabeled Cells)."},paddingSec:{type:"number",required:!1,description:"Padding at start and end. Same value for both; trail is at least 0.3s for the slide. Default: 0.35s.",meta:{constraints:{min:0,max:2},control:{unit:"s",placeholder:"e.g., 0.35"},ui:{label:"Padding"}}},disableUi:{type:"boolean",required:!1,description:"If true, hides the header band that prints the m0 string above the layout (debug mode only \u2014 thumb presets never draw it).",meta:{ui:{label:"Hide Header"}}},mode:{type:"string",required:!1,description:'Render mode. "debug" (default) shows numbers/dims/AR. "thumb" shows clean tiles only.',meta:{constraints:{oneOf:["debug","thumb"]},control:{options:[{value:"debug",label:"Debug"},{value:"thumb",label:"Thumbnail"}]},ui:{label:"Mode"}}},preset:{type:"string",required:!1,description:"Named theme preset. Sets mode, colors, borders, and effects.",meta:{constraints:{oneOf:["none","thumb-dark","thumb-light","debug-contrast","heatmap-depth","grid-paper"]},control:{options:[{value:"none",label:"None (mode-driven)"},{value:"thumb-dark",label:"Thumb Dark"},{value:"thumb-light",label:"Thumb Light"},{value:"debug-contrast",label:"Debug Contrast"},{value:"heatmap-depth",label:"Heatmap Depth"},{value:"grid-paper",label:"Grid Paper"}]},ui:{label:"Preset"}}},theme:{type:"group",required:!1,description:"Theme overrides applied on top of preset defaults.",meta:{ui:{label:"Theme",collapsedByDefault:!0}}},background:{type:"string",required:!1,description:`Canvas backing: "white" (default \u2014 an opaque white fill the cells slide onto) or "transparent" (no fill \u2014 the engine's default black for mp4, alpha where the output supports it). Ignored when a theme/preset sets its own background.`,meta:{constraints:{oneOf:["transparent","white"]},control:{options:[{value:"transparent",label:"Transparent"},{value:"white",label:"White"}]},ui:{label:"Background"}}},unlabeledCells:{type:"string",required:!1,description:'What a cell without a custom label shows once some cells are labeled: "marks" (default \u2014 its number and size) or "empty" (blank \u2014 labels are the only text on the board).',meta:{constraints:{oneOf:["marks","empty"]},control:{options:[{value:"marks",label:"Keep marks"},{value:"empty",label:"Leave empty"}]},ui:{label:"Unlabeled Cells"}}}});exports.AnimatedWireframe={id:(0,types_1.asTemplateId)("@m0saic/wireframe/animated/v1"),label:"Animated Wireframe",version:1,description:"Deprecated \u2014 use DSL Tutorial (@m0saic/dsl-tutorial/v1) for an animated layout walk. Animated wireframe of any m0 layout string: every cell slides into place in order \u2014 numbered, with its pixel size and aspect ratio \u2014 on a white canvas, with the m0 string printed in a header band. Custom labels, header toggle, thumb / heatmap / paper presets; the reveal spreads across whatever duration you render.",capabilities:{tier:"core"},deprecated:{reason:"Superseded by the DSL tutorial: a static layout wants the wireframe, an animated one wants the tutorial's geometry walk, which explains the layout instead of only revealing it. This template stays as the lightweight reveal for small-to-mid layouts.",replacement:(0,types_1.asTemplateId)("@m0saic/dsl-tutorial/v1"),since:"2026-09-04"},tags:["wireframe","animated","docs-only"],outputHints:{width:1920,height:1080,fps:30,durationMs:5e3,note:"Animated wireframe reveal; duration set by CLI/desktop",format:{kind:"video",container:"mp4"}},propsSchema,defaultProps:{preset:"none",M0String:DEFAULT_LAYOUT,paddingSec:DEFAULT_PADDING_SEC,disableUi:!1,mode:"debug",background:DEFAULT_BACKGROUND,unlabeledCells:DEFAULT_UNLABELED_CELLS},async render(e,t){var n,o,r,l,c,i,u,s,f;if(e.preset==="none"){const{preset:m,...g}=e;e=g}const{M0String:d,labels:p,disableUi:v}=e,a=!!e.preset||!!e.theme||e.mode==="thumb"?(0,wireframe_1.resolveTheme)(e):null,T=(n=a?.useThumb)!==null&&n!==void 0?n:!1,U=(o=a?.useDebugText)!==null&&o!==void 0?o:!0,G=(r=e.unlabeledCells)!==null&&r!==void 0?r:DEFAULT_UNLABELED_CELLS,x=!v&&!T;let _=d;if(x){const m=Array(HEADER_ROWS-2).fill(">").join(",");_=`${HEADER_ROWS}[F,${m},${d}]`}const M=(0,template_utils_1.parseMosaicFrames)(_,t),k=x?M[0]:void 0,A=x?M.slice(1):M;let E=0,C=0;for(const m of M)E=Math.max(E,m.x+m.width),C=Math.max(C,m.y+m.height);const D=t.target.durationMs,B=(l=e.paddingSec)!==null&&l!==void 0?l:DEFAULT_PADDING_SEC,S=Math.round(B*1e3),X=Math.max(S,OVERLAY_SLIDE_MS),j=Math.max(0,D-S-X),Y=S/1e3,K=j/1e3,V=D,F=A.length,y=[],O={},L=a?{tileBackgroundColor:a.tileColor,borderColor:a.borderColor,borderAlpha:a.borderAlpha,borderWidthFrac:a.borderWidthFrac,rounding:a.rounding,dropShadow:a.dropShadow}:void 0,P=e.preset==="debug-contrast"?18:14,Z=F<=1?0:K/(F-1);for(let m=0;m<A.length;m++){const g=A[m],w=m+1;let I="",N=!1,R=clamp(Math.round(Math.min(g.width,g.height)*CELL_TEXT_FRAC),P,CELL_TEXT_MAX);if(U){const b=fitCellText({cellW:g.width,cellH:g.height,label:cellLabelFor(p,w,G),minTextSize:P});I=b.text,R=b.textSize,N=b.showOrder}const q=Y+m*Z;let $=L;if(L&&a){let b=a.tileColor;!((c=a.heatmap)===null||c===void 0)&&c.enabled&&a.heatmap.shades.length>0?b=a.heatmap.shades[(w-1)%a.heatmap.shades.length]:w%2===0&&(b=a.tileColorAlt),$={...L,tileBackgroundColor:b}}const Q={orderString:String(w),showOrderString:N,text:I,textSize:R,mode:T?"thumb":"debug",theme:$},W=`cell-${m}`,ee=await(0,template_utils_1.renderNestedTemplate)("@m0saic/wireframe/cell/v1",Q,t);O[W]=ee,y.push({type:"mosaic",ref:W,placement:{fit:"contain"},overlay:{startAtSec:q,enable:`gte(t,${q.toFixed(3)})`,yExpr:"-(1-min(lt/0.3,1))*H*0.08"}})}if(x&&k){const m=fitHeader(d,E,k.height);y.unshift({type:"text",style:{fontSize:m.fontSize,fontColor:"#000000",fontFamily:HEADER_FONT_FAMILY},layers:[{content:{kind:"literal",text:m.text}}],placement:{hAlign:"center",vAlign:"middle"},visual:{backgroundColor:"#ffffff"}})}const J=(i=e.background)!==null&&i!==void 0?i:DEFAULT_BACKGROUND,z=(u=a?.backgroundColor)!==null&&u!==void 0?u:J==="white"?"#ffffff":null;return!((s=a?.paperGrid)===null||s===void 0)&&s.enabled&&(y.push((0,paperGrid_1.makePaperGridSource)({width:E,height:C,ink:(f=a.borderColor)!==null&&f!==void 0?f:"#000000",stepFrac:a.paperGrid.stepFrac,alpha:a.paperGrid.alpha})),_=(0,paperGrid_1.appendTopOverlay)(_)),{kind:"mosaic_document",version:1,sources:y,assets:{},m0:(0,dsl_stdlib_1.toM0String)(_,"AnimatedWireframe"),durationMs:V,format:{kind:"video",container:"mp4"},audio:{mode:"off"},...z!=null?{backgroundColor:(0,template_utils_1.solidBackground)(z)}:{},children:O}}},(0,template_utils_1.registerTemplate)(exports.AnimatedWireframe);
@@ -0,0 +1 @@
1
+ "use strict";var i=Object.defineProperty;var e=(r,t)=>i(r,"name",{value:t,configurable:!0});Object.defineProperty(exports,"__esModule",{value:!0}),exports.AnimatedWireframe=void 0;var animated_wireframe_1=require("./animated-wireframe");Object.defineProperty(exports,"AnimatedWireframe",{enumerable:!0,get:e(function(){return animated_wireframe_1.AnimatedWireframe},"get")});
@@ -0,0 +1 @@
1
+ "use strict";var i=Object.defineProperty;var e=(r,t)=>i(r,"name",{value:t,configurable:!0});Object.defineProperty(exports,"__esModule",{value:!0}),exports.Wireframe=void 0;var wireframe_1=require("./wireframe");Object.defineProperty(exports,"Wireframe",{enumerable:!0,get:e(function(){return wireframe_1.Wireframe},"get")});
@@ -0,0 +1,2 @@
1
+ "use strict";var O=Object.defineProperty;var k=(t,i)=>O(t,"name",{value:i,configurable:!0});Object.defineProperty(exports,"__esModule",{value:!0}),exports.Wireframe=void 0,exports.resolveTheme=resolveTheme;const types_1=require("@m0saic/types"),dsl_stdlib_1=require("@m0saic/dsl-stdlib"),template_utils_1=require("@m0saic/template-utils"),PRESET_THEMES={"thumb-dark":{backgroundColor:"#0f1116",tileColor:"#141824",tileColorAlt:"#101522",borderColor:"#ffffff",borderAlpha:.1,borderWidthFrac:.0015,rounding:{borderRadius:.04,cornerStyle:"rounded"},useThumb:!0,useDebugText:!1},"thumb-light":{backgroundColor:"#ffffff",tileColor:"#f3f5f8",tileColorAlt:"#eef1f5",borderColor:"#000000",borderAlpha:.12,borderWidthFrac:.0015,rounding:{borderRadius:.04,cornerStyle:"rounded"},useThumb:!0,useDebugText:!1},"debug-contrast":{backgroundColor:"#ffffff",tileColor:"#ffffff",tileColorAlt:"#fbfbfc",borderColor:"#000000",borderAlpha:.22,borderWidthFrac:.0025,rounding:{borderRadius:.015,cornerStyle:"rounded"},useThumb:!1,useDebugText:!0},"heatmap-depth":{backgroundColor:"#0f1116",tileColor:"#141824",tileColorAlt:"#141824",borderColor:"#ffffff",borderAlpha:.1,borderWidthFrac:.0015,rounding:{borderRadius:.04,cornerStyle:"rounded"},heatmap:{enabled:!0,shades:["#141824","#121b2a","#0f2133","#0b273d","#072d47"]},useThumb:!0,useDebugText:!1},"grid-paper":{backgroundColor:"#ffffff",tileColor:"#f3f5f8",tileColorAlt:"#eef1f5",borderColor:"#000000",borderAlpha:.12,borderWidthFrac:.0015,rounding:{borderRadius:.04,cornerStyle:"rounded"},paperGrid:{enabled:!0,stepFrac:.0625,alpha:.08},useThumb:!0,useDebugText:!1}};function resolveTheme(t){var i,n,s,u,f,b,h,d,_,e,v,C,T,c,m;const r={backgroundColor:"#ffffff",tileColor:"#ffffff",tileColorAlt:"#ffffff",borderColor:"#000000",borderAlpha:1,borderWidthFrac:.005,rounding:{borderRadius:0,cornerStyle:"rounded"},useThumb:!1,useDebugText:!0};if(t.preset&&t.preset in PRESET_THEMES){const a=PRESET_THEMES[t.preset];Object.assign(r,a),a.rounding&&(r.rounding={...r.rounding,...a.rounding})}const o=t.theme;return o&&(o.backgroundColor!=null&&(r.backgroundColor=o.backgroundColor),o.tileColor!=null&&(r.tileColor=o.tileColor),o.tileColorAlt!=null&&(r.tileColorAlt=o.tileColorAlt),o.borderColor!=null&&(r.borderColor=o.borderColor),o.borderAlpha!=null&&(r.borderAlpha=o.borderAlpha),o.borderWidthFrac!=null&&(r.borderWidthFrac=o.borderWidthFrac),o.rounding&&(r.rounding={...r.rounding,...o.rounding}),o.dropShadow&&(r.dropShadow=o.dropShadow),o.heatmap&&(r.heatmap={enabled:(s=(i=o.heatmap.enabled)!==null&&i!==void 0?i:(n=r.heatmap)===null||n===void 0?void 0:n.enabled)!==null&&s!==void 0?s:!1,shades:(b=(u=o.heatmap.shades)!==null&&u!==void 0?u:(f=r.heatmap)===null||f===void 0?void 0:f.shades)!==null&&b!==void 0?b:[]}),o.paperGrid&&(r.paperGrid={enabled:(_=(h=o.paperGrid.enabled)!==null&&h!==void 0?h:(d=r.paperGrid)===null||d===void 0?void 0:d.enabled)!==null&&_!==void 0?_:!1,stepFrac:(C=(e=o.paperGrid.stepFrac)!==null&&e!==void 0?e:(v=r.paperGrid)===null||v===void 0?void 0:v.stepFrac)!==null&&C!==void 0?C:.0625,alpha:(m=(T=o.paperGrid.alpha)!==null&&T!==void 0?T:(c=r.paperGrid)===null||c===void 0?void 0:c.alpha)!==null&&m!==void 0?m:.08})),t.preset||(t.mode==="thumb"?(r.useThumb=!0,r.useDebugText=!1):t.mode==="debug"&&(r.useThumb=!1,r.useDebugText=!0)),r}k(resolveTheme,"resolveTheme");const propsSchema=(0,template_utils_1.definePropsSchema)({M0String:{type:"m0",required:!0,description:"m0 string to generate layout of",meta:{control:{placeholder:"e.g., F, 2(1,1), 3[1,0,1]"},ui:{label:"Mosaic Layout String"}}},labels:{type:"string[]",required:!1,description:"Optional labels for wireframe cells (1-based order). If omitted, dimensions and aspect ratio are rendered.",meta:{ui:{label:"Cell Labels"}}},mode:{type:"string",required:!1,description:'Render mode. "debug" (default) shows numbers/dims/AR. "thumb" shows clean tiles only.',meta:{constraints:{oneOf:["debug","thumb"]},control:{options:[{value:"debug",label:"Debug"},{value:"thumb",label:"Thumbnail"}]},ui:{label:"Mode"}}},preset:{type:"string",required:!1,description:"Named theme preset. Sets mode, colors, borders, and effects. Explicit mode/theme override preset values.",meta:{constraints:{oneOf:["none","thumb-dark","thumb-light","debug-contrast","heatmap-depth","grid-paper"]},control:{options:[{value:"none",label:"None (mode-driven)"},{value:"thumb-dark",label:"Thumb Dark"},{value:"thumb-light",label:"Thumb Light"},{value:"debug-contrast",label:"Debug Contrast"},{value:"heatmap-depth",label:"Heatmap Depth"},{value:"grid-paper",label:"Grid Paper"}]},ui:{label:"Preset"}}},theme:{type:"group",required:!1,description:"Theme overrides applied on top of preset defaults. Colors, borders, rounding, shadows.",meta:{ui:{label:"Theme",collapsedByDefault:!0}}}}),DEBUG_SHOW_DIMS_AND_AR=220,DEBUG_SHOW_DIMS_ONLY=120;exports.Wireframe={id:(0,types_1.asTemplateId)("@m0saic/wireframe/base/v1"),label:"Wireframe",version:1,description:"Standard wireframe template for auto-gen docs",capabilities:{tier:"core"},deprecated:{reason:"v1 renders N nested cell documents (one ffmpeg command + a drawtext pass per frame), so render time grows with the frame count. v2 collapses it to a single masked-tile pass.",replacement:(0,types_1.asTemplateId)("@m0saic/wireframe/base/v2"),since:"2026-06-27"},tags:["wireframe","docs-only"],outputHints:{width:1920,height:1080,fps:30,durationMs:1e3,note:"Wireframe for documentation (layout visualization)",format:{kind:"image",container:"png",pixelFormat:"rgba"}},propsSchema,defaultProps:{preset:"none",mode:"debug",M0String:"F"},async render(t,i){var n,s,u,f,b;if(t.preset==="none"){const{preset:l,...p}=t;t=p}const{M0String:h,labels:d}=t,e=!!t.preset||!!t.theme||t.mode==="thumb"?resolveTheme(t):null,v=(n=e?.useThumb)!==null&&n!==void 0?n:!1,C=(s=e?.useDebugText)!==null&&s!==void 0?s:!0,T=(0,template_utils_1.parseMosaicFrames)(h,i),c=[],m={},r=e?{tileBackgroundColor:e.tileColor,borderColor:e.borderColor,borderAlpha:e.borderAlpha,borderWidthFrac:e.borderWidthFrac,rounding:e.rounding,dropShadow:e.dropShadow}:void 0,o=t.preset==="debug-contrast"?18:14;let a=0;for(const l of T){if(l.nullRender)continue;a+=1;let p="",S=!1;if(C){const g=((u=d?.length)!==null&&u!==void 0?u:0)>0;if(S=!g,g)p=(f=d?.[a-1])!==null&&f!==void 0?f:"";else{const A=l.width;if(A>=DEBUG_SHOW_DIMS_AND_AR){const R=`${l.width}x${l.height}`,G=l.width/l.height;p=`${R}
2
+ AR: ${G.toFixed(2)}`}else A>=DEBUG_SHOW_DIMS_ONLY&&(p=`${l.width}x${l.height}`)}}const D=Math.min(l.width,l.height),F=Math.max(o,Math.min(96,Math.round(D*.18)));let w=r;if(r&&e){let g=e.tileColor;!((b=e.heatmap)===null||b===void 0)&&b.enabled&&e.heatmap.shades.length>0?g=e.heatmap.shades[(a-1)%e.heatmap.shades.length]:a%2===0&&(g=e.tileColorAlt),w={...r,tileBackgroundColor:g}}const W={orderString:String(a),showOrderString:S,text:p,textSize:F,mode:v?"thumb":"debug",theme:w},x=`cell-${l.logicalIndex}`,M=await(0,template_utils_1.renderNestedTemplate)("@m0saic/wireframe/cell/v1",W,i);m[x]=M,c.push({type:"mosaic",ref:x})}const y={kind:"mosaic_document",version:1,assets:{},m0:(0,dsl_stdlib_1.toM0String)(h,"Wireframe"),sources:c,durationMs:1e3,...e?.backgroundColor!=null?{backgroundColor:(0,template_utils_1.solidBackground)(e.backgroundColor)}:{},children:m};return Promise.resolve(y)}},(0,template_utils_1.registerTemplate)(exports.Wireframe);
@@ -0,0 +1 @@
1
+ "use strict";var a=Object.defineProperty;var e=(r,t)=>a(r,"name",{value:t,configurable:!0});Object.defineProperty(exports,"__esModule",{value:!0}),exports.WireframeBackground=exports.WireframeLabelOverflow=exports.WireframeLabelContent=exports.WireframeV2=void 0;var wireframe_1=require("./wireframe");Object.defineProperty(exports,"WireframeV2",{enumerable:!0,get:e(function(){return wireframe_1.WireframeV2},"get")});var wireframe_2=require("./wireframe");Object.defineProperty(exports,"WireframeLabelContent",{enumerable:!0,get:e(function(){return wireframe_2.WireframeLabelContent},"get")}),Object.defineProperty(exports,"WireframeLabelOverflow",{enumerable:!0,get:e(function(){return wireframe_2.WireframeLabelOverflow},"get")}),Object.defineProperty(exports,"WireframeBackground",{enumerable:!0,get:e(function(){return wireframe_2.WireframeBackground},"get")});
@@ -0,0 +1 @@
1
+ "use strict";var ye=Object.defineProperty;var k=(e,t)=>ye(e,"name",{value:t,configurable:!0});Object.defineProperty(exports,"__esModule",{value:!0}),exports.WireframeV2=exports.WireframeUnlabeledCells=exports.WireframeNullFrames=exports.WireframeBackground=exports.WireframeLabelOverflow=exports.WireframeLabelContent=void 0;const types_1=require("@m0saic/types"),dsl_stdlib_1=require("@m0saic/dsl-stdlib"),template_utils_1=require("@m0saic/template-utils"),wireframe_1=require("../v1/wireframe"),dsl_1=require("@m0saic/dsl"),paperGrid_1=require("../../utils/paperGrid");var WireframeLabelContent;(function(e){e.None="none",e.Number="number",e.Dimensions="dimensions",e.AspectRatio="aspect"})(WireframeLabelContent||(exports.WireframeLabelContent=WireframeLabelContent={}));var WireframeLabelOverflow;(function(e){e.Hide="hide",e.Degrade="degrade",e.NumberFloor="number-floor"})(WireframeLabelOverflow||(exports.WireframeLabelOverflow=WireframeLabelOverflow={}));var WireframeBackground;(function(e){e.Transparent="transparent",e.White="white"})(WireframeBackground||(exports.WireframeBackground=WireframeBackground={}));var WireframeNullFrames;(function(e){e.Hide="hide",e.Show="show"})(WireframeNullFrames||(exports.WireframeNullFrames=WireframeNullFrames={}));var WireframeUnlabeledCells;(function(e){e.Marks="marks",e.Empty="empty"})(WireframeUnlabeledCells||(exports.WireframeUnlabeledCells=WireframeUnlabeledCells={}));const DEFAULT_UNLABELED_CELLS="marks";function cellLabelFor(e,t,o){var n;const a=e?.[t-1];return a&&a.trim()?a:((n=e?.length)!==null&&n!==void 0?n:0)>0&&o==="empty"?"":void 0}k(cellLabelFor,"cellLabelFor");const DEFAULT_LABEL_CONTENT="dimensions",DEFAULT_LABEL_OVERFLOW="degrade",DEFAULT_BACKGROUND="white",DEFAULT_NULL_FRAMES="hide",DEFAULT_NULL_LABEL="null",NULL_FRAME_ALPHA=.55,LAYER_STILL_MS=1e3,NULL_DASH_PER_PEN=6,DEFAULT_LAYOUT="2(2[1,1],2[1,1])",MIN_LEGIBLE_PX=9,DEBUG_BORDER_FRAC=.0015,MAX_CANVAS_BORDER_FRAC=.003,SECONDARY_RATIO=.65,TERTIARY_RATIO=.55,STACK_GAP_RATIO=.25,STACK_FILL_FRAC=.6,MAX_NUM_PX=240;function gcd(e,t){for(e=Math.abs(Math.round(e)),t=Math.abs(Math.round(t));t;)[e,t]=[t,e%t];return e||1}k(gcd,"gcd");function simplifyRatio(e,t){const o=gcd(e,t);return[Math.round(e)/o,Math.round(t)/o]}k(simplifyRatio,"simplifyRatio");function fmtDec(e){return parseFloat(e.toFixed(2)).toString()}k(fmtDec,"fmtDec");function contentLevel(e){return e==="aspect"?3:e==="dimensions"?2:e==="number"?1:0}k(contentLevel,"contentLevel");function linesForLevel(e,t,o,n){const a=[];if(e>=1&&a.push({key:"num",text:String(t)}),e>=2&&a.push({key:"dims",text:`${o} \xD7 ${n}`}),e>=3){const[d,f]=simplifyRatio(o,n);a.push({key:"aspect",text:`${d}:${f} \xB7 ${fmtDec(o/n)}`})}return a}k(linesForLevel,"linesForLevel");function candidateLevels(e,t){if(e<=0)return[];if(t==="hide")return[e];if(t==="number-floor")return e>1?[e,1]:[1];const o=[];for(let n=e;n>=1;n--)o.push(n);return o}k(candidateLevels,"candidateLevels");function fitLines(e,t,o,n){const a=e.length;if(a===0)return null;const d=Math.min(t,o),f=Math.max(4,Math.round(d*.04)),m=t-2*f;if(m<=0)return null;const u=k(i=>i==="num"?1:i==="dims"?SECONDARY_RATIO:TERTIARY_RATIO,"relOf"),p=e.reduce((i,c)=>i+u(c.key),0),b=STACK_GAP_RATIO*(a-1);let v=Math.min(MAX_NUM_PX,o*STACK_FILL_FRAC/(p+b)),l=1;for(const i of e){const c=(0,template_utils_1.measureText)(i.text,{fontSize:v*u(i.key)}).width;c>m&&(l=Math.min(l,m/c))}if(v*=l,v<n)return null;const s=e.map(i=>({...i,size:v*u(i.key)}));return s.some(i=>i.size<MIN_LEGIBLE_PX)?null:{lines:s,gap:v*STACK_GAP_RATIO,pad:f}}k(fitLines,"fitLines");function resolveLabel(e,t,o,n,a,d){const f=contentLevel(e);for(const m of candidateLevels(f,t)){const u=fitLines(linesForLevel(m,o,n,a),n,a,d);if(u)return u}return null}k(resolveLabel,"resolveLabel");function labelLineRects(e){const{cellW:t,cellH:o,order:n,label:a,content:d,overflow:f,minTextSize:m}=e,u=Math.min(t,o),p=Math.max(4,Math.round(u*.04));if(a!=null){const i=a.trim();if(!i)return[];const c=Math.max(1,t-2*p);let h=clampSize(m,u*.16,72),g=(0,template_utils_1.measureText)(i,{fontSize:h}).width;return g>c&&(h=Math.max(MIN_LEGIBLE_PX,Math.floor(h*c/g)),g=(0,template_utils_1.measureText)(i,{fontSize:h}).width),[{x:(t-g)/2,y:(o-h)/2,w:g,h}]}const b=resolveLabel(d,f,n,t,o,m);if(!b)return[];let v=0;b.lines.forEach((i,c)=>{v+=i.size,c>0&&(v+=b.gap)});const l=[];let s=(o-v)/2;for(const i of b.lines){const c=(0,template_utils_1.measureText)(i.text,{fontSize:i.size}).width;l.push({x:(t-c)/2,y:s,w:c,h:i.size}),s+=i.size+b.gap}return l}k(labelLineRects,"labelLineRects");function rectsIntersect(e,t,o,n,a,d,f,m){return e<a+f&&a<e+o&&t<d+m&&d<t+n}k(rectsIntersect,"rectsIntersect");function rectRingPath(e,t,o){const n=Math.min(o,e/2,t/2),a=`M0 0 L${e} 0 L${e} ${t} L0 ${t} Z`,d=`M${n} ${n} L${n} ${t-n} L${e-n} ${t-n} L${e-n} ${n} Z`;return`${a} ${d}`}k(rectRingPath,"rectRingPath");function dashedRingPath(e,t,o,n,a){const d=Math.max(1,Math.min(o,e/2,t/2)),f=Math.max(2,n+a),m=[];for(let u=0;u<e;u+=f){const p=Math.min(e,u+n);m.push(`M${u} 0 L${p} 0 L${p} ${d} L${u} ${d} Z`),m.push(`M${u} ${t-d} L${p} ${t-d} L${p} ${t} L${u} ${t} Z`)}for(let u=0;u<t;u+=f){const p=Math.min(t,u+n);m.push(`M0 ${u} L${d} ${u} L${d} ${p} L0 ${p} Z`),m.push(`M${e-d} ${u} L${e} ${u} L${e} ${p} L${e-d} ${p} Z`)}return m.join(" ")}k(dashedRingPath,"dashedRingPath");function buildNullCellMaskPath(e){var t,o;const{cellW:n,cellH:a,borderPx:d,minTextSize:f,ringOnly:m}=e,u=(t=e.label)!==null&&t!==void 0?t:DEFAULT_NULL_LABEL,p=Math.max(6,d*NULL_DASH_PER_PEN),b=[dashedRingPath(n,a,d,p,p)];if(m)return b.join(" ");const v={width:n,height:a},l=[{key:"num",text:u},{key:"dims",text:`${n} \xD7 ${a}`}],s=(o=fitLines(l,n,a,f))!==null&&o!==void 0?o:fitLines(l.slice(0,1),n,a,f);if(s){let i=0;s.lines.forEach((h,g)=>{i+=h.size,g>0&&(i+=s.gap)});let c=(a-i)/2;for(const h of s.lines)b.push((0,template_utils_1.textToPath)(h.text,{fontSize:h.size,hAlign:"center",vAlign:"top",padding:{x:s.pad,y:c}},v)),c+=h.size+s.gap}return b.filter(Boolean).join(" ")}k(buildNullCellMaskPath,"buildNullCellMaskPath");function ghostTile(e){return(0,template_utils_1.makeColorTile)(e,{overlay:{alpha:"0"}})}k(ghostTile,"ghostTile");function nullTile(e){return(0,template_utils_1.makeColorTile)(e.ink,{mask:{kind:"inline-mask",localPath:buildNullCellMaskPath(e),bounds:{x:0,y:0,width:e.cellW,height:e.cellH}},overlay:{alpha:String(NULL_FRAME_ALPHA)}})}k(nullTile,"nullTile");function paintedTile(e){var t,o,n,a,d,f,m;const{cellW:u,cellH:p,order:b,useThumb:v,resolved:l}=e;if(v){let c=(t=l?.tileColor)!==null&&t!==void 0?t:"#141824";!((o=l?.heatmap)===null||o===void 0)&&o.enabled&&l.heatmap.shades.length>0?c=l.heatmap.shades[(b-1)%l.heatmap.shades.length]:l&&b%2===0&&(c=l.tileColorAlt);const h={rounding:(n=l?.rounding)!==null&&n!==void 0?n:{borderRadius:.04,cornerStyle:"rounded"},stroke:{width:(a=l?.borderWidthFrac)!==null&&a!==void 0?a:.0015,color:(d=l?.borderColor)!==null&&d!==void 0?d:"#ffffff",alpha:(f=l?.borderAlpha)!==null&&f!==void 0?f:.1,position:"inner"}};return l?.dropShadow&&(h.dropShadow=l.dropShadow),(0,template_utils_1.makeColorTile)(c,{effects:h})}const s=(m=l?.borderColor)!==null&&m!==void 0?m:"#000000",i=buildDebugCellMaskPath({cellW:u,cellH:p,order:b,label:e.label,content:e.labelContent,overflow:e.labelOverflow,borderPx:e.borderPx,minTextSize:e.minTextSize,suppressLabel:e.suppressLabel});return(0,template_utils_1.makeColorTile)(s,{mask:{kind:"inline-mask",localPath:i,bounds:{x:0,y:0,width:u,height:p},...e.fillAlpha>0?{matte:e.fillAlpha}:{}}})}k(paintedTile,"paintedTile");function buildLayerExplode(e){var t,o,n,a,d,f;const m=String((0,dsl_1.toCanonicalM0String)(e.m0)),u=(0,dsl_1.parseM0StringComplete)(m,e.canvasW,e.canvasH);if(!u.ok)return null;const p=((o=(t=u.ir)===null||t===void 0?void 0:t.editorFrames)!==null&&o!==void 0?o:[]).filter(s=>s.kind==="frame"||s.kind==="null").slice().sort((s,i)=>{var c,h,g,w;return((h=(c=s.meta.span)===null||c===void 0?void 0:c.start)!==null&&h!==void 0?h:0)-((w=(g=i.meta.span)===null||g===void 0?void 0:g.start)!==null&&w!==void 0?w:0)});if(p.length===0||p.some(s=>s.kind==="null"&&(s.meta.span==null||m[s.meta.span.start]!=="-")))return null;const b=p.reduce((s,i)=>Math.max(s,i.overlayDepth),0),v=(a=(n=e.resolved)===null||n===void 0?void 0:n.borderColor)!==null&&a!==void 0?a:"#000000",l=[];for(let s=0;s<=b;s++){const i=m.split(""),c=[];let h=0;for(const _ of p)if(_.kind==="frame"){if(h+=1,_.overlayDepth!==s){c.push(ghostTile(v));continue}c.push(paintedTile({cellW:_.width,cellH:_.height,order:h,useThumb:e.useThumb,resolved:e.resolved,label:cellLabelFor(e.labels,h,e.unlabeledCells),labelContent:e.labelContent,labelOverflow:e.labelOverflow,borderPx:e.borderPx,minTextSize:e.minTextSize,fillAlpha:e.fillAlpha,suppressLabel:!1}))}else _.overlayDepth===s&&_.meta.span&&(i[_.meta.span.start]="1",c.push(nullTile({ink:v,cellW:_.width,cellH:_.height,borderPx:e.borderPx,minTextSize:e.minTextSize,ringOnly:e.useThumb,label:e.nullLabel})));let g=i.join("");s===0&&(!((f=(d=e.resolved)===null||d===void 0?void 0:d.paperGrid)===null||f===void 0)&&f.enabled)&&(c.push((0,paperGrid_1.makePaperGridSource)({width:e.canvasW,height:e.canvasH,ink:v,stepFrac:e.resolved.paperGrid.stepFrac,alpha:e.resolved.paperGrid.alpha})),g=(0,paperGrid_1.appendTopOverlay)(g));const w={kind:"mosaic_document",version:1,assets:e.assets,m0:(0,dsl_stdlib_1.toM0String)(g,`Wireframe layer ${s}`),sources:c,size:{width:e.canvasW,height:e.canvasH},fps:e.fps,durationMs:LAYER_STILL_MS,format:{kind:"image",container:"png",pixelFormat:"rgba"},...e.bg!=null?{backgroundColor:(0,template_utils_1.solidBackground)(e.bg)}:{},...e.backgroundImage?{backgroundImage:e.backgroundImage}:{}};l.push({name:`layer-${s}`,label:`Layer ${s} of ${b+1}`,durationMs:LAYER_STILL_MS,file:w})}return{kind:"mosaic_pipeline",version:1,emit:"multi",steps:l}}k(buildLayerExplode,"buildLayerExplode");function clampSize(e,t,o){return Math.max(e,Math.min(o,Math.round(t)))}k(clampSize,"clampSize");function buildDebugCellMaskPath(e){const{cellW:t,cellH:o,order:n,label:a,content:d,overflow:f,borderPx:m,minTextSize:u,suppressLabel:p}=e,b={width:t,height:o},v=Math.min(t,o),l=Math.max(4,Math.round(v*.04)),s=[];if(s.push(rectRingPath(t,o,m)),p)return s.filter(Boolean).join(" ");if(a!=null){const i=a.trim();if(i){const c=Math.max(1,t-2*l);let h=clampSize(u,v*.16,72);const g=(0,template_utils_1.measureText)(i,{fontSize:h}).width;g>c&&(h=Math.max(MIN_LEGIBLE_PX,Math.floor(h*c/g))),s.push((0,template_utils_1.textToPath)(i,{fontSize:h,hAlign:"center",vAlign:"middle",padding:l},b))}}else{const i=resolveLabel(d,f,n,t,o,u);if(i){let c=0;i.lines.forEach((g,w)=>{c+=g.size,w>0&&(c+=i.gap)});let h=(o-c)/2;for(const g of i.lines)s.push((0,template_utils_1.textToPath)(g.text,{fontSize:g.size,hAlign:"center",vAlign:"top",padding:{x:l,y:h}},b)),h+=g.size+i.gap}}return s.filter(Boolean).join(" ")}k(buildDebugCellMaskPath,"buildDebugCellMaskPath");function stableKeyLabelsToPositional(e,t,o,n){var a,d;const f=(0,dsl_1.parseM0StringComplete)(t,o,n);if(!f.ok)return;const m=((d=(a=f.ir)===null||a===void 0?void 0:a.renderFrames)!==null&&d!==void 0?d:[]).slice().sort((b,v)=>b.logicalIndex-v.logicalIndex),u=new Array(m.length).fill("");let p=!1;for(let b=0;b<m.length;b++){const v=m[b].meta.stableKey,l=e[v];l&&typeof l.text=="string"&&l.text.trim()!==""&&(u[b]=l.text,p=!0)}return p?u:void 0}k(stableKeyLabelsToPositional,"stableKeyLabelsToPositional");const propsSchema=(0,template_utils_1.definePropsSchema)({M0String:{type:"m0",required:!0,description:"m0 string to generate layout of",meta:{control:{placeholder:"e.g., F, 2(1,1), 3[1,0,1]"},ui:{label:"Mosaic Layout String"}}},labels:{type:"string[]",required:!1,description:"Optional labels for wireframe cells (1-based order). A labeled cell shows its label; cells without one keep their number and pixel size (see Label Content / Unlabeled Cells).",meta:{ui:{label:"Cell Labels"}}},unlabeledCells:{type:"string",required:!1,description:'What a cell without a custom label shows once some cells are labeled: "marks" (default \u2014 its number / dims per Label Content) or "empty" (blank \u2014 labels are the only text on the board).',meta:{constraints:{oneOf:["marks","empty"]},control:{options:[{value:"marks",label:"Keep marks"},{value:"empty",label:"Leave empty"}]},ui:{label:"Unlabeled Cells"}}},labelsByStableKey:{type:"group",required:!1,description:"Per-cell labels keyed by stableKey (Record<StableKey, {text, color?}>, same shape as M0cFile.labels). Resolved to positional labels internally; overrides `labels`. Agent/programmatic prop.",meta:{ui:{label:"Labels by stableKey",collapsedByDefault:!0,consumer:"agent"}}},cellColors:{type:"string[]",required:!1,description:"Optional per-cell body fill colors (1-based order, parallel to labels). Cell N's body is painted cellColors[N-1] beneath the border/label ink; an empty string leaves it transparent. Used by the perf heatmap. Debug mode only.",meta:{constraints:{isColor:!0},control:{colorPicker:!0},ui:{label:"Cell Colors",consumer:"agent"}}},mode:{type:"string",required:!1,description:'Render mode. "debug" (default) shows numbers/dims/AR. "thumb" shows clean tiles only.',meta:{constraints:{oneOf:["debug","thumb"]},control:{options:[{value:"debug",label:"Debug"},{value:"thumb",label:"Thumbnail"}]},ui:{label:"Mode"}}},labelContent:{type:"string",required:!1,description:"Most detail to show per tile (cumulative): none \u2192 number \u2192 dimensions \u2192 aspect. Default dimensions.",meta:{constraints:{oneOf:["none","number","dimensions","aspect"]},control:{options:[{value:"none",label:"None"},{value:"number",label:"Number"},{value:"dimensions",label:"Dimensions"},{value:"aspect",label:"Aspect ratio"}]},ui:{label:"Label Content"}}},labelOverflow:{type:"string",required:!1,description:"How to back off when the content won't fit a tile: hide (all-or-nothing), degrade (drop richest lines), number-floor (fall back to just the number). Default degrade.",meta:{constraints:{oneOf:["hide","degrade","number-floor"]},control:{options:[{value:"hide",label:"Hide"},{value:"degrade",label:"Degrade"},{value:"number-floor",label:"Number floor"}]},ui:{label:"Label Overflow"}}},background:{type:"string",required:!1,description:'Canvas backing: "white" (default \u2014 an opaque white fill) or "transparent" (lines/labels only, null regions empty \u2014 composites over anything). Ignored when a theme/preset sets its own background.',meta:{constraints:{oneOf:["transparent","white"]},control:{options:[{value:"transparent",label:"Transparent"},{value:"white",label:"White"}]},ui:{label:"Background"}}},nullFrames:{type:"string",required:!1,description:`Dev: "show" explodes the layout into LAYERS \u2014 one PNG per overlay depth (emit:multi), each printing that depth's cells plus its null (-) holes as dashed, muted cells labelled "null" + size. "hide" (default) renders the normal single composite.`,meta:{constraints:{oneOf:["hide","show"]},control:{options:[{value:"hide",label:"Hide"},{value:"show",label:"Show"}]},ui:{label:"Null Frames"}}},nullLabel:{type:"string",required:!1,description:'Dev: the text drawn inside a hole cell when null frames show \u2014 the word "null" (default) or the m0 token "-".',meta:{constraints:{oneOf:["null","-"]},control:{options:[{value:"null",label:"null"},{value:"-",label:"- (m0 token)"}]},ui:{label:"Null Label"}}},fill:{type:"number",required:!1,description:"Translucent rect fill (debug mode), 0..1. Body wash beneath the borders/labels so rects read as filled regions over a traced image. 0 = lines only.",meta:{constraints:{min:0,max:1},ui:{label:"Rect Fill"}}},backgroundImage:{type:"media",required:!1,description:"Image baked beneath the wireframe \u2014 lines/labels render on top. A file path or an inline base64 data: URI. Drop a reference screenshot here to trace a layout over it.",meta:{control:{picker:"file",accept:["image"]},ui:{label:"Background Image"}}},backgroundImageOpacity:{type:"number",required:!1,description:"Background-image opacity, 0..1. Default 1 (fully opaque).",meta:{control:{placeholder:"1 (opaque)"},constraints:{min:0,max:1},ui:{label:"Background Image Opacity"}}},backgroundImageFit:{type:"string",required:!1,description:'How the background image fills the canvas: "cover" (default, fill + crop) or "contain" (letterbox, pad reveals the canvas background).',meta:{constraints:{oneOf:["cover","contain"]},control:{options:[{value:"cover",label:"Cover"},{value:"contain",label:"Contain"}]},ui:{label:"Background Image Fit"}}},preset:{type:"string",required:!1,description:"Named theme preset. Sets mode, colors, borders, and effects. Explicit mode/theme override preset values.",meta:{constraints:{oneOf:["none","thumb-dark","thumb-light","debug-contrast","heatmap-depth","grid-paper"]},control:{options:[{value:"none",label:"None (mode-driven)"},{value:"thumb-dark",label:"Thumb Dark"},{value:"thumb-light",label:"Thumb Light"},{value:"debug-contrast",label:"Debug Contrast"},{value:"heatmap-depth",label:"Heatmap Depth"},{value:"grid-paper",label:"Grid Paper"}]},ui:{label:"Preset"}}},theme:{type:"group",required:!1,description:"Theme overrides applied on top of preset defaults. Colors, borders, rounding, shadows.",meta:{ui:{label:"Theme",collapsedByDefault:!0}}}});exports.WireframeV2={id:(0,types_1.asTemplateId)("@m0saic/wireframe/base/v2"),label:"Wireframe v2",version:2,description:"Wireframe of any m0 layout string: every cell drawn as an outlined rectangle with its number, pixel size and aspect ratio on a white canvas. Switch the background to transparent to composite over anything or trace a reference screenshot, or pick the thumb, heatmap or paper presets for clean tiles.",capabilities:{tier:"core"},tags:["wireframe","docs-only","designers","developers","layout","blueprint"],outputHints:{width:1920,height:1080,fps:30,durationMs:1e3,note:"Wireframe for documentation (layout visualization)",format:{kind:"image",container:"png",pixelFormat:"rgba"}},propsSchema,defaultProps:{preset:"none",backgroundImageFit:"cover",M0String:DEFAULT_LAYOUT,mode:"debug",labelContent:"dimensions",labelOverflow:"degrade",unlabeledCells:"marks",background:"white",nullFrames:"hide",nullLabel:"null",fill:0},render(e,t){var o,n,a,d,f,m,u,p,b,v,l,s,i,c,h,g,w,_,W,E,N,B;if(e.preset==="none"){const{preset:y,...x}=e;e=x}const{M0String:$,labels:se,cellColors:T}=e,q=e.labelsByStableKey?stableKeyLabelsToPositional(e.labelsByStableKey,$,t.target.width,t.target.height):void 0,Q=q??se,ee=(o=e.unlabeledCells)!==null&&o!==void 0?o:DEFAULT_UNLABELED_CELLS,r=!!e.preset||!!e.theme||e.mode==="thumb"?(0,wireframe_1.resolveTheme)(e):null,te=(n=r?.useThumb)!==null&&n!==void 0?n:!1,le=(0,template_utils_1.parseMosaicFrames)($,t),S=[],H={},de=((a=T?.length)!==null&&a!==void 0?a:0)>0,ue=(0,template_utils_1.parseMosaicRenderFrames)($,t),ne=new Map,oe=[];for(const y of ue){const x=y.logicalIndex;x!=null&&ne.set(x,y.paintOrder),oe.push({z:y.paintOrder,x:y.x,y:y.y,w:y.width,h:y.height})}const U=e.preset==="debug-contrast"?18:14,G=(d=e.labelContent)!==null&&d!==void 0?d:DEFAULT_LABEL_CONTENT,K=(f=e.labelOverflow)!==null&&f!==void 0?f:DEFAULT_LABEL_OVERFLOW,ce=((m=e.nullFrames)!==null&&m!==void 0?m:DEFAULT_NULL_FRAMES)==="show",j=Math.max(0,Math.min(1,(u=e.fill)!==null&&u!==void 0?u:0));let P=0,O=0;for(const y of le)P=Math.max(P,y.x+y.width),O=Math.max(O,y.y+y.height);const Z=r?.borderWidthFrac,V=Z!=null&&Z<=MAX_CANVAS_BORDER_FRAC?Z:DEBUG_BORDER_FRAC,me=Math.max(1,Math.round(Math.min(P,O)*V));let L=0;for(const y of le){if(y.nullRender)continue;L+=1;const x=y.width,M=y.height;if(te){let A=(p=r?.tileColor)!==null&&p!==void 0?p:"#141824";!((b=r?.heatmap)===null||b===void 0)&&b.enabled&&r.heatmap.shades.length>0?A=r.heatmap.shades[(L-1)%r.heatmap.shades.length]:r&&L%2===0&&(A=r.tileColorAlt);const C={rounding:(v=r?.rounding)!==null&&v!==void 0?v:{borderRadius:.04,cornerStyle:"rounded"},stroke:{width:(l=r?.borderWidthFrac)!==null&&l!==void 0?l:.0015,color:(s=r?.borderColor)!==null&&s!==void 0?s:"#ffffff",alpha:(i=r?.borderAlpha)!==null&&i!==void 0?i:.1,position:"inner"}};r?.dropShadow&&(C.dropShadow=r.dropShadow),S.push((0,template_utils_1.makeColorTile)(A,{effects:C}))}else{const A=(c=r?.borderColor)!==null&&c!==void 0?c:"#000000",C=cellLabelFor(Q,L,ee),ae=(g=ne.get((h=y.logicalIndex)!==null&&h!==void 0?h:-1))!==null&&g!==void 0?g:-1;let ie=!1;if(ae>=0){const I=labelLineRects({cellW:x,cellH:M,order:L,label:C,content:G,overflow:K,minTextSize:U});e:for(const R of I){const ve=y.x+R.x,ge=y.y+R.y;for(const z of oe)if(!(z.z<=ae)&&rectsIntersect(ve,ge,R.w,R.h,z.x,z.y,z.w,z.h)){ie=!0;break e}}}const pe=buildDebugCellMaskPath({cellW:x,cellH:M,order:L,label:C,content:G,overflow:K,borderPx:me,minTextSize:U,suppressLabel:ie}),re=(0,template_utils_1.makeColorTile)(A,{mask:{kind:"inline-mask",localPath:pe,bounds:{x:0,y:0,width:x,height:M},...j>0?{matte:j}:{}}}),F=de&&(w=T?.[L-1])!==null&&w!==void 0?w:"",be=!!(C&&C.trim());if(F&&F.trim()&&!be)S.push((0,template_utils_1.bindProp)((0,template_utils_1.makeColorTile)(F,{effects:{stroke:{width:V,color:A,alpha:.5,position:"inner"}}}),"labels",L-1));else if(F&&F.trim()){const I=`heatcell${L}`;H[I]={kind:"mosaic_document",version:1,assets:{},m0:"F{F}",size:{width:Math.max(1,Math.round(x)),height:Math.max(1,Math.round(M))},sources:[(0,template_utils_1.makeColorTile)(F),re],durationMs:1e3},S.push((0,template_utils_1.bindProp)({type:"mosaic",ref:I},"labels",L-1))}else S.push((0,template_utils_1.bindProp)(re,"labels",L-1))}}const he=(_=e.background)!==null&&_!==void 0?_:DEFAULT_BACKGROUND,Y=(W=r?.backgroundColor)!==null&&W!==void 0?W:he==="white"?"#ffffff":null,X={};let D;if(e.backgroundImage){const y=(0,types_1.asAssetId)("wireframe_background_image");X[y]=e.backgroundImage.startsWith("data:")?{kind:"data-uri",uri:e.backgroundImage,mediaType:"image"}:{kind:"file",path:e.backgroundImage,mediaType:"image"};const x=e.backgroundImageOpacity;D={assetId:y,...x!=null?{opacity:x}:{},...e.backgroundImageFit?{fit:e.backgroundImageFit}:{}}}if(ce){const y=t.output.width,x=t.output.height,M=buildLayerExplode({m0:$,canvasW:y,canvasH:x,fps:t.output.fps,useThumb:te,resolved:r,labels:Q,unlabeledCells:ee,labelContent:G,labelOverflow:K,borderPx:Math.max(1,Math.round(Math.min(y,x)*V)),minTextSize:U,fillAlpha:j,bg:Y,assets:X,backgroundImage:D,nullLabel:(E=e.nullLabel)!==null&&E!==void 0?E:DEFAULT_NULL_LABEL});if(M)return Promise.resolve(M)}let J=$;!((N=r?.paperGrid)===null||N===void 0)&&N.enabled&&(S.push((0,paperGrid_1.makePaperGridSource)({width:P,height:O,ink:(B=r.borderColor)!==null&&B!==void 0?B:"#000000",stepFrac:r.paperGrid.stepFrac,alpha:r.paperGrid.alpha})),J=(0,paperGrid_1.appendTopOverlay)(J));const fe={kind:"mosaic_document",version:1,assets:X,m0:(0,dsl_stdlib_1.toM0String)(J,"Wireframe"),sources:S,format:{kind:"image",container:"png",pixelFormat:"rgba"},...Object.keys(H).length?{children:H}:{},...Y!=null?{backgroundColor:(0,template_utils_1.solidBackground)(Y)}:{},...D?{backgroundImage:D}:{}};return Promise.resolve(fe)}},(0,template_utils_1.registerTemplate)(exports.WireframeV2);
@@ -0,0 +1 @@
1
+ "use strict";var i=Object.defineProperty;var e=(r,t)=>i(r,"name",{value:t,configurable:!0});Object.defineProperty(exports,"__esModule",{value:!0}),exports.AnimatedWireframe=exports.WireframeV1=exports.Wireframe=exports.WireframeV2=exports.WireframeCell=void 0;var wireframeCell_1=require("./utils/wireframeCell");Object.defineProperty(exports,"WireframeCell",{enumerable:!0,get:e(function(){return wireframeCell_1.WireframeCell},"get")});var v2_1=require("./base/v2");Object.defineProperty(exports,"WireframeV2",{enumerable:!0,get:e(function(){return v2_1.WireframeV2},"get")});var v1_1=require("./base/v1");Object.defineProperty(exports,"Wireframe",{enumerable:!0,get:e(function(){return v1_1.Wireframe},"get")}),Object.defineProperty(exports,"WireframeV1",{enumerable:!0,get:e(function(){return v1_1.Wireframe},"get")});var v1_2=require("./animated/v1");Object.defineProperty(exports,"AnimatedWireframe",{enumerable:!0,get:e(function(){return v1_2.AnimatedWireframe},"get")});
@@ -0,0 +1 @@
1
+ "use strict";var u=Object.defineProperty;var p=(t,a)=>u(t,"name",{value:a,configurable:!0});Object.defineProperty(exports,"__esModule",{value:!0}),exports.PAPER_GRID_ALPHA=exports.PAPER_GRID_STEP_FRAC=void 0,exports.paperGridPath=paperGridPath,exports.appendTopOverlay=appendTopOverlay,exports.makePaperGridSource=makePaperGridSource;const template_utils_1=require("@m0saic/template-utils");exports.PAPER_GRID_STEP_FRAC=.0625,exports.PAPER_GRID_ALPHA=.08;const MIN_STEP_PX=8;function paperGridPath(t,a,e,s){const r=Math.max(1,Math.round(s)),o=Math.max(MIN_STEP_PX,Math.round(e)),h=r/2,i=[];for(let n=o;n<t-h;n+=o){const l=Math.round(n-h);i.push(`M${l} 0 h${r} v${a} h-${r} Z`)}for(let n=o;n<a-h;n+=o){const l=Math.round(n-h);i.push(`M0 ${l} h${t} v${r} h-${t} Z`)}return i.join(" ")}p(paperGridPath,"paperGridPath");function appendTopOverlay(t,a="1"){let e=0;for(;e<t.length&&t[t.length-1-e]==="}";)e++;return`${t.slice(0,t.length-e)}{${a}}${"}".repeat(e)}`}p(appendTopOverlay,"appendTopOverlay");function makePaperGridSource(t){var a,e,s;const r=Math.max(1,Math.round(t.width)),o=Math.max(1,Math.round(t.height)),h=Math.min(r,o),i=(a=t.stepFrac)!==null&&a!==void 0?a:exports.PAPER_GRID_STEP_FRAC,n=Math.max(MIN_STEP_PX,Math.round(h*i)),l=(e=t.linePx)!==null&&e!==void 0?e:Math.max(1,Math.round(h*.001)),c=Math.max(0,Math.min(1,(s=t.alpha)!==null&&s!==void 0?s:exports.PAPER_GRID_ALPHA));return(0,template_utils_1.makeColorTile)(t.ink,{mask:{kind:"inline-mask",localPath:paperGridPath(r,o,n,l),bounds:{x:0,y:0,width:r,height:o}},overlay:{alpha:String(c)}})}p(makePaperGridSource,"makePaperGridSource");
@@ -0,0 +1,2 @@
1
+ "use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.WireframeCell=void 0;const types_1=require("@m0saic/types"),dsl_stdlib_1=require("@m0saic/dsl-stdlib"),template_utils_1=require("@m0saic/template-utils"),INDEX_PADDING_X=.03,INDEX_PADDING_Y=.03,INDEX_FONT_SCALE=.9,INDEX_FONT_MIN=10,INDEX_FONT_MAX=120,DIM_FONT_SCALE=1.25,AR_FONT_SCALE=.85,LINE_SPACING=1.45,CENTER_BLOCK_NUDGE=.02,propsSchema=(0,template_utils_1.definePropsSchema)({orderString:{type:"string",required:!0,description:"Primary label for the cell (e.g., '1', 'A1', 'B3')",meta:{control:{placeholder:"e.g., 1, A1, B3"},ui:{label:"Order Label"}}},showOrderString:{type:"boolean",required:!1,description:"If true, renders the orderString label. Default: true.",meta:{ui:{label:"Show Order Label"}}},text:{type:"string",required:!1,description:"Optional label for this cell",meta:{control:{placeholder:"Optional cell label"},ui:{label:"Cell Text"}}},textSize:{type:"number",required:!1,description:"Base font size for the orderString; the text overlay scales relative to this.",meta:{constraints:{min:8,max:200},control:{placeholder:"e.g., 64"},ui:{label:"Text Size"}}},mode:{type:"string",required:!1,description:'Render mode. "debug" (default) shows labels/dims. "thumb" shows clean tiles only.',meta:{constraints:{oneOf:["debug","thumb"]},control:{options:[{value:"debug",label:"Debug"},{value:"thumb",label:"Thumbnail"}]},ui:{label:"Mode"}}}});exports.WireframeCell={id:(0,types_1.asTemplateId)("@m0saic/wireframe/cell/v1"),label:"Wireframe Cell",version:1,description:"Single numbered wireframe cell with optional text overlay",capabilities:{tier:"core"},tags:["wireframe","docs-only"],internal:!0,outputHints:{width:640,height:480,fps:30,durationMs:1e3,note:"Single wireframe cell for documentation"},propsSchema,defaultProps:{mode:"debug",orderString:"1",showOrderString:!0,text:"",textSize:64,baseFrameStyle:{fontSize:64,fontColor:"#000000",fontFamily:"Arial, sans-serif",borderWidth:.005,borderColor:"#000000"},textStyle:{fontColor:"#000000",fontSize:48}},render(o,I){var c,u,f,h,m,b,p,S,v,g,_,x;const{orderString:O,text:y,theme:e}=o;if(o.mode==="thumb"){const t=(c=e?.tileBackgroundColor)!==null&&c!==void 0?c:"#141824",i={rounding:(u=e?.rounding)!==null&&u!==void 0?u:{borderRadius:.04,cornerStyle:"rounded"},stroke:{width:(f=e?.borderWidthFrac)!==null&&f!==void 0?f:.0015,color:(h=e?.borderColor)!==null&&h!==void 0?h:"#ffffff",alpha:(m=e?.borderAlpha)!==null&&m!==void 0?m:.1,position:"inner"}};e?.dropShadow&&(i.dropShadow=e.dropShadow);const s={type:"lavfi",color:t,effects:i};return Promise.resolve({kind:"mosaic_document",version:1,assets:{},m0:(0,dsl_stdlib_1.toM0String)("F","WireframeCell"),sources:[s]})}const T=o.showOrderString!==!1,C=(b=o.textSize)!==null&&b!==void 0?b:64,F=Math.round(C*.75);let r={fontSize:64,fontColor:"#000000",fontFamily:"Arial, sans-serif",borderWidth:.005,borderColor:"#000000",...(p=o.baseFrameStyle)!==null&&p!==void 0?p:{}},d={fontColor:"#000000",fontSize:48,...(S=o.textStyle)!==null&&S!==void 0?S:{}};o.textSize!=null&&(r={...r,fontSize:C},d={...d,fontSize:F});const z=e&&(e.borderWidthFrac!=null||e.rounding);z&&(r={...r,borderWidth:0});const E=(y??"").trim(),w=E?E.split(`
2
+ `).filter(t=>t.length>0):[],l=[];if(w.length>0){const t=(v=d.fontSize)!==null&&v!==void 0?v:F,i=Math.round(t*DIM_FONT_SCALE),s=Math.round(t*AR_FONT_SCALE),N=w.map((a,n)=>n===0?`${i}*${LINE_SPACING}`:`${s}*${LINE_SPACING}`),M=`(h-(${N.map(a=>`(${a})`).join("+")}))/2 - h*${CENTER_BLOCK_NUDGE}`;w.forEach((a,n)=>{const k=n===0;l.push({content:{kind:"literal",text:a},style:{...d,fontSize:k?i:s},placement:{hAlign:"left",vAlign:"top",xExpr:"(w-text_w)/2",yExpr:`${M} + (${N[n]})*${n}`}})})}if(T){const t=Math.max(INDEX_FONT_MIN,Math.min(INDEX_FONT_MAX,Math.round(C*INDEX_FONT_SCALE)));l.push({content:{kind:"literal",text:O},placement:{fit:"contain",hAlign:"left",vAlign:"top",padding:{x:INDEX_PADDING_X,y:INDEX_PADDING_Y}},style:{...r,fontSize:t}})}l.length===0&&l.push({content:{kind:"literal",text:""}});const A={type:"text",style:r,visual:{backgroundColor:(g=e?.tileBackgroundColor)!==null&&g!==void 0?g:"#ffffff"},layers:l};if(z||e?.dropShadow){const t={};e?.rounding&&(t.rounding=e.rounding),e?.borderWidthFrac!=null&&(t.stroke={width:e.borderWidthFrac,color:(_=e.borderColor)!==null&&_!==void 0?_:"#000000",alpha:(x=e.borderAlpha)!==null&&x!==void 0?x:1,position:"inner"}),e?.dropShadow&&(t.dropShadow=e.dropShadow),A.effects=t}const D={kind:"mosaic_document",version:1,assets:{},m0:(0,dsl_stdlib_1.toM0String)("F","WireframeCell"),sources:[A]};return Promise.resolve(D)}},(0,template_utils_1.registerTemplate)(exports.WireframeCell);
@@ -0,0 +1 @@
1
+ "use strict";Object.defineProperty(exports,"__esModule",{value:!0}),require("./m0saic/wireframe"),require("./m0saic/brand"),require("./m0saic/media"),require("./m0saic/hero");
@@ -0,0 +1 @@
1
+ "use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.TEMPLATE_PACKS=exports.TEMPLATE_REPO=void 0;const types_1=require("@m0saic/types");exports.TEMPLATE_REPO={schemaVersion:1,repoId:(0,types_1.asRepoId)("m0saic/templates"),displayName:"m0saic Templates",description:"Official templates bundled with m0saic.",curator:"m0saic",assets:{templatesDir:"assets/templates"},helloWorld:(0,types_1.asTemplateId)("@m0saic/hello-world/v1")},exports.TEMPLATE_PACKS=[{id:"alpine",title:"Alpine Data Viz",description:"Friendly mobile-marketing chart pack \u2014 rounded cards, soft palette, clean type.",publisher:"m0saic"},{id:"web",title:"Web",description:"Privacy-preserving templates that translate anonymous webpage geometry into editable m0 visuals.",publisher:"m0saic"}];
@@ -0,0 +1 @@
1
+ "use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.templateRegistry=void 0,exports.templateRegistry=[{slug:"hello-world",templateId:"@m0saic/hello-world/v1",exportName:"HelloWorld",title:"Hello, World",description:"The Home screen as a greeting: the brand-pattern field sweeps in rect by rect, a navy card rises with the M, the wordmark and your greeting. Zero inputs \u2014 the first render on a fresh install (m0saic hello-world).",tags:["hello","brand","animated","intro","card"]},{slug:"page-skeleton",templateId:"@m0saic/web/page-skeleton/v1",exportName:"PageSkeleton",title:"Page Skeleton",description:"Paste anonymous geometry captured from any webpage and render an editable skeleton-loading still or looping shimmer/pulse video.",tags:["web","skeleton","loading","capture","wireframe","animated","designers","developers","landing-page","mockup"]},{slug:"wireframe-v2",templateId:"@m0saic/wireframe/base/v2",exportName:"WireframeV2",title:"Wireframe",description:"Standard wireframe for auto-gen docs. Single-pass: each m0 frame is one masked color tile (border + text as glyph outlines).",tags:["wireframe","docs-only","designers","developers","layout","blueprint"]},{slug:"wireframe",templateId:"@m0saic/wireframe/base/v1",exportName:"Wireframe",title:"Wireframe v1 (deprecated)",description:"Nested-cell wireframe baseline. Deprecated in favor of @m0saic/wireframe/base/v2 (single-pass); kept for perf comparison and reference.",tags:["wireframe","docs-only"]},{slug:"wireframe-animated",templateId:"@m0saic/wireframe/animated/v1",exportName:"AnimatedWireframe",title:"Animated Wireframe (deprecated)",description:"Sequential cell reveal of any m0 layout (number, size, aspect ratio, m0 header). Deprecated in favor of @m0saic/dsl-tutorial/v1 \u2014 the geometry walk explains the layout instead of only revealing it; kept as the lightweight reveal for small-to-mid layouts.",tags:["wireframe","animated","docs-only"]},{slug:"wireframe-cell",templateId:"@m0saic/wireframe/cell/v1",exportName:"WireframeCell",title:"Wireframe Cell",description:"Single numbered wireframe cell with optional text overlay.",tags:["wireframe","docs-only"]},{slug:"brand-logo-v1",templateId:"@m0saic/brand/logo/v1",exportName:"TheMosaicM",title:"The M0saic M Logo (v1, deprecated)",description:"Deprecated in favor of @m0saic/brand/logo/v3 (M0saic Brand Marks). Bitmap-only render of the canonical m0saic M.",tags:["brand","logo"]},{slug:"brand-logo-v2",templateId:"@m0saic/brand/logo/v2",exportName:"TheMosaicMV2",title:"The M0saic M Logo (v2, deprecated)",description:"Deprecated in favor of @m0saic/brand/logo/v3 (M0saic Brand Marks), a superset. Rect/bitmap render of the canonical m0saic M.",tags:["brand","logo"]},{slug:"brand-logo-v3",templateId:"@m0saic/brand/logo/v3",exportName:"TheMosaicMV3",title:"M0saic Brand Marks",description:"Renders any m0saic brand mark \u2014 the M (rects or bitmap), the m0 logotype, or the m0saic pattern \u2014 with an animated reveal. Supersedes the v1/v2 M-logo templates.",tags:["brand","logo","marks","designers","marketers","intro","sting"]},{slug:"brand-community-m-v1",templateId:"@m0saic/brand/community-m/v1",exportName:"CommunityMV1",title:"Community M \u2014 Provenance",description:"Your tile's provenance video: the Community M with its identity, a zoom into your tile, your original image, your own canvas, then back to the M.",tags:["brand","community-m","provenance","animated","designers","developers","community","open-source"]},{slug:"business-card",templateId:"@m0saic/brand/business-card/v1",exportName:"BusinessCard",title:"Business Card",description:"The m0saic business card, print-ready: US 3.5 x 2 in at 300 DPI on MOO's bleed box (1098 x 648 px; Vistaprint / FedEx presets too) \u2014 brand field + M lockup and your contact on the front, a live-rendered shipped template with a QR to Mosaic Web on the back. One render, two PNGs.",tags:["brand","print","card","business-card","still","qr","founders","marketers","developers"]},{slug:"qr-code",templateId:"@m0saic/media/qr/code/v1",exportName:"QrCode",title:"QR Code",description:"Scannable QR from any text (URL, plain string, or structured payload). Defaults to the branded look \u2014 circle modules on a light card with the m0saic M carved in the centre; swap the centre asset and URL to make it yours. Square/rounded/circle module styles, light/dark/transparent card, optional spawn animation (Output mp4). The one standalone QR template.",tags:["brand","qr","marketers","designers","link"]},{slug:"brand-qr",templateId:"@m0saic/media/qr/basic/v1",exportName:"BrandQr",title:"QR Basic (v1, deprecated)",description:"Deprecated in favor of @m0saic/media/qr/code/v1 (QR Code) \u2014 its square module style is byte-identical. Kept as the plain-path reference.",tags:["brand","qr"]},{slug:"barcode",templateId:"@m0saic/media/barcode/v1",exportName:"Barcode",title:"Barcode",description:"Scannable 1D barcode (Code 128, EAN-13, UPC-A). Orange bars on light, dark, or transparent backgrounds. Optional human-readable digit caption underneath.",tags:["media","barcode","designers","marketers","print","label"]},{slug:"qr-rounded",templateId:"@m0saic/media/qr/rounded/v1",exportName:"QrRounded",title:"QR Rounded (v1, deprecated)",description:"Deprecated in favor of @m0saic/media/qr/code/v1 (QR Code) \u2014 same engine; circle/roundedSquare styles + the centre cutout live there as Style / Center Asset groups. Kept as the styled-path reference.",tags:["brand","qr"]},{slug:"qr-animate-tile-spawn",templateId:"@m0saic/media/qr/animate/v1",exportName:"QrAnimate",title:"QR \u2014 Animated Tile Spawn (internal)",description:"Internal: deterministic per-tile spawn-in animation for a pre-baked QR m0 string. Engine-internal \u2014 feeds the committed qr-animate brand assets (build-qr-rendered.cjs) the attribution stamps play.",tags:["brand","qr","animated","internal"]},{slug:"qr-animate",templateId:"@m0saic/media/qr/animate/v2",exportName:"QrAnimateV2",title:"QR Spawn (v2, deprecated)",description:"Deprecated in favor of @m0saic/media/qr/code/v1 (QR Code) \u2014 the spawn is its Output mp4 mode (envelope under Animation) and the caller-SVG hatch is advanced.svg. Kept as the spawn reference.",tags:["brand","qr","animated"]},{slug:"qr-stamp-custom",templateId:"@m0saic/media/qr/stamp/v1",exportName:"QrStampCustom",title:"QR Stamp",description:"Drop a QR onto any image or video. Same engine as the auto post-render attribution watermark, exposed for direct use \u2014 adaptive light/dark card, entrance fade, corner/size/margin knobs.",tags:["brand","qr","stamp","custom","marketers","creators","animated","link","video"]},{slug:"qr-stamp-still",templateId:"@m0saic/brand/qr-stamp/still/v1",exportName:"QrStampStill",title:"QR Brand Attribution \u2014 Image (internal)",description:"The official m0saic attribution stamp for IMAGE deliverables \u2014 the exact template the free tier runs on every rendered image. Stamps the m0saic QR card (light or dark, picked by a one-shot brightness probe of the corner region) in the bottom-right corner. Exists solely for that hook; to stamp your own media, use QR Stamp.",tags:["brand","qr","watermark","still","internal"]},{slug:"qr-stamp-video",templateId:"@m0saic/media/qr/stamp-video/v1",exportName:"QrStampVideo",title:"QR Stamp \u2014 Video (v1, deprecated)",description:"Deprecated in favor of @m0saic/media/qr/stamp/v1 (QR Stamp) \u2014 same adaptive-crossfade engine, plus image support. Render-time gleam retired by design (bake decoration into the input media). Kept as the reference adaptive video stamp.",tags:["brand","qr","watermark","adaptive"]},{slug:"qr-stamp-video-animated",templateId:"@m0saic/brand/qr-stamp/video/v2",exportName:"QrStampVideoV2",title:"QR Brand Attribution \u2014 Video (internal)",description:"The official m0saic attribution stamp for VIDEO deliverables \u2014 the exact template the free tier runs on every rendered video. Plays the committed qr-animate brand mark in one or more time windows scaled to clip duration; each window's light/dark card is picked from a region luminance probe. Exists solely for that hook; to stamp your own media, use QR Stamp.",tags:["brand","qr","watermark","animated","internal"]},{slug:"bar-graph-v1",templateId:"@m0saic/charts/bar-graph/v1",exportName:"ChartsBarGraph",title:"Bar Graph",description:"Canonical bar graph data-viz primitive supporting vertical/horizontal, with first-class animation and presets.",tags:["charts","bar-graph","chart","data-viz"]},{slug:"donut-v2",templateId:"@m0saic/charts/donut/v2",exportName:"DonutV2",title:"Donut Chart (bitmap)",description:"Experimental bitmap donut chart \u2014 proportional ring + center total. Superseded by @m0saic/charts/donut/v4.",tags:["charts","donut","distribution","data-viz"]},{slug:"benchmark-run",templateId:"@m0saic/benchmark/run/v1",exportName:"BenchmarkRun",title:"Benchmark \u2014 Run",description:"Runs the m0saic render benchmark suite and renders a live status HUD (scenarios, wall-clock, score).",tags:["benchmark","performance","diagnostics","capability","developers","animated"]},{slug:"benchmark-report",templateId:"@m0saic/benchmark/report/v1",exportName:"BenchmarkReport",title:"Benchmark \u2014 Report",description:"Packages a benchmark session's benchmark.json (written by @m0saic/benchmark/run/v1) into the standard shareable results video: machine-specs header, three headline KPIs, and a per-scenario render-time bar chart composed from the charts pack.",tags:["benchmark","performance","diagnostics","report","developers","animated"]},{slug:"ffmpeg-pulse-title",templateId:"@m0saic/hero/ffmpeg-pulse/title/v1",exportName:"FfmpegPulseTitle",title:"Weekly Pulse \xB7 Title",description:"FFmpeg Weekly Pulse \u2014 title beat. The opening hero card: logo + wordmark, a big WEEKLY PULSE title, a summary subtitle, date + week pills, and the m0saic.io watermark over the signature rectangle scatter. Aspect-adaptive.",tags:["hero","ffmpeg-pulse","title","beat"]},{slug:"ffmpeg-pulse-kpi-overview",templateId:"@m0saic/hero/ffmpeg-pulse/kpi-overview/v1",exportName:"FfmpegPulseKpiOverview",title:"Weekly Pulse \xB7 KPI Overview",description:"FFmpeg Weekly Pulse \u2014 KPI Overview beat. A logo-left header cluster + an aspect-adaptive grid of KPI stat cards (4\xD72 desktop, 2\xD74 square/mobile) + a WEEK/period footer over the signature scatter. Grid driven by pulse.kpis.",tags:["hero","ffmpeg-pulse","kpi-overview","beat"]},{slug:"ffmpeg-pulse-activity-trend",templateId:"@m0saic/hero/ffmpeg-pulse/activity-trend/v1",exportName:"FfmpegPulseActivityTrend",title:"Weekly Pulse \xB7 Activity Trend",description:"FFmpeg Weekly Pulse \u2014 Activity Trend beat (Beat 2). The KPI-Overview chrome wrapping a commits-over-time line chart + a rail of derived stat tiles. Aspect-adaptive.",tags:["hero","ffmpeg-pulse","activity-trend","beat"]},{slug:"ffmpeg-pulse-top-contributors",templateId:"@m0saic/hero/ffmpeg-pulse/top-contributors/v1",exportName:"FfmpegPulseTopContributors",title:"Weekly Pulse \xB7 Top Contributors",description:"FFmpeg Weekly Pulse \u2014 Top Contributors beat (Beat 3). The shared beat chrome wrapping a ranked contributor table (commits/additions/deletions, green/red diff) + a rail of aggregate stat tiles. Aspect-adaptive (table reflows to stacked cards on mobile).",tags:["hero","ffmpeg-pulse","top-contributors","beat"]},{slug:"ffmpeg-pulse-changes-breakdown",templateId:"@m0saic/hero/ffmpeg-pulse/changes-breakdown/v1",exportName:"FfmpegPulseChangesBreakdown",title:"Weekly Pulse \xB7 Changes Breakdown",description:"FFmpeg Weekly Pulse \u2014 Changes Breakdown beat (Beat 4). The shared beat chrome wrapping a changes-by-subsystem donut (ring + legend + center total) + a rail of aggregate stat tiles. Aspect-adaptive.",tags:["hero","ffmpeg-pulse","changes-breakdown","beat"]},{slug:"ffmpeg-pulse-contributions",templateId:"@m0saic/hero/ffmpeg-pulse/contributions/v1",exportName:"FfmpegPulseContributions",title:"Weekly Pulse \xB7 Contributions",description:"FFmpeg Weekly Pulse \u2014 Contributions beat (Beat 5). The shared beat chrome wrapping a GitHub-style contribution heatmap (commits by weekday \xD7 trailing weeks) + a rail of aggregate activity stat tiles. Aspect-adaptive.",tags:["hero","ffmpeg-pulse","contributions","heatmap","beat"]},{slug:"ffmpeg-pulse-notable-commits",templateId:"@m0saic/hero/ffmpeg-pulse/notable-commits/v1",exportName:"FfmpegPulseNotableCommits",title:"Weekly Pulse \xB7 Notable Commits",description:"FFmpeg Weekly Pulse \u2014 Notable Commits beat. The shared beat chrome wrapping a commit feed (kind icon + title + PR + area + reviewers + signal bar) + a rail of maintainer stat tiles. Aspect-adaptive.",tags:["hero","ffmpeg-pulse","notable-commits","beat"]},{slug:"ffmpeg-pulse-fin",templateId:"@m0saic/hero/ffmpeg-pulse/fin/v1",exportName:"FfmpegPulseFin",title:"Weekly Pulse \xB7 Fin",description:"FFmpeg Weekly Pulse \u2014 Fin (closing card). Centered headline + subhead, a KPI strip of the week's signature numbers, and a QR to the full report, over the signature scatter. Aspect-adaptive.",tags:["hero","ffmpeg-pulse","fin","beat"]},{slug:"ffmpeg-pulse-runner",templateId:"@m0saic/hero/ffmpeg-pulse/runner/v1",exportName:"FfmpegPulseRunner",title:"Weekly Pulse \xB7 Runner",description:"FFmpeg Weekly Pulse \u2014 the runner. Sequences all eight beats into one cross-faded MosaicDocumentPipeline. Aspect-adaptive; per-beat durations as props.",tags:["hero","ffmpeg-pulse","runner","pipeline","developers","marketers","github","changelog","showcase"]},{slug:"ffmpeg-pulse-scatter-bake",templateId:"@m0saic/hero/ffmpeg-pulse/scatter-bake/v1",exportName:"FfmpegPulseScatterBake",title:"Weekly Pulse \xB7 Scatter Bake (internal)",description:"Internal bake harness \u2014 renders the FFmpeg Weekly Pulse rectangle scatter + L\u2192R reveal full-canvas for baking to a flat video the beats reference as one source.",tags:["hero","ffmpeg-pulse","scatter","bake","internal"]},{slug:"bar-graph",templateId:"@m0saic/charts/bar-graph/v2",exportName:"ChartsBarGraphV2",title:"Bar Graph",description:"Canonical bar graph: vertical/horizontal, grid + L-axes, value + category labels, presets, grow-in animation. Tight-rect geometry \u2014 each bar a rect that hugs its drawn height (flat single doc, no nested composition).",tags:["charts","bar-graph","chart","data-viz","analysts","marketers","report"]},{slug:"stat-card",templateId:"@m0saic/charts/stat-card/v1",exportName:"StatCard",title:"KPI Stat Card",description:"Canonical KPI stat card: label, dominant value, delta (arrow + signed change), and sublabel. Building block of the repo-tracker hero.",tags:["charts","stat-card","kpi","data-viz","analysts","marketers","metric"]},{slug:"donut",templateId:"@m0saic/charts/donut/v4",exportName:"DonutV4",title:"Donut Chart",description:"Canonical donut chart: proportional ring + dominant center total. v4 makes the premium sliver sweep ratio via a self-framed coarse-quantize, so it composes at any canvas while keeping the smooth sweep + tight rasters.",tags:["charts","donut","distribution","data-viz","analysts","marketers","share"]},{slug:"donut-v3",templateId:"@m0saic/charts/donut/v3",exportName:"DonutV3",title:"Donut Chart v3 (deprecated)",description:"Deprecated in favor of @m0saic/charts/donut/v4. Its premium sliver sweep packs tight bboxes via placeRects on the full canvas, so precision tracks the canvas (slope 1.04). Kept as a reference for the self-framed coarse-quantize rebuild.",tags:["charts","donut","distribution","data-viz"]},{slug:"donut-v1",templateId:"@m0saic/charts/donut/v1",exportName:"Donut",title:"Donut Chart v1 (deprecated)",description:"Canonical donut chart: proportional ring + dominant center total. Deprecated in favor of @m0saic/charts/donut/v4 \u2014 v1 masks every slice as a full-canvas tile (the slow antipattern), kept as the reference 'bad' example.",tags:["charts","donut","distribution","data-viz"]},{slug:"line-chart",templateId:"@m0saic/charts/line-chart/v1",exportName:"ChartsLineChart",title:"Line Chart",description:"Canonical line-chart data-viz primitive: multi-series, full axis/line/point control, and transparent/solid/image backgrounds. The base every dashboard/report composes.",tags:["charts","line-chart","data-viz","analysts","marketers","trend"]},{slug:"line-chart-chrome",templateId:"@m0saic/charts/line-chart/internal/chrome/v1",exportName:"Chrome",title:"Line Chart \u2014 Chart Chrome (internal)",description:"Internal: renders the line chart's chrome (header, tick gutters, gridlines, axis lines) as real m0 geometry via weightedSplit; the parent overlays the animated line.",tags:["charts","line-chart","internal","chrome"]},{slug:"bar-graph-bar-cell",templateId:"@m0saic/charts/bar-graph/internal/bar-cell/v1",exportName:"BarCell",title:"Bar Graph \u2014 Bar Cell (internal)",description:"Internal: composes track + BarFill + optional labels for a single bar.",tags:["charts","bar-graph","internal","bar-cell"]},{slug:"bar-graph-bar-fill",templateId:"@m0saic/charts/bar-graph/internal/bar-fill/v1",exportName:"BarFill",title:"Bar Graph \u2014 Bar Fill (internal)",description:"Internal leaf: sole owner of FFmpeg expressions for animated bar fill.",tags:["charts","bar-graph","internal","bar-fill","animation"]},{slug:"bar-graph-bars-stack",templateId:"@m0saic/charts/bar-graph/internal/bars-stack/v1",exportName:"BarsStack",title:"Bar Graph \u2014 Bars Stack (internal)",description:"Internal: layout container that arranges N BarCell children along the layout axis.",tags:["charts","bar-graph","internal","bars-stack"]},{slug:"bar-graph-chart-frame",templateId:"@m0saic/charts/bar-graph/internal/chart-frame/v1",exportName:"ChartFrame",title:"Bar Graph \u2014 Chart Frame (internal)",description:"Internal: rounded card surface + inset PlotArea, with preset token resolution.",tags:["charts","bar-graph","internal","frame"]},{slug:"bar-graph-labels",templateId:"@m0saic/charts/bar-graph/internal/labels/v1",exportName:"Labels",title:"Bar Graph \u2014 Labels (internal)",description:"Internal: renders global chart labels (title/subtitle) and owns formatting rules.",tags:["charts","bar-graph","internal","labels","text"]},{slug:"bar-graph-plot-area",templateId:"@m0saic/charts/bar-graph/internal/plot-area/v1",exportName:"PlotArea",title:"Bar Graph \u2014 Plot Area (internal)",description:"Internal: data rectangle containing gridlines, baseline, and the bars stack.",tags:["charts","bar-graph","internal","plot-area"]},{slug:"bar-graph",templateId:"@m0saic/alpine/bar-graph/v1",exportName:"AlpineBarGraph",title:"Alpine Bar Chart",description:"Alpine horizontal bar chart \u2014 friendly mobile-marketing card: white rounded surface, category rail, rounded bars, inline values, value-tick band. Standalone Alpine brand flavor (not a re-skin of charts/bar-graph).",tags:["alpine","bar-graph","chart","data-viz","analysts","developers","dashboard","report"]},{slug:"donut",templateId:"@m0saic/alpine/donut/v3",exportName:"AlpineDonutV3",title:"Alpine Donut Chart",description:"Alpine donut chart \u2014 friendly mobile-marketing card: proportional ring, center value + label, side legend. v3's premium mode does the full clockwise radial SWEEP (self-framed coarse-quantize \u2014 a smooth draw-on that still composes at any canvas); light mode stays the composable per-segment path.",tags:["alpine","donut","distribution","data-viz","analysts","marketers","dashboard","share"]},{slug:"donut-v1",templateId:"@m0saic/alpine/donut/v1",exportName:"AlpineDonut",title:"Alpine Donut Chart v1 (deprecated)",description:"Deprecated. Packs each sector's bbox via absolute placeRects on the full canvas, so precision tracks the canvas (slope 1.04). Kept as a 'what not to do' reference for the mask-in-a-ring-cell rebuild.",tags:["alpine","donut","distribution","data-viz"]},{slug:"donut-v2",templateId:"@m0saic/alpine/donut/v2",exportName:"AlpineDonutV2",title:"Alpine Donut Chart v2 (deprecated)",description:"Deprecated in favor of @m0saic/alpine/donut/v3. Rebuilds the ring as a ratio cell (sectors are masks filling the cell in ring-local coords) so it composes at any canvas without the absolute-placement precision blowup. v3 keeps this ratio ring but upgrades premium from a per-segment fade to the full clockwise radial sweep.",tags:["alpine","donut","distribution","data-viz"]},{slug:"line-chart",templateId:"@m0saic/alpine/line-chart/v2",exportName:"AlpineLineChartV2",title:"Alpine Line Chart",description:"Alpine line/area chart \u2014 friendly mobile-marketing card: soft area fill, rounded line, point markers, value rail, left\u2192right draw-on. Standalone Alpine brand flavor. v2 rebuilds the geometry as a ratio layout (plot marks are masks filling a ratio plot cell) so it composes at any canvas without the absolute-placement precision blowup.",tags:["alpine","line-chart","chart","data-viz","analysts","developers","trend","dashboard"]},{slug:"line-chart-v1",templateId:"@m0saic/alpine/line-chart/v1",exportName:"AlpineLineChart",title:"Alpine Line Chart v1 (deprecated)",description:"Deprecated in favor of @m0saic/alpine/line-chart/v2. Places every mark as an absolute placeRects cell-local mask on the full canvas, so precision tracks the canvas (slope 1.08). Kept as a 'what not to do' reference for the mask-in-a-cell rebuild.",tags:["alpine","line-chart","chart","data-viz"]},{slug:"kpi-card",templateId:"@m0saic/alpine/kpi-card/v2",exportName:"AlpineKpiCardV2",title:"Alpine KPI Card",description:"Alpine KPI / stat card \u2014 friendly mobile-marketing card: muted label, count-up value, soft delta pill (arrow + change), sublabel, optional sparkline. Standalone Alpine brand flavor. v2 rebuilds the sparkline as a ratio band so the whole card composes at any canvas without the absolute-placement precision blowup.",tags:["alpine","kpi","stat-card","data-viz","analysts","marketers","metric","dashboard"]},{slug:"kpi-card-v1",templateId:"@m0saic/alpine/kpi-card/v1",exportName:"AlpineKpiCard",title:"Alpine KPI Card v1 (deprecated)",description:"Deprecated in favor of @m0saic/alpine/kpi-card/v2. The chrome was ratio, but the sparkline is placed via absolute placeRects bboxes so precision tracks the canvas (slope 1.04). Kept as a reference for the mixed ratio-chrome / absolute-sparkline case.",tags:["alpine","kpi","stat-card","data-viz"]},{slug:"stat-card",templateId:"@m0saic/alpine/stat-card/v1",exportName:"AlpineStatCard",title:"Hero KPI Stat Card",description:"Hero-styled KPI stat card (Alpine pack): rounded dark card, green accent icon + label, dominant count-up value, SVG-triangle delta (green up / red down) + sublabel. The KPI tile for the FFmpeg Weekly Pulse beats.",tags:["alpine","stat-card","kpi","hero","dark","analysts","marketers","metric","number"]},{slug:"contributor-table",templateId:"@m0saic/alpine/contributor-table/v1",exportName:"AlpineContributorTable",title:"Alpine Contributor Table",description:'Alpine contributor table \u2014 friendly mobile-marketing card: a ranked multi-column table (rank \xB7 avatar \xB7 name + arbitrary value columns), icon + title header, top-N accent wash, count-up values. Alpine-light by default; the FFmpeg hero uses preset:"dark".',tags:["alpine","contributor-table","ranking","table","data-viz","developers","analysts","team","open-source"]},{slug:"commit-feed",templateId:"@m0saic/alpine/commit-feed/v2",exportName:"AlpineCommitFeedV2",title:"Alpine Commit Feed",description:'Alpine commit feed \u2014 friendly mobile-marketing card: a scannable list of notable commits (kind icon + title + PR, area chip + author + reviewers + date) with a signal status bar. Alpine-light by default; the FFmpeg hero uses preset:"dark". v2 rebuilds the geometry as a ratio layout (nested proportional splits) so it composes at any canvas without the absolute-placement precision blowup.',tags:["alpine","commit-feed","feed","list","data-viz","developers","analysts","git","changelog"]},{slug:"commit-feed-v1",templateId:"@m0saic/alpine/commit-feed/v1",exportName:"AlpineCommitFeed",title:"Alpine Commit Feed v1 (deprecated)",description:"Deprecated in favor of @m0saic/alpine/commit-feed/v2. Packs every row element as an absolute placeRects rect, so precision tracks the canvas (slope 1.00) and it pins its parent when nested. Kept as a 'what not to do' absolute-list reference.",tags:["alpine","commit-feed","feed","list","data-viz"]},{slug:"progress-card",templateId:"@m0saic/alpine/progress-card/v1",exportName:"AlpineProgressCard",title:"Alpine Progress Card",description:"Alpine progress card \u2014 friendly mobile-marketing card: a list of goal rows, each a label + value over a rounded track with a colored fill grown to its fraction. Standalone Alpine brand flavor.",tags:["alpine","progress","goals","data-viz","analysts","marketers","goal","milestone"]},{slug:"leaderboard",templateId:"@m0saic/alpine/leaderboard/v1",exportName:"AlpineLeaderboard",title:"Alpine Leaderboard",description:"Alpine leaderboard \u2014 friendly mobile-marketing card: a ranked list with gold/silver/bronze rank badges, names, count-up values, and a soft podium tint. Standalone Alpine brand flavor.",tags:["alpine","leaderboard","ranking","data-viz","analysts","creators","top-10"]},{slug:"heatmap",templateId:"@m0saic/alpine/heatmap/v2",exportName:"AlpineHeatmapV2",title:"Alpine Heatmap",description:"Alpine heatmap \u2014 friendly mobile-marketing card: a rows\xD7cols grid of rounded cells on a single-hue intensity scale, with row/column labels and a Less\u2192More legend. Generalizes the GitHub contribution calendar. Standalone Alpine brand flavor. v2 rebuilds the geometry as a ratio layout (gutterless grid + gaps as source insets) so it composes at any canvas without the absolute-placement precision blowup.",tags:["alpine","heatmap","matrix","data-viz","analysts","developers","activity","calendar"]},{slug:"heatmap-v1",templateId:"@m0saic/alpine/heatmap/v1",exportName:"AlpineHeatmap",title:"Alpine Heatmap v1 (deprecated)",description:"Deprecated in favor of @m0saic/alpine/heatmap/v2. Packs every cell/label/legend swatch as an absolute placeRects rect on a per-pixel snap grid, so precision tracks the canvas and coprime cell pitches pin it to ~100%. Kept as a 'what not to do' absolute-grid reference.",tags:["alpine","heatmap","matrix","data-viz"]},{slug:"timeline",templateId:"@m0saic/alpine/timeline/v2",exportName:"AlpineTimelineV2",title:"Alpine Timeline",description:"Alpine timeline \u2014 friendly mobile-marketing card: a milestone timeline with a spine + dots, each event a date + title + description. Standalone Alpine brand flavor. v2 rebuilds the geometry as a ratio layout (nested proportional splits) so it composes at any canvas without the absolute-placement precision blowup.",tags:["alpine","timeline","milestones","data-viz","analysts","marketers","roadmap"]},{slug:"timeline-v1",templateId:"@m0saic/alpine/timeline/v1",exportName:"AlpineTimeline",title:"Alpine Timeline v1 (deprecated)",description:"Deprecated in favor of @m0saic/alpine/timeline/v2. Packs the spine, dots and text as absolute placeRects rects, so precision tracks the canvas (slope 1.04) and it pins its parent when nested. Kept as a 'what not to do' absolute-list reference.",tags:["alpine","timeline","milestones","data-viz"]},{slug:"treemap",templateId:"@m0saic/alpine/treemap/v2",exportName:"AlpineTreemapV2",title:"Alpine Treemap",description:"Alpine treemap \u2014 friendly mobile-marketing card: value-sized rounded tiles (squarified) filling the card, each labelled with its name + share, tiles fading in biggest\u2192smallest. Standalone Alpine brand flavor. v2 rebuilds the geometry as a ratio layout (squarified nested splits + gap-as-inset) so it composes at any canvas without the absolute-placement precision blowup.",tags:["alpine","treemap","proportion","data-viz","analysts","developers","breakdown","composition"]},{slug:"treemap-v1",templateId:"@m0saic/alpine/treemap/v1",exportName:"AlpineTreemap",title:"Alpine Treemap v1 (deprecated)",description:"Deprecated in favor of @m0saic/alpine/treemap/v2. Flattens the squarified layout to an absolute placeRects rect list, so precision tracks the canvas (slope 1.04). Kept as a 'what not to do' reference for the nested-split + gap-inset rebuild.",tags:["alpine","treemap","proportion","data-viz"]},{slug:"grid",templateId:"@m0saic/primitives/grid/v2",exportName:"PrimitiveGridV2",title:"Primitive \u2014 Grid",description:"Composable gridline overlay primitive (horizontal/vertical/both) \u2014 thin fixed-px strips at proportional offsets; nests cleanly at any canvas.",tags:["primitive","grid","developers","layout"]},{slug:"grid-v1",templateId:"@m0saic/primitives/grid/v1",exportName:"PrimitiveGrid",title:"Primitive \u2014 Grid v1 (deprecated)",description:"Deprecated in favor of @m0saic/primitives/grid/v2. Single-axis path launders absolute px positions through a per-pixel placeRects split \u2014 renders standalone but SILENTLY DROPS when nested at many canvases. Kept as a 'what not to do' reference.",tags:["primitive","grid"]},{slug:"image-collage",templateId:"@m0saic/collage/image-collage/v1",exportName:"ImageCollage",title:"Image Collage",description:"Packs any set of photos into a designed contact sheet: searched layout, hero / portrait / panorama cells sized to each image, even pixel gutters, soft crop budget; big sets page into one PNG per sheet.",tags:["collage","images","layout-solver","contact-sheet","creators","designers","photos","grid","social"]},{slug:"spread-grid-mock",templateId:"@m0saic/collage/spread-grid-mock/v1",exportName:"SpreadGridMock",title:"Spread Grid Mock (internal)",description:"Internal: layout-contract dogfood \u2014 a fixed 6x4 spread grid baked at 1920x1080 whose cells quantize past the uniform-thumbnail tolerance; the first debugLayout adopter, swept by audit:layout-envelope.",tags:["collage","grid","internal","layout-contract"]},{slug:"quote-card",templateId:"@m0saic/social/quote-card/v1",exportName:"QuoteCard",title:"Quote Card",description:"Pull-quote social card \u2014 auto-wrapped quote, accent bar, attribution with an optional circular avatar; hand-tuned light/dark presets; lossless PNG still, aspect-safe from square to stories.",tags:["social","quote","card","pull-quote","promo","creators","marketers","testimonial"]},{slug:"code-snippet-morph",templateId:"@m0saic/code/snippet-morph/v1",exportName:"SnippetMorphV1",title:"Code Snippet Morph",description:"Turn ordered TypeScript or JavaScript states into a deterministic editor-frame video with syntax highlighting and line-aware morphs \u2014 CodeSlides polish as a real deliverable, without screen recording.",tags:["code","developer","animation","snippet","developers","diff","tutorial"]},{slug:"screencap-grid-info-pane",templateId:"@m0saic/media/screencap_grid/internal/info_pane/v1",exportName:"InfoPane",title:"Screencap Grid \u2014 Info Pane (internal)",description:"Internal subtemplate: renders the filename + metadata info pane for the screencap grid.",tags:["media","screencap","internal"]},{slug:"screencap-grid",templateId:"@m0saic/media/screencap_grid/v2",exportName:"ScreencapGridV2",title:"Screencap Grid",description:"Displays formatted ffprobe info in a top pane with a rows x cols grid of the same media below. Renders a static PNG contact sheet or an animated MP4 grid via the Output knob. v2 lays the pane and tiles out as exact pixel rects via inset-recovery placement (placeInsetPieces), so tile gaps are pixel-exact at every canvas.",tags:["media","screencap","grid","creators","developers","contact-sheet","thumbnails","video"]},{slug:"screencap-grid-v1",templateId:"@m0saic/media/screencap_grid/v1",exportName:"ScreencapGrid",title:"Screencap Grid (v1, deprecated)",description:"Deprecated in favor of @m0saic/media/screencap_grid/v2. Realizes the tile gap as gridCellInset fractions against the IDEAL cell size, which the engine floors against the QUANTIZED cells \u2014 gaps wobble between gapPx and 0 under the content-driven info pane. Kept as the 'ideal-cell gap inset' reference.",tags:["media","screencap","grid"]},{slug:"subtitle-burn",templateId:"@m0saic/media/subtitle-burn/v1",exportName:"SubtitleBurn",title:"Subtitle Burn",description:"Reads subtitle cues from an MKV/MP4's embedded subtitle stream and burns them onto the video as m0saic text overlays.",tags:["media","subtitles","captions","creators","educators","animated","accessibility","video"]},{slug:"screencap-grid-aspect-safe",templateId:"@m0saic/media/screencap_grid_aspect_safe/v1",exportName:"ScreencapGridAspectSafe",title:"Screencap Grid \u2014 Aspect Safe",description:"Per source video, picks a coordinated landscape + portrait grid pair (same cell count, cells steered to the wanted shape \u2014 landscape/square/portrait presets or an exact ratio, default landscape 16:9) via aspectSafeGrid and emits both as a 2-step multi-output pipeline. Renders static PNG contact sheets or animated MP4 grids via the Output knob; tile gaps are pixel-exact via inset-recovery placement.",tags:["media","screencap","grid","aspect-safe","multi-orientation","creators","developers","contact-sheet","thumbnails","video"]},{slug:"scroll-wall",templateId:"@m0saic/media/scroll_wall/v1",exportName:"ScrollWallV1",title:"Scroll Wall",description:"An endless scrolling wall of clips: 1-4 rows of video/image tiles slide sideways forever (optionally alternating direction) and loop seamlessly at whole cycles. Every tile is a real DSL cell at full native resolution; the pan is per-tile overlay motion, not a camera crop.",tags:["media","wall","scroll","loop","montage","creators","marketers","animated","video"]},{slug:"frame-stripper",templateId:"@m0saic/media/video_to_png_sequence/v1",exportName:"FrameStripper",title:"Frame Stripper",description:"Drop a video, get every frame as a numbered PNG sequence (frame_0001.png, frame_0002.png, ...).",tags:["media","frames","png-sequence","extract","developers","creators","video"]},{slug:"media-watermark",templateId:"@m0saic/media/watermark/v1",exportName:"WatermarkV1",title:"Watermark",description:"Stamp your logo or wordmark onto any image or video \u2014 9 positions or an exact m0 rect, ratio-true sizing, opacity control. Point it at a folder for one watermarked output per input.",tags:["media","watermark","brand","batch","creators","marketers","animated","logo","overlay","video"]},{slug:"metadata-stamp",templateId:"@m0saic/media/metadata-stamp/v1",exportName:"MetadataStampV1",title:"Metadata Stamp",description:"Stamp each video's creation date (read from its metadata) onto the video as a small chip \u2014 9 positions, deterministic date formats. Point it at a folder for one stamped output per input; files without metadata use your fallback text or pass through clean.",tags:["media","stamp","date","metadata","batch","utility","creators","animated","timestamp","overlay","video"]},{slug:"highlights",templateId:"@m0saic/media/highlights/v1",exportName:"Highlights",title:"Highlight Clips",description:"Pick a video, mark one or more time ranges, and get each range as its own clip \u2014 mp4 or webm, audio intact, one render for the whole batch.",tags:["media","clips","highlights","promo","multi-output","creators","marketers","animated","trailer","teaser","video"]},{slug:"blur-regions",templateId:"@m0saic/media/blur-regions/v1",exportName:"BlurRegions",title:"Easy Blur",description:"Pick a video or image, draw boxes over what should stay hidden \u2014 faces, plates, names \u2014 and get the same media back with those regions blurred or pixelated. Audio untouched.",tags:["media","blur","privacy","redact","pixelate","creators","animated","face-blur","anonymize","video"]},{slug:"trickplay",templateId:"@m0saic/media/trickplay/v1",exportName:"Trickplay",title:"Trickplay Sheets",description:"The seek-preview thumbnails players show while scrubbing: sprite sheets at a fixed interval, plus a WebVTT storyboard and a Jellyfin/DASH-compatible JSON manifest. Point it at a folder for one sheet set per video.",tags:["media","trickplay","storyboard","batch","developers","creators","video-player","sprite","streaming"]},{slug:"logo-animate",templateId:"@m0saic/media/logo-animate/v1",exportName:"LogoAnimateV1",title:"Logo Animate",description:"Drop in an SVG logo \u2014 get an animated logo video. The SVG becomes real m0 geometry (one cell per shape, silhouette masks), animated per-tile: assemble-in, seamless loop, progress fill, breathing glow, or shimmer.",tags:["media","logo","animation","svg-to-mosaic","brand","designers","marketers","animated","svg","intro"]},{slug:"forensic-watermark-video-v1",templateId:"@m0saic/forensic/watermark/video/v1",exportName:"ForensicWatermarkVideoV1",title:"Forensic Watermark (Video)",description:"Embed an invisible per-render payload (subscriber/install ID or UUID) into a video using a BCH-coded spatial-cell watermark. The output keeps the source's size, frame rate, duration and audio; the mark survives YouTube-grade re-encodes. Emits a `.watermark.json` sidecar carrying the recovery keys; check a delivered copy with `@m0saic/forensic/watermark/verify/v1`.",tags:["forensic","watermark","provenance","attribution","creators","developers","animated","invisible","video"]},{slug:"forensic-watermark-verify-v1",templateId:"@m0saic/forensic/watermark/verify/v1",exportName:"ForensicWatermarkVerifyV1",title:"Forensic Watermark \u2014 Verify",description:"Check a delivered video against its `.watermark.json` and render a report card: PASS / MISMATCH / FAIL / ERROR, the recovered payload, ECC headroom and confidence, plus the reason. Emits a `watermarkCheck` sidecar with the same result as JSON.",tags:["forensic","watermark","verify","provenance","attribution","creators","developers","video"]},{slug:"dsl-tutorial",templateId:"@m0saic/dsl-tutorial/v1",exportName:"DslTutorial",title:"DSL Tutorial",description:"Animated, IDE/debugger-style tutorial that walks the m0 DSL parse + geometry step by step: animated canvas with camera-follow, 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 syntax-highlighted DSL string with narration. Light/dark, any aspect, speed-controlled.",tags:["dsl-tutorial","tutorial","wireframe","docs","animated","developers","onboarding"]},{slug:"dsl-tutorial-chrome",templateId:"@m0saic/dsl-tutorial/chrome/v1",exportName:"DslChrome",title:"DSL Tutorial \u2014 Chrome (internal)",description:"Internal: IDE header / status bar chrome (baked logo, title, Speed + Step pills, status bar) for the dsl-tutorial template.",tags:["dsl-tutorial","internal","chrome"]},{slug:"dsl-tutorial-canvas",templateId:"@m0saic/dsl-tutorial/canvas/v1",exportName:"DslCanvas",title:"DSL Tutorial \u2014 Canvas (internal)",description:"Internal: animated geometry-walk canvas (numbered tiles reveal in order + active-tile highlight) for the dsl-tutorial template.",tags:["dsl-tutorial","internal","canvas"]},{slug:"dsl-tutorial-inspector",templateId:"@m0saic/dsl-tutorial/inspector/v1",exportName:"DslInspector",title:"DSL Tutorial \u2014 Inspector (internal)",description:"Internal: live geometry inspector (X/Y/W/H/Z values mutating with the walk + Kind/Status chips) for the dsl-tutorial template.",tags:["dsl-tutorial","internal","inspector"]},{slug:"dsl-tutorial-string",templateId:"@m0saic/dsl-tutorial/string/v1",exportName:"DslString",title:"DSL Tutorial \u2014 String (internal)",description:"Internal: live syntax-highlighted m0 string with a stepping caret + position ruler, or the narration banner, for the dsl-tutorial template.",tags:["dsl-tutorial","internal","string"]},{slug:"meta-post-mortem-v1",templateId:"@m0saic/meta/post-mortem/v1",exportName:"PostMortem",title:"Post-Mortem (Session Replay)",description:"Renders a sandbox session as a watchable video \u2014 chat thread on the left, candidate wireframes on the right. Pillar C MVP; visuals iterate via dogfooding.",tags:["meta","session","post-mortem","sandbox"]},{slug:"meta-camera-debug-v1",templateId:"@m0saic/meta/camera-debug/v1",exportName:"CameraDebug",title:"Camera Debugger",description:"Gray-box wireframe of any layout with the camera's crop viewport drawn as a red rectangle \u2014 paste a raw MosaicCamera to verify any template's camera math, or use the built-in follow-walk recipe (smooth pan or snap-per-settle rings).",tags:["meta","camera","debug","motion"]},{slug:"meta-fixture-fetcher-v1",templateId:"@m0saic/meta/fixture-fetcher/v1",exportName:"FixtureFetcher",title:"Fixture Fetcher (internal)",description:"Deterministic capability-layer proof fixture: publishes a fixed payload as an aliased data source (pipeline-step-0 data-fetcher shape); optional secretRef resolves via ctx.secrets to a derived non-secret marker. No network, no fs. Regression anchor for the F1 data-pipeline plumbing.",tags:["meta","fixture","data-fetcher","internal"]},{slug:"meta-upstream-echo-v1",templateId:"@m0saic/meta/upstream-echo/v1",exportName:"UpstreamEcho",title:"Upstream Echo (internal)",description:"Consumer proof fixture: reads ctx.upstreamData/upstreamVariables, renders a solid-color tile, and mirrors the received upstream into sidecars for byte-assertable verification. Declares upstream schemas to exercise the resolver's schema guard.",tags:["meta","fixture","upstream","internal"]},{slug:"meta-hot-reload-smoke-v1",templateId:"@m0saic/meta/hot-reload-smoke/v1",exportName:"HotReloadSmoke",title:"Hot-Reload Smoke (internal)",description:"Internal: the template hot-reload canary \u2014 a solid color square whose fill is a module constant (not a prop default), so a stale color can only mean the app is running stale template code.",tags:["meta","internal","hot-reload","dev"]},{slug:"github-repo-facts-fetcher-v1",templateId:"@m0saic/github/repo-facts-fetcher/v1",exportName:"RepoFactsFetcher",title:"GitHub Repo Facts (fetcher)",description:"Capability-tier data fetcher: publishes a normalized GithubRepoFacts sheet (commits, contributors, activity, stars, coverage) under the alias githubRepoFacts. Replay mode (default) is network-free + deterministic; live mode fetches a repo/window over the GitHub REST API with a recorded coverage/degradation ladder. Feeds the weekly-pulse-adapter.",tags:["github","data-fetcher","connector","data"]},{slug:"github-weekly-pulse-adapter-v1",templateId:"@m0saic/github/weekly-pulse-adapter/v1",exportName:"WeeklyPulseAdapter",title:"Weekly Pulse Adapter",description:"Pure core-tier adapter: reads the upstream githubRepoFacts block and derives the WeeklyPulse sheet (adaptive KPIs, activity + heatmap, contributors, changes-by-area, notable commits) that the ffmpeg-pulse beats consume. Zero network/clock/randomness; requires an upstream repo-facts producer.",tags:["github","adapter","pulse","data","developers"]},{slug:"agents-commit-feed-v1",templateId:"@m0saic/agents/commit-feed/v1",exportName:"AgentCommitFeedV1",title:"Agent Commit Feed",description:"Who wrote this week's commits \u2014 a commit feed colour-coded by author (human vs coding agent) with the agent-authored share, a proportion bar and a legend. The alpine commit feed nested under its own card; composes at any canvas.",tags:["github","commits","agents","ai","developers","devrel","engineering-leaders","alpine","animated"]},{slug:"agents-trace-timeline-v1",templateId:"@m0saic/agents/trace-timeline/v1",exportName:"TraceTimelineV1",title:"Agent Trace Timeline",description:"What the agent did on a run \u2014 a waterfall of tool calls: the tool and its target per lane, a latency bar on a shared time axis, tokens per hop, and status colours for errors, retries and cache hits. Alpine card, composes at any canvas.",tags:["agents","trace","timeline","waterfall","observability","latency","tokens","developers","sre","alpine","animated"]},{slug:"github-year-card-v1",templateId:"@m0saic/github/year-card/v1",exportName:"YearCardV1",title:"GitHub Year Card",description:"A developer's year on GitHub on one card: the 7\xD753 contribution calendar with month and weekday labels and a Less\u2192More legend, four KPI tiles (commits, pull requests, stars, top language) and the handle + year in the header. Gutterless grid with lattice-exact gaps; composes at any canvas.",tags:["github","contributions","calendar","heatmap","year","developers","vanity","share","alpine","animated"]},{slug:"github-weekly-pulse-v1",templateId:"@m0saic/github/weekly-pulse/v1",exportName:"GithubWeeklyPulse",title:"GitHub Weekly Pulse",description:"The self-contained, app-runnable Weekly Pulse: fetches a GitHub repo's week from prop input (repo + window + token), derives the pulse sheet, and renders all 8 beats \u2014 one capability-tier template, no pipeline wiring. Replay mode (default) is network-free; live mode fetches over the GitHub REST API and degrades to an error frame on failure.",tags:["github","hero","ffmpeg-pulse","pulse","live","developers","analysts","weekly","report"]},{slug:"theming-v1",templateId:"@m0saic/theming/v1",exportName:"Theming",title:"Theming \u2014 Token Producer",description:"Design-token producer: publishes one ThemeTokens set (dark | light | high-contrast) onto ctx.upstreamVariables for downstream templates. Standalone it renders an aspect-adaptive Theme-Tokens sheet; as an intermediate pipeline step it emits pure data and re-skins a chain by swapping one prop.",tags:["theming","tokens","producer","design-system","designers","developers","palette"]},{slug:"narrated-chapters",templateId:"@m0saic/story/narrated-chapters/v1",exportName:"NarratedChapters",title:"Narrated Chapters",description:"Chaptered, narration-timed story video from a story.json manifest \u2014 title/section cards, per-chapter scenes, and one deliverable per aspect (landscape/portrait) from a single invocation. Omit props for the built-in demo story.",tags:["story","chapters","narrated","pipeline","agentic","creators","educators","social","voice-over","explainer"]},{slug:"scrapbook",templateId:"@m0saic/story/scrapbook/v1",exportName:"ScrapbookV1",title:"Scrapbook",description:"A short personal film: a few pictures, a line each, pinned askew on paper and drifting past to music. Lays itself out with stand-in pages until your own photos arrive.",tags:["story","personal","photos","animated","creators","social","memories","photo-album"]}];
@@ -0,0 +1 @@
1
+ "use strict";var a=Object.defineProperty;var e=(r,i)=>a(r,"name",{value:i,configurable:!0});Object.defineProperty(exports,"__esModule",{value:!0}),exports.listRegisteredTemplateIds=exports.getTemplate=exports.requireTemplate=void 0,require("./m0saic/wireframe"),require("./m0saic/hello-world"),require("./m0saic/primitives"),require("./m0saic/charts"),require("./m0saic/collage"),require("./m0saic/agents"),require("./m0saic/github/connection"),require("./m0saic/github/repo-facts-fetcher"),require("./m0saic/github/weekly-pulse-adapter"),require("./m0saic/github/year-card"),require("./m0saic/theming"),require("./m0saic/dsl-tutorial"),require("./m0saic/social"),require("./m0saic/web"),require("./m0saic/code"),require("./m0saic/alpine"),require("./m0saic/brand/community-m/v1/community-m.web"),require("./m0saic/brand/logo/v1"),require("./m0saic/brand/logo/v2"),require("./m0saic/brand/logo/v3"),require("./m0saic/brand/business-card/v1"),require("./m0saic/media/barcode/v1"),require("./m0saic/media/qr/code/v1"),require("./m0saic/media/qr/basic/v1"),require("./m0saic/media/qr/animate/v1"),require("./m0saic/media/qr/animate/v2"),require("./m0saic/media/qr/stamp/v1/qr-stamp-custom"),require("./m0saic/media/qr/rounded/v1"),require("./m0saic/media/blur-regions"),require("./m0saic/media/highlights"),require("./m0saic/media/screencap_grid"),require("./m0saic/media/screencap_grid_aspect_safe"),require("./m0saic/media/trickplay"),require("./m0saic/media/video_to_png_sequence");var template_utils_1=require("@m0saic/template-utils");Object.defineProperty(exports,"requireTemplate",{enumerable:!0,get:e(function(){return template_utils_1.requireTemplate},"get")}),Object.defineProperty(exports,"getTemplate",{enumerable:!0,get:e(function(){return template_utils_1.getTemplate},"get")}),Object.defineProperty(exports,"listRegisteredTemplateIds",{enumerable:!0,get:e(function(){return template_utils_1.listRegisteredTemplateIds},"get")});
@@ -0,0 +1 @@
1
+ "use strict";var u=Object.defineProperty;var s=(t,e)=>u(t,"name",{value:e,configurable:!0});var __createBinding=this&&this.__createBinding||(Object.create?(function(t,e,n,r){r===void 0&&(r=n);var i=Object.getOwnPropertyDescriptor(e,n);(!i||("get"in i?!e.__esModule:i.writable||i.configurable))&&(i={enumerable:!0,get:s(function(){return e[n]},"get")}),Object.defineProperty(t,r,i)}):(function(t,e,n,r){r===void 0&&(r=n),t[r]=e[n]})),__setModuleDefault=this&&this.__setModuleDefault||(Object.create?(function(t,e){Object.defineProperty(t,"default",{enumerable:!0,value:e})}):function(t,e){t.default=e}),__importStar=this&&this.__importStar||(function(){var t=s(function(e){return t=Object.getOwnPropertyNames||function(n){var r=[];for(var i in n)Object.prototype.hasOwnProperty.call(n,i)&&(r[r.length]=i);return r},t(e)},"ownKeys");return function(e){if(e&&e.__esModule)return e;var n={};if(e!=null)for(var r=t(e),i=0;i<r.length;i++)r[i]!=="default"&&__createBinding(n,e,r[i]);return __setModuleDefault(n,e),n}})();Object.defineProperty(exports,"__esModule",{value:!0}),exports.WEB_TEMPLATE_IDS_FILE=void 0,exports.listWebTemplateIds=listWebTemplateIds,exports.isWebTemplateId=isWebTemplateId;const fs=__importStar(require("node:fs")),path=__importStar(require("node:path"));exports.WEB_TEMPLATE_IDS_FILE="web-template-ids.json";let cachedIds=null;function webTemplateIds(){if(cachedIds)return cachedIds;let t=[];try{const e=path.resolve(__dirname,"..",exports.WEB_TEMPLATE_IDS_FILE),n=JSON.parse(fs.readFileSync(e,"utf8"));Array.isArray(n.ids)&&(t=n.ids.filter(r=>typeof r=="string"))}catch{}return cachedIds=new Set(t),cachedIds}s(webTemplateIds,"webTemplateIds");function listWebTemplateIds(){return Array.from(webTemplateIds()).sort()}s(listWebTemplateIds,"listWebTemplateIds");function isWebTemplateId(t){return webTemplateIds().has(String(t))}s(isWebTemplateId,"isWebTemplateId");
@@ -0,0 +1,6 @@
1
+ {
2
+ "name": "@m0saic/templates",
3
+ "version": "0.2.0",
4
+ "main": "dist/index.js",
5
+ "license": "MIT"
6
+ }