@m0saic/templates 0.2.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/LICENSE +13 -0
- package/README.md +7 -0
- package/dist/freeze.d.ts +406 -0
- package/dist/freeze.js +855 -0
- package/dist/gen-geometry-matrix.d.ts +1 -0
- package/dist/gen-geometry-matrix.js +177 -0
- package/dist/gen-geometry-proof.d.ts +1 -0
- package/dist/gen-geometry-proof.js +259 -0
- package/dist/gen-layout-envelope.d.ts +1 -0
- package/dist/gen-layout-envelope.js +120 -0
- package/dist/gen-precision-sweep.d.ts +1 -0
- package/dist/gen-precision-sweep.js +219 -0
- package/dist/gen-props-shape.d.ts +1 -0
- package/dist/gen-props-shape.js +269 -0
- package/dist/gen-template-audit.d.ts +1 -0
- package/dist/gen-template-audit.js +379 -0
- package/dist/gen-template-manifest.d.ts +1 -0
- package/dist/gen-template-manifest.js +162 -0
- package/dist/gen-web-template-ids.d.ts +1 -0
- package/dist/gen-web-template-ids.js +65 -0
- package/dist/geometry-audit.d.ts +149 -0
- package/dist/geometry-audit.js +368 -0
- package/dist/index.d.ts +5 -0
- package/dist/index.js +29 -0
- package/dist/m0saic/_shared/onboarding-cover.d.ts +95 -0
- package/dist/m0saic/_shared/onboarding-cover.js +247 -0
- package/dist/m0saic/_shared/raster.d.ts +28 -0
- package/dist/m0saic/_shared/raster.js +146 -0
- package/dist/m0saic/_shared/svgRaster.d.ts +40 -0
- package/dist/m0saic/_shared/svgRaster.js +142 -0
- package/dist/m0saic/agents/commit-feed/index.d.ts +1 -0
- package/dist/m0saic/agents/commit-feed/index.js +17 -0
- package/dist/m0saic/agents/commit-feed/v1/commit-feed.d.ts +68 -0
- package/dist/m0saic/agents/commit-feed/v1/commit-feed.js +293 -0
- package/dist/m0saic/agents/commit-feed/v1/index.d.ts +2 -0
- package/dist/m0saic/agents/commit-feed/v1/index.js +11 -0
- package/dist/m0saic/agents/index.d.ts +7 -0
- package/dist/m0saic/agents/index.js +25 -0
- package/dist/m0saic/agents/trace-timeline/index.d.ts +1 -0
- package/dist/m0saic/agents/trace-timeline/index.js +17 -0
- package/dist/m0saic/agents/trace-timeline/v1/index.d.ts +2 -0
- package/dist/m0saic/agents/trace-timeline/v1/index.js +15 -0
- package/dist/m0saic/agents/trace-timeline/v1/trace-timeline.d.ts +73 -0
- package/dist/m0saic/agents/trace-timeline/v1/trace-timeline.js +356 -0
- package/dist/m0saic/alpine/_shared/alpine-anim.d.ts +65 -0
- package/dist/m0saic/alpine/_shared/alpine-anim.js +142 -0
- package/dist/m0saic/alpine/_shared/alpine-card.d.ts +114 -0
- package/dist/m0saic/alpine/_shared/alpine-card.js +193 -0
- package/dist/m0saic/alpine/_shared/alpine-glyphs.d.ts +23 -0
- package/dist/m0saic/alpine/_shared/alpine-glyphs.js +46 -0
- package/dist/m0saic/alpine/_shared/alpine-theme.d.ts +84 -0
- package/dist/m0saic/alpine/_shared/alpine-theme.js +155 -0
- package/dist/m0saic/alpine/bar-graph/v1/bar-graph.d.ts +85 -0
- package/dist/m0saic/alpine/bar-graph/v1/bar-graph.js +558 -0
- package/dist/m0saic/alpine/bar-graph/v1/index.d.ts +5 -0
- package/dist/m0saic/alpine/bar-graph/v1/index.js +9 -0
- package/dist/m0saic/alpine/commit-feed/v1/commit-feed.d.ts +64 -0
- package/dist/m0saic/alpine/commit-feed/v1/commit-feed.js +261 -0
- package/dist/m0saic/alpine/commit-feed/v1/index.d.ts +1 -0
- package/dist/m0saic/alpine/commit-feed/v1/index.js +5 -0
- package/dist/m0saic/alpine/commit-feed/v2/commit-feed.d.ts +78 -0
- package/dist/m0saic/alpine/commit-feed/v2/commit-feed.js +509 -0
- package/dist/m0saic/alpine/commit-feed/v2/index.d.ts +1 -0
- package/dist/m0saic/alpine/commit-feed/v2/index.js +5 -0
- package/dist/m0saic/alpine/contributor-table/v1/assets/README.md +13 -0
- package/dist/m0saic/alpine/contributor-table/v1/assets/layout-lite.m0 +9 -0
- package/dist/m0saic/alpine/contributor-table/v1/assets/layout-standard.m0 +9 -0
- package/dist/m0saic/alpine/contributor-table/v1/contributor-table.d.ts +76 -0
- package/dist/m0saic/alpine/contributor-table/v1/contributor-table.js +651 -0
- package/dist/m0saic/alpine/contributor-table/v1/index.d.ts +1 -0
- package/dist/m0saic/alpine/contributor-table/v1/index.js +5 -0
- package/dist/m0saic/alpine/donut/v1/donut.d.ts +55 -0
- package/dist/m0saic/alpine/donut/v1/donut.js +322 -0
- package/dist/m0saic/alpine/donut/v1/index.d.ts +5 -0
- package/dist/m0saic/alpine/donut/v1/index.js +9 -0
- package/dist/m0saic/alpine/donut/v2/donut.d.ts +58 -0
- package/dist/m0saic/alpine/donut/v2/donut.js +268 -0
- package/dist/m0saic/alpine/donut/v2/index.d.ts +1 -0
- package/dist/m0saic/alpine/donut/v2/index.js +5 -0
- package/dist/m0saic/alpine/donut/v3/donut.d.ts +65 -0
- package/dist/m0saic/alpine/donut/v3/donut.js +428 -0
- package/dist/m0saic/alpine/donut/v3/index.d.ts +1 -0
- package/dist/m0saic/alpine/donut/v3/index.js +5 -0
- package/dist/m0saic/alpine/heatmap/v1/heatmap.d.ts +68 -0
- package/dist/m0saic/alpine/heatmap/v1/heatmap.js +370 -0
- package/dist/m0saic/alpine/heatmap/v1/index.d.ts +1 -0
- package/dist/m0saic/alpine/heatmap/v1/index.js +5 -0
- package/dist/m0saic/alpine/heatmap/v2/heatmap.d.ts +73 -0
- package/dist/m0saic/alpine/heatmap/v2/heatmap.js +582 -0
- package/dist/m0saic/alpine/heatmap/v2/index.d.ts +1 -0
- package/dist/m0saic/alpine/heatmap/v2/index.js +5 -0
- package/dist/m0saic/alpine/index.d.ts +20 -0
- package/dist/m0saic/alpine/index.js +37 -0
- package/dist/m0saic/alpine/kpi-card/v1/index.d.ts +1 -0
- package/dist/m0saic/alpine/kpi-card/v1/index.js +5 -0
- package/dist/m0saic/alpine/kpi-card/v1/kpi-card.d.ts +54 -0
- package/dist/m0saic/alpine/kpi-card/v1/kpi-card.js +311 -0
- package/dist/m0saic/alpine/kpi-card/v2/index.d.ts +1 -0
- package/dist/m0saic/alpine/kpi-card/v2/index.js +5 -0
- package/dist/m0saic/alpine/kpi-card/v2/kpi-card.d.ts +60 -0
- package/dist/m0saic/alpine/kpi-card/v2/kpi-card.js +362 -0
- package/dist/m0saic/alpine/leaderboard/v1/index.d.ts +1 -0
- package/dist/m0saic/alpine/leaderboard/v1/index.js +5 -0
- package/dist/m0saic/alpine/leaderboard/v1/leaderboard.d.ts +58 -0
- package/dist/m0saic/alpine/leaderboard/v1/leaderboard.js +313 -0
- package/dist/m0saic/alpine/line-chart/v1/index.d.ts +1 -0
- package/dist/m0saic/alpine/line-chart/v1/index.js +5 -0
- package/dist/m0saic/alpine/line-chart/v1/line-chart.d.ts +70 -0
- package/dist/m0saic/alpine/line-chart/v1/line-chart.js +408 -0
- package/dist/m0saic/alpine/line-chart/v2/index.d.ts +1 -0
- package/dist/m0saic/alpine/line-chart/v2/index.js +5 -0
- package/dist/m0saic/alpine/line-chart/v2/line-chart.d.ts +72 -0
- package/dist/m0saic/alpine/line-chart/v2/line-chart.js +434 -0
- package/dist/m0saic/alpine/progress-card/v1/index.d.ts +1 -0
- package/dist/m0saic/alpine/progress-card/v1/index.js +5 -0
- package/dist/m0saic/alpine/progress-card/v1/progress-card.d.ts +53 -0
- package/dist/m0saic/alpine/progress-card/v1/progress-card.js +333 -0
- package/dist/m0saic/alpine/stat-card/v1/index.d.ts +1 -0
- package/dist/m0saic/alpine/stat-card/v1/index.js +5 -0
- package/dist/m0saic/alpine/stat-card/v1/stat-card.d.ts +76 -0
- package/dist/m0saic/alpine/stat-card/v1/stat-card.js +295 -0
- package/dist/m0saic/alpine/timeline/v1/index.d.ts +1 -0
- package/dist/m0saic/alpine/timeline/v1/index.js +5 -0
- package/dist/m0saic/alpine/timeline/v1/timeline.d.ts +55 -0
- package/dist/m0saic/alpine/timeline/v1/timeline.js +266 -0
- package/dist/m0saic/alpine/timeline/v2/index.d.ts +1 -0
- package/dist/m0saic/alpine/timeline/v2/index.js +5 -0
- package/dist/m0saic/alpine/timeline/v2/timeline.d.ts +61 -0
- package/dist/m0saic/alpine/timeline/v2/timeline.js +371 -0
- package/dist/m0saic/alpine/treemap/v1/index.d.ts +1 -0
- package/dist/m0saic/alpine/treemap/v1/index.js +5 -0
- package/dist/m0saic/alpine/treemap/v1/treemap.d.ts +56 -0
- package/dist/m0saic/alpine/treemap/v1/treemap.js +326 -0
- package/dist/m0saic/alpine/treemap/v2/index.d.ts +1 -0
- package/dist/m0saic/alpine/treemap/v2/index.js +5 -0
- package/dist/m0saic/alpine/treemap/v2/treemap.d.ts +59 -0
- package/dist/m0saic/alpine/treemap/v2/treemap.js +323 -0
- package/dist/m0saic/benchmark/battery/assets/media/README.md +16 -0
- package/dist/m0saic/benchmark/battery/assets/media/bbb-av.mp4 +0 -0
- package/dist/m0saic/benchmark/battery/assets/media/bbb-clip-01.mp4 +0 -0
- package/dist/m0saic/benchmark/battery/assets/media/bbb-clip-02.mp4 +0 -0
- package/dist/m0saic/benchmark/battery/assets/media/bbb-clip-03.mp4 +0 -0
- package/dist/m0saic/benchmark/battery/assets/media/bbb-clip-04.mp4 +0 -0
- package/dist/m0saic/benchmark/battery/assets/scenarios/duration-long.mosaic +80 -0
- package/dist/m0saic/benchmark/battery/assets/scenarios/encoders-base.mosaic +32 -0
- package/dist/m0saic/benchmark/battery/assets/scenarios/geometry-grid.mosaic +592 -0
- package/dist/m0saic/benchmark/battery/assets/scenarios/lifetime-window-fade.mosaic +28 -0
- package/dist/m0saic/benchmark/battery/assets/scenarios/real-bar-graph.mosaic +1980 -0
- package/dist/m0saic/benchmark/battery/assets/scenarios/real-donut.mosaic +797 -0
- package/dist/m0saic/benchmark/battery/assets/scenarios/real-screencap-grid.mosaic +4591 -0
- package/dist/m0saic/benchmark/battery/assets/scenarios/real-stat-card.mosaic +187 -0
- package/dist/m0saic/benchmark/battery/assets/scenarios/sources-audio.mosaic +31 -0
- package/dist/m0saic/benchmark/battery/assets/scenarios/sources-lavfi.mosaic +32 -0
- package/dist/m0saic/benchmark/battery/assets/scenarios/sources-media.mosaic +73 -0
- package/dist/m0saic/benchmark/battery/assets/scenarios/sources-nested.mosaic +48 -0
- package/dist/m0saic/benchmark/battery/assets/scenarios/sources-ref.mosaic +24 -0
- package/dist/m0saic/benchmark/battery/assets/scenarios/sources-text.mosaic +120 -0
- package/dist/m0saic/benchmark/battery/manifest.d.ts +65 -0
- package/dist/m0saic/benchmark/battery/manifest.js +97 -0
- package/dist/m0saic/benchmark/index.d.ts +2 -0
- package/dist/m0saic/benchmark/index.js +22 -0
- package/dist/m0saic/benchmark/report/v1/assets/m-logo.png +0 -0
- package/dist/m0saic/benchmark/report/v1/assets/sample-session/benchmark.json +41 -0
- package/dist/m0saic/benchmark/report/v1/index.d.ts +1 -0
- package/dist/m0saic/benchmark/report/v1/index.js +17 -0
- package/dist/m0saic/benchmark/report/v1/report.d.ts +23 -0
- package/dist/m0saic/benchmark/report/v1/report.js +242 -0
- package/dist/m0saic/benchmark/run/v1/benchmarkRun.d.ts +57 -0
- package/dist/m0saic/benchmark/run/v1/benchmarkRun.js +151 -0
- package/dist/m0saic/benchmark/run/v1/confirmation.d.ts +11 -0
- package/dist/m0saic/benchmark/run/v1/confirmation.js +48 -0
- package/dist/m0saic/benchmark/run/v1/index.d.ts +1 -0
- package/dist/m0saic/benchmark/run/v1/index.js +17 -0
- package/dist/m0saic/benchmark/run/v1/renderScenario.d.ts +12 -0
- package/dist/m0saic/benchmark/run/v1/renderScenario.js +122 -0
- package/dist/m0saic/benchmark/run/v1/runner.d.ts +10 -0
- package/dist/m0saic/benchmark/run/v1/runner.js +208 -0
- package/dist/m0saic/brand/business-card/v1/back-catalog.d.ts +68 -0
- package/dist/m0saic/brand/business-card/v1/back-catalog.js +121 -0
- package/dist/m0saic/brand/business-card/v1/business-card.d.ts +82 -0
- package/dist/m0saic/brand/business-card/v1/business-card.js +517 -0
- package/dist/m0saic/brand/business-card/v1/index.d.ts +4 -0
- package/dist/m0saic/brand/business-card/v1/index.js +16 -0
- package/dist/m0saic/brand/business-card/v1/layout.d.ts +163 -0
- package/dist/m0saic/brand/business-card/v1/layout.js +369 -0
- package/dist/m0saic/brand/community-m/v1/camera.d.ts +45 -0
- package/dist/m0saic/brand/community-m/v1/camera.js +44 -0
- package/dist/m0saic/brand/community-m/v1/caption.d.ts +5 -0
- package/dist/m0saic/brand/community-m/v1/caption.js +18 -0
- package/dist/m0saic/brand/community-m/v1/community-m.d.ts +25 -0
- package/dist/m0saic/brand/community-m/v1/community-m.js +117 -0
- package/dist/m0saic/brand/community-m/v1/community-m.web.d.ts +3 -0
- package/dist/m0saic/brand/community-m/v1/community-m.web.js +172 -0
- package/dist/m0saic/brand/community-m/v1/gen-seed-piece.d.ts +1 -0
- package/dist/m0saic/brand/community-m/v1/gen-seed-piece.js +59 -0
- package/dist/m0saic/brand/community-m/v1/geometry.d.ts +44 -0
- package/dist/m0saic/brand/community-m/v1/geometry.js +68 -0
- package/dist/m0saic/brand/community-m/v1/imageSize.node.d.ts +3 -0
- package/dist/m0saic/brand/community-m/v1/imageSize.node.js +60 -0
- package/dist/m0saic/brand/community-m/v1/index.d.ts +1 -0
- package/dist/m0saic/brand/community-m/v1/index.js +5 -0
- package/dist/m0saic/brand/community-m/v1/loadPiece.node.d.ts +14 -0
- package/dist/m0saic/brand/community-m/v1/loadPiece.node.js +69 -0
- package/dist/m0saic/brand/community-m/v1/manifest.d.ts +22 -0
- package/dist/m0saic/brand/community-m/v1/manifest.js +81 -0
- package/dist/m0saic/brand/community-m/v1/mark.d.ts +76 -0
- package/dist/m0saic/brand/community-m/v1/mark.js +136 -0
- package/dist/m0saic/brand/community-m/v1/paths.d.ts +14 -0
- package/dist/m0saic/brand/community-m/v1/paths.js +61 -0
- package/dist/m0saic/brand/community-m/v1/piece.d.ts +28 -0
- package/dist/m0saic/brand/community-m/v1/piece.js +35 -0
- package/dist/m0saic/brand/community-m/v1/pipeline.d.ts +122 -0
- package/dist/m0saic/brand/community-m/v1/pipeline.js +461 -0
- package/dist/m0saic/brand/community-m/v1/preview.d.ts +75 -0
- package/dist/m0saic/brand/community-m/v1/preview.js +214 -0
- package/dist/m0saic/brand/community-m/v1/props.d.ts +101 -0
- package/dist/m0saic/brand/community-m/v1/props.js +178 -0
- package/dist/m0saic/brand/community-m/v1/reveal.d.ts +129 -0
- package/dist/m0saic/brand/community-m/v1/reveal.js +155 -0
- package/dist/m0saic/brand/community-m/v1/seedPiece.d.ts +57 -0
- package/dist/m0saic/brand/community-m/v1/seedPiece.js +153 -0
- package/dist/m0saic/brand/community-m/v1/target.d.ts +88 -0
- package/dist/m0saic/brand/community-m/v1/target.js +132 -0
- package/dist/m0saic/brand/community-m/v1/timing.d.ts +32 -0
- package/dist/m0saic/brand/community-m/v1/timing.js +57 -0
- package/dist/m0saic/brand/community-m/v1/webPiece.d.ts +23 -0
- package/dist/m0saic/brand/community-m/v1/webPiece.js +42 -0
- package/dist/m0saic/brand/community-m/v1/wordmark.d.ts +34 -0
- package/dist/m0saic/brand/community-m/v1/wordmark.js +62 -0
- package/dist/m0saic/brand/index.d.ts +7 -0
- package/dist/m0saic/brand/index.js +17 -0
- package/dist/m0saic/brand/logo/v1/index.d.ts +1 -0
- package/dist/m0saic/brand/logo/v1/index.js +5 -0
- package/dist/m0saic/brand/logo/v1/logo.d.ts +30 -0
- package/dist/m0saic/brand/logo/v1/logo.js +471 -0
- package/dist/m0saic/brand/logo/v2/index.d.ts +1 -0
- package/dist/m0saic/brand/logo/v2/index.js +5 -0
- package/dist/m0saic/brand/logo/v2/logo.d.ts +30 -0
- package/dist/m0saic/brand/logo/v2/logo.js +615 -0
- package/dist/m0saic/brand/logo/v3/index.d.ts +1 -0
- package/dist/m0saic/brand/logo/v3/index.js +5 -0
- package/dist/m0saic/brand/logo/v3/logo.d.ts +36 -0
- package/dist/m0saic/brand/logo/v3/logo.js +666 -0
- package/dist/m0saic/brand/logo/v3/logo_runner.d.ts +36 -0
- package/dist/m0saic/brand/logo/v3/logo_runner.js +216 -0
- package/dist/m0saic/brand/qr-stamp/assets/brand-qr-with-logo.svg +8 -0
- package/dist/m0saic/brand/qr-stamp/assets/qr-animate.dark.mp4 +0 -0
- package/dist/m0saic/brand/qr-stamp/assets/qr-animate.dark.static.png +0 -0
- package/dist/m0saic/brand/qr-stamp/assets/qr-animate.light.mp4 +0 -0
- package/dist/m0saic/brand/qr-stamp/assets/qr-animate.light.static.png +0 -0
- package/dist/m0saic/brand/qr-stamp/still/v1/index.d.ts +2 -0
- package/dist/m0saic/brand/qr-stamp/still/v1/index.js +10 -0
- package/dist/m0saic/brand/qr-stamp/still/v1/qr-stamp-still.d.ts +45 -0
- package/dist/m0saic/brand/qr-stamp/still/v1/qr-stamp-still.js +347 -0
- package/dist/m0saic/brand/qr-stamp/video/v2/index.d.ts +2 -0
- package/dist/m0saic/brand/qr-stamp/video/v2/index.js +9 -0
- package/dist/m0saic/brand/qr-stamp/video/v2/qr-stamp.d.ts +43 -0
- package/dist/m0saic/brand/qr-stamp/video/v2/qr-stamp.js +447 -0
- package/dist/m0saic/brand/qr-stamp/video/v2/windows.d.ts +19 -0
- package/dist/m0saic/brand/qr-stamp/video/v2/windows.js +24 -0
- package/dist/m0saic/charts/_shared/index.d.ts +8 -0
- package/dist/m0saic/charts/_shared/index.js +24 -0
- package/dist/m0saic/charts/_shared/line.d.ts +100 -0
- package/dist/m0saic/charts/_shared/line.js +134 -0
- package/dist/m0saic/charts/_shared/scale.d.ts +9 -0
- package/dist/m0saic/charts/_shared/scale.js +17 -0
- package/dist/m0saic/charts/bar-graph/v1/anim.d.ts +83 -0
- package/dist/m0saic/charts/bar-graph/v1/anim.js +104 -0
- package/dist/m0saic/charts/bar-graph/v1/axis.d.ts +51 -0
- package/dist/m0saic/charts/bar-graph/v1/axis.js +73 -0
- package/dist/m0saic/charts/bar-graph/v1/bar-graph.d.ts +44 -0
- package/dist/m0saic/charts/bar-graph/v1/bar-graph.js +316 -0
- package/dist/m0saic/charts/bar-graph/v1/defaults.d.ts +88 -0
- package/dist/m0saic/charts/bar-graph/v1/defaults.js +157 -0
- package/dist/m0saic/charts/bar-graph/v1/format.d.ts +46 -0
- package/dist/m0saic/charts/bar-graph/v1/format.js +95 -0
- package/dist/m0saic/charts/bar-graph/v1/index.d.ts +31 -0
- package/dist/m0saic/charts/bar-graph/v1/index.js +36 -0
- package/dist/m0saic/charts/bar-graph/v1/internal/bar-cell.d.ts +53 -0
- package/dist/m0saic/charts/bar-graph/v1/internal/bar-cell.js +198 -0
- package/dist/m0saic/charts/bar-graph/v1/internal/bar-fill.d.ts +4 -0
- package/dist/m0saic/charts/bar-graph/v1/internal/bar-fill.js +154 -0
- package/dist/m0saic/charts/bar-graph/v1/internal/bars-stack.d.ts +41 -0
- package/dist/m0saic/charts/bar-graph/v1/internal/bars-stack.js +208 -0
- package/dist/m0saic/charts/bar-graph/v1/internal/chart-frame.d.ts +32 -0
- package/dist/m0saic/charts/bar-graph/v1/internal/chart-frame.js +124 -0
- package/dist/m0saic/charts/bar-graph/v1/internal/labels.d.ts +52 -0
- package/dist/m0saic/charts/bar-graph/v1/internal/labels.js +504 -0
- package/dist/m0saic/charts/bar-graph/v1/internal/plot-area.d.ts +24 -0
- package/dist/m0saic/charts/bar-graph/v1/internal/plot-area.js +180 -0
- package/dist/m0saic/charts/bar-graph/v1/types.d.ts +326 -0
- package/dist/m0saic/charts/bar-graph/v1/types.js +36 -0
- package/dist/m0saic/charts/bar-graph/v2/bar-graph.d.ts +131 -0
- package/dist/m0saic/charts/bar-graph/v2/bar-graph.js +768 -0
- package/dist/m0saic/charts/bar-graph/v2/index.d.ts +10 -0
- package/dist/m0saic/charts/bar-graph/v2/index.js +14 -0
- package/dist/m0saic/charts/donut/v1/anim.d.ts +54 -0
- package/dist/m0saic/charts/donut/v1/anim.js +84 -0
- package/dist/m0saic/charts/donut/v1/donut.d.ts +87 -0
- package/dist/m0saic/charts/donut/v1/donut.js +400 -0
- package/dist/m0saic/charts/donut/v1/geometry.d.ts +55 -0
- package/dist/m0saic/charts/donut/v1/geometry.js +115 -0
- package/dist/m0saic/charts/donut/v1/index.d.ts +11 -0
- package/dist/m0saic/charts/donut/v1/index.js +17 -0
- package/dist/m0saic/charts/donut/v2/donut.d.ts +67 -0
- package/dist/m0saic/charts/donut/v2/donut.js +307 -0
- package/dist/m0saic/charts/donut/v2/index.d.ts +10 -0
- package/dist/m0saic/charts/donut/v2/index.js +14 -0
- package/dist/m0saic/charts/donut/v3/anim.d.ts +47 -0
- package/dist/m0saic/charts/donut/v3/anim.js +77 -0
- package/dist/m0saic/charts/donut/v3/donut.d.ts +54 -0
- package/dist/m0saic/charts/donut/v3/donut.js +531 -0
- package/dist/m0saic/charts/donut/v3/geometry.d.ts +74 -0
- package/dist/m0saic/charts/donut/v3/geometry.js +152 -0
- package/dist/m0saic/charts/donut/v3/index.d.ts +10 -0
- package/dist/m0saic/charts/donut/v3/index.js +14 -0
- package/dist/m0saic/charts/donut/v4/donut.d.ts +63 -0
- package/dist/m0saic/charts/donut/v4/donut.js +546 -0
- package/dist/m0saic/charts/donut/v4/index.d.ts +10 -0
- package/dist/m0saic/charts/donut/v4/index.js +14 -0
- package/dist/m0saic/charts/index.d.ts +8 -0
- package/dist/m0saic/charts/index.js +25 -0
- package/dist/m0saic/charts/line-chart/v1/anim.d.ts +78 -0
- package/dist/m0saic/charts/line-chart/v1/anim.js +119 -0
- package/dist/m0saic/charts/line-chart/v1/axis.d.ts +48 -0
- package/dist/m0saic/charts/line-chart/v1/axis.js +55 -0
- package/dist/m0saic/charts/line-chart/v1/card.d.ts +27 -0
- package/dist/m0saic/charts/line-chart/v1/card.js +44 -0
- package/dist/m0saic/charts/line-chart/v1/chrome-spec.d.ts +110 -0
- package/dist/m0saic/charts/line-chart/v1/chrome-spec.js +208 -0
- package/dist/m0saic/charts/line-chart/v1/chrome.d.ts +30 -0
- package/dist/m0saic/charts/line-chart/v1/chrome.js +335 -0
- package/dist/m0saic/charts/line-chart/v1/defaults.d.ts +65 -0
- package/dist/m0saic/charts/line-chart/v1/defaults.js +151 -0
- package/dist/m0saic/charts/line-chart/v1/format.d.ts +26 -0
- package/dist/m0saic/charts/line-chart/v1/format.js +76 -0
- package/dist/m0saic/charts/line-chart/v1/frame.d.ts +50 -0
- package/dist/m0saic/charts/line-chart/v1/frame.js +62 -0
- package/dist/m0saic/charts/line-chart/v1/geometry.d.ts +15 -0
- package/dist/m0saic/charts/line-chart/v1/geometry.js +34 -0
- package/dist/m0saic/charts/line-chart/v1/index.d.ts +16 -0
- package/dist/m0saic/charts/line-chart/v1/index.js +21 -0
- package/dist/m0saic/charts/line-chart/v1/line-chart.d.ts +26 -0
- package/dist/m0saic/charts/line-chart/v1/line-chart.js +634 -0
- package/dist/m0saic/charts/line-chart/v1/line-series.d.ts +69 -0
- package/dist/m0saic/charts/line-chart/v1/line-series.js +259 -0
- package/dist/m0saic/charts/line-chart/v1/types.d.ts +328 -0
- package/dist/m0saic/charts/line-chart/v1/types.js +24 -0
- package/dist/m0saic/charts/stat-card/v1/index.d.ts +10 -0
- package/dist/m0saic/charts/stat-card/v1/index.js +15 -0
- package/dist/m0saic/charts/stat-card/v1/stat-card.d.ts +78 -0
- package/dist/m0saic/charts/stat-card/v1/stat-card.js +475 -0
- package/dist/m0saic/code/_shared/code-diff.d.ts +73 -0
- package/dist/m0saic/code/_shared/code-diff.js +220 -0
- package/dist/m0saic/code/_shared/code-lexer.d.ts +28 -0
- package/dist/m0saic/code/_shared/code-lexer.js +226 -0
- package/dist/m0saic/code/_shared/code-metrics.d.ts +58 -0
- package/dist/m0saic/code/_shared/code-metrics.js +140 -0
- package/dist/m0saic/code/_shared/code-theme.d.ts +30 -0
- package/dist/m0saic/code/_shared/code-theme.js +141 -0
- package/dist/m0saic/code/index.d.ts +1 -0
- package/dist/m0saic/code/index.js +17 -0
- package/dist/m0saic/code/snippet-morph/v1/internal/chrome.d.ts +60 -0
- package/dist/m0saic/code/snippet-morph/v1/internal/chrome.js +252 -0
- package/dist/m0saic/code/snippet-morph/v1/internal/plan.d.ts +90 -0
- package/dist/m0saic/code/snippet-morph/v1/internal/plan.js +226 -0
- package/dist/m0saic/code/snippet-morph/v1/internal/steps.d.ts +103 -0
- package/dist/m0saic/code/snippet-morph/v1/internal/steps.js +313 -0
- package/dist/m0saic/code/snippet-morph/v1/snippet-morph.d.ts +61 -0
- package/dist/m0saic/code/snippet-morph/v1/snippet-morph.js +462 -0
- package/dist/m0saic/collage/image-collage/v1/demo-fixture.d.ts +18 -0
- package/dist/m0saic/collage/image-collage/v1/demo-fixture.js +30 -0
- package/dist/m0saic/collage/image-collage/v1/emit.d.ts +81 -0
- package/dist/m0saic/collage/image-collage/v1/emit.js +163 -0
- package/dist/m0saic/collage/image-collage/v1/image-collage.d.ts +63 -0
- package/dist/m0saic/collage/image-collage/v1/image-collage.js +386 -0
- package/dist/m0saic/collage/image-collage/v1/index.d.ts +2 -0
- package/dist/m0saic/collage/image-collage/v1/index.js +5 -0
- package/dist/m0saic/collage/image-collage/v1/packer/candidates.d.ts +71 -0
- package/dist/m0saic/collage/image-collage/v1/packer/candidates.js +211 -0
- package/dist/m0saic/collage/image-collage/v1/packer/classify.d.ts +26 -0
- package/dist/m0saic/collage/image-collage/v1/packer/classify.js +70 -0
- package/dist/m0saic/collage/image-collage/v1/packer/index.d.ts +7 -0
- package/dist/m0saic/collage/image-collage/v1/packer/index.js +23 -0
- package/dist/m0saic/collage/image-collage/v1/packer/paging.d.ts +39 -0
- package/dist/m0saic/collage/image-collage/v1/packer/paging.js +139 -0
- package/dist/m0saic/collage/image-collage/v1/packer/score.d.ts +25 -0
- package/dist/m0saic/collage/image-collage/v1/packer/score.js +69 -0
- package/dist/m0saic/collage/image-collage/v1/packer/solve.d.ts +27 -0
- package/dist/m0saic/collage/image-collage/v1/packer/solve.js +84 -0
- package/dist/m0saic/collage/image-collage/v1/packer/tiler.d.ts +65 -0
- package/dist/m0saic/collage/image-collage/v1/packer/tiler.js +607 -0
- package/dist/m0saic/collage/image-collage/v1/packer/types.d.ts +99 -0
- package/dist/m0saic/collage/image-collage/v1/packer/types.js +10 -0
- package/dist/m0saic/collage/image-collage/v1/tutorial.d.ts +17 -0
- package/dist/m0saic/collage/image-collage/v1/tutorial.js +269 -0
- package/dist/m0saic/collage/index.d.ts +2 -0
- package/dist/m0saic/collage/index.js +18 -0
- package/dist/m0saic/collage/spread-grid-mock/v1/grid-fixture.d.ts +7 -0
- package/dist/m0saic/collage/spread-grid-mock/v1/grid-fixture.js +11 -0
- package/dist/m0saic/collage/spread-grid-mock/v1/index.d.ts +1 -0
- package/dist/m0saic/collage/spread-grid-mock/v1/index.js +5 -0
- package/dist/m0saic/collage/spread-grid-mock/v1/spread-grid-mock.d.ts +29 -0
- package/dist/m0saic/collage/spread-grid-mock/v1/spread-grid-mock.js +78 -0
- package/dist/m0saic/dsl-tutorial/index.d.ts +1 -0
- package/dist/m0saic/dsl-tutorial/index.js +18 -0
- package/dist/m0saic/dsl-tutorial/v1/_shared/brand-glyphs.d.ts +24 -0
- package/dist/m0saic/dsl-tutorial/v1/_shared/brand-glyphs.js +17 -0
- package/dist/m0saic/dsl-tutorial/v1/_shared/m0saic-logo.d.ts +6 -0
- package/dist/m0saic/dsl-tutorial/v1/_shared/m0saic-logo.js +9 -0
- package/dist/m0saic/dsl-tutorial/v1/_shared/node-kit.d.ts +57 -0
- package/dist/m0saic/dsl-tutorial/v1/_shared/node-kit.js +156 -0
- package/dist/m0saic/dsl-tutorial/v1/_shared/text-fit.d.ts +76 -0
- package/dist/m0saic/dsl-tutorial/v1/_shared/text-fit.js +127 -0
- package/dist/m0saic/dsl-tutorial/v1/dsl-tutorial.d.ts +124 -0
- package/dist/m0saic/dsl-tutorial/v1/dsl-tutorial.js +675 -0
- package/dist/m0saic/dsl-tutorial/v1/index.d.ts +24 -0
- package/dist/m0saic/dsl-tutorial/v1/index.js +35 -0
- package/dist/m0saic/dsl-tutorial/v1/panels/canvas/v1/dsl-canvas.d.ts +113 -0
- package/dist/m0saic/dsl-tutorial/v1/panels/canvas/v1/dsl-canvas.js +573 -0
- package/dist/m0saic/dsl-tutorial/v1/panels/chrome/v1/dsl-chrome.d.ts +83 -0
- package/dist/m0saic/dsl-tutorial/v1/panels/chrome/v1/dsl-chrome.js +373 -0
- package/dist/m0saic/dsl-tutorial/v1/panels/dsl-string/v1/dsl-string.d.ts +48 -0
- package/dist/m0saic/dsl-tutorial/v1/panels/dsl-string/v1/dsl-string.js +366 -0
- package/dist/m0saic/dsl-tutorial/v1/panels/inspector/v1/dsl-inspector.d.ts +54 -0
- package/dist/m0saic/dsl-tutorial/v1/panels/inspector/v1/dsl-inspector.js +304 -0
- package/dist/m0saic/dsl-tutorial/v1/pipeline/buildSteps.d.ts +110 -0
- package/dist/m0saic/dsl-tutorial/v1/pipeline/buildSteps.js +443 -0
- package/dist/m0saic/dsl-tutorial/v1/pipeline/camera.d.ts +64 -0
- package/dist/m0saic/dsl-tutorial/v1/pipeline/camera.js +177 -0
- package/dist/m0saic/dsl-tutorial/v1/pipeline/cursor.d.ts +47 -0
- package/dist/m0saic/dsl-tutorial/v1/pipeline/cursor.js +64 -0
- package/dist/m0saic/dsl-tutorial/v1/pipeline/dslString.d.ts +61 -0
- package/dist/m0saic/dsl-tutorial/v1/pipeline/dslString.js +135 -0
- package/dist/m0saic/dsl-tutorial/v1/pipeline/inspector.d.ts +62 -0
- package/dist/m0saic/dsl-tutorial/v1/pipeline/inspector.js +197 -0
- package/dist/m0saic/dsl-tutorial/v1/pipeline/timing.d.ts +117 -0
- package/dist/m0saic/dsl-tutorial/v1/pipeline/timing.js +180 -0
- package/dist/m0saic/dsl-tutorial/v1/theme/tokens.d.ts +87 -0
- package/dist/m0saic/dsl-tutorial/v1/theme/tokens.js +96 -0
- package/dist/m0saic/forensic/index.d.ts +1 -0
- package/dist/m0saic/forensic/index.js +17 -0
- package/dist/m0saic/forensic/watermark/_shared/cellLuminance.d.ts +37 -0
- package/dist/m0saic/forensic/watermark/_shared/cellLuminance.js +62 -0
- package/dist/m0saic/forensic/watermark/index.d.ts +2 -0
- package/dist/m0saic/forensic/watermark/index.js +18 -0
- package/dist/m0saic/forensic/watermark/verify/index.d.ts +1 -0
- package/dist/m0saic/forensic/watermark/verify/index.js +17 -0
- package/dist/m0saic/forensic/watermark/verify/v1/decode.d.ts +83 -0
- package/dist/m0saic/forensic/watermark/verify/v1/decode.js +270 -0
- package/dist/m0saic/forensic/watermark/verify/v1/index.d.ts +2 -0
- package/dist/m0saic/forensic/watermark/verify/v1/index.js +23 -0
- package/dist/m0saic/forensic/watermark/verify/v1/report.d.ts +71 -0
- package/dist/m0saic/forensic/watermark/verify/v1/report.js +428 -0
- package/dist/m0saic/forensic/watermark/verify/v1/verify.d.ts +55 -0
- package/dist/m0saic/forensic/watermark/verify/v1/verify.js +286 -0
- package/dist/m0saic/forensic/watermark/video/index.d.ts +1 -0
- package/dist/m0saic/forensic/watermark/video/index.js +17 -0
- package/dist/m0saic/forensic/watermark/video/v1/forensic-watermark.d.ts +119 -0
- package/dist/m0saic/forensic/watermark/video/v1/forensic-watermark.js +629 -0
- package/dist/m0saic/forensic/watermark/video/v1/index.d.ts +2 -0
- package/dist/m0saic/forensic/watermark/video/v1/index.js +9 -0
- package/dist/m0saic/forensic/watermark/video/v1/maskAsset.d.ts +67 -0
- package/dist/m0saic/forensic/watermark/video/v1/maskAsset.js +125 -0
- package/dist/m0saic/forensic/watermark/video/v1/probeHost.d.ts +69 -0
- package/dist/m0saic/forensic/watermark/video/v1/probeHost.js +83 -0
- package/dist/m0saic/github/client.d.ts +200 -0
- package/dist/m0saic/github/client.js +161 -0
- package/dist/m0saic/github/connection.d.ts +24 -0
- package/dist/m0saic/github/connection.js +91 -0
- package/dist/m0saic/github/index.d.ts +20 -0
- package/dist/m0saic/github/index.js +42 -0
- package/dist/m0saic/github/repo-facts-fetcher/index.d.ts +4 -0
- package/dist/m0saic/github/repo-facts-fetcher/index.js +20 -0
- package/dist/m0saic/github/repo-facts-fetcher/v1/build-facts.d.ts +54 -0
- package/dist/m0saic/github/repo-facts-fetcher/v1/build-facts.js +238 -0
- package/dist/m0saic/github/repo-facts-fetcher/v1/facts.d.ts +112 -0
- package/dist/m0saic/github/repo-facts-fetcher/v1/facts.js +12 -0
- package/dist/m0saic/github/repo-facts-fetcher/v1/repo-facts-fetcher.d.ts +67 -0
- package/dist/m0saic/github/repo-facts-fetcher/v1/repo-facts-fetcher.js +210 -0
- package/dist/m0saic/github/repo-facts-fetcher/v1/sample-facts.d.ts +16 -0
- package/dist/m0saic/github/repo-facts-fetcher/v1/sample-facts.js +175 -0
- package/dist/m0saic/github/week-math.d.ts +50 -0
- package/dist/m0saic/github/week-math.js +96 -0
- package/dist/m0saic/github/weekly-pulse/index.d.ts +1 -0
- package/dist/m0saic/github/weekly-pulse/index.js +17 -0
- package/dist/m0saic/github/weekly-pulse/v1/weekly-pulse.d.ts +51 -0
- package/dist/m0saic/github/weekly-pulse/v1/weekly-pulse.js +153 -0
- package/dist/m0saic/github/weekly-pulse-adapter/index.d.ts +2 -0
- package/dist/m0saic/github/weekly-pulse-adapter/index.js +18 -0
- package/dist/m0saic/github/weekly-pulse-adapter/v1/derive-pulse.d.ts +24 -0
- package/dist/m0saic/github/weekly-pulse-adapter/v1/derive-pulse.js +257 -0
- package/dist/m0saic/github/weekly-pulse-adapter/v1/weekly-pulse-adapter.d.ts +35 -0
- package/dist/m0saic/github/weekly-pulse-adapter/v1/weekly-pulse-adapter.js +131 -0
- package/dist/m0saic/github/year-card/index.d.ts +1 -0
- package/dist/m0saic/github/year-card/index.js +17 -0
- package/dist/m0saic/github/year-card/v1/index.d.ts +2 -0
- package/dist/m0saic/github/year-card/v1/index.js +16 -0
- package/dist/m0saic/github/year-card/v1/year-card.d.ts +90 -0
- package/dist/m0saic/github/year-card/v1/year-card.js +476 -0
- package/dist/m0saic/hello-world/index.d.ts +1 -0
- package/dist/m0saic/hello-world/index.js +18 -0
- package/dist/m0saic/hello-world/v1/hello-world.d.ts +4 -0
- package/dist/m0saic/hello-world/v1/hello-world.js +36 -0
- package/dist/m0saic/hello-world/v1/index.d.ts +5 -0
- package/dist/m0saic/hello-world/v1/index.js +9 -0
- package/dist/m0saic/hero/ffmpeg-pulse/_shared/assets/bake-fin-qr.sh +11 -0
- package/dist/m0saic/hero/ffmpeg-pulse/_shared/assets/ffmpeg-logo.png +0 -0
- package/dist/m0saic/hero/ffmpeg-pulse/_shared/assets/ffmpeg_logo_480x480.svg +1 -0
- package/dist/m0saic/hero/ffmpeg-pulse/_shared/assets/m-hero.png +0 -0
- package/dist/m0saic/hero/ffmpeg-pulse/_shared/assets/qr-fin.mp4 +0 -0
- package/dist/m0saic/hero/ffmpeg-pulse/_shared/assets/scatter-desktop.mp4 +0 -0
- package/dist/m0saic/hero/ffmpeg-pulse/_shared/assets/scatter-layout.m0p +5146 -0
- package/dist/m0saic/hero/ffmpeg-pulse/_shared/assets/scatter-mobile.mp4 +0 -0
- package/dist/m0saic/hero/ffmpeg-pulse/_shared/assets/scatter-square.mp4 +0 -0
- package/dist/m0saic/hero/ffmpeg-pulse/_shared/assets/title-layout.m0p +130 -0
- package/dist/m0saic/hero/ffmpeg-pulse/_shared/pulse-chrome.d.ts +151 -0
- package/dist/m0saic/hero/ffmpeg-pulse/_shared/pulse-chrome.js +305 -0
- package/dist/m0saic/hero/ffmpeg-pulse/_shared/pulse-data.d.ts +178 -0
- package/dist/m0saic/hero/ffmpeg-pulse/_shared/pulse-data.js +238 -0
- package/dist/m0saic/hero/ffmpeg-pulse/_shared/pulse-glyphs.d.ts +1 -0
- package/dist/m0saic/hero/ffmpeg-pulse/_shared/pulse-glyphs.js +12 -0
- package/dist/m0saic/hero/ffmpeg-pulse/_shared/pulse-theme.d.ts +67 -0
- package/dist/m0saic/hero/ffmpeg-pulse/_shared/pulse-theme.js +59 -0
- package/dist/m0saic/hero/ffmpeg-pulse/_shared/scatter.d.ts +54 -0
- package/dist/m0saic/hero/ffmpeg-pulse/_shared/scatter.js +173 -0
- package/dist/m0saic/hero/ffmpeg-pulse/activity-trend/v1/activity-trend.d.ts +37 -0
- package/dist/m0saic/hero/ffmpeg-pulse/activity-trend/v1/activity-trend.js +178 -0
- package/dist/m0saic/hero/ffmpeg-pulse/activity-trend/v1/index.d.ts +1 -0
- package/dist/m0saic/hero/ffmpeg-pulse/activity-trend/v1/index.js +5 -0
- package/dist/m0saic/hero/ffmpeg-pulse/changes-breakdown/v1/changes-breakdown.d.ts +37 -0
- package/dist/m0saic/hero/ffmpeg-pulse/changes-breakdown/v1/changes-breakdown.js +164 -0
- package/dist/m0saic/hero/ffmpeg-pulse/changes-breakdown/v1/index.d.ts +1 -0
- package/dist/m0saic/hero/ffmpeg-pulse/changes-breakdown/v1/index.js +5 -0
- package/dist/m0saic/hero/ffmpeg-pulse/contributions/v1/contributions.d.ts +37 -0
- package/dist/m0saic/hero/ffmpeg-pulse/contributions/v1/contributions.js +159 -0
- package/dist/m0saic/hero/ffmpeg-pulse/contributions/v1/index.d.ts +1 -0
- package/dist/m0saic/hero/ffmpeg-pulse/contributions/v1/index.js +5 -0
- package/dist/m0saic/hero/ffmpeg-pulse/fin/v1/fin.d.ts +31 -0
- package/dist/m0saic/hero/ffmpeg-pulse/fin/v1/fin.js +154 -0
- package/dist/m0saic/hero/ffmpeg-pulse/fin/v1/index.d.ts +1 -0
- package/dist/m0saic/hero/ffmpeg-pulse/fin/v1/index.js +5 -0
- package/dist/m0saic/hero/ffmpeg-pulse/index.d.ts +10 -0
- package/dist/m0saic/hero/ffmpeg-pulse/index.js +24 -0
- package/dist/m0saic/hero/ffmpeg-pulse/kpi-overview/v1/index.d.ts +1 -0
- package/dist/m0saic/hero/ffmpeg-pulse/kpi-overview/v1/index.js +5 -0
- package/dist/m0saic/hero/ffmpeg-pulse/kpi-overview/v1/kpi-overview.d.ts +38 -0
- package/dist/m0saic/hero/ffmpeg-pulse/kpi-overview/v1/kpi-overview.js +161 -0
- package/dist/m0saic/hero/ffmpeg-pulse/notable-commits/v1/index.d.ts +1 -0
- package/dist/m0saic/hero/ffmpeg-pulse/notable-commits/v1/index.js +5 -0
- package/dist/m0saic/hero/ffmpeg-pulse/notable-commits/v1/notable-commits.d.ts +36 -0
- package/dist/m0saic/hero/ffmpeg-pulse/notable-commits/v1/notable-commits.js +151 -0
- package/dist/m0saic/hero/ffmpeg-pulse/runner/v1/index.d.ts +1 -0
- package/dist/m0saic/hero/ffmpeg-pulse/runner/v1/index.js +5 -0
- package/dist/m0saic/hero/ffmpeg-pulse/runner/v1/runner.d.ts +54 -0
- package/dist/m0saic/hero/ffmpeg-pulse/runner/v1/runner.js +128 -0
- package/dist/m0saic/hero/ffmpeg-pulse/scatter-bake/v1/index.d.ts +1 -0
- package/dist/m0saic/hero/ffmpeg-pulse/scatter-bake/v1/index.js +5 -0
- package/dist/m0saic/hero/ffmpeg-pulse/scatter-bake/v1/scatter-bake.d.ts +29 -0
- package/dist/m0saic/hero/ffmpeg-pulse/scatter-bake/v1/scatter-bake.js +47 -0
- package/dist/m0saic/hero/ffmpeg-pulse/title/v1/index.d.ts +1 -0
- package/dist/m0saic/hero/ffmpeg-pulse/title/v1/index.js +5 -0
- package/dist/m0saic/hero/ffmpeg-pulse/title/v1/title.d.ts +20 -0
- package/dist/m0saic/hero/ffmpeg-pulse/title/v1/title.js +365 -0
- package/dist/m0saic/hero/ffmpeg-pulse/top-contributors/v1/index.d.ts +1 -0
- package/dist/m0saic/hero/ffmpeg-pulse/top-contributors/v1/index.js +5 -0
- package/dist/m0saic/hero/ffmpeg-pulse/top-contributors/v1/top-contributors.d.ts +38 -0
- package/dist/m0saic/hero/ffmpeg-pulse/top-contributors/v1/top-contributors.js +174 -0
- package/dist/m0saic/hero/index.d.ts +1 -0
- package/dist/m0saic/hero/index.js +18 -0
- package/dist/m0saic/index.d.ts +20 -0
- package/dist/m0saic/index.js +56 -0
- package/dist/m0saic/media/barcode/v1/barcode.d.ts +22 -0
- package/dist/m0saic/media/barcode/v1/barcode.js +218 -0
- package/dist/m0saic/media/barcode/v1/index.d.ts +1 -0
- package/dist/m0saic/media/barcode/v1/index.js +9 -0
- package/dist/m0saic/media/blur-regions/index.d.ts +1 -0
- package/dist/m0saic/media/blur-regions/index.js +17 -0
- package/dist/m0saic/media/blur-regions/v1/blur-regions.d.ts +58 -0
- package/dist/m0saic/media/blur-regions/v1/blur-regions.js +303 -0
- package/dist/m0saic/media/blur-regions/v1/index.d.ts +2 -0
- package/dist/m0saic/media/blur-regions/v1/index.js +20 -0
- package/dist/m0saic/media/blur-regions/v1/plan.d.ts +125 -0
- package/dist/m0saic/media/blur-regions/v1/plan.js +204 -0
- package/dist/m0saic/media/blur-regions/v1/tutorial.d.ts +18 -0
- package/dist/m0saic/media/blur-regions/v1/tutorial.js +428 -0
- package/dist/m0saic/media/highlights/index.d.ts +1 -0
- package/dist/m0saic/media/highlights/index.js +17 -0
- package/dist/m0saic/media/highlights/v1/assets/cover-ranges.jpg +0 -0
- package/dist/m0saic/media/highlights/v1/highlights.d.ts +49 -0
- package/dist/m0saic/media/highlights/v1/highlights.js +222 -0
- package/dist/m0saic/media/highlights/v1/index.d.ts +3 -0
- package/dist/m0saic/media/highlights/v1/index.js +19 -0
- package/dist/m0saic/media/highlights/v1/pipeline.d.ts +35 -0
- package/dist/m0saic/media/highlights/v1/pipeline.js +91 -0
- package/dist/m0saic/media/highlights/v1/plan.d.ts +46 -0
- package/dist/m0saic/media/highlights/v1/plan.js +68 -0
- package/dist/m0saic/media/index.d.ts +13 -0
- package/dist/m0saic/media/index.js +31 -0
- package/dist/m0saic/media/logo-animate/index.d.ts +1 -0
- package/dist/m0saic/media/logo-animate/index.js +17 -0
- package/dist/m0saic/media/logo-animate/v1/default-logo.d.ts +12 -0
- package/dist/m0saic/media/logo-animate/v1/default-logo.js +49 -0
- package/dist/m0saic/media/logo-animate/v1/expressions.d.ts +66 -0
- package/dist/m0saic/media/logo-animate/v1/expressions.js +107 -0
- package/dist/m0saic/media/logo-animate/v1/index.d.ts +2 -0
- package/dist/m0saic/media/logo-animate/v1/index.js +5 -0
- package/dist/m0saic/media/logo-animate/v1/layout.d.ts +29 -0
- package/dist/m0saic/media/logo-animate/v1/layout.js +43 -0
- package/dist/m0saic/media/logo-animate/v1/logo-animate.d.ts +106 -0
- package/dist/m0saic/media/logo-animate/v1/logo-animate.js +732 -0
- package/dist/m0saic/media/logo-animate/v1/svg-source.d.ts +63 -0
- package/dist/m0saic/media/logo-animate/v1/svg-source.js +127 -0
- package/dist/m0saic/media/logo-animate/v1/tutorial.d.ts +16 -0
- package/dist/m0saic/media/logo-animate/v1/tutorial.js +378 -0
- package/dist/m0saic/media/metadata-stamp/index.d.ts +1 -0
- package/dist/m0saic/media/metadata-stamp/index.js +17 -0
- package/dist/m0saic/media/metadata-stamp/v1/assets/cover-frame.jpg +0 -0
- package/dist/m0saic/media/metadata-stamp/v1/format-date.d.ts +52 -0
- package/dist/m0saic/media/metadata-stamp/v1/format-date.js +128 -0
- package/dist/m0saic/media/metadata-stamp/v1/index.d.ts +4 -0
- package/dist/m0saic/media/metadata-stamp/v1/index.js +10 -0
- package/dist/m0saic/media/metadata-stamp/v1/metadata-stamp.d.ts +58 -0
- package/dist/m0saic/media/metadata-stamp/v1/metadata-stamp.js +534 -0
- package/dist/m0saic/media/qr/_shared/brandMCenter.d.ts +28 -0
- package/dist/m0saic/media/qr/_shared/brandMCenter.js +52 -0
- package/dist/m0saic/media/qr/animate/v1/expressions.d.ts +164 -0
- package/dist/m0saic/media/qr/animate/v1/expressions.js +251 -0
- package/dist/m0saic/media/qr/animate/v1/index.d.ts +2 -0
- package/dist/m0saic/media/qr/animate/v1/index.js +9 -0
- package/dist/m0saic/media/qr/animate/v1/qr-animate.d.ts +171 -0
- package/dist/m0saic/media/qr/animate/v1/qr-animate.js +775 -0
- package/dist/m0saic/media/qr/animate/v2/index.d.ts +2 -0
- package/dist/m0saic/media/qr/animate/v2/index.js +9 -0
- package/dist/m0saic/media/qr/animate/v2/qr-animate.d.ts +64 -0
- package/dist/m0saic/media/qr/animate/v2/qr-animate.js +341 -0
- package/dist/m0saic/media/qr/basic/v1/index.d.ts +1 -0
- package/dist/m0saic/media/qr/basic/v1/index.js +10 -0
- package/dist/m0saic/media/qr/basic/v1/qr.d.ts +24 -0
- package/dist/m0saic/media/qr/basic/v1/qr.js +132 -0
- package/dist/m0saic/media/qr/code/v1/index.d.ts +2 -0
- package/dist/m0saic/media/qr/code/v1/index.js +9 -0
- package/dist/m0saic/media/qr/code/v1/qr-code.d.ts +135 -0
- package/dist/m0saic/media/qr/code/v1/qr-code.js +611 -0
- package/dist/m0saic/media/qr/index.d.ts +7 -0
- package/dist/m0saic/media/qr/index.js +19 -0
- package/dist/m0saic/media/qr/rounded/v1/index.d.ts +1 -0
- package/dist/m0saic/media/qr/rounded/v1/index.js +9 -0
- package/dist/m0saic/media/qr/rounded/v1/qr-rounded.d.ts +68 -0
- package/dist/m0saic/media/qr/rounded/v1/qr-rounded.js +338 -0
- package/dist/m0saic/media/qr/stamp/v1/assets/cover-frame.jpg +0 -0
- package/dist/m0saic/media/qr/stamp/v1/qr-stamp-custom.d.ts +44 -0
- package/dist/m0saic/media/qr/stamp/v1/qr-stamp-custom.js +389 -0
- package/dist/m0saic/media/qr/stamp-video/v1/expressions.d.ts +10 -0
- package/dist/m0saic/media/qr/stamp-video/v1/expressions.js +18 -0
- package/dist/m0saic/media/qr/stamp-video/v1/gleamBand.d.ts +115 -0
- package/dist/m0saic/media/qr/stamp-video/v1/gleamBand.js +206 -0
- package/dist/m0saic/media/qr/stamp-video/v1/index.d.ts +2 -0
- package/dist/m0saic/media/qr/stamp-video/v1/index.js +9 -0
- package/dist/m0saic/media/qr/stamp-video/v1/qr-stamp.d.ts +82 -0
- package/dist/m0saic/media/qr/stamp-video/v1/qr-stamp.js +424 -0
- package/dist/m0saic/media/screencap_grid/index.d.ts +3 -0
- package/dist/m0saic/media/screencap_grid/index.js +9 -0
- package/dist/m0saic/media/screencap_grid/internal/index.d.ts +1 -0
- package/dist/m0saic/media/screencap_grid/internal/index.js +5 -0
- package/dist/m0saic/media/screencap_grid/internal/info_pane.d.ts +13 -0
- package/dist/m0saic/media/screencap_grid/internal/info_pane.js +130 -0
- package/dist/m0saic/media/screencap_grid/v1/index.d.ts +1 -0
- package/dist/m0saic/media/screencap_grid/v1/index.js +5 -0
- package/dist/m0saic/media/screencap_grid/v1/screencap-grid.d.ts +162 -0
- package/dist/m0saic/media/screencap_grid/v1/screencap-grid.js +690 -0
- package/dist/m0saic/media/screencap_grid/v2/assets/tutorial-sheet.jpg +0 -0
- package/dist/m0saic/media/screencap_grid/v2/index.d.ts +1 -0
- package/dist/m0saic/media/screencap_grid/v2/index.js +5 -0
- package/dist/m0saic/media/screencap_grid/v2/screencap-grid-cover-assets.d.ts +9 -0
- package/dist/m0saic/media/screencap_grid/v2/screencap-grid-cover-assets.js +12 -0
- package/dist/m0saic/media/screencap_grid/v2/screencap-grid-cover.d.ts +97 -0
- package/dist/m0saic/media/screencap_grid/v2/screencap-grid-cover.js +367 -0
- package/dist/m0saic/media/screencap_grid/v2/screencap-grid-tutorial.d.ts +38 -0
- package/dist/m0saic/media/screencap_grid/v2/screencap-grid-tutorial.js +530 -0
- package/dist/m0saic/media/screencap_grid/v2/screencap-grid.d.ts +194 -0
- package/dist/m0saic/media/screencap_grid/v2/screencap-grid.js +615 -0
- package/dist/m0saic/media/screencap_grid_aspect_safe/index.d.ts +1 -0
- package/dist/m0saic/media/screencap_grid_aspect_safe/index.js +5 -0
- package/dist/m0saic/media/screencap_grid_aspect_safe/v1/assets/pair-sheet.jpg +0 -0
- package/dist/m0saic/media/screencap_grid_aspect_safe/v1/index.d.ts +1 -0
- package/dist/m0saic/media/screencap_grid_aspect_safe/v1/index.js +5 -0
- package/dist/m0saic/media/screencap_grid_aspect_safe/v1/screencap-grid-aspect-safe-cover.d.ts +18 -0
- package/dist/m0saic/media/screencap_grid_aspect_safe/v1/screencap-grid-aspect-safe-cover.js +191 -0
- package/dist/m0saic/media/screencap_grid_aspect_safe/v1/screencap-grid-aspect-safe-tutorial.d.ts +13 -0
- package/dist/m0saic/media/screencap_grid_aspect_safe/v1/screencap-grid-aspect-safe-tutorial.js +355 -0
- package/dist/m0saic/media/screencap_grid_aspect_safe/v1/screencap-grid-aspect-safe.d.ts +179 -0
- package/dist/m0saic/media/screencap_grid_aspect_safe/v1/screencap-grid-aspect-safe.js +544 -0
- package/dist/m0saic/media/scroll_wall/index.d.ts +1 -0
- package/dist/m0saic/media/scroll_wall/index.js +5 -0
- package/dist/m0saic/media/scroll_wall/v1/geometry.d.ts +131 -0
- package/dist/m0saic/media/scroll_wall/v1/geometry.js +172 -0
- package/dist/m0saic/media/scroll_wall/v1/index.d.ts +1 -0
- package/dist/m0saic/media/scroll_wall/v1/index.js +5 -0
- package/dist/m0saic/media/scroll_wall/v1/motion.d.ts +114 -0
- package/dist/m0saic/media/scroll_wall/v1/motion.js +141 -0
- package/dist/m0saic/media/scroll_wall/v1/scroll-wall.d.ts +182 -0
- package/dist/m0saic/media/scroll_wall/v1/scroll-wall.js +432 -0
- package/dist/m0saic/media/subtitle-burn/index.d.ts +1 -0
- package/dist/m0saic/media/subtitle-burn/index.js +17 -0
- package/dist/m0saic/media/subtitle-burn/v1/assets/cover-frame.jpg +0 -0
- package/dist/m0saic/media/subtitle-burn/v1/index.d.ts +1 -0
- package/dist/m0saic/media/subtitle-burn/v1/index.js +6 -0
- package/dist/m0saic/media/subtitle-burn/v1/subtitle-burn-cover.d.ts +13 -0
- package/dist/m0saic/media/subtitle-burn/v1/subtitle-burn-cover.js +196 -0
- package/dist/m0saic/media/subtitle-burn/v1/subtitle-burn.d.ts +137 -0
- package/dist/m0saic/media/subtitle-burn/v1/subtitle-burn.js +603 -0
- package/dist/m0saic/media/trickplay/index.d.ts +1 -0
- package/dist/m0saic/media/trickplay/index.js +17 -0
- package/dist/m0saic/media/trickplay/v1/index.d.ts +4 -0
- package/dist/m0saic/media/trickplay/v1/index.js +18 -0
- package/dist/m0saic/media/trickplay/v1/pipeline.d.ts +51 -0
- package/dist/m0saic/media/trickplay/v1/pipeline.js +180 -0
- package/dist/m0saic/media/trickplay/v1/plan.d.ts +65 -0
- package/dist/m0saic/media/trickplay/v1/plan.js +76 -0
- package/dist/m0saic/media/trickplay/v1/sidecars.d.ts +79 -0
- package/dist/m0saic/media/trickplay/v1/sidecars.js +89 -0
- package/dist/m0saic/media/trickplay/v1/trickplay.d.ts +40 -0
- package/dist/m0saic/media/trickplay/v1/trickplay.js +123 -0
- package/dist/m0saic/media/video_to_png_sequence/index.d.ts +1 -0
- package/dist/m0saic/media/video_to_png_sequence/index.js +5 -0
- package/dist/m0saic/media/video_to_png_sequence/v1/index.d.ts +1 -0
- package/dist/m0saic/media/video_to_png_sequence/v1/index.js +5 -0
- package/dist/m0saic/media/video_to_png_sequence/v1/video-to-png-sequence.d.ts +37 -0
- package/dist/m0saic/media/video_to_png_sequence/v1/video-to-png-sequence.js +234 -0
- package/dist/m0saic/media/watermark/index.d.ts +1 -0
- package/dist/m0saic/media/watermark/index.js +17 -0
- package/dist/m0saic/media/watermark/v1/adaptive.d.ts +85 -0
- package/dist/m0saic/media/watermark/v1/adaptive.js +162 -0
- package/dist/m0saic/media/watermark/v1/content.d.ts +56 -0
- package/dist/m0saic/media/watermark/v1/content.js +160 -0
- package/dist/m0saic/media/watermark/v1/geometry.d.ts +138 -0
- package/dist/m0saic/media/watermark/v1/geometry.js +247 -0
- package/dist/m0saic/media/watermark/v1/index.d.ts +3 -0
- package/dist/m0saic/media/watermark/v1/index.js +5 -0
- package/dist/m0saic/media/watermark/v1/pageGrid.d.ts +105 -0
- package/dist/m0saic/media/watermark/v1/pageGrid.js +203 -0
- package/dist/m0saic/media/watermark/v1/pipeline.d.ts +68 -0
- package/dist/m0saic/media/watermark/v1/pipeline.js +324 -0
- package/dist/m0saic/media/watermark/v1/watermark.d.ts +88 -0
- package/dist/m0saic/media/watermark/v1/watermark.js +452 -0
- package/dist/m0saic/meta/camera-debug/index.d.ts +1 -0
- package/dist/m0saic/meta/camera-debug/index.js +17 -0
- package/dist/m0saic/meta/camera-debug/v1/camera-debug.d.ts +98 -0
- package/dist/m0saic/meta/camera-debug/v1/camera-debug.js +490 -0
- package/dist/m0saic/meta/fixture-fetcher/index.d.ts +1 -0
- package/dist/m0saic/meta/fixture-fetcher/index.js +17 -0
- package/dist/m0saic/meta/fixture-fetcher/v1/fixture-fetcher.d.ts +76 -0
- package/dist/m0saic/meta/fixture-fetcher/v1/fixture-fetcher.js +159 -0
- package/dist/m0saic/meta/hot-reload-smoke/index.d.ts +1 -0
- package/dist/m0saic/meta/hot-reload-smoke/index.js +17 -0
- package/dist/m0saic/meta/hot-reload-smoke/v1/hot-reload-smoke.d.ts +50 -0
- package/dist/m0saic/meta/hot-reload-smoke/v1/hot-reload-smoke.js +131 -0
- package/dist/m0saic/meta/index.d.ts +13 -0
- package/dist/m0saic/meta/index.js +29 -0
- package/dist/m0saic/meta/post-mortem/index.d.ts +1 -0
- package/dist/m0saic/meta/post-mortem/index.js +17 -0
- package/dist/m0saic/meta/post-mortem/v1/assets/human.png +0 -0
- package/dist/m0saic/meta/post-mortem/v1/assets/robot.png +0 -0
- package/dist/m0saic/meta/post-mortem/v1/post-mortem.d.ts +47 -0
- package/dist/m0saic/meta/post-mortem/v1/post-mortem.js +634 -0
- package/dist/m0saic/meta/upstream-echo/index.d.ts +1 -0
- package/dist/m0saic/meta/upstream-echo/index.js +17 -0
- package/dist/m0saic/meta/upstream-echo/v1/upstream-echo.d.ts +52 -0
- package/dist/m0saic/meta/upstream-echo/v1/upstream-echo.js +138 -0
- package/dist/m0saic/primitives/grid/index.d.ts +2 -0
- package/dist/m0saic/primitives/grid/index.js +7 -0
- package/dist/m0saic/primitives/grid/v1/grid.d.ts +85 -0
- package/dist/m0saic/primitives/grid/v1/grid.js +217 -0
- package/dist/m0saic/primitives/grid/v2/grid.d.ts +80 -0
- package/dist/m0saic/primitives/grid/v2/grid.js +150 -0
- package/dist/m0saic/primitives/index.d.ts +1 -0
- package/dist/m0saic/primitives/index.js +17 -0
- package/dist/m0saic/social/index.d.ts +1 -0
- package/dist/m0saic/social/index.js +17 -0
- package/dist/m0saic/social/quote-card/index.d.ts +1 -0
- package/dist/m0saic/social/quote-card/index.js +17 -0
- package/dist/m0saic/social/quote-card/v1/index.d.ts +2 -0
- package/dist/m0saic/social/quote-card/v1/index.js +5 -0
- package/dist/m0saic/social/quote-card/v1/layout.d.ts +119 -0
- package/dist/m0saic/social/quote-card/v1/layout.js +323 -0
- package/dist/m0saic/social/quote-card/v1/quote-card.d.ts +51 -0
- package/dist/m0saic/social/quote-card/v1/quote-card.js +310 -0
- package/dist/m0saic/story/index.d.ts +2 -0
- package/dist/m0saic/story/index.js +20 -0
- package/dist/m0saic/story/narrated-chapters/index.d.ts +1 -0
- package/dist/m0saic/story/narrated-chapters/index.js +17 -0
- package/dist/m0saic/story/narrated-chapters/v1/captions.d.ts +42 -0
- package/dist/m0saic/story/narrated-chapters/v1/captions.js +200 -0
- package/dist/m0saic/story/narrated-chapters/v1/demo-fixture.d.ts +13 -0
- package/dist/m0saic/story/narrated-chapters/v1/demo-fixture.js +52 -0
- package/dist/m0saic/story/narrated-chapters/v1/index.d.ts +2 -0
- package/dist/m0saic/story/narrated-chapters/v1/index.js +5 -0
- package/dist/m0saic/story/narrated-chapters/v1/kenburns.d.ts +50 -0
- package/dist/m0saic/story/narrated-chapters/v1/kenburns.js +0 -0
- package/dist/m0saic/story/narrated-chapters/v1/layout.d.ts +103 -0
- package/dist/m0saic/story/narrated-chapters/v1/layout.js +162 -0
- package/dist/m0saic/story/narrated-chapters/v1/narrated-chapters.d.ts +22 -0
- package/dist/m0saic/story/narrated-chapters/v1/narrated-chapters.js +160 -0
- package/dist/m0saic/story/narrated-chapters/v1/pipeline.d.ts +43 -0
- package/dist/m0saic/story/narrated-chapters/v1/pipeline.js +94 -0
- package/dist/m0saic/story/narrated-chapters/v1/plan.d.ts +144 -0
- package/dist/m0saic/story/narrated-chapters/v1/plan.js +372 -0
- package/dist/m0saic/story/narrated-chapters/v1/props.d.ts +147 -0
- package/dist/m0saic/story/narrated-chapters/v1/props.js +205 -0
- package/dist/m0saic/story/narrated-chapters/v1/scenes/body.d.ts +64 -0
- package/dist/m0saic/story/narrated-chapters/v1/scenes/body.js +253 -0
- package/dist/m0saic/story/narrated-chapters/v1/scenes/card.d.ts +40 -0
- package/dist/m0saic/story/narrated-chapters/v1/scenes/card.js +201 -0
- package/dist/m0saic/story/narrated-chapters/v1/theme.d.ts +25 -0
- package/dist/m0saic/story/narrated-chapters/v1/theme.js +38 -0
- package/dist/m0saic/story/scrapbook/v1/document.d.ts +41 -0
- package/dist/m0saic/story/scrapbook/v1/document.js +124 -0
- package/dist/m0saic/story/scrapbook/v1/index.d.ts +1 -0
- package/dist/m0saic/story/scrapbook/v1/index.js +9 -0
- package/dist/m0saic/story/scrapbook/v1/page.d.ts +34 -0
- package/dist/m0saic/story/scrapbook/v1/page.js +121 -0
- package/dist/m0saic/story/scrapbook/v1/pages.d.ts +29 -0
- package/dist/m0saic/story/scrapbook/v1/pages.js +37 -0
- package/dist/m0saic/story/scrapbook/v1/pipeline.d.ts +44 -0
- package/dist/m0saic/story/scrapbook/v1/pipeline.js +130 -0
- package/dist/m0saic/story/scrapbook/v1/placeholder.d.ts +22 -0
- package/dist/m0saic/story/scrapbook/v1/placeholder.js +51 -0
- package/dist/m0saic/story/scrapbook/v1/props.d.ts +66 -0
- package/dist/m0saic/story/scrapbook/v1/props.js +80 -0
- package/dist/m0saic/story/scrapbook/v1/scrapbook.d.ts +23 -0
- package/dist/m0saic/story/scrapbook/v1/scrapbook.js +77 -0
- package/dist/m0saic/theming/index.d.ts +1 -0
- package/dist/m0saic/theming/index.js +17 -0
- package/dist/m0saic/theming/v1/brand-m-glyph.d.ts +14 -0
- package/dist/m0saic/theming/v1/brand-m-glyph.js +12 -0
- package/dist/m0saic/theming/v1/index.d.ts +2 -0
- package/dist/m0saic/theming/v1/index.js +16 -0
- package/dist/m0saic/theming/v1/theme-tokens.d.ts +71 -0
- package/dist/m0saic/theming/v1/theme-tokens.js +111 -0
- package/dist/m0saic/theming/v1/theming.d.ts +18 -0
- package/dist/m0saic/theming/v1/theming.js +94 -0
- package/dist/m0saic/theming/v1/token-sheet.d.ts +23 -0
- package/dist/m0saic/theming/v1/token-sheet.js +191 -0
- package/dist/m0saic/web/index.d.ts +1 -0
- package/dist/m0saic/web/index.js +17 -0
- package/dist/m0saic/web/page-skeleton/v1/capture/capture-snippet-source.d.ts +1 -0
- package/dist/m0saic/web/page-skeleton/v1/capture/capture-snippet-source.js +528 -0
- package/dist/m0saic/web/page-skeleton/v1/index.d.ts +1 -0
- package/dist/m0saic/web/page-skeleton/v1/index.js +5 -0
- package/dist/m0saic/web/page-skeleton/v1/layout.d.ts +107 -0
- package/dist/m0saic/web/page-skeleton/v1/layout.js +246 -0
- package/dist/m0saic/web/page-skeleton/v1/page-skeleton.d.ts +148 -0
- package/dist/m0saic/web/page-skeleton/v1/page-skeleton.js +787 -0
- package/dist/m0saic/web/page-skeleton/v1/sample-capture.d.ts +7 -0
- package/dist/m0saic/web/page-skeleton/v1/sample-capture.js +50 -0
- package/dist/m0saic/web/page-skeleton/v1/schema.d.ts +35 -0
- package/dist/m0saic/web/page-skeleton/v1/schema.js +132 -0
- package/dist/m0saic/wireframe/animated/v1/animated-wireframe.d.ts +93 -0
- package/dist/m0saic/wireframe/animated/v1/animated-wireframe.js +580 -0
- package/dist/m0saic/wireframe/animated/v1/index.d.ts +1 -0
- package/dist/m0saic/wireframe/animated/v1/index.js +5 -0
- package/dist/m0saic/wireframe/base/v1/index.d.ts +1 -0
- package/dist/m0saic/wireframe/base/v1/index.js +5 -0
- package/dist/m0saic/wireframe/base/v1/wireframe.d.ts +68 -0
- package/dist/m0saic/wireframe/base/v1/wireframe.js +372 -0
- package/dist/m0saic/wireframe/base/v2/index.d.ts +2 -0
- package/dist/m0saic/wireframe/base/v2/index.js +9 -0
- package/dist/m0saic/wireframe/base/v2/wireframe.d.ts +166 -0
- package/dist/m0saic/wireframe/base/v2/wireframe.js +1181 -0
- package/dist/m0saic/wireframe/index.d.ts +4 -0
- package/dist/m0saic/wireframe/index.js +16 -0
- package/dist/m0saic/wireframe/utils/paperGrid.d.ts +53 -0
- package/dist/m0saic/wireframe/utils/paperGrid.js +91 -0
- package/dist/m0saic/wireframe/utils/wireframeCell.d.ts +35 -0
- package/dist/m0saic/wireframe/utils/wireframeCell.js +278 -0
- package/dist/registry.d.ts +4 -0
- package/dist/registry.js +7 -0
- package/dist/repo.d.ts +11 -0
- package/dist/repo.js +39 -0
- package/dist/template-registry.d.ts +18 -0
- package/dist/template-registry.js +888 -0
- package/dist/web.d.ts +35 -0
- package/dist/web.js +88 -0
- package/dist/webTemplateIds.d.ts +6 -0
- package/dist/webTemplateIds.js +80 -0
- package/package.json +52 -0
- package/template-manifest.json +1635 -0
- package/web-template-ids.json +84 -0
|
@@ -0,0 +1,163 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
/**
|
|
3
|
+
* DSL emission — packed spans → a ratio m0 + inset-wired sources.
|
|
4
|
+
*
|
|
5
|
+
* The base is a nested `weightedSplit` tree in UNIT WEIGHTS (basis ≤ the
|
|
6
|
+
* lattice dims, GCD-collapsed) reconstructed from the placed spans by n-ary
|
|
7
|
+
* guillotine decomposition: at every region, split at ALL full uncrossed
|
|
8
|
+
* lattice lines of one axis at once, alternate axes, recurse. Resolution-
|
|
9
|
+
* independent and composable — the polar opposite of the pixel-baked trace
|
|
10
|
+
* this template replaces (launder-ladder rung 1 + rung 2's gap-as-inset).
|
|
11
|
+
*
|
|
12
|
+
* Gutters and margins live entirely in the fiber: the emitted m0 is
|
|
13
|
+
* gutterless; each source carries a `latticeCellInset` retargeted inset that
|
|
14
|
+
* recovers the exact painted grid under the engine's floor math (pixel-exact
|
|
15
|
+
* gutters/margins at the emit canvas).
|
|
16
|
+
*
|
|
17
|
+
* Fillers (imageIndex < 0 — the tiler's never-expected escape) emit as `-`
|
|
18
|
+
* null tiles: no frame, no source, background shows through.
|
|
19
|
+
*/
|
|
20
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
21
|
+
exports.emitLatticeM0 = emitLatticeM0;
|
|
22
|
+
exports.emitCollageLayout = emitCollageLayout;
|
|
23
|
+
const dsl_1 = require("@m0saic/dsl");
|
|
24
|
+
const dsl_stdlib_1 = require("@m0saic/dsl-stdlib");
|
|
25
|
+
const template_utils_1 = require("@m0saic/template-utils");
|
|
26
|
+
const isFiller = (p) => p.imageIndex < 0;
|
|
27
|
+
/**
|
|
28
|
+
* Emit the unit-weight guillotine m0 for an exact cover of a cols×rows
|
|
29
|
+
* lattice. Throws on a non-exact or non-guillotine cover (the tiler
|
|
30
|
+
* guarantees both; a throw here means a tiler bug, not a render-time state).
|
|
31
|
+
*/
|
|
32
|
+
function emitLatticeM0(placed, cols, rows) {
|
|
33
|
+
if (placed.length === 0)
|
|
34
|
+
throw new Error("emitLatticeM0: no spans");
|
|
35
|
+
const area = placed.reduce((a, p) => a + p.cs * p.rs, 0);
|
|
36
|
+
if (area !== cols * rows)
|
|
37
|
+
throw new Error(`emitLatticeM0: cover area ${area} ≠ lattice ${cols}×${rows} = ${cols * rows}`);
|
|
38
|
+
const rects = placed.map((p) => ({
|
|
39
|
+
x0: p.c0,
|
|
40
|
+
y0: p.r0,
|
|
41
|
+
x1: p.c0 + p.cs,
|
|
42
|
+
y1: p.r0 + p.rs,
|
|
43
|
+
placed: p,
|
|
44
|
+
}));
|
|
45
|
+
const m0 = emitRegion(rects, 0, 0, cols, rows);
|
|
46
|
+
const v = (0, dsl_1.validateM0String)(m0);
|
|
47
|
+
if (!v.ok)
|
|
48
|
+
throw new Error(`emitLatticeM0: emitted invalid m0 (internal): ${JSON.stringify(v)}`);
|
|
49
|
+
return m0;
|
|
50
|
+
}
|
|
51
|
+
function emitRegion(rects, x0, y0, x1, y1) {
|
|
52
|
+
if (rects.length === 1) {
|
|
53
|
+
const r = rects[0];
|
|
54
|
+
if (r.x0 !== x0 || r.y0 !== y0 || r.x1 !== x1 || r.y1 !== y1)
|
|
55
|
+
throw new Error(`emitRegion: leaf span does not fill its region (internal)`);
|
|
56
|
+
return isFiller(r.placed) ? "-" : "1";
|
|
57
|
+
}
|
|
58
|
+
// Full uncrossed lattice lines per axis inside this region.
|
|
59
|
+
const vLines = [];
|
|
60
|
+
for (let x = x0 + 1; x < x1; x++)
|
|
61
|
+
if (rects.every((r) => r.x1 <= x || r.x0 >= x))
|
|
62
|
+
vLines.push(x);
|
|
63
|
+
const hLines = [];
|
|
64
|
+
for (let y = y0 + 1; y < y1; y++)
|
|
65
|
+
if (rects.every((r) => r.y1 <= y || r.y0 >= y))
|
|
66
|
+
hLines.push(y);
|
|
67
|
+
if (vLines.length === 0 && hLines.length === 0)
|
|
68
|
+
throw new Error(`emitRegion: region (${x0},${y0})–(${x1},${y1}) with ${rects.length} spans has no guillotine cut ` +
|
|
69
|
+
`(non-guillotine cover — tiler bug)`);
|
|
70
|
+
// n-ary split at ALL lines of the richer axis (rows win ties: shelf-first).
|
|
71
|
+
const useRows = hLines.length >= vLines.length;
|
|
72
|
+
const cuts = useRows ? hLines : vLines;
|
|
73
|
+
const bounds = useRows ? [y0, ...cuts, y1] : [x0, ...cuts, x1];
|
|
74
|
+
const weights = [];
|
|
75
|
+
const claimants = [];
|
|
76
|
+
for (let i = 0; i + 1 < bounds.length; i++) {
|
|
77
|
+
const lo = bounds[i];
|
|
78
|
+
const hi = bounds[i + 1];
|
|
79
|
+
weights.push(hi - lo);
|
|
80
|
+
const subset = rects.filter((r) => (useRows ? r.y0 >= lo && r.y1 <= hi : r.x0 >= lo && r.x1 <= hi));
|
|
81
|
+
if (subset.reduce((a, r) => a + (r.x1 - r.x0) * (r.y1 - r.y0), 0) !== (useRows ? (hi - lo) * (x1 - x0) : (hi - lo) * (y1 - y0)))
|
|
82
|
+
throw new Error("emitRegion: segment subset does not tile its slice (internal)");
|
|
83
|
+
claimants.push(useRows ? emitRegion(subset, x0, lo, x1, hi) : emitRegion(subset, lo, y0, hi, y1));
|
|
84
|
+
}
|
|
85
|
+
return String((0, dsl_stdlib_1.weightedSplit)(weights, useRows ? "row" : "col", { claimants }));
|
|
86
|
+
}
|
|
87
|
+
/**
|
|
88
|
+
* Emit the complete layout: m0, logicalIndex-aligned sources with retargeted
|
|
89
|
+
* insets, per-cell targets, and the null-space accounting. Pure; parses the
|
|
90
|
+
* emitted m0 once at the render canvas to bind frames ↔ spans ↔ insets.
|
|
91
|
+
*/
|
|
92
|
+
function emitCollageLayout(opts) {
|
|
93
|
+
const { placed, cols, rows, canvasW, canvasH, gutterXPx, gutterYPx, marginPx, sourceFor } = opts;
|
|
94
|
+
const m0 = emitLatticeM0(placed, cols, rows);
|
|
95
|
+
// The COMPLETE parse: its path-style stableKeys are the engine's canonical
|
|
96
|
+
// identity space — doc.labels keyed any other way would never resolve in
|
|
97
|
+
// the app or merge with the contract's backfill.
|
|
98
|
+
const parsed = (0, dsl_1.parseM0StringComplete)(m0, canvasW, canvasH);
|
|
99
|
+
if (!parsed.ok)
|
|
100
|
+
throw new Error("emitCollageLayout: emitted m0 failed to parse (internal)");
|
|
101
|
+
const frames = parsed.ir.renderFrames;
|
|
102
|
+
const real = placed.filter((p) => !isFiller(p));
|
|
103
|
+
if (frames.length !== real.length)
|
|
104
|
+
throw new Error(`emitCollageLayout: ${frames.length} parsed frames ≠ ${real.length} painted spans (internal)`);
|
|
105
|
+
// Bind each frame to its span by unit-space center containment — immune to
|
|
106
|
+
// the ±1px outside-in remainder placement of the raw split.
|
|
107
|
+
const spanAt = (cx, cy) => {
|
|
108
|
+
const uc = Math.min(cols - 1, Math.floor((cx / canvasW) * cols));
|
|
109
|
+
const ur = Math.min(rows - 1, Math.floor((cy / canvasH) * rows));
|
|
110
|
+
return real.find((p) => p.c0 <= uc && uc < p.c0 + p.cs && p.r0 <= ur && ur < p.r0 + p.rs);
|
|
111
|
+
};
|
|
112
|
+
const byLogical = [];
|
|
113
|
+
const seen = new Set();
|
|
114
|
+
for (const f of frames) {
|
|
115
|
+
const span = spanAt(f.x + f.width / 2, f.y + f.height / 2);
|
|
116
|
+
if (!span || seen.has(span))
|
|
117
|
+
throw new Error(`emitCollageLayout: frame↔span binding failed at logicalIndex ${f.logicalIndex} (internal)`);
|
|
118
|
+
seen.add(span);
|
|
119
|
+
byLogical[f.logicalIndex] = { frame: f, span };
|
|
120
|
+
}
|
|
121
|
+
const inset = (0, template_utils_1.latticeCellInset)({
|
|
122
|
+
cols,
|
|
123
|
+
rows,
|
|
124
|
+
canvasW,
|
|
125
|
+
canvasH,
|
|
126
|
+
gutterXPx,
|
|
127
|
+
gutterYPx,
|
|
128
|
+
marginPx,
|
|
129
|
+
cells: byLogical.map(({ frame, span }) => ({
|
|
130
|
+
unit: { c0: span.c0, r0: span.r0, cs: span.cs, rs: span.rs },
|
|
131
|
+
raw: { x: frame.x, y: frame.y, w: frame.width, h: frame.height },
|
|
132
|
+
})),
|
|
133
|
+
});
|
|
134
|
+
const sources = [];
|
|
135
|
+
const cells = [];
|
|
136
|
+
byLogical.forEach(({ frame, span }, li) => {
|
|
137
|
+
const base = sourceFor(span.imageIndex);
|
|
138
|
+
const placement = base.placement;
|
|
139
|
+
if ((placement === null || placement === void 0 ? void 0 : placement.inset) != null)
|
|
140
|
+
throw new Error(`emitCollageLayout: sourceFor(${span.imageIndex}) already carries placement.inset — the emitter owns it`);
|
|
141
|
+
const box = inset.insetAt(li);
|
|
142
|
+
sources.push({
|
|
143
|
+
...base,
|
|
144
|
+
placement: { fit: "cover", ...(placement !== null && placement !== void 0 ? placement : {}), ...(box ? { inset: box } : {}) },
|
|
145
|
+
});
|
|
146
|
+
cells.push({
|
|
147
|
+
imageIndex: span.imageIndex,
|
|
148
|
+
span,
|
|
149
|
+
stableKey: String(frame.meta.stableKey),
|
|
150
|
+
target: inset.targets[li],
|
|
151
|
+
raw: { x: frame.x, y: frame.y, w: frame.width, h: frame.height },
|
|
152
|
+
});
|
|
153
|
+
});
|
|
154
|
+
const painted = inset.targets.reduce((a, t) => a + t.w * t.h, 0);
|
|
155
|
+
return {
|
|
156
|
+
m0,
|
|
157
|
+
sources,
|
|
158
|
+
cells,
|
|
159
|
+
expectedNullFrac: 1 - painted / (canvasW * canvasH),
|
|
160
|
+
maxClampPx: inset.maxClampPx,
|
|
161
|
+
clampedEdges: inset.clampedEdges,
|
|
162
|
+
};
|
|
163
|
+
}
|
|
@@ -0,0 +1,63 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* ============================================================================
|
|
3
|
+
* @m0saic/collage/image-collage/v1 — the layout-solver contact sheet
|
|
4
|
+
* ============================================================================
|
|
5
|
+
*
|
|
6
|
+
* Point it at N images (any sizes, any aspects) and get back a designed
|
|
7
|
+
* collage: a unit-lattice pack with consistent pixel gutters, cover-cropped
|
|
8
|
+
* cells sized to each image's intrinsic aspect within a soft crop budget,
|
|
9
|
+
* hero/portrait/panorama spans, and staggered masonry rhythm.
|
|
10
|
+
*
|
|
11
|
+
* The template SEARCHES: it enumerates lattice candidates, solves each
|
|
12
|
+
* (span assignment + staggered-shelf tiling), scores, and keeps the best —
|
|
13
|
+
* then emits a tiny ratio m0 (unit weights, gutters in the fiber) and
|
|
14
|
+
* declares its intent through the layout contract: per-image planned aspect,
|
|
15
|
+
* 2-D lattice gutters, null-space coverage, and equal-size span classes.
|
|
16
|
+
* `debugLayout: true` verifies all of it at render time and stamps
|
|
17
|
+
* `editor.layoutContract` (the `audit:layout-envelope` sweep keys off this).
|
|
18
|
+
*
|
|
19
|
+
* PAGING: when the set exceeds one sheet (`maxImagesPerSheet`, or
|
|
20
|
+
* geometrically when N images can't fit at readable cell sizes), the render
|
|
21
|
+
* returns an `emit:"multi"` pipeline — one PNG page per step, balanced counts
|
|
22
|
+
* in input order. `pageLattice` picks whether pages share one mix-fitted
|
|
23
|
+
* lattice (default — the sheets read as a set) or each search their own.
|
|
24
|
+
*
|
|
25
|
+
* Every render surfaces its crop accounting: `doc.labels` carries a per-image
|
|
26
|
+
* `img:k · span · crop N%` display entry and the doc's editor label carries
|
|
27
|
+
* the page's mean crop — visible in Make, File Details, and the `--report`
|
|
28
|
+
* sidecar.
|
|
29
|
+
*
|
|
30
|
+
* Intrinsic dimensions come from `ctx.media` (the host probes before render);
|
|
31
|
+
* the template performs no I/O. With no `sourceIds` it packs a deterministic
|
|
32
|
+
* demo set of colored tiles — the zero-setup preview.
|
|
33
|
+
* ============================================================================
|
|
34
|
+
*/
|
|
35
|
+
import type { MosaicColor, MosaicTemplate } from "@m0saic/types";
|
|
36
|
+
export type ImageCollageProps = {
|
|
37
|
+
/** The images to pack — files or a folder (the host expands folders). */
|
|
38
|
+
sourceIds?: string[];
|
|
39
|
+
/** Gutter between images as a fraction of the canvas short edge. Default 0.01. */
|
|
40
|
+
gutter?: number;
|
|
41
|
+
/** Outer margin as a fraction of the gutter (0..1). Default 1 (margin = gutter). */
|
|
42
|
+
margin?: number;
|
|
43
|
+
/** Explicit gutter in pixels (wins over `gutter`; 0 = flush collage). */
|
|
44
|
+
gutterPx?: number;
|
|
45
|
+
/** Explicit outer margin in pixels (wins over `margin`; must not exceed the gutter). */
|
|
46
|
+
marginPx?: number;
|
|
47
|
+
/** Max fraction an image may be cover-cropped — SOFT: exceeded minimally when nothing fits, and reported. Default 0.3. */
|
|
48
|
+
cropBudget?: number;
|
|
49
|
+
/** Readability bounds on the typical cell scale √(cellW·cellH), px. Defaults 120 / 320. */
|
|
50
|
+
minCellPx?: number;
|
|
51
|
+
maxCellPx?: number;
|
|
52
|
+
/** Cap images per sheet — beyond it the render pages into an emit:multi pipeline. */
|
|
53
|
+
maxImagesPerSheet?: number;
|
|
54
|
+
/** Paged sets: share one mix-fitted lattice ("uniform", default) or search per page ("independent"). */
|
|
55
|
+
pageLattice?: "uniform" | "independent";
|
|
56
|
+
/** Seed for the layout search's taste tie-breaks (hero picks, band rhythm). Default 1. */
|
|
57
|
+
seed?: number;
|
|
58
|
+
/** Canvas background (shows in gutters and margins). */
|
|
59
|
+
background?: MosaicColor;
|
|
60
|
+
/** Dev-only: verify the declared layout contract at render and stamp editor.layoutContract. */
|
|
61
|
+
debugLayout?: boolean;
|
|
62
|
+
};
|
|
63
|
+
export declare const ImageCollage: MosaicTemplate<ImageCollageProps>;
|
|
@@ -0,0 +1,386 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
/**
|
|
3
|
+
* ============================================================================
|
|
4
|
+
* @m0saic/collage/image-collage/v1 — the layout-solver contact sheet
|
|
5
|
+
* ============================================================================
|
|
6
|
+
*
|
|
7
|
+
* Point it at N images (any sizes, any aspects) and get back a designed
|
|
8
|
+
* collage: a unit-lattice pack with consistent pixel gutters, cover-cropped
|
|
9
|
+
* cells sized to each image's intrinsic aspect within a soft crop budget,
|
|
10
|
+
* hero/portrait/panorama spans, and staggered masonry rhythm.
|
|
11
|
+
*
|
|
12
|
+
* The template SEARCHES: it enumerates lattice candidates, solves each
|
|
13
|
+
* (span assignment + staggered-shelf tiling), scores, and keeps the best —
|
|
14
|
+
* then emits a tiny ratio m0 (unit weights, gutters in the fiber) and
|
|
15
|
+
* declares its intent through the layout contract: per-image planned aspect,
|
|
16
|
+
* 2-D lattice gutters, null-space coverage, and equal-size span classes.
|
|
17
|
+
* `debugLayout: true` verifies all of it at render time and stamps
|
|
18
|
+
* `editor.layoutContract` (the `audit:layout-envelope` sweep keys off this).
|
|
19
|
+
*
|
|
20
|
+
* PAGING: when the set exceeds one sheet (`maxImagesPerSheet`, or
|
|
21
|
+
* geometrically when N images can't fit at readable cell sizes), the render
|
|
22
|
+
* returns an `emit:"multi"` pipeline — one PNG page per step, balanced counts
|
|
23
|
+
* in input order. `pageLattice` picks whether pages share one mix-fitted
|
|
24
|
+
* lattice (default — the sheets read as a set) or each search their own.
|
|
25
|
+
*
|
|
26
|
+
* Every render surfaces its crop accounting: `doc.labels` carries a per-image
|
|
27
|
+
* `img:k · span · crop N%` display entry and the doc's editor label carries
|
|
28
|
+
* the page's mean crop — visible in Make, File Details, and the `--report`
|
|
29
|
+
* sidecar.
|
|
30
|
+
*
|
|
31
|
+
* Intrinsic dimensions come from `ctx.media` (the host probes before render);
|
|
32
|
+
* the template performs no I/O. With no `sourceIds` it packs a deterministic
|
|
33
|
+
* demo set of colored tiles — the zero-setup preview.
|
|
34
|
+
* ============================================================================
|
|
35
|
+
*/
|
|
36
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
37
|
+
exports.ImageCollage = void 0;
|
|
38
|
+
const types_1 = require("@m0saic/types");
|
|
39
|
+
const template_utils_1 = require("@m0saic/template-utils");
|
|
40
|
+
const paging_1 = require("./packer/paging");
|
|
41
|
+
const emit_1 = require("./emit");
|
|
42
|
+
const demo_fixture_1 = require("./demo-fixture");
|
|
43
|
+
const tutorial_1 = require("./tutorial");
|
|
44
|
+
const TEMPLATE_ID = "@m0saic/collage/image-collage/v1";
|
|
45
|
+
const DEFAULT_BACKGROUND = "#101014";
|
|
46
|
+
const propsSchema = (0, template_utils_1.definePropsSchema)({
|
|
47
|
+
sourceIds: {
|
|
48
|
+
type: "media[]",
|
|
49
|
+
required: true,
|
|
50
|
+
description: "Images to pack — pick a folder, one or more files, or drag-and-drop. Empty renders a built-in demo set so you can preview the layout before adding photos.",
|
|
51
|
+
meta: {
|
|
52
|
+
ui: { label: "Images", order: 1 },
|
|
53
|
+
control: { multiple: true, picker: "folder", accept: ["image"] },
|
|
54
|
+
},
|
|
55
|
+
},
|
|
56
|
+
// ── Layout (optional sliders — safe, bounded ranges) ──
|
|
57
|
+
gutter: {
|
|
58
|
+
type: "number",
|
|
59
|
+
required: false,
|
|
60
|
+
description: "Space between images, as a fraction of the canvas short edge.",
|
|
61
|
+
meta: {
|
|
62
|
+
constraints: { min: 0, max: 0.1 },
|
|
63
|
+
control: { flavor: "slider", step: 0.005 },
|
|
64
|
+
ui: { label: "Gutter", order: 1 },
|
|
65
|
+
},
|
|
66
|
+
},
|
|
67
|
+
margin: {
|
|
68
|
+
type: "number",
|
|
69
|
+
required: false,
|
|
70
|
+
description: "Outer margin as a fraction of the gutter — 1 matches the gutter, 0 runs the images to the canvas edge.",
|
|
71
|
+
meta: {
|
|
72
|
+
constraints: { min: 0, max: 1 },
|
|
73
|
+
control: { flavor: "slider", step: 0.05 },
|
|
74
|
+
ui: { label: "Margin", order: 2 },
|
|
75
|
+
},
|
|
76
|
+
},
|
|
77
|
+
cropBudget: {
|
|
78
|
+
type: "number",
|
|
79
|
+
required: false,
|
|
80
|
+
description: "How much of an image the cover-crop may trim. Soft — exceeded minimally when nothing else fits.",
|
|
81
|
+
meta: {
|
|
82
|
+
constraints: { min: 0, max: 0.6 },
|
|
83
|
+
control: { flavor: "slider", step: 0.05 },
|
|
84
|
+
ui: { label: "Crop budget", order: 3 },
|
|
85
|
+
},
|
|
86
|
+
},
|
|
87
|
+
seed: {
|
|
88
|
+
type: "number",
|
|
89
|
+
required: true,
|
|
90
|
+
description: "Seed for the layout search's taste tie-breaks (which images become heroes, band rhythm). Same seed → same layout.",
|
|
91
|
+
meta: {
|
|
92
|
+
constraints: { min: 0, max: 9999 },
|
|
93
|
+
ui: { label: "Seed", order: 4 },
|
|
94
|
+
},
|
|
95
|
+
},
|
|
96
|
+
// ── Paging ──
|
|
97
|
+
maxImagesPerSheet: {
|
|
98
|
+
type: "number",
|
|
99
|
+
required: true,
|
|
100
|
+
description: "Images per sheet. Sets larger than this page into a multi-file pipeline (one PNG per page). 30 is a tuned default.",
|
|
101
|
+
meta: {
|
|
102
|
+
constraints: { min: 1, max: 200 },
|
|
103
|
+
ui: { label: "Max per sheet", order: 1 },
|
|
104
|
+
},
|
|
105
|
+
},
|
|
106
|
+
pageLattice: {
|
|
107
|
+
type: "string",
|
|
108
|
+
required: false,
|
|
109
|
+
description: 'Paged sets: "uniform" shares one mix-fitted lattice across pages (a designed set); "independent" re-searches per page (best per-page crops).',
|
|
110
|
+
meta: {
|
|
111
|
+
constraints: { oneOf: ["uniform", "independent"] },
|
|
112
|
+
ui: { label: "Page lattice", order: 2 },
|
|
113
|
+
},
|
|
114
|
+
},
|
|
115
|
+
// ── Style ──
|
|
116
|
+
background: {
|
|
117
|
+
type: "string",
|
|
118
|
+
required: false,
|
|
119
|
+
description: "Canvas background color (shows in gutters and margins).",
|
|
120
|
+
meta: {
|
|
121
|
+
constraints: { isColor: true },
|
|
122
|
+
control: { colorPicker: true },
|
|
123
|
+
ui: { label: "Background", order: 1 },
|
|
124
|
+
},
|
|
125
|
+
},
|
|
126
|
+
// ── Sizing (readability bounds — advanced) ──
|
|
127
|
+
minCellPx: {
|
|
128
|
+
type: "number",
|
|
129
|
+
required: false,
|
|
130
|
+
description: "Smallest typical cell scale in px (readability floor). Default 120.",
|
|
131
|
+
meta: { constraints: { min: 16, max: 2000 }, ui: { label: "Min cell (px)", order: 1 } },
|
|
132
|
+
},
|
|
133
|
+
maxCellPx: {
|
|
134
|
+
type: "number",
|
|
135
|
+
required: false,
|
|
136
|
+
description: "Largest typical cell scale in px. Default 320.",
|
|
137
|
+
meta: { constraints: { min: 16, max: 4000 }, ui: { label: "Max cell (px)", order: 2 } },
|
|
138
|
+
},
|
|
139
|
+
// ── Advanced px overrides (win over the ratio sliders above) ──
|
|
140
|
+
gutterPx: {
|
|
141
|
+
type: "number",
|
|
142
|
+
required: false,
|
|
143
|
+
description: "Explicit gutter in pixels (overrides Gutter; 0 = flush collage).",
|
|
144
|
+
meta: { control: { placeholder: "from Gutter fraction" }, constraints: { min: 0, max: 200 }, ui: { label: "Gutter (px)", order: 1 } },
|
|
145
|
+
},
|
|
146
|
+
marginPx: {
|
|
147
|
+
type: "number",
|
|
148
|
+
required: false,
|
|
149
|
+
description: "Explicit outer margin in pixels (overrides Margin; must not exceed the gutter).",
|
|
150
|
+
meta: { control: { placeholder: "from Margin fraction" }, constraints: { min: 0, max: 200 }, ui: { label: "Margin (px)", order: 2 } },
|
|
151
|
+
},
|
|
152
|
+
debugLayout: {
|
|
153
|
+
type: "boolean",
|
|
154
|
+
required: false,
|
|
155
|
+
description: "Dev-only layout contract: verify per-image aspect, lattice gutters, coverage and equal-size classes; on violation render a LAYOUT_CONTRACT error mosaic and stamp editor.layoutContract. Deterministic default false.",
|
|
156
|
+
meta: { ui: { label: "Debug layout", order: 1, collapsedByDefault: true } },
|
|
157
|
+
},
|
|
158
|
+
});
|
|
159
|
+
/** Demo mode: deterministic synthetic photos as labeled lavfi tiles. */
|
|
160
|
+
function demoInput() {
|
|
161
|
+
return {
|
|
162
|
+
aspects: demo_fixture_1.DEMO_IMAGES.map((d) => d.aspect),
|
|
163
|
+
sourceFor: (i) => ({
|
|
164
|
+
type: "lavfi",
|
|
165
|
+
color: demo_fixture_1.DEMO_IMAGES[i].color,
|
|
166
|
+
editor: { owner: "template", label: `img:${i}` },
|
|
167
|
+
}),
|
|
168
|
+
assetEntryFor: () => undefined,
|
|
169
|
+
};
|
|
170
|
+
}
|
|
171
|
+
/** Real mode: probed images from ctx.media, fail-fast on anything unusable. */
|
|
172
|
+
function mediaInput(sourceIds, ctx) {
|
|
173
|
+
var _a;
|
|
174
|
+
const problems = [];
|
|
175
|
+
const aspects = [];
|
|
176
|
+
const assetIds = [];
|
|
177
|
+
const entries = [];
|
|
178
|
+
for (const id of sourceIds) {
|
|
179
|
+
const meta = ctx.media[(0, types_1.asAssetId)(id)];
|
|
180
|
+
if (!meta || !(meta.width > 0) || !(meta.height > 0)) {
|
|
181
|
+
problems.push(`no probed dimensions for "${id}"`);
|
|
182
|
+
continue;
|
|
183
|
+
}
|
|
184
|
+
if (meta.kind !== "image") {
|
|
185
|
+
problems.push(`"${id}" is ${(_a = meta.kind) !== null && _a !== void 0 ? _a : "unknown"} - the collage packs images only (for now)`);
|
|
186
|
+
continue;
|
|
187
|
+
}
|
|
188
|
+
const assetId = String((0, types_1.asAssetId)((0, template_utils_1.slugifyAssetKeyFromPath)(id)));
|
|
189
|
+
aspects.push(meta.width / meta.height);
|
|
190
|
+
assetIds.push(assetId);
|
|
191
|
+
entries.push([assetId, { kind: "file", path: id, mediaType: "image" }]);
|
|
192
|
+
}
|
|
193
|
+
if (problems.length > 0)
|
|
194
|
+
return problems.join("; ");
|
|
195
|
+
return {
|
|
196
|
+
aspects,
|
|
197
|
+
sourceFor: (i) => ({
|
|
198
|
+
type: "media",
|
|
199
|
+
mediaType: "image",
|
|
200
|
+
assetId: assetIds[i],
|
|
201
|
+
editor: { owner: "template", label: `img:${i}` },
|
|
202
|
+
}),
|
|
203
|
+
assetEntryFor: (i) => entries[i],
|
|
204
|
+
};
|
|
205
|
+
}
|
|
206
|
+
/** The declared design intent, generated from the solved layout (GLOBAL labels). */
|
|
207
|
+
function collageContract(cells, expectedNullFrac, gutterPx) {
|
|
208
|
+
var _a;
|
|
209
|
+
const constraints = cells.map((c) => ({
|
|
210
|
+
label: `img:${c.imageIndex}`,
|
|
211
|
+
aspect: c.target.w / c.target.h,
|
|
212
|
+
aspectTolerance: 0.02,
|
|
213
|
+
}));
|
|
214
|
+
const allLabels = cells.map((c) => `img:${c.imageIndex}`);
|
|
215
|
+
const relations = [
|
|
216
|
+
{ label: allLabels, lattice: { gutterXPx: gutterPx, gutterYPx: gutterPx } },
|
|
217
|
+
{ label: allLabels, coverage: { expectedNullFrac } },
|
|
218
|
+
];
|
|
219
|
+
const byClass = new Map();
|
|
220
|
+
for (const c of cells) {
|
|
221
|
+
const entry = (_a = byClass.get(c.span.span)) !== null && _a !== void 0 ? _a : { labels: [], minPx: Infinity };
|
|
222
|
+
entry.labels.push(`img:${c.imageIndex}`);
|
|
223
|
+
entry.minPx = Math.min(entry.minPx, c.target.w, c.target.h);
|
|
224
|
+
byClass.set(c.span.span, entry);
|
|
225
|
+
}
|
|
226
|
+
for (const { labels, minPx } of byClass.values()) {
|
|
227
|
+
if (labels.length >= 2)
|
|
228
|
+
relations.push({ label: labels, equal: "size", tolerance: Math.max(0.02, 3 / Math.max(1, minPx)) });
|
|
229
|
+
}
|
|
230
|
+
return { constraints, relations };
|
|
231
|
+
}
|
|
232
|
+
/** Build one sheet's document from a page solve (labels/assets in GLOBAL indexes). */
|
|
233
|
+
function buildPageDoc(pageSolve, input, ctx, knobs) {
|
|
234
|
+
const { imageIndexes, solve } = pageSolve;
|
|
235
|
+
const layout = (0, emit_1.emitCollageLayout)({
|
|
236
|
+
placed: solve.placed,
|
|
237
|
+
cols: solve.candidate.cols,
|
|
238
|
+
rows: solve.candidate.rows,
|
|
239
|
+
canvasW: knobs.W,
|
|
240
|
+
canvasH: knobs.H,
|
|
241
|
+
gutterXPx: knobs.gutterPx,
|
|
242
|
+
gutterYPx: knobs.gutterPx,
|
|
243
|
+
marginPx: knobs.marginPx,
|
|
244
|
+
sourceFor: (local) => input.sourceFor(imageIndexes[local]),
|
|
245
|
+
});
|
|
246
|
+
// Globalize the cell mapping (the solve works in page-local indexes).
|
|
247
|
+
const cells = layout.cells.map((c) => ({ ...c, imageIndex: imageIndexes[c.imageIndex] }));
|
|
248
|
+
// Crop surfacing: per-image display labels + a page summary on the doc.
|
|
249
|
+
const cropByLocal = new Map(solve.assignments.map((a) => [a.imageIndex, a.cost]));
|
|
250
|
+
const labels = {};
|
|
251
|
+
layout.cells.forEach((c, i) => {
|
|
252
|
+
var _a;
|
|
253
|
+
const crop = (_a = cropByLocal.get(c.imageIndex)) !== null && _a !== void 0 ? _a : 0;
|
|
254
|
+
labels[c.stableKey] = `img:${cells[i].imageIndex} · ${c.span.span} · crop ${(crop * 100).toFixed(0)}%`;
|
|
255
|
+
});
|
|
256
|
+
const meanCropPct = (solve.metrics.meanCrop * 100).toFixed(1);
|
|
257
|
+
const pageNote = knobs.pageCount > 1 ? ` — page ${knobs.page}/${knobs.pageCount}` : "";
|
|
258
|
+
const editorLabel = `Image Collage${pageNote} · ${imageIndexes.length} images · mean crop ${meanCropPct}%`;
|
|
259
|
+
const assets = {};
|
|
260
|
+
for (const g of imageIndexes) {
|
|
261
|
+
const entry = input.assetEntryFor(g);
|
|
262
|
+
if (entry)
|
|
263
|
+
assets[entry[0]] = entry[1];
|
|
264
|
+
}
|
|
265
|
+
const doc = {
|
|
266
|
+
kind: "mosaic_document",
|
|
267
|
+
version: 1,
|
|
268
|
+
assets,
|
|
269
|
+
m0: layout.m0,
|
|
270
|
+
sources: layout.sources,
|
|
271
|
+
labels,
|
|
272
|
+
fps: ctx.target.fps,
|
|
273
|
+
durationMs: ctx.target.durationMs,
|
|
274
|
+
size: { width: knobs.W, height: knobs.H },
|
|
275
|
+
backgroundColor: knobs.background,
|
|
276
|
+
// Gate-26 convention: every rendered doc declares its format. A contact
|
|
277
|
+
// sheet is an opaque PNG still (the background is a solid fill).
|
|
278
|
+
format: { kind: "image", container: "png" },
|
|
279
|
+
editor: { label: editorLabel },
|
|
280
|
+
};
|
|
281
|
+
const { constraints, relations } = collageContract(cells, layout.expectedNullFrac, knobs.gutterPx);
|
|
282
|
+
return (0, template_utils_1.withLayoutContract)(doc, ctx, {
|
|
283
|
+
templateId: TEMPLATE_ID,
|
|
284
|
+
constraints,
|
|
285
|
+
relations,
|
|
286
|
+
debug: knobs.debugLayout,
|
|
287
|
+
});
|
|
288
|
+
}
|
|
289
|
+
exports.ImageCollage = {
|
|
290
|
+
id: (0, types_1.asTemplateId)(TEMPLATE_ID),
|
|
291
|
+
label: "Image Collage",
|
|
292
|
+
version: 1,
|
|
293
|
+
description: "Packs any set of photos into a designed contact sheet: a searched layout with hero, portrait and panorama cells sized to each image's aspect, even pixel gutters, and a soft crop budget so nothing is trimmed too hard. Big sets page into one PNG per sheet. With no images it shows a demo set.",
|
|
294
|
+
capabilities: { tier: "core" },
|
|
295
|
+
tags: ["media", "collage", "image", "layout-solver", "contact-sheet", "creators", "designers", "photos", "grid", "social"],
|
|
296
|
+
outputHints: { width: 1920, height: 1080, format: { kind: "image", container: "png" } },
|
|
297
|
+
propsSchema,
|
|
298
|
+
defaultProps: {
|
|
299
|
+
maxCellPx: 320,
|
|
300
|
+
minCellPx: 120,
|
|
301
|
+
pageLattice: "uniform",
|
|
302
|
+
gutter: 0.01,
|
|
303
|
+
margin: 1,
|
|
304
|
+
cropBudget: 0.3,
|
|
305
|
+
maxImagesPerSheet: 30,
|
|
306
|
+
seed: 1,
|
|
307
|
+
background: DEFAULT_BACKGROUND,
|
|
308
|
+
debugLayout: false,
|
|
309
|
+
},
|
|
310
|
+
async render(props, ctx) {
|
|
311
|
+
var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k;
|
|
312
|
+
const W = Math.max(1, Math.round(ctx.target.width));
|
|
313
|
+
const H = Math.max(1, Math.round(ctx.target.height));
|
|
314
|
+
const fail = (message) => (0, template_utils_1.makeErrorMosaic)(message, { title: "Image Collage", width: W, height: H });
|
|
315
|
+
// ── knobs ──
|
|
316
|
+
const gutterPx = props.gutterPx != null
|
|
317
|
+
? Math.max(0, Math.round(props.gutterPx))
|
|
318
|
+
: Math.max(0, Math.round(((_a = props.gutter) !== null && _a !== void 0 ? _a : 0.01) * Math.min(W, H)));
|
|
319
|
+
const marginPx = props.marginPx != null
|
|
320
|
+
? Math.max(0, Math.round(props.marginPx))
|
|
321
|
+
: Math.round(Math.max(0, Math.min(1, (_b = props.margin) !== null && _b !== void 0 ? _b : 1)) * gutterPx);
|
|
322
|
+
if (marginPx > gutterPx && props.marginPx != null)
|
|
323
|
+
return fail(
|
|
324
|
+
// ASCII only: makeErrorMosaic's drawtext card maps non-ASCII to "?".
|
|
325
|
+
`marginPx ${marginPx} exceeds the gutter ${gutterPx}px - margins beyond the gutter need an m0-level wrapper (not supported yet).`);
|
|
326
|
+
const cropBudget = Math.min(0.9, Math.max(0, (_c = props.cropBudget) !== null && _c !== void 0 ? _c : 0.3));
|
|
327
|
+
const minCellPx = Math.max(16, Math.round((_d = props.minCellPx) !== null && _d !== void 0 ? _d : 120));
|
|
328
|
+
const maxCellPx = Math.max(minCellPx, Math.round((_e = props.maxCellPx) !== null && _e !== void 0 ? _e : 320));
|
|
329
|
+
const seed = Math.floor((_f = props.seed) !== null && _f !== void 0 ? _f : 1);
|
|
330
|
+
const maxImagesPerSheet = Math.max(1, Math.round((_g = props.maxImagesPerSheet) !== null && _g !== void 0 ? _g : 30));
|
|
331
|
+
const background = (_h = props.background) !== null && _h !== void 0 ? _h : DEFAULT_BACKGROUND;
|
|
332
|
+
const debugLayout = props.debugLayout === true;
|
|
333
|
+
// ── inputs ──
|
|
334
|
+
const ids = ((_j = props.sourceIds) !== null && _j !== void 0 ? _j : []).map((s) => String(s).trim()).filter((s) => s.length > 0);
|
|
335
|
+
const input = ids.length === 0 ? demoInput() : mediaInput(ids, ctx);
|
|
336
|
+
if (typeof input === "string")
|
|
337
|
+
return fail(input);
|
|
338
|
+
// ── search (pages when the set outgrows one sheet) ──
|
|
339
|
+
let pages;
|
|
340
|
+
try {
|
|
341
|
+
pages = (0, paging_1.solvePages)({
|
|
342
|
+
canvasW: W,
|
|
343
|
+
canvasH: H,
|
|
344
|
+
gutterXPx: gutterPx,
|
|
345
|
+
gutterYPx: gutterPx,
|
|
346
|
+
marginPx,
|
|
347
|
+
minCellPx,
|
|
348
|
+
maxCellPx,
|
|
349
|
+
aspects: input.aspects,
|
|
350
|
+
seed,
|
|
351
|
+
cropBudget,
|
|
352
|
+
maxImagesPerSheet,
|
|
353
|
+
pageLattice: props.pageLattice === "independent" ? "independent" : "uniform",
|
|
354
|
+
});
|
|
355
|
+
}
|
|
356
|
+
catch {
|
|
357
|
+
return fail(`no lattice fits any sheet of ${input.aspects.length} image(s) on ${W}x${H} within cell bounds ` +
|
|
358
|
+
`[${minCellPx}, ${maxCellPx}]px - lower minCellPx or enlarge the canvas.`);
|
|
359
|
+
}
|
|
360
|
+
const knobs = { W, H, gutterPx, marginPx, background, debugLayout, pageCount: pages.length };
|
|
361
|
+
if (pages.length === 1)
|
|
362
|
+
return buildPageDoc(pages[0], input, ctx, { ...knobs, page: 1 });
|
|
363
|
+
const durationMs = (_k = ctx.target.durationMs) !== null && _k !== void 0 ? _k : 40;
|
|
364
|
+
const steps = pages.map((p, i) => ({
|
|
365
|
+
name: `page_${String(i + 1).padStart(2, "0")}`,
|
|
366
|
+
label: `page_${String(i + 1).padStart(2, "0")}`,
|
|
367
|
+
durationMs,
|
|
368
|
+
file: buildPageDoc(p, input, ctx, { ...knobs, page: i + 1 }),
|
|
369
|
+
}));
|
|
370
|
+
const pipeline = {
|
|
371
|
+
kind: "mosaic_pipeline",
|
|
372
|
+
version: 1,
|
|
373
|
+
emit: "multi",
|
|
374
|
+
steps,
|
|
375
|
+
};
|
|
376
|
+
return pipeline;
|
|
377
|
+
},
|
|
378
|
+
// The Make "?" walkthrough (gate 31, founder: "prepare a render tutorial.
|
|
379
|
+
// keep it simple on how to use. select images, or a folder of images").
|
|
380
|
+
// Three beats: pick photos or a folder → the sheet lays itself out → big
|
|
381
|
+
// sets page. Deterministic, media-free, own step timing.
|
|
382
|
+
renderTutorial(_props, ctx) {
|
|
383
|
+
return (0, tutorial_1.renderImageCollageTutorial)(ctx);
|
|
384
|
+
},
|
|
385
|
+
};
|
|
386
|
+
(0, template_utils_1.registerTemplate)(exports.ImageCollage);
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.ImageCollage = void 0;
|
|
4
|
+
var image_collage_1 = require("./image-collage");
|
|
5
|
+
Object.defineProperty(exports, "ImageCollage", { enumerable: true, get: function () { return image_collage_1.ImageCollage; } });
|