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 o=Object.defineProperty;var e=(r,t)=>o(r,"name",{value:t,configurable:!0});Object.defineProperty(exports,"__esModule",{value:!0}),exports.split1_2Row=exports.split2_1Row=exports.split1_2Col=exports.split2_1Col=exports.split4Row=exports.split4Col=exports.split3Row=exports.split3Col=exports.split2Row=exports.split2Col=void 0;var _2_col_1=require("./2-col");Object.defineProperty(exports,"split2Col",{enumerable:!0,get:e(function(){return _2_col_1.entry},"get")});var _2_row_1=require("./2-row");Object.defineProperty(exports,"split2Row",{enumerable:!0,get:e(function(){return _2_row_1.entry},"get")});var _3_col_1=require("./3-col");Object.defineProperty(exports,"split3Col",{enumerable:!0,get:e(function(){return _3_col_1.entry},"get")});var _3_row_1=require("./3-row");Object.defineProperty(exports,"split3Row",{enumerable:!0,get:e(function(){return _3_row_1.entry},"get")});var _4_col_1=require("./4-col");Object.defineProperty(exports,"split4Col",{enumerable:!0,get:e(function(){return _4_col_1.entry},"get")});var _4_row_1=require("./4-row");Object.defineProperty(exports,"split4Row",{enumerable:!0,get:e(function(){return _4_row_1.entry},"get")});var _2_1_col_1=require("./2-1-col");Object.defineProperty(exports,"split2_1Col",{enumerable:!0,get:e(function(){return _2_1_col_1.entry},"get")});var _1_2_col_1=require("./1-2-col");Object.defineProperty(exports,"split1_2Col",{enumerable:!0,get:e(function(){return _1_2_col_1.entry},"get")});var _2_1_row_1=require("./2-1-row");Object.defineProperty(exports,"split2_1Row",{enumerable:!0,get:e(function(){return _2_1_row_1.entry},"get")});var _1_2_row_1=require("./1-2-row");Object.defineProperty(exports,"split1_2Row",{enumerable:!0,get:e(function(){return _1_2_row_1.entry},"get")});
@@ -0,0 +1 @@
1
+ "use strict";var w=Object.defineProperty;var p=(e,n)=>w(e,"name",{value:n,configurable:!0});Object.defineProperty(exports,"__esModule",{value:!0}),exports.aspectFitDescriptor=void 0,exports.aspectFit=aspectFit;const dsl_stdlib_1=require("@m0saic/dsl-stdlib"),dsl_1=require("@m0saic/dsl"),dsl_file_formats_1=require("@m0saic/dsl-file-formats"),labelTier_1=require("./labelTier"),PRESET_RATIOS={"16:9":{w:16,h:9},"21:9":{w:21,h:9},"4:3":{w:4,h:3},"1:1":{w:1,h:1},"9:16":{w:9,h:16},"phi:1":{w:21,h:13},"1:phi":{w:13,h:21}};exports.aspectFitDescriptor={id:"aspect-fit",title:"Aspect Fit",description:"Fit a target aspect ratio inside a canvas. Produces deterministic letterbox/pillarbox bars from ratio math.",category:"layout",group:"Core",params:[{key:"rootW",title:"Root Width",type:"int",default:1920,min:1,max:7680},{key:"rootH",title:"Root Height",type:"int",default:1080,min:1,max:4320},{key:"preset",title:"Preset",type:"enum",default:"21:9",description:"Target aspect ratio for the inner content rect. Common video and display ratios are listed; pick Custom to enter your own.",options:[{value:"custom",label:"Custom",description:"Specify your own aspect ratio (as either a ratio or pixel dimensions)."},{value:"16:9",label:"16:9",description:"Standard widescreen \u2014 most TV, computer monitors, and online video."},{value:"21:9",label:"21:9",description:"Ultrawide / cinematic \u2014 film and ultrawide monitors."},{value:"4:3",label:"4:3",description:"Classic standard-definition TV / older monitors."},{value:"1:1",label:"1:1",description:"Square \u2014 Instagram feed posts, profile photos."},{value:"9:16",label:"9:16",description:"Vertical \u2014 phone video, Reels, TikTok, Stories."},{value:"phi:1",label:"\u03C6:1 (golden landscape)",description:"Golden ratio rectangle, wider than tall (\u22481.618:1). Classic editorial / blog hero proportion."},{value:"1:phi",label:"1:\u03C6 (golden portrait)",description:"Golden ratio rectangle, taller than wide (\u22481:1.618). Editorial column / book-page proportion."}]},{key:"inputMode",title:"Input Mode",type:"enum",default:"ratio",description:"How you want to specify a custom target. Ratio: enter W:H numbers (e.g. 16:9). Dimensions: enter pixel sizes; the ratio is derived.",options:[{value:"ratio",label:"Ratio",description:"Enter the aspect ratio as two integers (e.g. 16 \xD7 9)."},{value:"dimensions",label:"Dimensions",description:"Enter target pixel dimensions; the aspect ratio is derived from them."}],visibleWhen:{preset:"custom"}},{key:"targetW",title:"Ratio W",type:"int",default:16,min:1,max:100,visibleWhen:{preset:"custom",inputMode:"ratio"}},{key:"targetH",title:"Ratio H",type:"int",default:9,min:1,max:100,visibleWhen:{preset:"custom",inputMode:"ratio"}},{key:"targetDimW",title:"Target Width",type:"int",default:3840,min:1,max:15360,visibleWhen:{preset:"custom",inputMode:"dimensions"}},{key:"targetDimH",title:"Target Height",type:"int",default:2160,min:1,max:8640,visibleWhen:{preset:"custom",inputMode:"dimensions"}},{key:"hAlign",title:"H Align",type:"enum",default:"center",options:[{value:"left",label:"Left"},{value:"center",label:"Center"},{value:"right",label:"Right"}]},{key:"vAlign",title:"V Align",type:"enum",default:"center",options:[{value:"top",label:"Top"},{value:"center",label:"Center"},{value:"bottom",label:"Bottom"}]},{key:"padding",title:"Padding",type:"float",default:0,min:0,max:.49,step:.01,description:"Inset on all four sides, as a fraction of canvas size (0.05 = 5% padding). For per-edge control turn on Custom Padding."},{key:"customPadding",title:"Custom Padding",type:"bool",default:!1,description:"Switch to per-edge padding controls (Pad Left / Right / Top / Bottom) instead of a single uniform value."},{key:"paddingLeft",title:"Pad Left",type:"float",default:0,min:0,max:.49,step:.01,visibleWhen:{customPadding:!0}},{key:"paddingRight",title:"Pad Right",type:"float",default:0,min:0,max:.49,step:.01,visibleWhen:{customPadding:!0}},{key:"paddingTop",title:"Pad Top",type:"float",default:0,min:0,max:.49,step:.01,visibleWhen:{customPadding:!0}},{key:"paddingBottom",title:"Pad Bottom",type:"float",default:0,min:0,max:.49,step:.01,visibleWhen:{customPadding:!0}},(0,labelTier_1.labelTierParam)({defaultTier:"silent",description:"atlas labels the content frame plus letterbox/pillarbox borders so template callers can target padding regions by name. Signposts is a no-op (single landmark is the content itself \u2014 use atlas instead)."})]};const VALID_HALIGN=new Set(["left","center","right"]),VALID_VALIGN=new Set(["top","center","bottom"]);function resolveHAlign(e){return VALID_HALIGN.has(e??"")?e:"center"}p(resolveHAlign,"resolveHAlign");function resolveVAlign(e){return VALID_VALIGN.has(e??"")?e:"center"}p(resolveVAlign,"resolveVAlign");function resolveTargetRatio(e){var n,c,d,t,r,a;const s=(n=e.preset)!==null&&n!==void 0?n:"21:9";if(s!=="custom"){const l=PRESET_RATIOS[s];if(!l)throw new Error(`aspectFit: unknown preset "${s}"`);return l}if(((c=e.inputMode)!==null&&c!==void 0?c:"ratio")==="dimensions"){const l=(d=e.targetDimW)!==null&&d!==void 0?d:3840,o=(t=e.targetDimH)!==null&&t!==void 0?t:2160;if(!Number.isInteger(l)||l<1)throw new Error(`aspectFit: targetDimW must be a positive integer, got ${l}`);if(!Number.isInteger(o)||o<1)throw new Error(`aspectFit: targetDimH must be a positive integer, got ${o}`);return{w:l,h:o}}const u=(r=e.targetW)!==null&&r!==void 0?r:16,i=(a=e.targetH)!==null&&a!==void 0?a:9;if(!Number.isInteger(u)||u<1||u>100)throw new Error(`aspectFit: targetW must be an integer 1\u2013100, got ${u}`);if(!Number.isInteger(i)||i<1||i>100)throw new Error(`aspectFit: targetH must be an integer 1\u2013100, got ${i}`);return{w:u,h:i}}p(resolveTargetRatio,"resolveTargetRatio");function aspectFit(e){var n,c,d,t,r;const{rootW:a,rootH:s}=e;if(!Number.isInteger(a)||a<1||a>7680)throw new Error(`aspectFit: rootW must be an integer 1\u20137680, got ${a}`);if(!Number.isInteger(s)||s<1||s>4320)throw new Error(`aspectFit: rootH must be an integer 1\u20134320, got ${s}`);const h=resolveTargetRatio(e),u=resolveHAlign(e.hAlign),i=resolveVAlign(e.vAlign),l=(n=e.padding)!==null&&n!==void 0?n:0,o=e.customPadding===!0,b=(0,dsl_stdlib_1.aspectFit)({rootW:a,rootH:s,target:h,hAlign:u,vAlign:i,padding:o?void 0:l,paddingLeft:o?(c=e.paddingLeft)!==null&&c!==void 0?c:0:void 0,paddingRight:o?(d=e.paddingRight)!==null&&d!==void 0?d:0:void 0,paddingTop:o?(t=e.paddingTop)!==null&&t!==void 0?t:0:void 0,paddingBottom:o?(r=e.paddingBottom)!==null&&r!==void 0?r:0:void 0}),g=(0,dsl_1.toCanonicalM0String)(b.m0),v=(0,labelTier_1.resolveLabelTier)(e.labels);let m;return v==="atlas"&&(m=buildAspectFitAtlasM0c(g,a,s)),{m0:g,sourceCount:1,...m?{m0c:m}:{}}}p(aspectFit,"aspectFit");function buildAspectFitAtlasM0c(e,n,c){const d=(0,dsl_1.parseM0StringComplete)(e,n,c);if(!d.ok)return;const t=d.ir.renderFrames[0];if(!t)return;const r={};r[String(t.meta.stableKey)]={text:"content"};const a=t.x,s=t.y,h=t.x+t.width,u=t.y+t.height;for(const i of d.ir.editorFrames){if(i.kind!=="null"||i.width<=0||i.height<=0)continue;const l=i.x+i.width/2,o=i.y+i.height/2,b=Math.max(0,s-o),g=Math.max(0,o-u),v=Math.max(0,a-l),m=Math.max(0,l-h),y=Math.max(b,g,v,m);if(y===0)continue;let f;y===b?f="letterbox-top":y===g?f="letterbox-bottom":y===v?f="pillarbox-left":f="pillarbox-right",r[String(i.meta.stableKey)]={text:f}}if(Object.keys(r).length!==0)return(0,dsl_file_formats_1.serializeM0cFile)({m0:e,size:{width:n,height:c},app:"aspect-fit-generator",labels:r})}p(buildAspectFitAtlasM0c,"buildAspectFitAtlasM0c");
@@ -0,0 +1 @@
1
+ "use strict";var T=Object.defineProperty;var R=(e,n)=>T(e,"name",{value:n,configurable:!0});Object.defineProperty(exports,"__esModule",{value:!0}),exports.aspectSafeGridDescriptor=void 0,exports.aspectSafeGrid=aspectSafeGrid;const dsl_stdlib_1=require("@m0saic/dsl-stdlib"),dsl_1=require("@m0saic/dsl"),dsl_file_formats_1=require("@m0saic/dsl-file-formats"),labelTier_1=require("./labelTier");exports.aspectSafeGridDescriptor={id:"aspect-safe-grid",title:"Cross-Resolution Grid",description:"Find a grid with zero pixel distortion across both landscape and portrait canvases.",category:"grid",group:"Precision",params:[{key:"mode",title:"Mode",type:"enum",default:"matchAspect",description:"How to choose the landscape and portrait grid pair. Each mode trades off canvas fit, grid quality, and how much you specify up-front.",options:[{value:"matchAspect",label:"Match cell aspect",description:"Search both orientations within the shared row/column range. Each grid must tile its canvas exactly. Use when you want full canvas coverage and don't care about the exact grid shape."},{value:"pinLandscape",label:"Pin landscape grid",description:"Fix the landscape rows and columns; the portrait grid is searched freely with the matching cell count + closest aspect. Use when you've designed the landscape composition and want the portrait to follow."},{value:"letterbox",label:"Letterbox to fit",description:"Each grid is wrapped in placeRect inside its canvas, so any (rows \xD7 cols) becomes valid via letterbox padding. Best cell-aspect match across orientations at the cost of black bars."},{value:"byCount",label:"By cell count",description:"Tell the algorithm how many cells you need (with optional fuzziness) and let it pick the row/column split. Uses letterbox internally so any factor pair becomes valid. Best when you know the data \u2014 'I have ~10 items to display' \u2014 and want the layout chosen for you."}]},{key:"landscapeW",title:"Landscape Width",type:"int",default:1920,min:1,max:7680},{key:"landscapeH",title:"Landscape Height",type:"int",default:1080,min:1,max:4320},{key:"portraitW",title:"Portrait Width",type:"int",default:1080,min:1,max:7680},{key:"portraitH",title:"Portrait Height",type:"int",default:1920,min:1,max:4320},{key:"minRows",title:"Min Rows",type:"int",default:2,min:1,max:10,visibleWhen:{mode:["matchAspect","letterbox"]}},{key:"maxRows",title:"Max Rows",type:"int",default:6,min:1,max:10,visibleWhen:{mode:["matchAspect","letterbox"]}},{key:"minCols",title:"Min Columns",type:"int",default:2,min:1,max:10,visibleWhen:{mode:["matchAspect","letterbox"]}},{key:"maxCols",title:"Max Columns",type:"int",default:6,min:1,max:10,visibleWhen:{mode:["matchAspect","letterbox"]}},{key:"targetCellAspectRatio",title:"Target Cell Aspect",type:"float",default:0,min:0,max:4,step:.05,description:"Bias toward cells with this width/height ratio (1.78 = 16:9, 1.33 = 4:3, 1.0 = square). Set to 0 to let the search auto-pick whichever pair has the closest landscape/portrait aspect match.",visibleWhen:{mode:["matchAspect","letterbox","byCount"]}},{key:"targetCellCount",title:"Target Cell Count",type:"int",default:10,min:1,max:64,description:"Approximate number of cells you want to display. The algorithm picks rows \xD7 columns to land near this count.",visibleWhen:{mode:"byCount"}},{key:"cellCountTolerance",title:"Tolerance",type:"int",default:4,min:0,max:16,description:"How fuzzy the count can be. 0 = exact match, 4 = within \xB14 cells. Higher tolerance = bigger candidate set, often better cell aspect match.",visibleWhen:{mode:"byCount"}},{key:"hAlign",title:"H Align",type:"enum",default:"center",options:[{value:"left",label:"Left"},{value:"center",label:"Center"},{value:"right",label:"Right"}],visibleWhen:{mode:["letterbox","byCount"]}},{key:"vAlign",title:"V Align",type:"enum",default:"center",options:[{value:"top",label:"Top"},{value:"center",label:"Center"},{value:"bottom",label:"Bottom"}],visibleWhen:{mode:["letterbox","byCount"]}},{key:"landscapeRows",title:"Landscape Rows",type:"int",default:3,min:1,max:10,visibleWhen:{mode:"pinLandscape"}},{key:"landscapeCols",title:"Landscape Columns",type:"int",default:4,min:1,max:10,visibleWhen:{mode:"pinLandscape"}},{key:"portraitMinRows",title:"Portrait Min Rows",type:"int",default:2,min:1,max:12,visibleWhen:{mode:"pinLandscape"}},{key:"portraitMaxRows",title:"Portrait Max Rows",type:"int",default:8,min:1,max:12,visibleWhen:{mode:"pinLandscape"}},{key:"portraitMinCols",title:"Portrait Min Columns",type:"int",default:2,min:1,max:12,visibleWhen:{mode:"pinLandscape"}},{key:"portraitMaxCols",title:"Portrait Max Columns",type:"int",default:8,min:1,max:12,visibleWhen:{mode:"pinLandscape"}},{key:"gutter",title:"Gutter",type:"float",default:0,min:0,max:.2,step:.01},{key:"outerGutters",title:"Outer Gutters",type:"bool",default:!1},{key:"priority",title:"Priority",type:"enum",default:"balanced",description:"Tie-breaking preference among grid candidates that all match equally well on cell aspect.",options:[{value:"balanced",label:"Balanced",description:"Compromise between cell count and cell size \u2014 a sensible default for most cases."},{value:"cleanPixels",label:"Clean Pixels",description:"Prefer larger cells with the cleanest pixel division. Less precision pressure on the engine."},{value:"moreCells",label:"More Cells",description:"Prefer denser grids \u2014 useful when displaying many items."},{value:"largerCells",label:"Larger Cells",description:"Prefer fewer, bigger cells \u2014 useful when each cell needs to be readable on small screens."}]},(0,labelTier_1.labelTierParam)({defaultTier:"silent",description:"signposts labels exterior padding nulls (padding-top/right/bottom/left, whichever exist); atlas adds r{row}c{col} per cell. Exact-fit landscape emits no labels at signposts. Labels apply to the landscape variant only \u2014 alternates don't carry m0c."})]};const VALID_PRIORITIES=new Set(["balanced","cleanPixels","moreCells","largerCells"]);function aspectSafeGrid(e){var n,s,u,h,m,r,t,i,l,c,d,f,b,p;const{mode:o="matchAspect",landscapeW:v,landscapeH:w,portraitW:C,portraitH:A,gutter:y=0,outerGutters:M=!1,priority:g="balanced"}=e,P=new Set(["left","center","right"]),H=new Set(["top","center","bottom"]),k=e.hAlign&&P.has(e.hAlign)?e.hAlign:"center",W=e.vAlign&&H.has(e.vAlign)?e.vAlign:"center";let x;o==="pinLandscape"?x={landscapeW:v,landscapeH:w,portraitW:C,portraitH:A,landscapeMinRows:(n=e.landscapeRows)!==null&&n!==void 0?n:3,landscapeMaxRows:(s=e.landscapeRows)!==null&&s!==void 0?s:3,landscapeMinCols:(u=e.landscapeCols)!==null&&u!==void 0?u:4,landscapeMaxCols:(h=e.landscapeCols)!==null&&h!==void 0?h:4,portraitMinRows:(m=e.portraitMinRows)!==null&&m!==void 0?m:2,portraitMaxRows:(r=e.portraitMaxRows)!==null&&r!==void 0?r:8,portraitMinCols:(t=e.portraitMinCols)!==null&&t!==void 0?t:2,portraitMaxCols:(i=e.portraitMaxCols)!==null&&i!==void 0?i:8,gutter:y>0?y:0,outerGutters:M,priority:VALID_PRIORITIES.has(g)?g:"balanced"}:o==="byCount"?x={landscapeW:v,landscapeH:w,portraitW:C,portraitH:A,minRows:1,maxRows:16,minCols:1,maxCols:16,targetCellCount:(l=e.targetCellCount)!==null&&l!==void 0?l:10,cellCountTolerance:(c=e.cellCountTolerance)!==null&&c!==void 0?c:4,targetCellAspectRatio:e.targetCellAspectRatio&&e.targetCellAspectRatio>0?e.targetCellAspectRatio:void 0,letterbox:!0,hAlign:k,vAlign:W,gutter:y>0?y:0,outerGutters:M,priority:VALID_PRIORITIES.has(g)?g:"balanced"}:x={landscapeW:v,landscapeH:w,portraitW:C,portraitH:A,minRows:(d=e.minRows)!==null&&d!==void 0?d:2,maxRows:(f=e.maxRows)!==null&&f!==void 0?f:6,minCols:(b=e.minCols)!==null&&b!==void 0?b:2,maxCols:(p=e.maxCols)!==null&&p!==void 0?p:6,targetCellAspectRatio:e.targetCellAspectRatio&&e.targetCellAspectRatio>0?e.targetCellAspectRatio:void 0,letterbox:o==="letterbox",hAlign:k,vAlign:W,gutter:y>0?y:0,outerGutters:M,priority:VALID_PRIORITIES.has(g)?g:"balanced"};const a=(0,dsl_stdlib_1.aspectSafeGrid)(x),L=(0,dsl_1.toCanonicalM0String)(a.landscape.m0),S=(0,labelTier_1.resolveLabelTier)(e.labels),_=buildAspectSafeGridM0c({m0:L,rootW:a.landscape.canvasW,rootH:a.landscape.canvasH,cols:a.landscape.cols,rows:a.landscape.rows,tier:S});return{m0:L,sourceCount:a.cellCount,idealCanvas:{width:a.landscape.canvasW,height:a.landscape.canvasH},primaryLabel:"Landscape",alternates:[{m0:(0,dsl_1.toCanonicalM0String)(a.portrait.m0),idealCanvas:{width:a.portrait.canvasW,height:a.portrait.canvasH},label:"Portrait"}],..._?{m0c:_}:{}}}R(aspectSafeGrid,"aspectSafeGrid");function buildAspectSafeGridM0c(e){if(e.tier==="silent")return;const n=(0,dsl_1.parseM0StringComplete)(e.m0,e.rootW,e.rootH);if(!n.ok)return;let s=1/0,u=1/0,h=-1/0,m=-1/0;for(const t of n.ir.renderFrames)t.x<s&&(s=t.x),t.y<u&&(u=t.y),t.x+t.width>h&&(h=t.x+t.width),t.y+t.height>m&&(m=t.y+t.height);if(!Number.isFinite(s))return;const r={};for(const t of n.ir.editorFrames){if(t.kind!=="null"||t.width<=0||t.height<=0)continue;const i=t.x+t.width/2,l=t.y+t.height/2,c=Math.max(0,u-l),d=Math.max(0,l-m),f=Math.max(0,s-i),b=Math.max(0,i-h),p=Math.max(c,d,f,b);if(p===0)continue;let o;p===c?o="padding-top":p===d?o="padding-bottom":p===f?o="padding-left":o="padding-right",r[String(t.meta.stableKey)]={text:o}}if(e.tier==="atlas"){const t=n.ir.renderFrames.slice().sort((i,l)=>i.logicalIndex-l.logicalIndex).map(i=>String(i.meta.stableKey));for(let i=0;i<e.cols*e.rows;i++){const l=t[i];if(!l)continue;const c=Math.floor(i/e.cols),d=i%e.cols;r[l]={text:`r${c}c${d}`}}}if(Object.keys(r).length!==0)return(0,dsl_file_formats_1.serializeM0cFile)({m0:e.m0,size:{width:e.rootW,height:e.rootH},app:"aspect-safe-grid-generator",labels:r})}R(buildAspectSafeGridM0c,"buildAspectSafeGridM0c");
@@ -0,0 +1 @@
1
+ "use strict";var A=Object.defineProperty;var l=(e,t)=>A(e,"name",{value:t,configurable:!0});Object.defineProperty(exports,"__esModule",{value:!0}),exports.barcodeDescriptor=void 0,exports.barcodeGenerator=barcodeGenerator;const dsl_1=require("@m0saic/dsl"),dsl_stdlib_1=require("@m0saic/dsl-stdlib"),dsl_file_formats_1=require("@m0saic/dsl-file-formats"),labelTier_1=require("./labelTier");exports.barcodeDescriptor={id:"barcode",title:"Barcode (1D)",description:"Encode a payload as a 1D barcode (Code 128 / EAN-13 / UPC-A). Optional carved frame for the human-readable digit caption \u2014 splice a text source in at template time.",category:"brand",group:"Core",params:[{key:"format",title:"Format",type:"enum",default:"code128",description:"Symbology. Code 128: general-purpose ASCII. EAN-13: 13-digit product code. UPC-A: 12-digit product code.",options:[{value:"code128",label:"Code 128",description:"Variable-length ASCII. Auto-picks Code Set C for even-length digit strings, Code Set B otherwise."},{value:"ean13",label:"EAN-13",description:"13-digit retail GTIN. 12-digit input auto-appends the check digit; 13-digit input verifies it."},{value:"upca",label:"UPC-A",description:"12-digit product code (North America). Structurally EAN-13 with implicit leading '0'."}]},{key:"text",title:"Payload",type:"string",default:"M0SAIC",placeholder:"(input string)",description:"The data to encode. Code 128: ASCII 32\u2013127. EAN-13: 12 or 13 digits. UPC-A: 11 or 12 digits."},{key:"resolvedPayload",title:"Encoded payload",type:"string",default:"",readOnly:!0,description:"The exact string fed into the encoder. For EAN-13 / UPC-A this includes the auto-appended check digit when the user supplied the shorter form."},{key:"barHeightModules",title:"Bar height (modules)",type:"int",default:40,min:8,max:256,description:"Bar region height in modules. With the bar-region width fixed by the encoded payload (modules wide), this knob controls the aspect ratio. 40 \u2248 a traditional barcode aspect for typical Code 128 payloads."},{key:"quietZoneModules",title:"Quiet zone (modules)",type:"int",default:10,min:0,max:32,description:"Light-cell border on each side. Code 128 minimum is 10; EAN-13 / UPC-A minimum is 9. Set 0 to inspect the raw bar pattern."},{key:"showHumanReadable",title:"Human-readable caption",type:"bool",default:!0,description:"Reserve a band below the bars for the digit caption. The generator carves a labeled splice-point per HRI frame (1 for Code 128; 3 for EAN-13; 4 for UPC-A) \u2014 templates splice a text source in via replaceNodeByStableId."},{key:"humanReadableHeightPct",title:"Caption height (% of bars)",type:"float",default:15,min:5,max:50,step:1,description:"HRI band height as a percent of the bar-region height. 15% is a common default that mirrors traditional retail barcodes.",visibleWhen:{showHumanReadable:!0}},{key:"showAdvancedChannels",title:"Show structural-channel toggles",type:"bool",default:!1,description:"Reveal per-channel structural-marker toggles below. Each toggle adds a labeled `-{-}` logical-owner overlay at the channel's region \u2014 a structural handle (stableKey + label) callers can address without altering what's painted. The barcode is always fully scannable regardless of which channels are enabled."},{key:"channelQuietZoneLeft",title:"Channel: quiet zone (left)",type:"bool",default:!1,description:"Mark the left quiet zone as a structural region. Label: barcode-quiet-zone-left.",visibleWhen:{showAdvancedChannels:!0}},{key:"channelQuietZoneRight",title:"Channel: quiet zone (right)",type:"bool",default:!1,description:"Mark the right quiet zone as a structural region. Label: barcode-quiet-zone-right.",visibleWhen:{showAdvancedChannels:!0}},{key:"channelStartGuard",title:"Channel: start guard",type:"bool",default:!1,description:"Mark the start guard (Code 128: first symbol, 11 modules; EAN/UPC: 3-module 101 guard) as a structural region. Label: barcode-start-guard.",visibleWhen:{showAdvancedChannels:!0}},{key:"channelStopGuard",title:"Channel: stop guard",type:"bool",default:!1,description:"Mark the stop guard (Code 128: 13-module stop; EAN/UPC: 3-module 101 guard) as a structural region. Label: barcode-stop-guard.",visibleWhen:{showAdvancedChannels:!0}},(0,labelTier_1.labelTierParam)({defaultTier:"signposts",description:"Barcode's labels carry the bar-index / HRI-role / guard region names. signposts keeps them; silent drops them entirely."})]};const DEFAULT_PX_PER_MODULE=4,VALID_FORMATS=new Set(["code128","ean13","upca"]);function clampInt(e,t,o,i){if(!Number.isInteger(e))return i;const r=e;return r<t?t:r>o?o:r}l(clampInt,"clampInt");function clampFloat(e,t,o,i){return typeof e!="number"||!Number.isFinite(e)?i:e<t?t:e>o?o:e}l(clampFloat,"clampFloat");function barcodeGenerator(e){var t;const o=((t=e.text)!==null&&t!==void 0?t:"").trim();if(!o)throw new Error("barcode: text is required (non-empty string)");const i=e.format&&VALID_FORMATS.has(e.format)?e.format:"code128",p=clampInt(e.barHeightModules,8,256,40)*DEFAULT_PX_PER_MODULE,b=clampInt(e.quietZoneModules,0,32,10),g=e.showHumanReadable!==!1,f=clampFloat(e.humanReadableHeightPct,5,50,15),m=[["quietZoneLeft",e.channelQuietZoneLeft],["quietZoneRight",e.channelQuietZoneRight],["startGuard",e.channelStartGuard],["stopGuard",e.channelStopGuard]],s={};for(const[n,u]of m)u===!0&&(s[n]=!0);const h=Object.keys(s).length>0?s:void 0,a=(0,dsl_stdlib_1.barcodeToM0)(o,{format:i,moduleWidthPx:DEFAULT_PX_PER_MODULE,heightPx:p,quietZoneModules:b,humanReadable:g?{mode:"carve",heightPct:f/100}:{mode:"none"},...h?{channels:h}:{}}),d=(0,dsl_1.toCanonicalM0String)(String(a.m0)),y=(0,dsl_1.parseM0StringToRenderFrames)(d,a.canvasW,a.canvasH).length,C=(0,labelTier_1.resolveLabelTier)(e.labels,"signposts")!=="silent"&&Object.keys(a.labels).length>0;let c;if(C){const n={};for(const[u,v]of Object.entries(a.labels))n[u]={text:v};c=(0,dsl_file_formats_1.serializeM0cFile)({m0:d,size:{width:a.canvasW,height:a.canvasH},app:"barcode-generator",labels:n})}return{m0:d,sourceCount:y,idealCanvas:{width:a.canvasW,height:a.canvasH},displayFields:{resolvedPayload:a.payload},...c?{m0c:c}:{}}}l(barcodeGenerator,"barcodeGenerator");
@@ -0,0 +1 @@
1
+ "use strict";var u=Object.defineProperty;var c=(t,e)=>u(t,"name",{value:e,configurable:!0});Object.defineProperty(exports,"__esModule",{value:!0}),exports.bentoGridDescriptor=void 0,exports.bentoGridGenerator=bentoGridGenerator;const dsl_1=require("@m0saic/dsl");exports.bentoGridDescriptor={id:"bento-grid",title:"Bento Grid",description:"Irregular grids with mixed-size tiles \u2014 the dashboard/showcase aesthetic.",category:"grid",group:"Examples",params:[{key:"base",title:"Base Grid",type:"enum",default:"3x3",description:"The underlying row \xD7 column structure. Bento variants live within this grid by merging adjacent cells into larger tiles.",options:[{value:"3x3",label:"3\xD73",description:"Compact 3-row, 3-column base \u2014 classic dashboard look with 3 variant arrangements."},{value:"4x3",label:"4\xD73",description:"Wider 4-row, 3-column base \u2014 more horizontal real estate, 2 arrangements."},{value:"4x4",label:"4\xD74",description:"Square-ish 4-row, 4-column base \u2014 most detail-rich, 2 arrangements."}]},{key:"variant",title:"Variant",type:"int",default:1,min:1,max:3,description:"Which tile-merging pattern to use within the chosen base grid. 1 is the most balanced; higher numbers introduce more tile-size variation."}]};const ARRANGEMENTS={"3x3":["3[2(1,1),2(1,1),3(1,1,1)]","2[3(1,1,1),2(1,2[1,1])]","2(2[1,1],2[2(1,1),2(1,1)])"],"4x3":["2[4(0,1,1,1),4(1,1,1,1)]","2[3(1,1,1),4(0,1,1,1)]"],"4x4":["2[4(0,1,1,1),4(1,1,1,1)]","3[4(1,1,1,1),4(1,1,1,1),4(0,1,1,1)]"]};function bentoGridGenerator(t){var e,i;const n=(e=t.base)!==null&&e!==void 0?e:"3x3",l=(i=t.variant)!==null&&i!==void 0?i:1,r=ARRANGEMENTS[n];if(!r)throw new Error(`bentoGrid: unknown base "${n}".`);const o=l-1;if(o<0||o>=r.length)throw new Error(`bentoGrid: variant ${l} out of range for base "${n}" (1\u2013${r.length})`);const a=(0,dsl_1.toCanonicalM0String)(r[o]);let d=0;for(let s=0;s<a.length;s++)a[s]==="1"&&d++;return{m0:a,sourceCount:d}}c(bentoGridGenerator,"bentoGridGenerator");
@@ -0,0 +1 @@
1
+ "use strict";var m=Object.defineProperty;var p=(e,t)=>m(e,"name",{value:t,configurable:!0});Object.defineProperty(exports,"__esModule",{value:!0}),exports.comparisonDescriptor=void 0,exports.comparisonGenerator=comparisonGenerator;const dsl_stdlib_1=require("@m0saic/dsl-stdlib"),dsl_1=require("@m0saic/dsl"),labelTier_1=require("./labelTier"),quantizationFix_1=require("./quantizationFix");exports.comparisonDescriptor={id:"comparison",title:"Comparison",description:"Side-by-side or stacked pairs for A/B layouts. Composed from equal splits with optional divider space.",category:"layout",group:"Examples",params:[{key:"pairs",title:"Pairs",type:"int",default:1,min:1,max:4,description:"How many A/B pairs to render. Each pair is two equal-size cells. 1 = a single before/after, 4 = four pairs stacked."},{key:"direction",title:"Direction",type:"enum",default:"horizontal",description:"Whether each pair sits side-by-side or stacked vertically.",options:[{value:"horizontal",label:"Side-by-side",description:"A and B sit next to each other horizontally \u2014 the classic before/after split."},{value:"vertical",label:"Stacked",description:"A on top, B below \u2014 better for tall canvases or when comparing wide content."}]},{key:"labelSpace",title:"Label Space",type:"float",default:0,min:0,max:.15,step:.01,description:"Reserved space (as a fraction of canvas) above/beside each cell for labels. 0 = no label area."},{key:"gutter",title:"Gutter",type:"float",default:0,min:0,max:.2,step:.01,description:"Spacing between cells in a pair (and between pairs), as a fraction of cell size. 0 = touching."},(0,labelTier_1.labelTierParam)({defaultTier:"silent",description:"signposts/atlas alternate cells as a/b across each pair."}),...(0,quantizationFix_1.forceQuantizationFreeParams)()]};const PROBE_CANVAS={width:1920,height:1080};function comparisonGenerator(e){var t,o;const r=(0,dsl_stdlib_1.comparison)({pairs:e.pairs,direction:e.direction,labelSpace:e.labelSpace,gutter:((t=e.gutter)!==null&&t!==void 0?t:0)>0?e.gutter:void 0}),d=(0,dsl_1.toCanonicalM0String)(r.m0),a=(0,quantizationFix_1.applyForceQuantizationFree)(d,e),s=a.m0,u=(o=a.idealCanvas)!==null&&o!==void 0?o:PROBE_CANVAS,n=(0,labelTier_1.resolveLabelTier)(e.labels),l={};if(n!=="silent")for(let i=0;i<r.tileCount;i++){const b=Math.floor(i/2)+1,f=i%2===0?"a":"b";l[i]=`${f}${b}`}const c=(0,labelTier_1.emitLabeledM0c)({m0:s,size:u,app:"comparison-generator",tier:n,labelsBySourceIndex:l});return{m0:s,sourceCount:r.tileCount,...c?{m0c:c}:{},...a.idealCanvas?{idealCanvas:a.idealCanvas}:{}}}p(comparisonGenerator,"comparisonGenerator");
@@ -0,0 +1 @@
1
+ "use strict";var h=Object.defineProperty;var c=(e,t)=>h(e,"name",{value:t,configurable:!0});Object.defineProperty(exports,"__esModule",{value:!0}),exports.goldenLayoutDescriptor=void 0,exports.goldenLayoutGenerator=goldenLayoutGenerator;const dsl_stdlib_1=require("@m0saic/dsl-stdlib"),dsl_1=require("@m0saic/dsl"),labelTier_1=require("./labelTier"),quantizationFix_1=require("./quantizationFix");exports.goldenLayoutDescriptor={id:"golden-layout",title:"Golden Layout",description:"Two-cell split weighted at the golden ratio (\u03C6 \u2248 1.618:1). The classic 'main content + sidebar' layout used in editorial and blog templates.",category:"layout",group:"Composition",params:[{key:"direction",title:"Direction",type:"enum",default:"horizontal",description:"How the two cells are arranged. Horizontal = side-by-side (main content + sidebar). Vertical = stacked (hero on top + content below).",options:[{value:"horizontal",label:"Side-by-side",description:"Two columns \u2014 large left, small right (or flipped)."},{value:"vertical",label:"Stacked",description:"Two rows \u2014 large top, small bottom (or flipped)."}]},{key:"dominantSide",title:"Dominant Side",type:"enum",default:"first",description:"Which side gets the larger \u03C6-weighted cell. 'First' = left/top, 'Second' = right/bottom.",options:[{value:"first",label:"First (left / top)",description:"Larger cell on the left (horizontal) or top (vertical)."},{value:"second",label:"Second (right / bottom)",description:"Larger cell on the right (horizontal) or bottom (vertical)."}]},{key:"precision",title:"Precision",type:"enum",default:"21/13",description:"Fibonacci pair used to approximate \u03C6. Higher precision = closer to true \u03C6 but longer DSL string. 21/13 is the visually-golden default.",options:[{value:"13/8",label:"13:8 (compact)",description:"Ratio 1.625, error 0.43%. Shortest DSL \u2014 best when DSL size matters."},{value:"21/13",label:"21:13 (default)",description:"Ratio 1.6154, error 0.16%. Visually golden, compact DSL."},{value:"34/21",label:"34:21",description:"Ratio 1.61905, error 0.063%."},{value:"55/34",label:"55:34",description:"Ratio 1.61765, error 0.024%."},{value:"89/55",label:"89:55",description:"Ratio 1.61818, error 0.009%."},{value:"144/89",label:"144:89 (precise)",description:"Ratio 1.61798, error 0.003%. Tightest approximation, longest DSL."}]},(0,labelTier_1.labelTierParam)({defaultTier:"silent",description:"signposts/atlas label the \u03C6-weighted cell 'major' and the smaller cell 'minor'."}),...(0,quantizationFix_1.forceQuantizationFreeParams)()]};const VALID_PRECISION=new Set(["13/8","21/13","34/21","55/34","89/55","144/89"]),PROBE_CANVAS={width:1920,height:1080};function goldenLayoutGenerator(e){var t,i;const d=e.direction==="vertical"?"vertical":"horizontal",r=((t=e.dominantSide)!==null&&t!==void 0?t:"first")==="first",p=VALID_PRECISION.has(e.precision)?e.precision:"21/13",u=(0,dsl_1.toCanonicalM0String)((0,dsl_stdlib_1.goldenSplit)({axis:d==="horizontal"?"col":"row",dominantFirst:r,precision:p})),o=(0,quantizationFix_1.applyForceQuantizationFree)(u,e),a=o.m0,b=(i=o.idealCanvas)!==null&&i!==void 0?i:PROBE_CANVAS,n=(0,labelTier_1.resolveLabelTier)(e.labels),l={};if(n!=="silent"){const g=r?0:1,m=r?1:0;l[g]="major",l[m]="minor"}const s=(0,labelTier_1.emitLabeledM0c)({m0:a,size:b,app:"golden-layout-generator",tier:n,labelsBySourceIndex:l});return{m0:a,sourceCount:2,...s?{m0c:s}:{},...o.idealCanvas?{idealCanvas:o.idealCanvas}:{}}}c(goldenLayoutGenerator,"goldenLayoutGenerator");
@@ -0,0 +1 @@
1
+ "use strict";var v=Object.defineProperty;var h=(e,t)=>v(e,"name",{value:t,configurable:!0});Object.defineProperty(exports,"__esModule",{value:!0}),exports.goldenSpiralDescriptor=void 0,exports.goldenSpiralGenerator=goldenSpiralGenerator;const dsl_stdlib_1=require("@m0saic/dsl-stdlib"),dsl_1=require("@m0saic/dsl"),labelTier_1=require("./labelTier");exports.goldenSpiralDescriptor={id:"golden-spiral",title:"Golden Spiral",description:"Recursive golden-ratio splits that approximate a Fibonacci spiral. Each level golden-splits the larger cell on the perpendicular axis, creating curved eye-flow through the composition.",category:"layout",group:"Composition",params:[{key:"depth",title:"Depth",type:"int",default:4,min:2,max:7,description:"Number of recursive splits. 2\u20133 reads as a basic 'L' composition; 4\u20135 is the classic recognizable spiral; 6+ adds detail at the cost of longer DSL."},{key:"direction",title:"Direction",type:"enum",default:"br",description:"Which corner the spiral originates from / wraps around. Determines the visual flow.",options:[{value:"tl",label:"Top-left",description:"Spiral wraps clockwise from the top-left corner."},{value:"tr",label:"Top-right",description:"Spiral wraps counter-clockwise from the top-right corner."},{value:"bl",label:"Bottom-left",description:"Spiral wraps counter-clockwise from the bottom-left corner."},{value:"br",label:"Bottom-right",description:"Spiral wraps clockwise from the bottom-right corner. The classic Fibonacci spiral orientation."}]},{key:"precision",title:"Precision",type:"enum",default:"21/13",description:"Fibonacci pair used at each split level. Higher precision = closer to true \u03C6 but longer DSL.",options:[{value:"13/8",label:"13:8 (compact)"},{value:"21/13",label:"21:13 (default)"},{value:"34/21",label:"34:21"},{value:"55/34",label:"55:34"}]},(0,labelTier_1.labelTierParam)({defaultTier:"silent",description:"signposts marks the largest 'head' cell (the dominant block where hero content goes). atlas adds level-1..N \u2014 the inner rings, counting inward from the head (level-1 = first ring inside head, level-depth = innermost speck)."})]};const VALID_DIR=new Set(["tl","tr","bl","br"]),VALID_PRECISION=new Set(["13/8","21/13","34/21","55/34","89/55","144/89"]),PROBE_CANVAS={width:1920,height:1080};function goldenSpiralGenerator(e){const t=Number.isInteger(e.depth)?e.depth:4,c=VALID_DIR.has(e.direction)?e.direction:"br",b=VALID_PRECISION.has(e.precision)?e.precision:"21/13",p=(0,dsl_1.toCanonicalM0String)((0,dsl_stdlib_1.goldenSpiral)({depth:t,direction:c,precision:b})),r=(0,labelTier_1.resolveLabelTier)(e.labels),d=t+1,l={};if(r!=="silent"){const g={tl:{dominantFirstStart:!1,clockwise:!0},tr:{dominantFirstStart:!0,clockwise:!1},bl:{dominantFirstStart:!1,clockwise:!1},br:{dominantFirstStart:!0,clockwise:!0}},{dominantFirstStart:n,clockwise:f}=g[c];let o=0,a=d;for(let i=0;i<t;i++){const m=i%2===0?n:f?!n:n,s=i===0?"head":r==="atlas"?`level-${i}`:null;m?(s&&(l[o]=s),o+=1,a-=1):(s&&(l[o+a-1]=s),a-=1)}r==="atlas"&&(l[o]=`level-${t}`)}const u=(0,labelTier_1.emitLabeledM0c)({m0:p,size:PROBE_CANVAS,app:"golden-spiral-generator",tier:r,labelsBySourceIndex:l});return{m0:p,sourceCount:d,...u?{m0c:u}:{}}}h(goldenSpiralGenerator,"goldenSpiralGenerator");
@@ -0,0 +1 @@
1
+ "use strict";var w=Object.defineProperty;var d=(i,o)=>w(i,"name",{value:o,configurable:!0});Object.defineProperty(exports,"__esModule",{value:!0}),exports.gridDescriptor=void 0,exports.grid=grid;const dsl_stdlib_1=require("@m0saic/dsl-stdlib"),dsl_1=require("@m0saic/dsl"),labelTier_1=require("./labelTier"),quantizationFix_1=require("./quantizationFix");exports.gridDescriptor={id:"grid",title:"Grid",description:"Uniform grid with ratio-based gutters. The core building block for multi-tile layouts.",category:"grid",group:"Core",params:[{key:"rows",title:"Rows",type:"int",default:3,min:1,max:10,description:"Number of horizontal rows in the grid."},{key:"columns",title:"Columns",type:"int",default:3,min:1,max:10,description:"Number of vertical columns in the grid."},{key:"gutter",title:"Gutter",type:"float",default:0,min:0,max:.2,step:.01,description:"Spacing between cells as a fraction of cell width. 0 = touching cells; 0.04 \u2248 4% gutters."},{key:"outerGutters",title:"Outer Gutters",type:"bool",default:!1,description:"Also place gutters around the outer edges of the grid (between the grid and the canvas border)."},(0,labelTier_1.labelTierParam)({defaultTier:"silent",description:"atlas labels every cell with r{row}c{col}; signposts has no landmark (a grid is all cells)."}),...(0,quantizationFix_1.forceQuantizationFreeParams)()]};const PROBE_CANVAS={width:1920,height:1080};function grid(i){var o;const{columns:e,rows:t,gutter:r=0,outerGutters:g=!1}=i;if(!Number.isInteger(e)||e<1||e>10)throw new Error(`grid: columns must be an integer 1\u201310, got ${e}`);if(!Number.isInteger(t)||t<1||t>10)throw new Error(`grid: rows must be an integer 1\u201310, got ${t}`);if(typeof r!="number"||r<0||r>.2)throw new Error(`grid: gutter must be 0\u20130.2, got ${r}`);const m=(0,dsl_stdlib_1.grid)({cols:e,rows:t,gutter:r>0?r:void 0,outerGutters:g}),b=(0,dsl_1.toCanonicalM0String)(m.m0),n=(0,quantizationFix_1.applyForceQuantizationFree)(b,i),l=n.m0,f=(o=n.idealCanvas)!==null&&o!==void 0?o:PROBE_CANVAS,a=(0,labelTier_1.resolveLabelTier)(i.labels),c={};if(a==="atlas")for(let s=0;s<e*t;s++){const p=Math.floor(s/e),h=s%e;c[s]=`r${p}c${h}`}const u=(0,labelTier_1.emitLabeledM0c)({m0:l,size:f,app:"grid-generator",tier:a,labelsBySourceIndex:c});return{m0:l,sourceCount:e*t,...u?{m0c:u}:{},...n.idealCanvas?{idealCanvas:n.idealCanvas}:{}}}d(grid,"grid");
@@ -0,0 +1 @@
1
+ "use strict";var o=Object.defineProperty;var e=(r,t)=>o(r,"name",{value:t,configurable:!0});Object.defineProperty(exports,"__esModule",{value:!0}),exports.descriptors=exports.barcodeDescriptor=exports.barcodeGenerator=exports.qrCodeDescriptor=exports.qrCodeGenerator=exports.goldenSpiralDescriptor=exports.goldenSpiralGenerator=exports.goldenLayoutDescriptor=exports.goldenLayoutGenerator=exports.rankedListDescriptor=exports.rankedListGenerator=exports.comparisonDescriptor=exports.comparisonGenerator=exports.aspectSafeGridDescriptor=exports.aspectSafeGrid=exports.snapGridDescriptor=exports.snapGridGenerator=exports.safeCanvasDescriptor=exports.safeCanvasGenerator=exports.placeRectDescriptor=exports.placeRect=exports.magazineDescriptor=exports.magazineGenerator=exports.spotlightDescriptor=exports.spotlightGenerator=exports.aspectFitDescriptor=exports.aspectFit=exports.gridDescriptor=exports.grid=void 0;var grid_1=require("./grid");Object.defineProperty(exports,"grid",{enumerable:!0,get:e(function(){return grid_1.grid},"get")}),Object.defineProperty(exports,"gridDescriptor",{enumerable:!0,get:e(function(){return grid_1.gridDescriptor},"get")});var aspectFit_1=require("./aspectFit");Object.defineProperty(exports,"aspectFit",{enumerable:!0,get:e(function(){return aspectFit_1.aspectFit},"get")}),Object.defineProperty(exports,"aspectFitDescriptor",{enumerable:!0,get:e(function(){return aspectFit_1.aspectFitDescriptor},"get")});var spotlightGenerator_1=require("./spotlightGenerator");Object.defineProperty(exports,"spotlightGenerator",{enumerable:!0,get:e(function(){return spotlightGenerator_1.spotlightGenerator},"get")}),Object.defineProperty(exports,"spotlightDescriptor",{enumerable:!0,get:e(function(){return spotlightGenerator_1.spotlightDescriptor},"get")});var magazineGenerator_1=require("./magazineGenerator");Object.defineProperty(exports,"magazineGenerator",{enumerable:!0,get:e(function(){return magazineGenerator_1.magazineGenerator},"get")}),Object.defineProperty(exports,"magazineDescriptor",{enumerable:!0,get:e(function(){return magazineGenerator_1.magazineDescriptor},"get")});var placeRect_1=require("./placeRect");Object.defineProperty(exports,"placeRect",{enumerable:!0,get:e(function(){return placeRect_1.placeRect},"get")}),Object.defineProperty(exports,"placeRectDescriptor",{enumerable:!0,get:e(function(){return placeRect_1.placeRectDescriptor},"get")});var safeCanvas_1=require("./safeCanvas");Object.defineProperty(exports,"safeCanvasGenerator",{enumerable:!0,get:e(function(){return safeCanvas_1.safeCanvasGenerator},"get")}),Object.defineProperty(exports,"safeCanvasDescriptor",{enumerable:!0,get:e(function(){return safeCanvas_1.safeCanvasDescriptor},"get")});var snapGrid_1=require("./snapGrid");Object.defineProperty(exports,"snapGridGenerator",{enumerable:!0,get:e(function(){return snapGrid_1.snapGridGenerator},"get")}),Object.defineProperty(exports,"snapGridDescriptor",{enumerable:!0,get:e(function(){return snapGrid_1.snapGridDescriptor},"get")});var aspectSafeGrid_1=require("./aspectSafeGrid");Object.defineProperty(exports,"aspectSafeGrid",{enumerable:!0,get:e(function(){return aspectSafeGrid_1.aspectSafeGrid},"get")}),Object.defineProperty(exports,"aspectSafeGridDescriptor",{enumerable:!0,get:e(function(){return aspectSafeGrid_1.aspectSafeGridDescriptor},"get")});var comparisonGenerator_1=require("./comparisonGenerator");Object.defineProperty(exports,"comparisonGenerator",{enumerable:!0,get:e(function(){return comparisonGenerator_1.comparisonGenerator},"get")}),Object.defineProperty(exports,"comparisonDescriptor",{enumerable:!0,get:e(function(){return comparisonGenerator_1.comparisonDescriptor},"get")});var rankedListGenerator_1=require("./rankedListGenerator");Object.defineProperty(exports,"rankedListGenerator",{enumerable:!0,get:e(function(){return rankedListGenerator_1.rankedListGenerator},"get")}),Object.defineProperty(exports,"rankedListDescriptor",{enumerable:!0,get:e(function(){return rankedListGenerator_1.rankedListDescriptor},"get")});var goldenLayout_1=require("./goldenLayout");Object.defineProperty(exports,"goldenLayoutGenerator",{enumerable:!0,get:e(function(){return goldenLayout_1.goldenLayoutGenerator},"get")}),Object.defineProperty(exports,"goldenLayoutDescriptor",{enumerable:!0,get:e(function(){return goldenLayout_1.goldenLayoutDescriptor},"get")});var goldenSpiralGenerator_1=require("./goldenSpiralGenerator");Object.defineProperty(exports,"goldenSpiralGenerator",{enumerable:!0,get:e(function(){return goldenSpiralGenerator_1.goldenSpiralGenerator},"get")}),Object.defineProperty(exports,"goldenSpiralDescriptor",{enumerable:!0,get:e(function(){return goldenSpiralGenerator_1.goldenSpiralDescriptor},"get")});var qrCodeGenerator_1=require("./qrCodeGenerator");Object.defineProperty(exports,"qrCodeGenerator",{enumerable:!0,get:e(function(){return qrCodeGenerator_1.qrCodeGenerator},"get")}),Object.defineProperty(exports,"qrCodeDescriptor",{enumerable:!0,get:e(function(){return qrCodeGenerator_1.qrCodeDescriptor},"get")});var barcodeGenerator_1=require("./barcodeGenerator");Object.defineProperty(exports,"barcodeGenerator",{enumerable:!0,get:e(function(){return barcodeGenerator_1.barcodeGenerator},"get")}),Object.defineProperty(exports,"barcodeDescriptor",{enumerable:!0,get:e(function(){return barcodeGenerator_1.barcodeDescriptor},"get")});const grid_2=require("./grid"),aspectFit_2=require("./aspectFit"),spotlightGenerator_2=require("./spotlightGenerator"),magazineGenerator_2=require("./magazineGenerator"),placeRect_2=require("./placeRect"),safeCanvas_2=require("./safeCanvas"),snapGrid_2=require("./snapGrid"),aspectSafeGrid_2=require("./aspectSafeGrid"),comparisonGenerator_2=require("./comparisonGenerator"),rankedListGenerator_2=require("./rankedListGenerator"),goldenLayout_2=require("./goldenLayout"),goldenSpiralGenerator_2=require("./goldenSpiralGenerator"),qrCodeGenerator_2=require("./qrCodeGenerator"),barcodeGenerator_2=require("./barcodeGenerator");exports.descriptors=[grid_2.gridDescriptor,aspectFit_2.aspectFitDescriptor,spotlightGenerator_2.spotlightDescriptor,magazineGenerator_2.magazineDescriptor,placeRect_2.placeRectDescriptor,safeCanvas_2.safeCanvasDescriptor,snapGrid_2.snapGridDescriptor,aspectSafeGrid_2.aspectSafeGridDescriptor,comparisonGenerator_2.comparisonDescriptor,rankedListGenerator_2.rankedListDescriptor,goldenLayout_2.goldenLayoutDescriptor,goldenSpiralGenerator_2.goldenSpiralDescriptor,qrCodeGenerator_2.qrCodeDescriptor,barcodeGenerator_2.barcodeDescriptor];
@@ -0,0 +1 @@
1
+ "use strict";var f=Object.defineProperty;var l=(e,i)=>f(e,"name",{value:i,configurable:!0});Object.defineProperty(exports,"__esModule",{value:!0}),exports.LABEL_TIER_VALUES=void 0,exports.isLabelTier=isLabelTier,exports.resolveLabelTier=resolveLabelTier,exports.emitLabeledM0c=emitLabeledM0c,exports.labelTierParam=labelTierParam;const dsl_1=require("@m0saic/dsl"),dsl_file_formats_1=require("@m0saic/dsl-file-formats");exports.LABEL_TIER_VALUES=["silent","signposts","atlas"];function isLabelTier(e){return e==="silent"||e==="signposts"||e==="atlas"}l(isLabelTier,"isLabelTier");function resolveLabelTier(e,i="silent"){return isLabelTier(e)?e:i}l(resolveLabelTier,"resolveLabelTier");function emitLabeledM0c(e){var i,o;if(e.tier==="silent")return;const s={};if(e.labelsBySourceIndex&&Object.keys(e.labelsBySourceIndex).length>0){const t=(()=>{try{return(0,dsl_1.computeFeasibility)(e.m0)}catch{return null}})(),r=Math.max(e.size.width,(i=t?.minWidthPx)!==null&&i!==void 0?i:1),d=Math.max(e.size.height,(o=t?.minHeightPx)!==null&&o!==void 0?o:1),c=(0,dsl_1.parseM0StringComplete)(e.m0,r,d);if(!c.ok)return;const m=c.ir.renderFrames.slice().sort((n,a)=>n.logicalIndex-a.logicalIndex).map(n=>String(n.meta.stableKey));for(const[n,a]of Object.entries(e.labelsBySourceIndex)){const b=Number(n),u=m[b];!u||!a||(s[u]={text:a})}}if(e.keyedLabels)for(const[t,r]of Object.entries(e.keyedLabels))r&&(s[t]={text:r});if(Object.keys(s).length!==0)return(0,dsl_file_formats_1.serializeM0cFile)({m0:e.m0,size:e.size,app:e.app,labels:s})}l(emitLabeledM0c,"emitLabeledM0c");function labelTierParam(e){const i="How much named identity to carve into the output. silent: plain m0, no labels. signposts: named regions only. atlas: signposts + per-cell.";return{key:"labels",title:"Labels",type:"enum",default:e.defaultTier,description:e.description?`${i} ${e.description}`:i,options:[{value:"silent",label:"Silent",description:"No labels. Returns plain m0."},{value:"signposts",label:"Signposts",description:"Named landmarks only (e.g. hero, feature). Returns m0c if the generator has any; plain m0 otherwise."},{value:"atlas",label:"Atlas",description:"Landmarks + per-cell enumeration. Returns m0c."}]}}l(labelTierParam,"labelTierParam");
@@ -0,0 +1 @@
1
+ "use strict";var I=Object.defineProperty;var b=(r,o)=>I(r,"name",{value:o,configurable:!0});Object.defineProperty(exports,"__esModule",{value:!0}),exports.magazine=magazine;const dsl_stdlib_1=require("@m0saic/dsl-stdlib"),DEFAULT_CELL_WEIGHT=50;function magazine(r){var o;const{heroWeight:W=2,sidebarWeight:M=1,sidebarCount:s=2,topWeight:x=2,bottomWeight:w=1,bottomCount:i=3,gutter:a}=r;if(!Number.isInteger(s)||s<1)throw new Error(`magazine: sidebarCount must be a positive integer, got ${s}`);if(!Number.isInteger(i)||i<1)throw new Error(`magazine: bottomCount must be a positive integer, got ${i}`);const t=(o=r.cellWeightBase)!==null&&o!==void 0?o:DEFAULT_CELL_WEIGHT,n=a!=null&&a>0,e=n?Math.max(1,Math.round(t*a)):0,g=Math.max(1,Math.round(W*t)),m=Math.max(1,Math.round(M*t)),p=Math.max(1,Math.round(x*t)),d=Math.max(1,Math.round(w*t)),C=(0,dsl_stdlib_1.strip)(s,"row",{cellWeight:t,gutterWeight:e}),u=[g],h=["1"];n&&(u.push(e),h.push("-")),u.push(m),h.push(C);const E=(0,dsl_stdlib_1.weightedSplit)(u,"col",{claimants:h}),_=(0,dsl_stdlib_1.strip)(i,"col",{cellWeight:t,gutterWeight:e}),c=[p],l=[E];n&&(c.push(e),l.push("-")),c.push(d),l.push(_);const f=(0,dsl_stdlib_1.weightedSplit)(c,"row",{claimants:l}),v=1+s+i,z=g+m+(n?e:0),H=p+d+(n?e:0);return{m0:f,tileCount:v,totalX:z,totalY:H,cellW:t,gutterW:e}}b(magazine,"magazine");
@@ -0,0 +1 @@
1
+ "use strict";var v=Object.defineProperty;var p=(e,i)=>v(e,"name",{value:i,configurable:!0});Object.defineProperty(exports,"__esModule",{value:!0}),exports.magazineDescriptor=void 0,exports.magazineGenerator=magazineGenerator;const dsl_1=require("@m0saic/dsl"),magazine_1=require("./magazine"),labelTier_1=require("./labelTier"),quantizationFix_1=require("./quantizationFix");exports.magazineDescriptor={id:"magazine",title:"Magazine",description:"Editorial composition with hero, sidebar, and strip sections. Built from weighted splits.",category:"layout",group:"Core",params:[{key:"proportions",title:"Proportions",type:"enum",default:"custom",description:"How section weights are chosen. 'Custom' lets you tune each section's weight. 'Golden ratio' picks \u03C6-based weights (hero:sidebar, top:bottom both at ~1.618:1) and hides the manual weight sliders.",options:[{value:"custom",label:"Custom (manual)",description:"Tune each section weight by hand."},{value:"golden",label:"Golden ratio (\u03C6)",description:"Auto: hero:sidebar = top:bottom = \u03C6:1 \u2248 1.618:1. Skips manual weight tuning."}]},{key:"heroWeight",title:"Hero Weight",type:"int",default:2,min:1,max:6,description:"Relative width of the hero (left) section vs the sidebar. Higher = bigger hero, smaller sidebar.",visibleWhen:{proportions:"custom"}},{key:"sidebarWeight",title:"Sidebar Weight",type:"int",default:1,min:1,max:6,description:"Relative width of the sidebar (right) section vs the hero. Higher = wider sidebar.",visibleWhen:{proportions:"custom"}},{key:"sidebarCount",title:"Sidebar Tiles",type:"int",default:2,min:1,max:6,description:"Number of stacked tiles in the sidebar. More tiles = each one gets a smaller vertical share."},{key:"topWeight",title:"Top Weight",type:"int",default:2,min:1,max:6,description:"Relative height of the top section (hero + sidebar) vs the bottom strip.",visibleWhen:{proportions:"custom"}},{key:"bottomWeight",title:"Bottom Weight",type:"int",default:1,min:1,max:6,description:"Relative height of the bottom strip vs the top section. Higher = taller bottom row.",visibleWhen:{proportions:"custom"}},{key:"bottomCount",title:"Bottom Tiles",type:"int",default:3,min:1,max:8,description:"Number of tiles in the bottom strip, laid out horizontally."},{key:"gutter",title:"Gutter",type:"float",default:0,min:0,max:.2,step:.01,description:"Spacing between sections and tiles, as a fraction of cell size. 0 = touching."},(0,labelTier_1.labelTierParam)({defaultTier:"silent",description:"signposts marks the hero 'feature'; atlas enumerates sidebar-N and bottom-N for the strip cells."}),...(0,quantizationFix_1.forceQuantizationFreeParams)()]};const GOLDEN_LARGE=21,GOLDEN_SMALL=13,PROBE_CANVAS={width:1920,height:1080};function magazineGenerator(e){var i,r,a,l;const o=e.proportions==="golden",d=(i=e.sidebarCount)!==null&&i!==void 0?i:2,c=(r=e.bottomCount)!==null&&r!==void 0?r:3,u=(0,magazine_1.magazine)({heroWeight:o?GOLDEN_LARGE:e.heroWeight,sidebarWeight:o?GOLDEN_SMALL:e.sidebarWeight,sidebarCount:d,topWeight:o?GOLDEN_LARGE:e.topWeight,bottomWeight:o?GOLDEN_SMALL:e.bottomWeight,bottomCount:c,gutter:((a=e.gutter)!==null&&a!==void 0?a:0)>0?e.gutter:void 0}),b=(0,dsl_1.toCanonicalM0String)(u.m0),n=(0,quantizationFix_1.applyForceQuantizationFree)(b,e),g=n.m0,f=(l=n.idealCanvas)!==null&&l!==void 0?l:PROBE_CANVAS,h=(0,labelTier_1.resolveLabelTier)(e.labels),s={};if(h!=="silent"&&(s[0]="feature",h==="atlas")){for(let t=0;t<d;t++)s[1+t]=`sidebar-${t}`;for(let t=0;t<c;t++)s[1+d+t]=`bottom-${t}`}const m=(0,labelTier_1.emitLabeledM0c)({m0:g,size:f,app:"magazine-generator",tier:h,labelsBySourceIndex:s});return{m0:g,sourceCount:u.tileCount,...m?{m0c:m}:{},...n.idealCanvas?{idealCanvas:n.idealCanvas}:{}}}p(magazineGenerator,"magazineGenerator");
@@ -0,0 +1 @@
1
+ "use strict";var x=Object.defineProperty;var s=(e,t)=>x(e,"name",{value:t,configurable:!0});Object.defineProperty(exports,"__esModule",{value:!0}),exports.placeRectDescriptor=void 0,exports.placeRect=placeRect;const dsl_stdlib_1=require("@m0saic/dsl-stdlib"),dsl_1=require("@m0saic/dsl"),dsl_file_formats_1=require("@m0saic/dsl-file-formats"),labelTier_1=require("./labelTier");exports.placeRectDescriptor={id:"place-rect",title:"Place Rect",description:"Position an exact rectangle inside a canvas. Converts pixel dimensions to deterministic ratio weights.",category:"layout",group:"Precision",params:[{key:"rootW",title:"Root Width",type:"int",default:1920,min:1,max:7680,description:"Outer canvas width. The rect is placed inside this."},{key:"rootH",title:"Root Height",type:"int",default:1080,min:1,max:4320,description:"Outer canvas height. The rect is placed inside this."},{key:"rectW",title:"Rect Width",type:"int",default:1740,min:1,max:7680,description:"Width of the inner rectangle to place. Must be \u2264 Root Width; the difference becomes left/right padding."},{key:"rectH",title:"Rect Height",type:"int",default:975,min:1,max:4320,description:"Height of the inner rectangle. Must be \u2264 Root Height; the difference becomes top/bottom padding."},{key:"hAlign",title:"H Align",type:"enum",default:"center",description:"Where the rect sits horizontally inside the root canvas when it's narrower than the root.",options:[{value:"left",label:"Left",description:"Rect against the left edge; padding on the right."},{value:"center",label:"Center",description:"Rect centered horizontally; padding split evenly left and right."},{value:"right",label:"Right",description:"Rect against the right edge; padding on the left."}]},{key:"vAlign",title:"V Align",type:"enum",default:"center",description:"Where the rect sits vertically inside the root canvas when it's shorter than the root.",options:[{value:"top",label:"Top",description:"Rect against the top edge; padding on the bottom."},{value:"center",label:"Center",description:"Rect centered vertically; padding split evenly top and bottom."},{value:"bottom",label:"Bottom",description:"Rect against the bottom edge; padding on the top."}]},(0,labelTier_1.labelTierParam)({defaultTier:"silent",description:"atlas labels the placed frame plus each padding border so template callers can target them by name. Signposts is a no-op (single landmark is the placed rect \u2014 use atlas instead)."})]};const VALID_HALIGN=new Set(["left","center","right"]),VALID_VALIGN=new Set(["top","center","bottom"]);function resolveHAlign(e){return VALID_HALIGN.has(e??"")?e:"center"}s(resolveHAlign,"resolveHAlign");function resolveVAlign(e){return VALID_VALIGN.has(e??"")?e:"center"}s(resolveVAlign,"resolveVAlign");function placeRect(e){const{rootW:t,rootH:n,rectW:r,rectH:i}=e;if(!Number.isInteger(t)||t<1||t>7680)throw new Error(`placeRect: rootW must be an integer 1\u20137680, got ${t}`);if(!Number.isInteger(n)||n<1||n>4320)throw new Error(`placeRect: rootH must be an integer 1\u20134320, got ${n}`);if(!Number.isInteger(r)||r<1||r>t)throw new Error(`placeRect: rectW must be an integer 1\u2013${t}, got ${r}`);if(!Number.isInteger(i)||i<1||i>n)throw new Error(`placeRect: rectH must be an integer 1\u2013${n}, got ${i}`);const a=(0,dsl_stdlib_1.placeRect)({rootW:t,rootH:n,rectW:r,rectH:i,hAlign:resolveHAlign(e.hAlign),vAlign:resolveVAlign(e.vAlign)}),d=(0,dsl_1.toCanonicalM0String)(a.m0),p=(0,labelTier_1.resolveLabelTier)(e.labels);let c;return p==="atlas"&&(c=buildPlaceRectAtlasM0c(d,t,n)),{m0:d,sourceCount:1,idealCanvas:{width:t,height:n},...c?{m0c:c}:{}}}s(placeRect,"placeRect");function buildPlaceRectAtlasM0c(e,t,n){const r=(0,dsl_1.parseM0StringComplete)(e,t,n);if(!r.ok)return;const i=r.ir.renderFrames[0];if(!i)return;const a={};a[String(i.meta.stableKey)]={text:"placed"};const d=i.x,p=i.y,c=i.x+i.width,y=i.y+i.height;for(const o of r.ir.editorFrames){if(o.kind!=="null"||o.width<=0||o.height<=0)continue;const g=o.x+o.width/2,u=o.y+o.height/2,f=Math.max(0,p-u),m=Math.max(0,u-y),b=Math.max(0,d-g),R=Math.max(0,g-c),h=Math.max(f,m,b,R);if(h===0)continue;let l;h===f?l="padding-top":h===m?l="padding-bottom":h===b?l="padding-left":l="padding-right",a[String(o.meta.stableKey)]={text:l}}if(Object.keys(a).length!==0)return(0,dsl_file_formats_1.serializeM0cFile)({m0:e,size:{width:t,height:n},app:"place-rect-generator",labels:a})}s(buildPlaceRectAtlasM0c,"buildPlaceRectAtlasM0c");
@@ -0,0 +1 @@
1
+ "use strict";var _=Object.defineProperty;var c=(e,n)=>_(e,"name",{value:n,configurable:!0});Object.defineProperty(exports,"__esModule",{value:!0}),exports.qrCodeDescriptor=void 0,exports.qrCodeGenerator=qrCodeGenerator;const dsl_1=require("@m0saic/dsl"),dsl_stdlib_1=require("@m0saic/dsl-stdlib"),dsl_file_formats_1=require("@m0saic/dsl-file-formats"),labelTier_1=require("./labelTier");exports.qrCodeDescriptor={id:"qr-code",title:"QR Code",description:"Encode any text as a QR \u2014 URL, plain string, or structured payload (wifi, vCard, mailto, etc.). Optional centred safe area for a logo, with auto-scaled canvas.",category:"brand",group:"Core",params:[{key:"payloadType",title:"Payload",type:"enum",default:"text",description:"What you're encoding. Pick a structured type to expose the right input fields (the generator builds the canonical text for you); 'Text' is the free-form fallback.",options:[{value:"text",label:"Text",description:"Any string \u2014 URLs, plain text, or a payload you formatted yourself."},{value:"wifi",label:"Wi-Fi",description:"Phones offer 'Join Wi-Fi network \u2026' on scan."},{value:"vcard",label:"Contact (vCard)",description:"Phones offer 'Add to contacts' on scan."},{value:"mailto",label:"Email (mailto:)",description:"Phones open a pre-filled email composer."},{value:"sms",label:"SMS",description:"Phones open the messaging app with the body pre-filled."},{value:"tel",label:"Phone (tel:)",description:"Phones offer to dial the number."},{value:"geo",label:"Geo location",description:"Phones offer to open the coords in Maps."}]},{key:"text",title:"Text",type:"string",default:"https://m0saic.io",placeholder:"https://example.com",description:"The text to encode. Mode is auto-detected: numeric digits, alphanumeric uppercase + a few symbols, or full UTF-8 byte mode.",visibleWhen:{payloadType:"text"}},{key:"wifiSsid",title:"SSID",type:"string",default:"",placeholder:"MyNetwork",description:"Wi-Fi network name. Required.",visibleWhen:{payloadType:"wifi"}},{key:"wifiEncryption",title:"Security",type:"enum",default:"WPA",description:"Network security type.",options:[{value:"WPA",label:"WPA / WPA2 / WPA3",description:"The common modern choice."},{value:"WEP",label:"WEP",description:"Legacy; rarely used."},{value:"nopass",label:"Open (no password)",description:"Public networks."}],visibleWhen:{payloadType:"wifi"}},{key:"wifiPassword",title:"Password",type:"string",default:"",placeholder:"(network password)",description:'Pre-shared key. Special characters (\\, ;, ,, :, ") are escaped automatically.',visibleWhen:{payloadType:"wifi",wifiEncryption:["WPA","WEP"]}},{key:"wifiHidden",title:"Hidden network",type:"bool",default:!1,description:"Mark the SSID as hidden so scanners know to broadcast it explicitly when joining.",visibleWhen:{payloadType:"wifi"}},{key:"vcardFullName",title:"Full name",type:"string",default:"",placeholder:"Ada Lovelace",description:"Display name (the FN field). Required.",visibleWhen:{payloadType:"vcard"}},{key:"vcardOrg",title:"Organization",type:"string",default:"",placeholder:"Analytical Engine, Ltd.",visibleWhen:{payloadType:"vcard"}},{key:"vcardTitle",title:"Title",type:"string",default:"",placeholder:"Mathematician",visibleWhen:{payloadType:"vcard"}},{key:"vcardPhone",title:"Phone",type:"string",default:"",placeholder:"+1 555 123 4567",visibleWhen:{payloadType:"vcard"}},{key:"vcardEmail",title:"Email",type:"string",default:"",placeholder:"ada@example.com",visibleWhen:{payloadType:"vcard"}},{key:"vcardUrl",title:"Website",type:"string",default:"",placeholder:"https://example.com",visibleWhen:{payloadType:"vcard"}},{key:"mailtoTo",title:"To",type:"string",default:"",placeholder:"you@example.com",description:"Recipient address. Required.",visibleWhen:{payloadType:"mailto"}},{key:"mailtoSubject",title:"Subject",type:"string",default:"",placeholder:"(optional)",visibleWhen:{payloadType:"mailto"}},{key:"mailtoBody",title:"Body",type:"string",default:"",placeholder:"(optional)",visibleWhen:{payloadType:"mailto"}},{key:"smsPhone",title:"Phone",type:"string",default:"",placeholder:"+1 555 123 4567",description:"Destination number. Visual separators (spaces, dashes, parens) are stripped.",visibleWhen:{payloadType:"sms"}},{key:"smsBody",title:"Body",type:"string",default:"",placeholder:"(optional)",visibleWhen:{payloadType:"sms"}},{key:"telPhone",title:"Phone",type:"string",default:"",placeholder:"+1 555 123 4567",description:"Number to dial. Visual separators are stripped.",visibleWhen:{payloadType:"tel"}},{key:"geoLat",title:"Latitude",type:"float",default:37.7869,min:-90,max:90,step:1e-4,description:"Decimal degrees, north positive.",visibleWhen:{payloadType:"geo"}},{key:"geoLng",title:"Longitude",type:"float",default:-122.3996,min:-180,max:180,step:1e-4,description:"Decimal degrees, east positive.",visibleWhen:{payloadType:"geo"}},{key:"geoQuery",title:"Label",type:"string",default:"",placeholder:"Pier 39",description:"Optional search query / label shown by Maps apps.",visibleWhen:{payloadType:"geo"}},{key:"resolvedPayload",title:"Encoded text",type:"string",default:"",readOnly:!0,description:"The exact string fed into the QR encoder. Computed from the structured-payload fields above.",visibleWhen:{payloadType:["wifi","vcard","mailto","sms","tel","geo"]}},{key:"safeAreaMode",title:"Safe area",type:"enum",default:"none",description:"Reserve a centred region for a logo. 'none' = full QR with no carve. 'carve' = remove modules in the centre and emit a labeled splice point you can replace at render time.",options:[{value:"none",label:"None",description:"Full QR; no centre carve."},{value:"carve",label:"Carve frame",description:"Carve the centre cells out of the base layer and emit a single labeled F overlay. Use replaceNodeByStableId at render time to splice your logo in."}]},{key:"safeAreaWidth",title:"Safe area width (px)",type:"int",default:272,min:1,max:4096,description:"Inner safe-area width in final-canvas pixels. The canvas auto-scales so the safe area is at least this size; cell sizes are forced to integer pixels so the rendered F matches the request exactly.",visibleWhen:{safeAreaMode:["carve"]}},{key:"safeAreaHeight",title:"Safe area height (px)",type:"int",default:272,min:1,max:4096,description:"Inner safe-area height in final-canvas pixels. Non-square targets are letterboxed inside the canonical square via an inner placeRect; the F splice point is the W\xD7H rect.",visibleWhen:{safeAreaMode:["carve"]}},{key:"paddingPct",title:"Padding (%)",type:"float",default:0,min:0,max:49,step:1,description:"Padding between QR modules and the inner safe-area rect, as % of safe-area max dim. Pushes the canvas larger so there's breathing room around the logo.",visibleWhen:{safeAreaMode:["carve"]}},{key:"errorCorrectionLevel",title:"Error correction",type:"enum",default:"M",description:"QR ECC level. Higher = more damage tolerance + larger code. ECC 'H' tolerates ~30% damaged modules (matters when the safe area covers a chunk of the QR).",options:[{value:"L",label:"L \xB7 ~7%",description:"Lowest correction; smallest code."},{value:"M",label:"M \xB7 ~15%",description:"Default \u2014 balanced size + reliability."},{value:"Q",label:"Q \xB7 ~25%",description:"Tolerant of moderate damage."},{value:"H",label:"H \xB7 ~30%",description:"Highest correction; recommended when carving a safe area."}]},{key:"quietZoneModules",title:"Quiet zone (modules)",type:"int",default:4,min:0,max:16,description:"Light-cell border around the QR. ISO 18004 mandates \u22654 for reliable scanning. Set 0 to inspect the raw matrix."},{key:"version",title:"Force version (0 = auto)",type:"int",default:0,min:0,max:40,description:"Force a specific QR version (1\u201340). 0 lets the encoder pick the smallest version that fits the data at the chosen ECC level."},{key:"pack",title:"Pack dark cells",type:"bool",default:!1,description:"Engine-perf optimization: collapse dark cells into the fewest axis-aligned rects (rowwise greedy). Visual output identical; frame count drops 2\u20133\xD7 on typical QRs. Useful for static renders where per-cell control isn't needed."},{key:"moduleRoundingPct",title:"Module rounding (%)",type:"float",default:0,min:0,max:100,step:5,description:"Rounding for data modules (the individual QR cells). 0 = square, 100 = perfect circle, mid values = rounded-corner squares. Hidden when 'Pack dark cells' is on \u2014 packed rects are 1\xD7N runs, so an inscribed circle would stretch.",visibleWhen:{pack:!1}},{key:"safeAreaRoundingPct",title:"Safe area rounding (%)",type:"float",default:30,min:0,max:100,step:5,description:"Rounding for the carved safe-area cutout. 0 = square, 100 = perfect circle. Only takes effect when 'Safe area' is set to 'Carve frame'.",visibleWhen:{safeAreaMode:"carve"}},{key:"showAdvancedChannels",title:"Show structural-channel toggles",type:"bool",default:!1,description:"Reveal per-channel structural-marker toggles below. Each toggle adds a labeled logical-owner overlay at the channel's region \u2014 a structural handle (stableKey, label, mask target) callers can address without altering what's painted. The QR is always fully scannable regardless of which channels are enabled; channels never change the rendered output, they only make regions addressable."},{key:"channelEyes",title:"Channel: eyes (3 finders)",type:"bool",default:!1,description:"Mark the 3 finder patterns as structural regions (7\xD77 each). Labels: qr-eye-tl, qr-eye-tr, qr-eye-bl. The painted finder pattern is unchanged.",visibleWhen:{showAdvancedChannels:!0}},{key:"channelAlignmentPatterns",title:"Channel: alignment patterns",type:"bool",default:!1,description:"Mark each 5\xD75 alignment pattern as a structural region. v1: 0 patterns. v2+ has at least 1. Labels: qr-align-{i} in row-major order. The painted patterns are unchanged.",visibleWhen:{showAdvancedChannels:!0}},{key:"channelTimingPatterns",title:"Channel: timing patterns",type:"bool",default:!1,description:"Mark the row-6 and col-6 timing strips as structural regions. Labels: qr-timing-h, qr-timing-v. The painted strips are unchanged.",visibleWhen:{showAdvancedChannels:!0}},{key:"channelFormatInfo",title:"Channel: format info",type:"bool",default:!1,description:"Mark the 4 format-info L-legs as structural regions. Labels: qr-formatinfo-{0|1}-{h|v}. The painted bits are unchanged.",visibleWhen:{showAdvancedChannels:!0}},{key:"channelVersionInfo",title:"Channel: version info (v7+)",type:"bool",default:!1,description:"Mark the 2 version-info 3\xD76 blocks as structural regions. v7+ only \u2014 no-op for v1\u2013v6. Labels: qr-versioninfo-{0|1}. The painted bits are unchanged.",visibleWhen:{showAdvancedChannels:!0}},{key:"channelDarkModule",title:"Channel: dark module",type:"bool",default:!1,description:"Mark the single always-dark cell at (4\xB7v+9, 8) as a structural region. Label: qr-darkmodule. The painted cell is unchanged.",visibleWhen:{showAdvancedChannels:!0}},{key:"channelSeparators",title:"Channel: separators",type:"bool",default:!1,description:"Mark the 6 separator L-legs (light bands around each eye) as structural regions. Labels: qr-separator-{tl|tr|bl}-{h|v}. The painted bits are unchanged (the regions are pure light \u2014 base nulls).",visibleWhen:{showAdvancedChannels:!0}},{key:"channelQuietZone",title:"Channel: quiet zone (4 bands)",type:"bool",default:!1,description:"Mark the four quiet-zone bands (top / bottom / left / right) as structural regions. Labels: qr-quiet-zone-{top|bottom|left|right}. The base layer already has the quiet zone as null cells; this toggle just adds labeled logical-owner anchors over them so callers can address each band by name.",visibleWhen:{showAdvancedChannels:!0}},(0,labelTier_1.labelTierParam)({defaultTier:"signposts",description:"QR's labels carry the safe-area / eye / align / timing region names. Default signposts keeps all of those on; silent drops them entirely."})]};const VALID_ECC=new Set(["L","M","Q","H"]),VALID_SAFE_MODE=new Set(["none","carve"]),VALID_PAYLOAD_TYPE=new Set(["text","wifi","vcard","mailto","sms","tel","geo"]),VALID_WIFI_ENCRYPTION=new Set(["WPA","WEP","nopass"]);function resolvePayloadText(e){var n,t,i,o,s,r,d;switch(e.payloadType&&VALID_PAYLOAD_TYPE.has(e.payloadType)?e.payloadType:"text"){case"text":{const a=((n=e.text)!==null&&n!==void 0?n:"").trim();if(!a)throw new Error("qr-code: text is required (non-empty string)");return a}case"wifi":{const a=((t=e.wifiSsid)!==null&&t!==void 0?t:"").trim();if(!a)throw new Error("qr-code: wifiSsid is required for payloadType 'wifi'");const u=VALID_WIFI_ENCRYPTION.has((i=e.wifiEncryption)!==null&&i!==void 0?i:"")?e.wifiEncryption:"WPA";return(0,dsl_stdlib_1.qrPayloadWifi)({ssid:a,...e.wifiPassword?{password:e.wifiPassword}:{},encryption:u,...e.wifiHidden?{hidden:!0}:{}})}case"vcard":{const a=((o=e.vcardFullName)!==null&&o!==void 0?o:"").trim();if(!a)throw new Error("qr-code: vcardFullName is required for payloadType 'vcard'");return(0,dsl_stdlib_1.qrPayloadVCard)({fullName:a,...e.vcardOrg?{org:e.vcardOrg}:{},...e.vcardTitle?{title:e.vcardTitle}:{},...e.vcardPhone?{phone:e.vcardPhone}:{},...e.vcardEmail?{email:e.vcardEmail}:{},...e.vcardUrl?{url:e.vcardUrl}:{}})}case"mailto":{const a=((s=e.mailtoTo)!==null&&s!==void 0?s:"").trim();if(!a)throw new Error("qr-code: mailtoTo is required for payloadType 'mailto'");return(0,dsl_stdlib_1.qrPayloadMailto)({to:a,...e.mailtoSubject?{subject:e.mailtoSubject}:{},...e.mailtoBody?{body:e.mailtoBody}:{}})}case"sms":{const a=((r=e.smsPhone)!==null&&r!==void 0?r:"").trim();if(!a)throw new Error("qr-code: smsPhone is required for payloadType 'sms'");return(0,dsl_stdlib_1.qrPayloadSms)({phone:a,...e.smsBody?{body:e.smsBody}:{}})}case"tel":{const a=((d=e.telPhone)!==null&&d!==void 0?d:"").trim();if(!a)throw new Error("qr-code: telPhone is required for payloadType 'tel'");return(0,dsl_stdlib_1.qrPayloadTel)({phone:a})}case"geo":{if(!Number.isFinite(e.geoLat)||!Number.isFinite(e.geoLng))throw new Error("qr-code: geoLat and geoLng (finite numbers) are required for payloadType 'geo'");return(0,dsl_stdlib_1.qrPayloadGeo)({lat:e.geoLat,lng:e.geoLng,...e.geoQuery?{query:e.geoQuery}:{}})}}}c(resolvePayloadText,"resolvePayloadText");function qrCodeGenerator(e){var n,t,i,o,s,r,d;const p=resolvePayloadText(e),a=VALID_ECC.has((n=e.errorCorrectionLevel)!==null&&n!==void 0?n:"")?e.errorCorrectionLevel:"M",u=Number.isInteger(e.quietZoneModules)?Math.max(0,Math.min(16,e.quietZoneModules)):4,h=VALID_SAFE_MODE.has((t=e.safeAreaMode)!==null&&t!==void 0?t:"")?e.safeAreaMode:"none",T=6,y=Number.isInteger(e.version)&&e.version>0?e.version:void 0,q=y??(h==="carve"?T:void 0),W=h==="none"?void 0:{mode:h,size:{width:Math.max(1,Math.round((i=e.safeAreaWidth)!==null&&i!==void 0?i:272)),height:Math.max(1,Math.round((o=e.safeAreaHeight)!==null&&o!==void 0?o:272))},paddingPct:Math.max(0,Math.min(49,(s=e.paddingPct)!==null&&s!==void 0?s:0))},A=[["eyes",e.channelEyes],["alignmentPatterns",e.channelAlignmentPatterns],["timingPatterns",e.channelTimingPatterns],["formatInfo",e.channelFormatInfo],["versionInfo",e.channelVersionInfo],["darkModule",e.channelDarkModule],["separators",e.channelSeparators],["quietZone",e.channelQuietZone]],v={};for(const[E,S]of A)S===!0&&(v[E]=!0);const m=Object.keys(v).length>0?v:void 0,g=e.pack===!0?!0:void 0,l=(0,dsl_stdlib_1.qrToM0)(p,{errorCorrectionLevel:a,quietZoneModules:u,version:q,safeArea:W,...m?{channels:m}:{},...g!==void 0?{pack:g}:{}}),f=(0,dsl_1.toCanonicalM0String)(String(l.m0)),M=(0,dsl_1.parseM0StringToRenderFrames)(f,l.canvasW,l.canvasH).length,x=clampPct(g===!0?0:(r=e.moduleRoundingPct)!==null&&r!==void 0?r:100),L=clampPct((d=e.safeAreaRoundingPct)!==null&&d!==void 0?d:30),w=buildMasksByLabel(f,l.canvasW,l.canvasH,l.labels,{modulePct:x,safeAreaPct:L}),C=(0,labelTier_1.resolveLabelTier)(e.labels,"signposts"),k=Object.keys(w).length>0,P=C!=="silent"&&Object.keys(l.labels).length>0;let b;return(k||P)&&(b=(0,dsl_file_formats_1.serializeM0cFile)({m0:f,size:{width:l.canvasW,height:l.canvasH},app:"qr-code-generator",...P?{labels:toM0cLabels(l.labels)}:{},...k?{masks:w}:{}})),{m0:f,sourceCount:M,idealCanvas:{width:l.canvasW,height:l.canvasH},displayFields:{resolvedPayload:p},...b?{m0c:b}:{}}}c(qrCodeGenerator,"qrCodeGenerator");const UNIT_BOUNDS={x:0,y:0,width:1,height:1},UNIT_CIRCLE_PATH="M 0.5 0 A 0.5 0.5 0 1 1 0.5 1 A 0.5 0.5 0 1 1 0.5 0 Z";function clampPct(e){return!Number.isFinite(e)||e<=0?0:e>=100?100:e}c(clampPct,"clampPct");function roundedRectUnitPath(e){const n=clampPct(e);if(n<=0)return"M 0 0 L 1 0 L 1 1 L 0 1 Z";if(n>=100)return UNIT_CIRCLE_PATH;const t=n/200,i=1-t;return`M ${t} 0 L ${i} 0 A ${t} ${t} 0 0 1 1 ${t} L 1 ${i} A ${t} ${t} 0 0 1 ${i} 1 L ${t} 1 A ${t} ${t} 0 0 1 0 ${i} L 0 ${t} A ${t} ${t} 0 0 1 ${t} 0 Z`}c(roundedRectUnitPath,"roundedRectUnitPath");function roundingBucketForLabel(e){return e?e==="qr-safe-area"?"safeArea":"skip":"module"}c(roundingBucketForLabel,"roundingBucketForLabel");function buildMasksByLabel(e,n,t,i,o){const s={module:o.modulePct>0?roundedRectUnitPath(o.modulePct):null,safeArea:o.safeAreaPct>0?roundedRectUnitPath(o.safeAreaPct):null},r={},d=(0,dsl_stdlib_1.queryFrames)(e,{width:n,height:t}).logical();for(const p of d){const a=String(p.meta.stableKey),u=roundingBucketForLabel(i[a]);if(u==="skip")continue;const h=s[u];h&&(r[a]={localPath:h,bounds:UNIT_BOUNDS})}return r}c(buildMasksByLabel,"buildMasksByLabel");function toM0cLabels(e){const n={};for(const[t,i]of Object.entries(e))n[t]={text:i};return n}c(toM0cLabels,"toM0cLabels");
@@ -0,0 +1 @@
1
+ "use strict";var p=Object.defineProperty;var s=(o,a)=>p(o,"name",{value:a,configurable:!0});Object.defineProperty(exports,"__esModule",{value:!0}),exports.forceQuantizationFreeParams=forceQuantizationFreeParams,exports.forceQuantizationFree=forceQuantizationFree,exports.applyForceQuantizationFree=applyForceQuantizationFree;const dsl_stdlib_1=require("@m0saic/dsl-stdlib"),dsl_1=require("@m0saic/dsl"),REF=64;function forceQuantizationFreeParams(){return[{key:"forceQuantizationFree",title:"Force quantization-free",type:"bool",default:!1,description:"Bake the layout to exact pixels at a target canvas (placeRects) so it renders with zero quantization spread. Trades portability (resolution-locked) for an exact result \u2014 for layouts you'll persist/reuse at a known size."},{key:"targetW",title:"Target width (px)",type:"int",default:1920,min:1,max:7680,visibleWhen:{forceQuantizationFree:!0},description:"Canvas width the exact pixels are baked for."},{key:"targetH",title:"Target height (px)",type:"int",default:1080,min:1,max:4320,visibleWhen:{forceQuantizationFree:!0},description:"Canvas height the exact pixels are baked for."}]}s(forceQuantizationFreeParams,"forceQuantizationFreeParams");function forceQuantizationFree(o,a,i){const t=Math.max(1,Math.round(a)),r=Math.max(1,Math.round(i)),l=(0,dsl_1.parseM0StringToRenderFrames)(o,t*REF,r*REF).slice().sort((e,n)=>e.logicalIndex-n.logicalIndex).map(e=>{const n=Math.round(e.x/(t*REF)*t),c=Math.round(e.y/(r*REF)*r),d=Math.round((e.x+e.width)/(t*REF)*t),h=Math.round((e.y+e.height)/(r*REF)*r);return{x:n,y:c,w:Math.max(1,d-n),h:Math.max(1,h-c),claimant:"1"}}),u=(0,dsl_stdlib_1.placeRects)({rootW:t,rootH:r,rects:l});return{m0:(0,dsl_1.toCanonicalM0String)(String(u.m0)),idealCanvas:{width:t,height:r}}}s(forceQuantizationFree,"forceQuantizationFree");function applyForceQuantizationFree(o,a){var i,t;return a.forceQuantizationFree?forceQuantizationFree(o,(i=a.targetW)!==null&&i!==void 0?i:1920,(t=a.targetH)!==null&&t!==void 0?t:1080):{m0:o}}s(applyForceQuantizationFree,"applyForceQuantizationFree");
@@ -0,0 +1 @@
1
+ "use strict";var u=Object.defineProperty;var c=(e,t)=>u(e,"name",{value:t,configurable:!0});Object.defineProperty(exports,"__esModule",{value:!0}),exports.rankedListDescriptor=void 0,exports.rankedListGenerator=rankedListGenerator;const dsl_stdlib_1=require("@m0saic/dsl-stdlib"),dsl_1=require("@m0saic/dsl"),labelTier_1=require("./labelTier"),quantizationFix_1=require("./quantizationFix");exports.rankedListDescriptor={id:"ranked-list",title:"Ranked List",description:"Weighted stack with progressive size decay. Demonstrates how weight ratios control tile proportion.",category:"layout",group:"Examples",params:[{key:"count",title:"Items",type:"int",default:3,min:2,max:10,description:"Number of ranked items in the list. Each gets progressively smaller from rank 1 to rank N."},{key:"decay",title:"Decay",type:"enum",default:"linear",description:"How quickly cell sizes shrink down the rankings. Steeper decay emphasizes the top item; gentler decay keeps cells closer in size.",options:[{value:"linear",label:"Linear",description:"Even step-down \u2014 rank 2 is 1 unit smaller than rank 1, rank 3 another unit smaller, etc."},{value:"gentle",label:"Gentle",description:"Slower size drop \u2014 top items are only modestly larger; low-rank items still get visible space."},{value:"steep",label:"Steep",description:"Aggressive size drop \u2014 top item is significantly larger; bottom items are small thumbnails."}]},{key:"direction",title:"Direction",type:"enum",default:"vertical",description:"Whether the ranking flows top-to-bottom or left-to-right.",options:[{value:"vertical",label:"Vertical",description:"Rank 1 at the top, descending downward. Reads like a leaderboard or news feed."},{value:"horizontal",label:"Horizontal",description:"Rank 1 on the left, descending rightward. Better for wide canvases."}]},(0,labelTier_1.labelTierParam)({defaultTier:"silent",description:"signposts marks the top item 'hero'; atlas adds rank-0..N for each row."}),...(0,quantizationFix_1.forceQuantizationFreeParams)()]};const PROBE_CANVAS={width:1920,height:1080};function rankedListGenerator(e){var t;const a=(0,dsl_stdlib_1.rankedList)({count:e.count,decay:e.decay,direction:e.direction}),d=(0,dsl_1.toCanonicalM0String)(a.m0),i=(0,quantizationFix_1.applyForceQuantizationFree)(d,e),o=i.m0,p=(t=i.idealCanvas)!==null&&t!==void 0?t:PROBE_CANVAS,n=(0,labelTier_1.resolveLabelTier)(e.labels),s={};if(n!=="silent"&&(s[0]="hero",n==="atlas"))for(let r=0;r<a.tileCount;r++)s[r]=`rank-${r}`;const l=(0,labelTier_1.emitLabeledM0c)({m0:o,size:p,app:"ranked-list-generator",tier:n,labelsBySourceIndex:s});return{m0:o,sourceCount:a.tileCount,...l?{m0c:l}:{},...i.idealCanvas?{idealCanvas:i.idealCanvas}:{}}}c(rankedListGenerator,"rankedListGenerator");
@@ -0,0 +1 @@
1
+ "use strict";var d=Object.defineProperty;var l=(e,t)=>d(e,"name",{value:t,configurable:!0});Object.defineProperty(exports,"__esModule",{value:!0}),exports.safeCanvasDescriptor=void 0,exports.safeCanvasGenerator=safeCanvasGenerator;const dsl_stdlib_1=require("@m0saic/dsl-stdlib"),dsl_1=require("@m0saic/dsl"),labelTier_1=require("./labelTier");exports.safeCanvasDescriptor={id:"safe-canvas",title:"Quantization-Free Canvas",description:"Find the largest canvas where a guttered grid has zero pixel rounding. Eliminates quantization artifacts.",category:"grid",group:"Precision",params:[{key:"rows",title:"Rows",type:"int",default:6,min:1,max:10,description:"Number of rows in the grid."},{key:"columns",title:"Columns",type:"int",default:8,min:1,max:10,description:"Number of columns in the grid."},{key:"gutter",title:"Gutter",type:"float",default:.1,min:0,max:.2,step:.01,description:"Spacing between cells, as a fraction of cell width. 0 = no gutters; 0.1 = 10% gutters."},{key:"outerGutters",title:"Outer Gutters",type:"bool",default:!1,description:"Also include gutters on the outer edges of the grid (around the perimeter), not just between cells."},{key:"maxWidth",title:"Max Width",type:"int",default:1920,min:1,max:7680,description:"Upper bound for the searched canvas width. The actual canvas the algorithm picks is the largest multiple of the grid total weight that fits under this cap."},{key:"maxHeight",title:"Max Height",type:"int",default:1080,min:1,max:4320,description:"Upper bound for the searched canvas height. Same logic as Max Width but for the vertical axis."},(0,labelTier_1.labelTierParam)({defaultTier:"silent",description:"atlas labels every cell with r{row}c{col}; signposts has no landmark (a uniform grid is all cells). Outer-gutter nulls are not labeled."})]};function safeCanvasGenerator(e){var t;const i=(0,dsl_stdlib_1.safeCanvas)({cols:e.columns,rows:e.rows,gutter:((t=e.gutter)!==null&&t!==void 0?t:0)>0?e.gutter:void 0,outerGutters:e.outerGutters,maxWidth:e.maxWidth,maxHeight:e.maxHeight}),r=(0,dsl_1.toCanonicalM0String)(i.gridResult.m0),o=(0,labelTier_1.resolveLabelTier)(e.labels),a={};if(o==="atlas")for(let s=0;s<e.columns*e.rows;s++){const u=Math.floor(s/e.columns),c=s%e.columns;a[s]=`r${u}c${c}`}const n=(0,labelTier_1.emitLabeledM0c)({m0:r,size:{width:i.width,height:i.height},app:"safe-canvas-generator",tier:o,labelsBySourceIndex:a});return{m0:r,sourceCount:e.columns*e.rows,idealCanvas:{width:i.width,height:i.height},...n?{m0c:n}:{}}}l(safeCanvasGenerator,"safeCanvasGenerator");
@@ -0,0 +1 @@
1
+ "use strict";var F=Object.defineProperty;var p=(e,r)=>F(e,"name",{value:r,configurable:!0});Object.defineProperty(exports,"__esModule",{value:!0}),exports.snapGridDescriptor=void 0,exports.snapGridGenerator=snapGridGenerator;const dsl_stdlib_1=require("@m0saic/dsl-stdlib"),dsl_1=require("@m0saic/dsl"),dsl_file_formats_1=require("@m0saic/dsl-file-formats"),labelTier_1=require("./labelTier");exports.snapGridDescriptor={id:"snap-grid",title:"Snap Grid",description:"Fit a quantization-free grid into a canvas. Two modes: snap a known grid into the largest distortion-free rect, or sweep a (rows, cols) range to find the best fit by coverage \xD7 cell count.",category:"grid",group:"Precision",params:[{key:"mode",title:"Mode",type:"enum",default:"fit",description:"How the grid is chosen. Fit: you specify exact rows \xD7 columns. Find: you give a search range and the algorithm picks the best (rows, cols) pair for the canvas.",options:[{value:"fit",label:"Fit a known grid",description:"You provide rows \xD7 columns. The grid is snapped to the largest quantization-free inner rect inside the canvas, then placed via placeRect. Use when you've already decided the grid shape."},{value:"find",label:"Find best grid",description:"You give a row/column search range. The algorithm enumerates every (rows, cols) pair, ranks by coverage \xD7 cell count, and picks the top candidate. Use when you want the algorithm to choose the shape."}]},{key:"rootW",title:"Root Width",type:"int",default:1920,min:1,max:7680},{key:"rootH",title:"Root Height",type:"int",default:1080,min:1,max:4320},{key:"rows",title:"Rows",type:"int",default:3,min:1,max:12,visibleWhen:{mode:"fit"}},{key:"cols",title:"Columns",type:"int",default:4,min:1,max:12,visibleWhen:{mode:"fit"}},{key:"minRows",title:"Min Rows",type:"int",default:2,min:1,max:12,visibleWhen:{mode:"find"}},{key:"maxRows",title:"Max Rows",type:"int",default:8,min:1,max:12,visibleWhen:{mode:"find"}},{key:"minCols",title:"Min Columns",type:"int",default:2,min:1,max:12,visibleWhen:{mode:"find"}},{key:"maxCols",title:"Max Columns",type:"int",default:8,min:1,max:12,visibleWhen:{mode:"find"}},{key:"gutter",title:"Gutter",type:"float",default:.04,min:0,max:.2,step:.01,description:"Spacing between cells, expressed as a fraction of cell width (0.04 = 4% gutters). Set to 0 for tight grids."},{key:"outerGutters",title:"Outer Gutters",type:"bool",default:!1,description:"Also place gutters on the outer edges of the grid (before the first cell, after the last). Off by default \u2014 only inter-cell gaps."},{key:"hAlign",title:"H Align",type:"enum",default:"center",description:"Horizontal placement of the snapped grid inside the canvas when the inner rect is narrower than the canvas.",options:[{value:"left",label:"Left"},{value:"center",label:"Center"},{value:"right",label:"Right"}]},{key:"vAlign",title:"V Align",type:"enum",default:"center",description:"Vertical placement of the snapped grid inside the canvas when the inner rect is shorter than the canvas.",options:[{value:"top",label:"Top"},{value:"center",label:"Center"},{value:"bottom",label:"Bottom"}]},(0,labelTier_1.labelTierParam)({defaultTier:"silent",description:"signposts labels the exterior padding nulls (padding-top/right/bottom/left, whichever exist); atlas adds r{row}c{col} per cell. Exact-fit grids emit no labels at signposts (no padding to mark)."})]};function buildSnapGridM0c(e){if(e.tier==="silent")return;const r=(0,dsl_1.parseM0StringComplete)(e.m0,e.rootW,e.rootH);if(!r.ok)return;let l=1/0,c=1/0,u=-1/0,f=-1/0;for(const t of r.ir.renderFrames)t.x<l&&(l=t.x),t.y<c&&(c=t.y),t.x+t.width>u&&(u=t.x+t.width),t.y+t.height>f&&(f=t.y+t.height);if(!Number.isFinite(l))return;const a={};for(const t of r.ir.editorFrames){if(t.kind!=="null"||t.width<=0||t.height<=0)continue;const o=t.x+t.width/2,i=t.y+t.height/2,n=Math.max(0,c-i),h=Math.max(0,i-f),g=Math.max(0,l-o),m=Math.max(0,o-u),d=Math.max(n,h,g,m);if(d===0)continue;let s;d===n?s="padding-top":d===h?s="padding-bottom":d===g?s="padding-left":s="padding-right",a[String(t.meta.stableKey)]={text:s}}if(e.tier==="atlas"){const t=r.ir.renderFrames.slice().sort((o,i)=>o.logicalIndex-i.logicalIndex).map(o=>String(o.meta.stableKey));for(let o=0;o<e.cols*e.rows;o++){const i=t[o];if(!i)continue;const n=Math.floor(o/e.cols),h=o%e.cols;a[i]={text:`r${n}c${h}`}}}if(Object.keys(a).length!==0)return(0,dsl_file_formats_1.serializeM0cFile)({m0:e.m0,size:{width:e.rootW,height:e.rootH},app:"snap-grid-generator",labels:a})}p(buildSnapGridM0c,"buildSnapGridM0c");const VALID_HALIGN=new Set(["left","center","right"]),VALID_VALIGN=new Set(["top","center","bottom"]);function resolveHAlign(e){return VALID_HALIGN.has(e??"")?e:"center"}p(resolveHAlign,"resolveHAlign");function resolveVAlign(e){return VALID_VALIGN.has(e??"")?e:"center"}p(resolveVAlign,"resolveVAlign");function snapGridGenerator(e){var r,l,c,u,f,a,t,o;const{rootW:i,rootH:n}=e;if(!Number.isInteger(i)||i<1||i>7680)throw new Error(`snapGrid: rootW must be an integer 1\u20137680, got ${i}`);if(!Number.isInteger(n)||n<1||n>4320)throw new Error(`snapGrid: rootH must be an integer 1\u20134320, got ${n}`);const h=(r=e.mode)!==null&&r!==void 0?r:"fit",g=(l=e.gutter)!==null&&l!==void 0?l:0,m=e.outerGutters===!0,d=resolveHAlign(e.hAlign),s=resolveVAlign(e.vAlign),w=(0,labelTier_1.resolveLabelTier)(e.labels);if(h==="find"){const R={rootW:i,rootH:n,gutter:g,outerGutters:m,hAlign:d,vAlign:s,minRows:(c=e.minRows)!==null&&c!==void 0?c:2,maxRows:(u=e.maxRows)!==null&&u!==void 0?u:8,minCols:(f=e.minCols)!==null&&f!==void 0?f:2,maxCols:(a=e.maxCols)!==null&&a!==void 0?a:8},C=(0,dsl_stdlib_1.snapGridEnumerate)(R);if(C.length===0)throw new Error(`snapGrid: no grid fits inside ${i}\xD7${n} for the requested range`);const y=C[0],_=(0,dsl_stdlib_1.snapGridFit)({rootW:i,rootH:n,gutter:g,outerGutters:m,hAlign:d,vAlign:s,rows:y.rows,cols:y.cols}),M=(0,dsl_1.toCanonicalM0String)(_.m0),A=buildSnapGridM0c({m0:M,rootW:i,rootH:n,cols:y.cols,rows:y.rows,tier:w});return{m0:M,sourceCount:_.tileCount,idealCanvas:{width:i,height:n},...A?{m0c:A}:{}}}const b=(t=e.rows)!==null&&t!==void 0?t:3,v=(o=e.cols)!==null&&o!==void 0?o:4,x=(0,dsl_stdlib_1.snapGridFit)({rootW:i,rootH:n,rows:b,cols:v,gutter:g,outerGutters:m,hAlign:d,vAlign:s}),k=(0,dsl_1.toCanonicalM0String)(x.m0),G=buildSnapGridM0c({m0:k,rootW:i,rootH:n,cols:v,rows:b,tier:w});return{m0:k,sourceCount:x.tileCount,idealCanvas:{width:i,height:n},...G?{m0c:G}:{}}}p(snapGridGenerator,"snapGridGenerator");
@@ -0,0 +1 @@
1
+ "use strict";var v=Object.defineProperty;var c=(e,t)=>v(e,"name",{value:t,configurable:!0});Object.defineProperty(exports,"__esModule",{value:!0}),exports.spotlightDescriptor=void 0,exports.spotlightGenerator=spotlightGenerator;const dsl_stdlib_1=require("@m0saic/dsl-stdlib"),dsl_1=require("@m0saic/dsl"),labelTier_1=require("./labelTier"),quantizationFix_1=require("./quantizationFix");exports.spotlightDescriptor={id:"spotlight",title:"Spotlight",description:"Hero tile with weighted supporting tiles. Composed from splits and weighted ratios.",category:"layout",group:"Core",params:[{key:"supportCount",title:"Support Tiles",type:"int",default:3,min:1,max:8,description:"Number of small supporting tiles around the hero. Total cells = 1 hero + this many supports."},{key:"arrangement",title:"Arrangement",type:"enum",default:"bottom",description:"Where the support tiles sit relative to the hero. Affects the overall composition shape.",options:[{value:"bottom",label:"Bottom",description:"Hero on top, supports in a row below. Reads like a feature article with thumbnails."},{value:"right",label:"Right",description:"Hero on the left, supports stacked in a column on the right. Magazine-style sidebar."},{value:"l-wrap",label:"Corner",description:"Hero in the top-left, supports wrapping along the bottom and right edges in an L shape."},{value:"u-wrap",label:"Surround",description:"Hero in the middle, supports wrapping around three or four sides for a framed look."}]},{key:"heroWeight",title:"Hero Weight",type:"int",default:2,min:1,max:4,description:"Relative size of the hero tile vs each support. 2 = hero is twice the support size; 4 = much bigger hero. For true golden-ratio (\u03C6:1) splits, use the dedicated Golden Layout generator instead \u2014 Spotlight's multi-tile arrangement keeps integer weights."},{key:"gutter",title:"Gutter",type:"float",default:0,min:0,max:.2,step:.01,description:"Spacing between hero and supports (and between supports), as a fraction of cell size."},(0,labelTier_1.labelTierParam)({defaultTier:"silent",description:"signposts marks the hero; atlas adds support-0..N for each support cell."}),...(0,quantizationFix_1.forceQuantizationFreeParams)()]};const PROBE_CANVAS={width:1920,height:1080};function spotlightGenerator(e){var t,r,s,n;const a=(0,dsl_stdlib_1.spotlight)({supportCount:e.supportCount,arrangement:e.arrangement,heroWeight:e.heroWeight,gutter:((t=e.gutter)!==null&&t!==void 0?t:0)>0?e.gutter:void 0}),g=(0,dsl_1.toCanonicalM0String)(a.m0),o=(0,quantizationFix_1.applyForceQuantizationFree)(g,e),u=o.m0,m=(r=o.idealCanvas)!==null&&r!==void 0?r:PROBE_CANVAS,l=(0,labelTier_1.resolveLabelTier)(e.labels),f=(s=e.supportCount)!==null&&s!==void 0?s:3,d=((n=e.arrangement)!==null&&n!==void 0?n:"bottom")==="u-wrap"?Math.ceil(f/2):0,p={};if(l!=="silent"&&(p[d]="hero",l==="atlas")){let b=0;for(let i=0;i<a.tileCount;i++)i!==d&&(p[i]=`support-${b++}`)}const h=(0,labelTier_1.emitLabeledM0c)({m0:u,size:m,app:"spotlight-generator",tier:l,labelsBySourceIndex:p});return{m0:u,sourceCount:a.tileCount,...h?{m0c:h}:{},...o.idealCanvas?{idealCanvas:o.idealCanvas}:{}}}c(spotlightGenerator,"spotlightGenerator");
@@ -0,0 +1 @@
1
+ "use strict";Object.defineProperty(exports,"__esModule",{value:!0});
@@ -0,0 +1 @@
1
+ "use strict";var o=Object.defineProperty;var i=(s,e)=>o(s,"name",{value:e,configurable:!0});var __createBinding=this&&this.__createBinding||(Object.create?(function(s,e,n,r){r===void 0&&(r=n);var t=Object.getOwnPropertyDescriptor(e,n);(!t||("get"in t?!e.__esModule:t.writable||t.configurable))&&(t={enumerable:!0,get:i(function(){return e[n]},"get")}),Object.defineProperty(s,r,t)}):(function(s,e,n,r){r===void 0&&(r=n),s[r]=e[n]})),__setModuleDefault=this&&this.__setModuleDefault||(Object.create?(function(s,e){Object.defineProperty(s,"default",{enumerable:!0,value:e})}):function(s,e){s.default=e}),__importStar=this&&this.__importStar||(function(){var s=i(function(e){return s=Object.getOwnPropertyNames||function(n){var r=[];for(var t in n)Object.prototype.hasOwnProperty.call(n,t)&&(r[r.length]=t);return r},s(e)},"ownKeys");return function(e){if(e&&e.__esModule)return e;var n={};if(e!=null)for(var r=s(e),t=0;t<r.length;t++)r[t]!=="default"&&__createBinding(n,e,r[t]);return __setModuleDefault(n,e),n}})();Object.defineProperty(exports,"__esModule",{value:!0}),exports.getSourceOrderStableKeysForM0=exports.getSourceOrderStableKeys=exports.dictionaryAssetsBase=exports.setDictionaryAssetsBase=exports.resolveM0saic=exports.DictionaryRegistry=exports.registry=exports.operations=exports.generators=exports.entries=void 0;const _entries=__importStar(require("./entries")),_generators=__importStar(require("./generators")),_operations=__importStar(require("./operations")),registry_1=require("./registry");exports.entries=_entries,exports.generators=_generators,exports.operations=_operations;var registry_2=require("./registry");Object.defineProperty(exports,"registry",{enumerable:!0,get:i(function(){return registry_2.registry},"get")}),Object.defineProperty(exports,"DictionaryRegistry",{enumerable:!0,get:i(function(){return registry_2.DictionaryRegistry},"get")}),registry_1.registry.register({name:"@m0saic/dictionary",all:_entries.all,byId:_entries.byId,getRankSet:_entries.getRankSet,getMaskSet:_entries.getMaskSet,assetsBasePath:"/dictionary"});var resolve_1=require("./resolve");Object.defineProperty(exports,"resolveM0saic",{enumerable:!0,get:i(function(){return resolve_1.resolveM0saic},"get")}),Object.defineProperty(exports,"setDictionaryAssetsBase",{enumerable:!0,get:i(function(){return resolve_1.setDictionaryAssetsBase},"get")}),Object.defineProperty(exports,"dictionaryAssetsBase",{enumerable:!0,get:i(function(){return resolve_1.dictionaryAssetsBase},"get")});var sourceOrder_1=require("./sourceOrder");Object.defineProperty(exports,"getSourceOrderStableKeys",{enumerable:!0,get:i(function(){return sourceOrder_1.getSourceOrderStableKeys},"get")}),Object.defineProperty(exports,"getSourceOrderStableKeysForM0",{enumerable:!0,get:i(function(){return sourceOrder_1.getSourceOrderStableKeysForM0},"get")});
@@ -0,0 +1,2 @@
1
+ "use strict";var p=Object.defineProperty;var a=(n,e)=>p(n,"name",{value:e,configurable:!0});var __createBinding=this&&this.__createBinding||(Object.create?(function(n,e,i,t){t===void 0&&(t=i);var r=Object.getOwnPropertyDescriptor(e,i);(!r||("get"in r?!e.__esModule:r.writable||r.configurable))&&(r={enumerable:!0,get:a(function(){return e[i]},"get")}),Object.defineProperty(n,t,r)}):(function(n,e,i,t){t===void 0&&(t=i),n[t]=e[i]})),__setModuleDefault=this&&this.__setModuleDefault||(Object.create?(function(n,e){Object.defineProperty(n,"default",{enumerable:!0,value:e})}):function(n,e){n.default=e}),__importStar=this&&this.__importStar||(function(){var n=a(function(e){return n=Object.getOwnPropertyNames||function(i){var t=[];for(var r in i)Object.prototype.hasOwnProperty.call(i,r)&&(t[t.length]=r);return t},n(e)},"ownKeys");return function(e){if(e&&e.__esModule)return e;var i={};if(e!=null)for(var t=n(e),r=0;r<t.length;r++)t[r]!=="default"&&__createBinding(i,e,t[r]);return __setModuleDefault(i,e),i}})();Object.defineProperty(exports,"__esModule",{value:!0}),exports.loadEntryM0=loadEntryM0;const fs=__importStar(require("fs")),path=__importStar(require("path")),dsl_file_formats_1=require("@m0saic/dsl-file-formats");function loadEntryM0(n){var e,i,t,r,l;const u=path.join(n,"m0saic.m0c"),o=path.join(n,"m0saic.m0"),c=fs.existsSync(u),f=fs.existsSync(o);if(!c&&!f)throw new Error([`Missing dictionary asset in ${n}: expected m0saic.m0c or m0saic.m0`,"This usually means the dictionary build did not copy entry files into dist/.","Fix: ensure packages/dictionary build runs a copy step (e.g. copy src/**/*.m0(c)? -> dist/**)."].join(`
2
+ `));if(c&&f)throw new Error(`Dictionary entry at ${n} has BOTH m0saic.m0c and m0saic.m0 \u2014 pick one (m0c wins if you intend labels).`);if(c){const s=(0,dsl_file_formats_1.parseM0cFile)(fs.readFileSync(u,"utf8"));return{m0:s.m0,size:(e=s.size)!==null&&e!==void 0?e:null,labels:(i=s.labels)!==null&&i!==void 0?i:null,masks:(t=s.masks)!==null&&t!==void 0?t:null,rankSets:(r=s.rankSets)!==null&&r!==void 0?r:null}}const d=(0,dsl_file_formats_1.parseM0File)(fs.readFileSync(o,"utf8"));return{m0:d.m0,size:(l=d.size)!==null&&l!==void 0?l:null,labels:null,masks:null,rankSets:null}}a(loadEntryM0,"loadEntryM0");
@@ -0,0 +1 @@
1
+ "use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.descriptors=exports.drawOperationDescriptor=exports.editOperationDescriptor=exports.splitOperationDescriptor=exports.compactOperationDescriptor=void 0,exports.compactOperationDescriptor={id:"compact",title:"Compact",description:"Compact the current layout \u2014 remove dead layers, reduce split counts (lossless), prune dead metadata, optionally repack rectangles onto minimal layers (growth-guarded) and snap edges to a coarser grid (GCD reduce).",category:"operation",group:"Operations",kind:"transform",params:[{key:"removeNullLayers",title:"Remove null layers",type:"bool",default:!0,description:"Drop root-chain overlay layers with no rendered tiles."},{key:"pruneMetadata",title:"Prune dead metadata",type:"bool",default:!0,description:"Strip labels/masks/fills/ranks that no longer point at a rendered frame."},{key:"reduceSplits",title:"Reduce split counts",type:"bool",default:!0,description:"Lossless: collapse split counts to their minimum by weight-GCD. Shrinks an already tightly-nested m0 in place; never grows or flattens it. A different strategy from Repack."},{key:"pack",title:"Repack rectangles",type:"bool",default:!1,description:"Repack all rendered rects onto the fewest possible layers. Growth-guarded: applied only when it actually shrinks the layout \u2014 if it would balloon an already-tightly-nested m0, the lossless result (null-removal + split reduction) is kept instead, never heavier. Off by default since lossless simplification already handles most docs; opt in for layer-additive exploration docs where collapsing overlay layers is the win."},{key:"reorder",title:"Reorder for fewer layers",type:"bool",default:!1,description:"Let packing reorder rects (ignore z-order) for the fewest layers. Off keeps the exact stacking; on may change which rect paints on top where they overlap. Only applies when Repack is on."},{key:"gcdReduce",title:"GCD reduce",type:"bool",default:!1,description:"Snap edge coordinates to a coarser shared grid so more rects collapse together."},{key:"gcdDriftPercent",title:"Drift budget",type:"float",default:1,min:.1,max:10,step:.1,visibleWhen:{gcdReduce:!0},description:"Maximum percent any edge may move during GCD reduction."}]},exports.splitOperationDescriptor={id:"split",title:"Split",description:"Split a frame of the current layout into N rows or columns, equal or weighted.",category:"operation",group:"Operations",kind:"transform",needsDocumentContext:!0,params:[{key:"axis",title:"Axis",type:"enum",default:"row",options:[{value:"row",label:"Rows",description:"Stack the parts vertically (horizontal cuts)."},{value:"col",label:"Columns",description:"Place the parts side by side (vertical cuts)."}],description:"Whether the frame splits into rows or columns."},{key:"count",title:"Split count",type:"int",default:2,min:2,max:100,description:"How many parts the frame splits into."},{key:"weights",title:"Weights",type:"string",default:"",placeholder:"30,50,20",description:"Comma-separated relative weights, one per part. Empty = equal parts. Must have exactly `count` entries when set."},{key:"target",title:"Target frame",type:"string",default:"",placeholder:"hero",description:"Label of the frame to split (see the document's frame list). Empty = the active/selected frame."}]},exports.editOperationDescriptor={id:"edit",title:"Edit frame",description:"Move or resize one existing frame of the current layout, addressed by its label \u2014 scale it by a percentage and/or nudge position and size by pixels.",category:"operation",group:"Operations",kind:"rect-op",needsDocumentContext:!0,params:[{key:"target",title:"Target frame",type:"string",default:"",placeholder:"hero",required:!0,description:"Label of the frame to edit (see the document's frame list)."},{key:"scalePercent",title:"Scale",type:"float",default:100,min:1,max:1e3,description:"Resize the frame to this percent of its current size, centered in place. 120 = 20% bigger; 100 = unchanged."},{key:"dx",title:"Move X",type:"int",default:0,description:"Move the frame horizontally by this many pixels (negative = left)."},{key:"dy",title:"Move Y",type:"int",default:0,description:"Move the frame vertically by this many pixels (negative = up)."},{key:"dw",title:"Resize W",type:"int",default:0,description:"Grow (positive) or shrink (negative) the frame's width by this many pixels."},{key:"dh",title:"Resize H",type:"int",default:0,description:"Grow (positive) or shrink (negative) the frame's height by this many pixels."}]},exports.drawOperationDescriptor={id:"draw",title:"Draw frame",description:"Draw one new frame onto the current layout at a described position \u2014 anchor (corner/edge/center) plus a size in percent of the canvas.",category:"operation",group:"Operations",kind:"rect-op",needsDocumentContext:!0,params:[{key:"anchor",title:"Anchor",type:"enum",default:"center",options:[{value:"top-left",label:"Top left"},{value:"top",label:"Top"},{value:"top-right",label:"Top right"},{value:"left",label:"Left"},{value:"center",label:"Center"},{value:"right",label:"Right"},{value:"bottom-left",label:"Bottom left"},{value:"bottom",label:"Bottom"},{value:"bottom-right",label:"Bottom right"}],description:"Where the new frame sits on the canvas."},{key:"widthPercent",title:"Width",type:"float",default:25,min:1,max:100,description:"Width of the new frame as a percent of the canvas width."},{key:"heightPercent",title:"Height",type:"float",default:25,min:1,max:100,description:"Height of the new frame as a percent of the canvas height."},{key:"marginPercent",title:"Margin",type:"float",default:0,min:0,max:45,description:"Inset from the anchored edges, as a percent of the canvas (ignored for center)."},{key:"label",title:"Label",type:"string",default:"",placeholder:"callout",description:"Optional label for the new frame."}]},exports.descriptors=[exports.compactOperationDescriptor,exports.splitOperationDescriptor,exports.editOperationDescriptor,exports.drawOperationDescriptor];
@@ -0,0 +1 @@
1
+ "use strict";var o=Object.defineProperty;var e=(r,t)=>o(r,"name",{value:t,configurable:!0});Object.defineProperty(exports,"__esModule",{value:!0}),exports.descriptors=exports.drawOperationDescriptor=exports.editOperationDescriptor=exports.splitOperationDescriptor=exports.compactOperationDescriptor=void 0;var descriptors_1=require("./descriptors");Object.defineProperty(exports,"compactOperationDescriptor",{enumerable:!0,get:e(function(){return descriptors_1.compactOperationDescriptor},"get")}),Object.defineProperty(exports,"splitOperationDescriptor",{enumerable:!0,get:e(function(){return descriptors_1.splitOperationDescriptor},"get")}),Object.defineProperty(exports,"editOperationDescriptor",{enumerable:!0,get:e(function(){return descriptors_1.editOperationDescriptor},"get")}),Object.defineProperty(exports,"drawOperationDescriptor",{enumerable:!0,get:e(function(){return descriptors_1.drawOperationDescriptor},"get")}),Object.defineProperty(exports,"descriptors",{enumerable:!0,get:e(function(){return descriptors_1.descriptors},"get")});
@@ -0,0 +1 @@
1
+ "use strict";Object.defineProperty(exports,"__esModule",{value:!0});
@@ -0,0 +1 @@
1
+ "use strict";var n=Object.defineProperty;var i=(e,s)=>n(e,"name",{value:s,configurable:!0});Object.defineProperty(exports,"__esModule",{value:!0}),exports.registry=exports.DictionaryRegistry=void 0;class DictionaryRegistry{static{i(this,"DictionaryRegistry")}constructor(){this.sources=[],this._all=null,this._byId=null}register(s){for(const t of s.all)t.assetsBase=s.assetsBasePath;const r=new Set(this.sources.flatMap(t=>t.all.map(o=>o.id)));for(const t of s.all)r.has(t.id)&&console.warn(`[dictionary] ID collision: "${t.id}" from "${s.name}" shadows an entry from a previously registered source.`);this.sources.push(s),this._all=null,this._byId=null}get all(){return this._all||(this._all=this.sources.flatMap(s=>s.all)),this._all}get byId(){if(!this._byId){this._byId={};for(const s of this.sources)Object.assign(this._byId,s.byId)}return this._byId}getRankSet(s,r){for(const t of this.sources)if(t.byId[s])return t.getRankSet(s,r);throw new Error(`Entry "${s}" not found in any registered dictionary source.`)}getMaskSet(s,r){for(const t of this.sources)if(t.byId[s])return t.getMaskSet(s,r);throw new Error(`Entry "${s}" not found in any registered dictionary source.`)}}exports.DictionaryRegistry=DictionaryRegistry,exports.registry=new DictionaryRegistry;
@@ -0,0 +1 @@
1
+ "use strict";var n=Object.defineProperty;var t=(e,s)=>n(e,"name",{value:s,configurable:!0});Object.defineProperty(exports,"__esModule",{value:!0}),exports.dictionaryAssetsBase=void 0,exports.setDictionaryAssetsBase=setDictionaryAssetsBase,exports.resolveM0saic=resolveM0saic,exports._testGetCache=_testGetCache,exports._testClearCache=_testClearCache;const dsl_file_formats_1=require("@m0saic/dsl-file-formats");exports.dictionaryAssetsBase="/dictionary";function setDictionaryAssetsBase(e){exports.dictionaryAssetsBase=e}t(setDictionaryAssetsBase,"setDictionaryAssetsBase");const MAX_CACHE_SIZE=64,_m0saicCache=new Map;function cacheSet(e,s){if(_m0saicCache.has(e)&&_m0saicCache.delete(e),_m0saicCache.size>=MAX_CACHE_SIZE){const i=_m0saicCache.keys().next().value;i!==void 0&&_m0saicCache.delete(i)}_m0saicCache.set(e,s)}t(cacheSet,"cacheSet");async function resolveM0saic(e){var s;if(e.m0)return e.m0;const i=_m0saicCache.get(e.id);if(i)return i;if(!e.m0File)throw new Error(`Cannot resolve m0saic for "${e.id}": no m0saic or m0File`);const o=`${(s=e.assetsBase)!==null&&s!==void 0?s:exports.dictionaryAssetsBase}/${e.m0File}`,a=await fetch(o);if(!a.ok)throw new Error(`Failed to fetch m0saic for "${e.id}": ${a.status} ${o}`);const c=await a.text(),r=e.m0File.endsWith(".m0c")?(0,dsl_file_formats_1.parseM0cFile)(c):(0,dsl_file_formats_1.parseM0File)(c);return cacheSet(e.id,r.m0),r.m0}t(resolveM0saic,"resolveM0saic");function _testGetCache(){return _m0saicCache}t(_testGetCache,"_testGetCache");function _testClearCache(){_m0saicCache.clear()}t(_testClearCache,"_testClearCache");
@@ -0,0 +1 @@
1
+ "use strict";var d=Object.defineProperty;var l=(e,r)=>d(e,"name",{value:r,configurable:!0});Object.defineProperty(exports,"__esModule",{value:!0}),exports.getSourceOrderStableKeys=getSourceOrderStableKeys,exports.getSourceOrderStableKeysForM0=getSourceOrderStableKeysForM0,exports._testClearSourceOrderCache=_testClearSourceOrderCache;const dsl_1=require("@m0saic/dsl"),_cache=new Map;function cacheKey(e){return`${e.id}\0${e.m0.length}`}l(cacheKey,"cacheKey");function getSourceOrderStableKeys(e){var r,s,i,t;if(!e.m0||e.m0.trim()==="")throw new Error(`getSourceOrderStableKeys: entry "${e.id}" has no inline m0. Resolve via resolveM0saic() first, then call getSourceOrderStableKeysForM0(entry, resolved).`);const c=cacheKey(e),o=_cache.get(c);if(o)return o;const a=(s=(r=e.sourceResolution)===null||r===void 0?void 0:r.width)!==null&&s!==void 0?s:e.feasibility.minWidthPx,u=(t=(i=e.sourceResolution)===null||i===void 0?void 0:i.height)!==null&&t!==void 0?t:e.feasibility.minHeightPx,n=getSourceOrderStableKeysForM0(e.id,e.m0,a,u);return _cache.set(c,n),n}l(getSourceOrderStableKeys,"getSourceOrderStableKeys");function getSourceOrderStableKeysForM0(e,r,s,i){const t=(0,dsl_1.parseM0StringComplete)(r,s,i);if(!t.ok)throw new Error(`getSourceOrderStableKeysForM0: parseM0StringComplete failed for "${e}": ${t.error.message}`);return t.ir.renderFrames.slice().sort((o,a)=>o.logicalIndex-a.logicalIndex).map(o=>o.meta.stableKey)}l(getSourceOrderStableKeysForM0,"getSourceOrderStableKeysForM0");function _testClearSourceOrderCache(){_cache.clear()}l(_testClearSourceOrderCache,"_testClearSourceOrderCache");
@@ -0,0 +1,6 @@
1
+ {
2
+ "name": "@m0saic/dictionary",
3
+ "version": "0.2.0",
4
+ "main": "dist/index.js",
5
+ "license": "MIT"
6
+ }
@@ -0,0 +1,201 @@
1
+ Apache License
2
+ Version 2.0, January 2004
3
+ http://www.apache.org/licenses/
4
+
5
+ TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
6
+
7
+ 1. Definitions.
8
+
9
+ "License" shall mean the terms and conditions for use, reproduction,
10
+ and distribution as defined by Sections 1 through 9 of this document.
11
+
12
+ "Licensor" shall mean the copyright owner or entity authorized by
13
+ the copyright owner that is granting the License.
14
+
15
+ "Legal Entity" shall mean the union of the acting entity and all
16
+ other entities that control, are controlled by, or are under common
17
+ control with that entity. For the purposes of this definition,
18
+ "control" means (i) the power, direct or indirect, to cause the
19
+ direction or management of such entity, whether by contract or
20
+ otherwise, or (ii) ownership of fifty percent (50%) or more of the
21
+ outstanding shares, or (iii) beneficial ownership of such entity.
22
+
23
+ "You" (or "Your") shall mean an individual or Legal Entity
24
+ exercising permissions granted by this License.
25
+
26
+ "Source" form shall mean the preferred form for making modifications,
27
+ including but not limited to software source code, documentation
28
+ source, and configuration files.
29
+
30
+ "Object" form shall mean any form resulting from mechanical
31
+ transformation or translation of a Source form, including but
32
+ not limited to compiled object code, generated documentation,
33
+ and conversions to other media types.
34
+
35
+ "Work" shall mean the work of authorship, whether in Source or
36
+ Object form, made available under the License, as indicated by a
37
+ copyright notice that is included in or attached to the work
38
+ (an example is provided in the Appendix below).
39
+
40
+ "Derivative Works" shall mean any work, whether in Source or Object
41
+ form, that is based on (or derived from) the Work and for which the
42
+ editorial revisions, annotations, elaborations, or other modifications
43
+ represent, as a whole, an original work of authorship. For the purposes
44
+ of this License, Derivative Works shall not include works that remain
45
+ separable from, or merely link (or bind by name) to the interfaces of,
46
+ the Work and Derivative Works thereof.
47
+
48
+ "Contribution" shall mean any work of authorship, including
49
+ the original version of the Work and any modifications or additions
50
+ to that Work or Derivative Works thereof, that is intentionally
51
+ submitted to Licensor for inclusion in the Work by the copyright owner
52
+ or by an individual or Legal Entity authorized to submit on behalf of
53
+ the copyright owner. For the purposes of this definition, "submitted"
54
+ means any form of electronic, verbal, or written communication sent
55
+ to the Licensor or its representatives, including but not limited to
56
+ communication on electronic mailing lists, source code control systems,
57
+ and issue tracking systems that are managed by, or on behalf of, the
58
+ Licensor for the purpose of discussing and improving the Work, but
59
+ excluding communication that is conspicuously marked or otherwise
60
+ designated in writing by the copyright owner as "Not a Contribution."
61
+
62
+ "Contributor" shall mean Licensor and any individual or Legal Entity
63
+ on behalf of whom a Contribution has been received by Licensor and
64
+ subsequently incorporated within the Work.
65
+
66
+ 2. Grant of Copyright License. Subject to the terms and conditions of
67
+ this License, each Contributor hereby grants to You a perpetual,
68
+ worldwide, non-exclusive, no-charge, royalty-free, irrevocable
69
+ copyright license to reproduce, prepare Derivative Works of,
70
+ publicly display, publicly perform, sublicense, and distribute the
71
+ Work and such Derivative Works in Source or Object form.
72
+
73
+ 3. Grant of Patent License. Subject to the terms and conditions of
74
+ this License, each Contributor hereby grants to You a perpetual,
75
+ worldwide, non-exclusive, no-charge, royalty-free, irrevocable
76
+ (except as stated in this section) patent license to make, have made,
77
+ use, offer to sell, sell, import, and otherwise transfer the Work,
78
+ where such license applies only to those patent claims licensable
79
+ by such Contributor that are necessarily infringed by their
80
+ Contribution(s) alone or by combination of their Contribution(s)
81
+ with the Work to which such Contribution(s) was submitted. If You
82
+ institute patent litigation against any entity (including a
83
+ cross-claim or counterclaim in a lawsuit) alleging that the Work
84
+ or a Contribution incorporated within the Work constitutes direct
85
+ or contributory patent infringement, then any patent licenses
86
+ granted to You under this License for that Work shall terminate
87
+ as of the date such litigation is filed.
88
+
89
+ 4. Redistribution. You may reproduce and distribute copies of the
90
+ Work or Derivative Works thereof in any medium, with or without
91
+ modifications, and in Source or Object form, provided that You
92
+ meet the following conditions:
93
+
94
+ (a) You must give any other recipients of the Work or
95
+ Derivative Works a copy of this License; and
96
+
97
+ (b) You must cause any modified files to carry prominent notices
98
+ stating that You changed the files; and
99
+
100
+ (c) You must retain, in the Source form of any Derivative Works
101
+ that You distribute, all copyright, patent, trademark, and
102
+ attribution notices from the Source form of the Work,
103
+ excluding those notices that do not pertain to any part of
104
+ the Derivative Works; and
105
+
106
+ (d) If the Work includes a "NOTICE" text file as part of its
107
+ distribution, then any Derivative Works that You distribute must
108
+ include a readable copy of the attribution notices contained
109
+ within such NOTICE file, excluding those notices that do not
110
+ pertain to any part of the Derivative Works, in at least one
111
+ of the following places: within a NOTICE text file distributed
112
+ as part of the Derivative Works; within the Source form or
113
+ documentation, if provided along with the Derivative Works; or,
114
+ within a display generated by the Derivative Works, if and
115
+ wherever such third-party notices normally appear. The contents
116
+ of the NOTICE file are for informational purposes only and
117
+ do not modify the License. You may add Your own attribution
118
+ notices within Derivative Works that You distribute, alongside
119
+ or as an addendum to the NOTICE text from the Work, provided
120
+ that such additional attribution notices cannot be construed
121
+ as modifying the License.
122
+
123
+ You may add Your own copyright statement to Your modifications and
124
+ may provide additional or different license terms and conditions
125
+ for use, reproduction, or distribution of Your modifications, or
126
+ for any such Derivative Works as a whole, provided Your use,
127
+ reproduction, and distribution of the Work otherwise complies with
128
+ the conditions stated in this License.
129
+
130
+ 5. Submission of Contributions. Unless You explicitly state otherwise,
131
+ any Contribution intentionally submitted for inclusion in the Work
132
+ by You to the Licensor shall be under the terms and conditions of
133
+ this License, without any additional terms or conditions.
134
+ Notwithstanding the above, nothing herein shall supersede or modify
135
+ the terms of any separate license agreement you may have executed
136
+ with Licensor regarding such Contributions.
137
+
138
+ 6. Trademarks. This License does not grant permission to use the trade
139
+ names, trademarks, service marks, or product names of the Licensor,
140
+ except as required for reasonable and customary use in describing the
141
+ origin of the Work and reproducing the content of the NOTICE file.
142
+
143
+ 7. Disclaimer of Warranty. Unless required by applicable law or
144
+ agreed to in writing, Licensor provides the Work (and each
145
+ Contributor provides its Contributions) on an "AS IS" BASIS,
146
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
147
+ implied, including, without limitation, any warranties or conditions
148
+ of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A
149
+ PARTICULAR PURPOSE. You are solely responsible for determining the
150
+ appropriateness of using or redistributing the Work and assume any
151
+ risks associated with Your exercise of permissions under this License.
152
+
153
+ 8. Limitation of Liability. In no event and under no legal theory,
154
+ whether in tort (including negligence), contract, or otherwise,
155
+ unless required by applicable law (such as deliberate and grossly
156
+ negligent acts) or agreed to in writing, shall any Contributor be
157
+ liable to You for damages, including any direct, indirect, special,
158
+ incidental, or consequential damages of any character arising as a
159
+ result of this License or out of the use or inability to use the
160
+ Work (including but not limited to damages for loss of goodwill,
161
+ work stoppage, computer failure or malfunction, or any and all
162
+ other commercial damages or losses), even if such Contributor
163
+ has been advised of the possibility of such damages.
164
+
165
+ 9. Accepting Warranty or Additional Liability. While redistributing
166
+ the Work or Derivative Works thereof, You may choose to offer,
167
+ and charge a fee for, acceptance of support, warranty, indemnity,
168
+ or other liability obligations and/or rights consistent with this
169
+ License. However, in accepting such obligations, You may act only
170
+ on Your own behalf and on Your sole responsibility, not on behalf
171
+ of any other Contributor, and only if You agree to indemnify,
172
+ defend, and hold each Contributor harmless for any liability
173
+ incurred by, or claims asserted against, such Contributor by reason
174
+ of your accepting any such warranty or additional liability.
175
+
176
+ END OF TERMS AND CONDITIONS
177
+
178
+ APPENDIX: How to apply the Apache License to your work.
179
+
180
+ To apply the Apache License to your work, attach the following
181
+ boilerplate notice, with the fields enclosed by brackets "[]"
182
+ replaced with your own identifying information. (Don't include
183
+ the brackets!) The text should be enclosed in the appropriate
184
+ comment syntax for the file format. We also recommend that a
185
+ file or class name and description of purpose be included on the
186
+ same "printed page" as the copyright notice for easier
187
+ identification within third-party archives.
188
+
189
+ Copyright [yyyy] [name of copyright owner]
190
+
191
+ Licensed under the Apache License, Version 2.0 (the "License");
192
+ you may not use this file except in compliance with the License.
193
+ You may obtain a copy of the License at
194
+
195
+ http://www.apache.org/licenses/LICENSE-2.0
196
+
197
+ Unless required by applicable law or agreed to in writing, software
198
+ distributed under the License is distributed on an "AS IS" BASIS,
199
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
200
+ See the License for the specific language governing permissions and
201
+ limitations under the License.
@@ -0,0 +1,13 @@
1
+ m0saic — Deterministic rectangle layout DSL and tooling
2
+ Copyright (c) 2026 m0saic LLC
3
+
4
+ Licensed under the Apache License, Version 2.0 (the "License");
5
+ you may not use this file except in compliance with the License.
6
+ You may obtain a copy of the License at:
7
+
8
+ http://www.apache.org/licenses/LICENSE-2.0
9
+
10
+ m0saic and the m0saic logo are trademarks of m0saic LLC.
11
+ This license does not grant permission to use the trade names, trademarks,
12
+ service marks, or product names of m0saic LLC, except as required for
13
+ reasonable and customary use in describing the origin of the work.