@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,615 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.ScreencapGridV2 = exports.fColor = exports.fEnum = exports.fNum = exports.fBool = void 0;
|
|
4
|
+
exports.paneLineEmBudget = paneLineEmBudget;
|
|
5
|
+
exports.ellipsizeMiddleEm = ellipsizeMiddleEm;
|
|
6
|
+
exports.computeGridTileRects = computeGridTileRects;
|
|
7
|
+
exports.customGridTileInset = customGridTileInset;
|
|
8
|
+
exports.renderScreencapGridV2 = renderScreencapGridV2;
|
|
9
|
+
const types_1 = require("@m0saic/types");
|
|
10
|
+
const dsl_stdlib_1 = require("@m0saic/dsl-stdlib");
|
|
11
|
+
const dsl_1 = require("@m0saic/dsl");
|
|
12
|
+
const template_utils_1 = require("@m0saic/template-utils");
|
|
13
|
+
// Editor-only onboarding surfaces (renderCover / renderTutorial). Kept in
|
|
14
|
+
// sibling modules so this file stays about the grid itself.
|
|
15
|
+
const screencap_grid_cover_1 = require("./screencap-grid-cover");
|
|
16
|
+
const screencap_grid_tutorial_1 = require("./screencap-grid-tutorial");
|
|
17
|
+
// Import internal subtemplate for registration side-effect
|
|
18
|
+
const info_pane_1 = require("../internal/info_pane");
|
|
19
|
+
// Shared, math-neutral helpers hosted by the (deprecated) v1 module — the
|
|
20
|
+
// same reuse the aspect-safe sibling does. The deprecated part of v1 is its
|
|
21
|
+
// ideal-cell inset math, not these formatters.
|
|
22
|
+
const screencap_grid_1 = require("../v1/screencap-grid");
|
|
23
|
+
const SCREENCAP_GRID_V2_ID = "@m0saic/media/screencap_grid/v2";
|
|
24
|
+
// Tiny field-entry helpers (the alpine `_shared/alpine-anim` shapes, kept
|
|
25
|
+
// local — the media pack doesn't import alpine's shared module).
|
|
26
|
+
/* eslint-disable @typescript-eslint/no-explicit-any */
|
|
27
|
+
const fBool = (label, description = "") => ({ type: "boolean", required: false, description, meta: { ui: { label } } });
|
|
28
|
+
exports.fBool = fBool;
|
|
29
|
+
const fNum = (label, description = "", control, constraints) => ({ type: "number", required: false, description, meta: { ...(constraints ? { constraints } : {}), ...(control ? { control } : {}), ui: { label } } });
|
|
30
|
+
exports.fNum = fNum;
|
|
31
|
+
const fEnum = (label, oneOf, description = "") => ({ type: "string", required: false, description, meta: { constraints: { oneOf }, ui: { label } } });
|
|
32
|
+
exports.fEnum = fEnum;
|
|
33
|
+
const fColor = (label, description = "") => ({ type: "string", required: false, description, meta: { constraints: { isColor: true }, control: { colorPicker: true }, ui: { label } } });
|
|
34
|
+
exports.fColor = fColor;
|
|
35
|
+
const propsSchema = (0, template_utils_1.definePropsSchema)({
|
|
36
|
+
// The one source input. One required "Source(s)" field that takes a
|
|
37
|
+
// folder, one or many files, or drag-and-drop. A single file renders one
|
|
38
|
+
// grid; multiple fan out as an `emit: "multi"` pipeline (one render per
|
|
39
|
+
// file).
|
|
40
|
+
sourceIds: {
|
|
41
|
+
type: "media[]",
|
|
42
|
+
required: true,
|
|
43
|
+
description: "Source video(s) for the grid — pick a folder, one or more files, or drag-and-drop. One render per file (emit:multi when >1).",
|
|
44
|
+
meta: {
|
|
45
|
+
ui: { label: "Source(s)", order: 1 },
|
|
46
|
+
control: { multiple: true, picker: "folder", accept: ["video"] },
|
|
47
|
+
},
|
|
48
|
+
},
|
|
49
|
+
// Reserved prop-bag convention (trickplay precedent): a prop named
|
|
50
|
+
// `outputFormat` holding a container name drives the Make page's Output
|
|
51
|
+
// Type + container + default output extension.
|
|
52
|
+
outputFormat: {
|
|
53
|
+
type: "string",
|
|
54
|
+
required: false,
|
|
55
|
+
description: 'Deliverable format. "png" renders a static contact sheet; "mp4" renders an animated grid where each tile plays from its timestamp.',
|
|
56
|
+
meta: {
|
|
57
|
+
constraints: { oneOf: ["png", "mp4"] },
|
|
58
|
+
ui: { label: "Output", order: 1 },
|
|
59
|
+
},
|
|
60
|
+
},
|
|
61
|
+
rows: {
|
|
62
|
+
type: "number",
|
|
63
|
+
required: false,
|
|
64
|
+
description: "Number of rows in the screenshot grid.",
|
|
65
|
+
meta: { constraints: { min: 1, max: 20 }, ui: { label: "Rows", order: 1 } },
|
|
66
|
+
},
|
|
67
|
+
cols: {
|
|
68
|
+
type: "number",
|
|
69
|
+
required: false,
|
|
70
|
+
description: "Number of columns in the screenshot grid.",
|
|
71
|
+
meta: { constraints: { min: 1, max: 20 }, ui: { label: "Cols", order: 2 } },
|
|
72
|
+
},
|
|
73
|
+
// ── Collapsible groups (`type:"group"` + `fields` — folds in Make AND
|
|
74
|
+
// Compose; the one grouping mechanism). ──
|
|
75
|
+
infoPane: {
|
|
76
|
+
type: "group",
|
|
77
|
+
required: false,
|
|
78
|
+
description: "Info pane with filename + ffprobe metadata above the grid.",
|
|
79
|
+
meta: { ui: { label: "Info Pane", order: 3, collapsedByDefault: true } },
|
|
80
|
+
fields: {
|
|
81
|
+
show: (0, exports.fBool)("Show", "Show the info pane above the grid."),
|
|
82
|
+
align: (0, exports.fEnum)("Align", ["left", "center", "right"], "Alignment of the pane text (filename + metadata)."),
|
|
83
|
+
},
|
|
84
|
+
},
|
|
85
|
+
timestamps: {
|
|
86
|
+
type: "group",
|
|
87
|
+
required: false,
|
|
88
|
+
description: "Per-tile timestamp chip.",
|
|
89
|
+
meta: { ui: { label: "Timestamps", order: 4, collapsedByDefault: true } },
|
|
90
|
+
fields: {
|
|
91
|
+
show: (0, exports.fBool)("Show", "Overlay a timestamp in each tile."),
|
|
92
|
+
corner: (0, exports.fEnum)("Corner", ["tl", "tr", "bl", "br"], "Which corner the chip sits in."),
|
|
93
|
+
color: (0, exports.fColor)("Color", "Timestamp text color."),
|
|
94
|
+
bgColor: (0, exports.fColor)("Background", "Chip background behind the glyphs. Defaults to black; \"none\" is transparent."),
|
|
95
|
+
},
|
|
96
|
+
},
|
|
97
|
+
tiles: {
|
|
98
|
+
type: "group",
|
|
99
|
+
required: false,
|
|
100
|
+
description: "Tile gap + fill behavior.",
|
|
101
|
+
meta: { ui: { label: "Tiles", order: 5, collapsedByDefault: true } },
|
|
102
|
+
fields: {
|
|
103
|
+
gapPx: (0, exports.fNum)("Gap (px)", "Gap between tiles, in pixels (exact at every canvas).", { flavor: "slider", step: 1, unit: "px" }, { min: 0, max: 40 }),
|
|
104
|
+
fit: (0, exports.fEnum)("Fit", ["cover", "contain"], "cover crops to fill; contain letterboxes the whole frame."),
|
|
105
|
+
},
|
|
106
|
+
},
|
|
107
|
+
advanced: {
|
|
108
|
+
type: "group",
|
|
109
|
+
required: false,
|
|
110
|
+
description: "Escape hatches.",
|
|
111
|
+
meta: { ui: { label: "Advanced", order: 6, collapsedByDefault: true } },
|
|
112
|
+
fields: {
|
|
113
|
+
customGrid: {
|
|
114
|
+
type: "m0",
|
|
115
|
+
required: false,
|
|
116
|
+
description: "Custom m0 layout for the grid (overrides rows/cols). One tile is bound per cell, in order — give some cells emphasis by sizing them. Other knobs still apply.",
|
|
117
|
+
meta: { control: { placeholder: "e.g. 2(3(F,F,F),3(F,>,F))" }, ui: { label: "Custom Grid" } },
|
|
118
|
+
},
|
|
119
|
+
},
|
|
120
|
+
},
|
|
121
|
+
debugGeometry: {
|
|
122
|
+
type: "boolean",
|
|
123
|
+
required: false,
|
|
124
|
+
description: "Dev-only geometry contract: assert every tile's computed rect survived to the pixels at this canvas; on violation render a GEOMETRY_CONTRACT error mosaic. Deterministic default false; production never sets it.",
|
|
125
|
+
meta: { ui: { label: "Debug geometry", order: 1, collapsedByDefault: true } },
|
|
126
|
+
},
|
|
127
|
+
});
|
|
128
|
+
// ---- INFO-PANE TEXT FIT ----
|
|
129
|
+
/** The info pane's horizontal text padding fraction (info_pane.ts `padding.x`). */
|
|
130
|
+
const PANE_PAD_X = 0.015;
|
|
131
|
+
/** Average-glyph width heuristic — the tutorial text-fit contract constant. */
|
|
132
|
+
const EM_WIDTH_RATIO = 0.62;
|
|
133
|
+
/** Em budget for one pane line at this canvas width and font size. */
|
|
134
|
+
function paneLineEmBudget(canvasW, fontSize) {
|
|
135
|
+
return (canvasW * (1 - 2 * PANE_PAD_X)) / (fontSize * EM_WIDTH_RATIO);
|
|
136
|
+
}
|
|
137
|
+
/**
|
|
138
|
+
* Middle-ellipsize to an em budget, keeping the TAIL — for filenames, where
|
|
139
|
+
* the extension and trailing qualifiers are the part worth preserving.
|
|
140
|
+
* Script-aware via `textEmUnits` (CJK counts wide). Half-unit tolerance so
|
|
141
|
+
* exact-budget strings keep their last char (the donut fitToHole lesson).
|
|
142
|
+
*/
|
|
143
|
+
function ellipsizeMiddleEm(text, maxUnits) {
|
|
144
|
+
if ((0, template_utils_1.textEmUnits)(text) <= maxUnits + 0.5)
|
|
145
|
+
return text;
|
|
146
|
+
const chars = [...text];
|
|
147
|
+
const tailChars = chars.slice(-10);
|
|
148
|
+
const tailUnits = (0, template_utils_1.textEmUnits)(tailChars.join(""));
|
|
149
|
+
let head = "";
|
|
150
|
+
let used = 1 + tailUnits; // the ellipsis + the kept tail
|
|
151
|
+
for (const ch of chars) {
|
|
152
|
+
const u = (0, template_utils_1.textEmUnits)(ch);
|
|
153
|
+
if (used + u > maxUnits)
|
|
154
|
+
break;
|
|
155
|
+
head += ch;
|
|
156
|
+
used += u;
|
|
157
|
+
}
|
|
158
|
+
return `${head}…${tailChars.join("")}`;
|
|
159
|
+
}
|
|
160
|
+
/**
|
|
161
|
+
* Exact integer tile rects for a rows × cols grid filling the region below
|
|
162
|
+
* the info pane. Cell boundaries are proportional rounds of the region
|
|
163
|
+
* (`round(i · span / n)` — cells differ by at most 1px); interior boundaries
|
|
164
|
+
* carve the gap `floor(gap/2)` / `ceil(gap/2)` between the two neighbors so
|
|
165
|
+
* adjacent painted tiles are EXACTLY `tileGapPx` apart (odd gaps included).
|
|
166
|
+
* Outer edges are full-bleed (row 0 hugs the pane; the grid runs edge to
|
|
167
|
+
* edge). The gap is clamped per axis so no tile collapses below 1px.
|
|
168
|
+
*
|
|
169
|
+
* Row-major order (matches the tile → timestamp source pairing).
|
|
170
|
+
*/
|
|
171
|
+
function computeGridTileRects(args) {
|
|
172
|
+
const { canvasW, canvasH, paneHeightPx, rows, cols, tileGapPx } = args;
|
|
173
|
+
const gridH = canvasH - paneHeightPx;
|
|
174
|
+
const xs = Array.from({ length: cols + 1 }, (_, c) => Math.round((c * canvasW) / cols));
|
|
175
|
+
const ys = Array.from({ length: rows + 1 }, (_, r) => paneHeightPx + Math.round((r * gridH) / rows));
|
|
176
|
+
const minSpan = (b) => Math.min(...b.slice(1).map((v, i) => v - b[i]));
|
|
177
|
+
const gapX = Math.max(0, Math.min(tileGapPx, minSpan(xs) - 1));
|
|
178
|
+
const gapY = Math.max(0, Math.min(tileGapPx, minSpan(ys) - 1));
|
|
179
|
+
const lead = (g) => Math.floor(g / 2);
|
|
180
|
+
const trail = (g) => Math.ceil(g / 2);
|
|
181
|
+
const rects = [];
|
|
182
|
+
for (let r = 0; r < rows; r++) {
|
|
183
|
+
const y = ys[r] + (r > 0 ? lead(gapY) : 0);
|
|
184
|
+
const y2 = ys[r + 1] - (r < rows - 1 ? trail(gapY) : 0);
|
|
185
|
+
for (let c = 0; c < cols; c++) {
|
|
186
|
+
const x = xs[c] + (c > 0 ? lead(gapX) : 0);
|
|
187
|
+
const x2 = xs[c + 1] - (c < cols - 1 ? trail(gapX) : 0);
|
|
188
|
+
rects.push({ x, y, w: x2 - x, h: y2 - y });
|
|
189
|
+
}
|
|
190
|
+
}
|
|
191
|
+
return rects;
|
|
192
|
+
}
|
|
193
|
+
/**
|
|
194
|
+
* Engine cap on a `placement.inset` edge fraction (core `assertFrac`).
|
|
195
|
+
* Mirrors `placeInsetRects`' guard — an emitted fraction above this would
|
|
196
|
+
* throw at render, so the carve is dropped on that axis instead.
|
|
197
|
+
*/
|
|
198
|
+
const INSET_CAP = 0.49;
|
|
199
|
+
/**
|
|
200
|
+
* Per-frame gap inset for the CUSTOM-grid path, from the frame's ACTUAL
|
|
201
|
+
* rendered dims. Half-pixel-centered per side (`(n + 0.5) / dim` — plain
|
|
202
|
+
* `n / dim` floor-loses; see `placeInsetRects`), floor/ceil-split so a
|
|
203
|
+
* shared boundary's two carves sum to exactly `gapPx`, and edge-aware:
|
|
204
|
+
* sides on the grid-region boundary stay flush (full-bleed). Carves that
|
|
205
|
+
* would collapse the tile below 1px, or exceed the engine's inset cap,
|
|
206
|
+
* drop that axis's carve. Returns undefined when no side carves.
|
|
207
|
+
*/
|
|
208
|
+
function customGridTileInset(frame, gapPx, regionW, regionH) {
|
|
209
|
+
if (gapPx <= 0 || frame.width <= 0 || frame.height <= 0)
|
|
210
|
+
return undefined;
|
|
211
|
+
const lead = Math.floor(gapPx / 2);
|
|
212
|
+
const trail = Math.ceil(gapPx / 2);
|
|
213
|
+
// A frame's left/top edge carves `lead`, its right/bottom edge `trail` —
|
|
214
|
+
// the neighbor across the boundary carves the complement, summing to gapPx.
|
|
215
|
+
let left = frame.x > 0 ? lead : 0;
|
|
216
|
+
let right = frame.x + frame.width < regionW ? trail : 0;
|
|
217
|
+
let top = frame.y > 0 ? lead : 0;
|
|
218
|
+
let bottom = frame.y + frame.height < regionH ? trail : 0;
|
|
219
|
+
const frac = (n, dim) => (n === 0 ? 0 : (n + 0.5) / dim);
|
|
220
|
+
const axisOk = (a, b, dim) => a + b < dim && frac(a, dim) <= INSET_CAP && frac(b, dim) <= INSET_CAP;
|
|
221
|
+
if (!axisOk(left, right, frame.width)) {
|
|
222
|
+
left = 0;
|
|
223
|
+
right = 0;
|
|
224
|
+
}
|
|
225
|
+
if (!axisOk(top, bottom, frame.height)) {
|
|
226
|
+
top = 0;
|
|
227
|
+
bottom = 0;
|
|
228
|
+
}
|
|
229
|
+
if (left === 0 && right === 0 && top === 0 && bottom === 0)
|
|
230
|
+
return undefined;
|
|
231
|
+
return {
|
|
232
|
+
top: frac(top, frame.height),
|
|
233
|
+
right: frac(right, frame.width),
|
|
234
|
+
bottom: frac(bottom, frame.height),
|
|
235
|
+
left: frac(left, frame.width),
|
|
236
|
+
};
|
|
237
|
+
}
|
|
238
|
+
/** Resolve the render mode from the `outputFormat` knob (default png/static). */
|
|
239
|
+
function resolveMode(props) {
|
|
240
|
+
return props.outputFormat === "mp4" ? "animated" : "static";
|
|
241
|
+
}
|
|
242
|
+
/**
|
|
243
|
+
* The output format each rendered document declares for its mode. Baked
|
|
244
|
+
* per-doc (watermark/trickplay's per-step-format precedent) so under
|
|
245
|
+
* `emit: "multi"` every step switches the command build into the right
|
|
246
|
+
* graph mode, and hosts reading the resolved renderable (e.g. the Run
|
|
247
|
+
* view's extension pick) see the authored container.
|
|
248
|
+
*/
|
|
249
|
+
function formatForMode(mode) {
|
|
250
|
+
return mode === "animated"
|
|
251
|
+
? { kind: "video", container: "mp4" }
|
|
252
|
+
: { kind: "image", container: "png" };
|
|
253
|
+
}
|
|
254
|
+
/**
|
|
255
|
+
* Resolve the effective input list from props. Returns `[]` when
|
|
256
|
+
* `sourceIds` is empty/unset — callers surface that as a fail-fast error.
|
|
257
|
+
*/
|
|
258
|
+
function resolveInputs(props) {
|
|
259
|
+
if (props.sourceIds && props.sourceIds.length > 0)
|
|
260
|
+
return props.sourceIds;
|
|
261
|
+
return [];
|
|
262
|
+
}
|
|
263
|
+
/**
|
|
264
|
+
* Resolve grouped props → the flat internal knob shape. Precedence per knob:
|
|
265
|
+
* grouped value → legacy flat value (see {@link ScreencapGridV2LegacyProps})
|
|
266
|
+
* → default. The gap additionally bridges v1's even-older FRACTIONAL
|
|
267
|
+
* `tileGap` (≈ fraction of a 1080p-ish cell) so ancient docs don't snap to 0.
|
|
268
|
+
*/
|
|
269
|
+
function resolveV2Knobs(props) {
|
|
270
|
+
var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l, _m, _o, _p, _q, _r, _s, _t, _u, _v, _w, _x, _y, _z, _0, _1, _2;
|
|
271
|
+
const legacy = props;
|
|
272
|
+
const gapPx = (_b = (_a = props.tiles) === null || _a === void 0 ? void 0 : _a.gapPx) !== null && _b !== void 0 ? _b : legacy.tileGapPx;
|
|
273
|
+
const legacyFraction = typeof legacy.tileGap === "number" && legacy.tileGap > 0
|
|
274
|
+
? Math.round(legacy.tileGap * 480)
|
|
275
|
+
: undefined;
|
|
276
|
+
return {
|
|
277
|
+
rows: (_c = props.rows) !== null && _c !== void 0 ? _c : 4,
|
|
278
|
+
cols: (_d = props.cols) !== null && _d !== void 0 ? _d : 4,
|
|
279
|
+
withInfoPane: (_g = (_f = (_e = props.infoPane) === null || _e === void 0 ? void 0 : _e.show) !== null && _f !== void 0 ? _f : legacy.withInfoPane) !== null && _g !== void 0 ? _g : true,
|
|
280
|
+
headerAlign: (_k = (_j = (_h = props.infoPane) === null || _h === void 0 ? void 0 : _h.align) !== null && _j !== void 0 ? _j : legacy.headerAlign) !== null && _k !== void 0 ? _k : "left",
|
|
281
|
+
withTileTimestamp: (_o = (_m = (_l = props.timestamps) === null || _l === void 0 ? void 0 : _l.show) !== null && _m !== void 0 ? _m : legacy.withTileTimestamp) !== null && _o !== void 0 ? _o : true,
|
|
282
|
+
timestampCorner: (_r = (_q = (_p = props.timestamps) === null || _p === void 0 ? void 0 : _p.corner) !== null && _q !== void 0 ? _q : legacy.timestampCorner) !== null && _r !== void 0 ? _r : "br",
|
|
283
|
+
timestampColor: (_u = (_t = (_s = props.timestamps) === null || _s === void 0 ? void 0 : _s.color) !== null && _t !== void 0 ? _t : legacy.timestampColor) !== null && _u !== void 0 ? _u : "#ffffff",
|
|
284
|
+
timestampBgColor: (_x = (_w = (_v = props.timestamps) === null || _v === void 0 ? void 0 : _v.bgColor) !== null && _w !== void 0 ? _w : legacy.timestampBgColor) !== null && _x !== void 0 ? _x : "#000000",
|
|
285
|
+
tileGapPx: typeof gapPx === "number" && gapPx >= 0 ? gapPx : (legacyFraction !== null && legacyFraction !== void 0 ? legacyFraction : 2),
|
|
286
|
+
tileFit: (_0 = (_z = (_y = props.tiles) === null || _y === void 0 ? void 0 : _y.fit) !== null && _z !== void 0 ? _z : legacy.tileFit) !== null && _0 !== void 0 ? _0 : "cover",
|
|
287
|
+
customGridRaw: (_2 = (_1 = props.advanced) === null || _1 === void 0 ? void 0 : _1.customGrid) !== null && _2 !== void 0 ? _2 : legacy.customGrid,
|
|
288
|
+
};
|
|
289
|
+
}
|
|
290
|
+
/**
|
|
291
|
+
* Resolve the optional custom-grid m0. Accepts a bare m0 or a pasted `.m0`
|
|
292
|
+
* file — strips `#` header comment lines and blank lines. Returns null when
|
|
293
|
+
* empty (use the generated rows × cols grid).
|
|
294
|
+
*/
|
|
295
|
+
function resolveCustomGrid(raw) {
|
|
296
|
+
if (!raw)
|
|
297
|
+
return null;
|
|
298
|
+
const m0 = raw
|
|
299
|
+
.split("\n")
|
|
300
|
+
.map((l) => l.trim())
|
|
301
|
+
.filter((l) => l.length > 0 && !l.startsWith("#"))
|
|
302
|
+
.join("");
|
|
303
|
+
return m0.length > 0 ? m0 : null;
|
|
304
|
+
}
|
|
305
|
+
/**
|
|
306
|
+
* Top-level dispatcher.
|
|
307
|
+
*
|
|
308
|
+
* - 0 inputs → fail-fast error mosaic.
|
|
309
|
+
* - 1 input → single `MosaicDocument`.
|
|
310
|
+
* - N inputs → `MosaicDocumentPipeline` with `emit: "multi"`,
|
|
311
|
+
* one step per input.
|
|
312
|
+
*
|
|
313
|
+
* The `outputFormat` knob picks the mode: png → static contact sheet,
|
|
314
|
+
* mp4 → animated grid.
|
|
315
|
+
*/
|
|
316
|
+
async function renderScreencapGridV2(props, ctx) {
|
|
317
|
+
const mode = resolveMode(props);
|
|
318
|
+
const inputs = resolveInputs(props);
|
|
319
|
+
if (inputs.length === 0) {
|
|
320
|
+
return (0, template_utils_1.makeErrorMosaic)('Missing required "Source(s)": pick a folder, one or more files, or drag-and-drop.', {
|
|
321
|
+
title: "Screencap Grid",
|
|
322
|
+
width: ctx.target.width,
|
|
323
|
+
height: ctx.target.height,
|
|
324
|
+
});
|
|
325
|
+
}
|
|
326
|
+
if (inputs.length === 1) {
|
|
327
|
+
return renderScreencapGridForInput(inputs[0], props, ctx, mode);
|
|
328
|
+
}
|
|
329
|
+
return buildMultiInputPipeline(inputs, props, ctx, mode);
|
|
330
|
+
}
|
|
331
|
+
/**
|
|
332
|
+
* Build the `emit: "multi"` pipeline that fans out to one render per
|
|
333
|
+
* input. Each step's `file` is a single-input MosaicDocument; the step's
|
|
334
|
+
* `name` and `label` are derived from the input filename so the CLI's
|
|
335
|
+
* `--output-pattern {{label}}` slot has something meaningful to write.
|
|
336
|
+
*/
|
|
337
|
+
async function buildMultiInputPipeline(inputs, props, ctx, mode) {
|
|
338
|
+
var _a;
|
|
339
|
+
const stepNames = (0, template_utils_1.buildStepNames)(inputs);
|
|
340
|
+
// Static sheets are single-frame renders — a fixed nominal duration
|
|
341
|
+
// (trickplay's image-step precedent); animated steps track the target.
|
|
342
|
+
const stepDurationMs = mode === "animated" ? ((_a = ctx.target.durationMs) !== null && _a !== void 0 ? _a : 5000) : 40;
|
|
343
|
+
const steps = [];
|
|
344
|
+
for (let i = 0; i < inputs.length; i++) {
|
|
345
|
+
const file = await renderScreencapGridForInput(inputs[i], props, ctx, mode);
|
|
346
|
+
steps.push({
|
|
347
|
+
name: stepNames[i],
|
|
348
|
+
label: stepNames[i],
|
|
349
|
+
durationMs: stepDurationMs,
|
|
350
|
+
file,
|
|
351
|
+
});
|
|
352
|
+
}
|
|
353
|
+
return {
|
|
354
|
+
kind: "mosaic_pipeline",
|
|
355
|
+
version: 1,
|
|
356
|
+
emit: "multi",
|
|
357
|
+
steps,
|
|
358
|
+
};
|
|
359
|
+
}
|
|
360
|
+
/**
|
|
361
|
+
* Render a single screencap-grid document for one input path. Pulled out
|
|
362
|
+
* of {@link renderScreencapGridV2} so the multi-input path can reuse it
|
|
363
|
+
* per input.
|
|
364
|
+
*/
|
|
365
|
+
async function renderScreencapGridForInput(sourceId, props, ctx, mode) {
|
|
366
|
+
var _a, _b, _c;
|
|
367
|
+
// `sourceId` is, by current convention, whatever string the caller
|
|
368
|
+
// passed (in the editor / CLI today this is an absolute filesystem path,
|
|
369
|
+
// not a clean id). `ctx.media` is keyed by that same raw string, so the
|
|
370
|
+
// metadata probe has to use it as-is. But the OUTGOING manifest key must
|
|
371
|
+
// be a safe slug — paths with spaces / drive letters / Unicode would fail
|
|
372
|
+
// ASSET_KEY_PATTERN at plan-build.
|
|
373
|
+
const ctxMediaKey = (0, types_1.asAssetId)(sourceId);
|
|
374
|
+
const sourceAssetId = (0, types_1.asAssetId)((0, template_utils_1.slugifyAssetKeyFromPath)(sourceId));
|
|
375
|
+
const meta = ctx.media[ctxMediaKey];
|
|
376
|
+
const { rows, cols, withInfoPane, headerAlign, withTileTimestamp, timestampCorner, timestampColor, timestampBgColor, tileGapPx, tileFit, customGridRaw, } = resolveV2Knobs(props);
|
|
377
|
+
const canvasW = ctx.target.width;
|
|
378
|
+
const canvasH = ctx.target.height;
|
|
379
|
+
// Escape hatch: a custom m0 layout replaces the generated rows × cols grid.
|
|
380
|
+
const customGridM0 = resolveCustomGrid(customGridRaw);
|
|
381
|
+
if (customGridM0 && !(0, dsl_1.isValidM0String)(customGridM0)) {
|
|
382
|
+
return (0, template_utils_1.makeErrorMosaic)("Custom Grid is not a valid m0 string.", {
|
|
383
|
+
title: "Screencap Grid",
|
|
384
|
+
width: canvasW,
|
|
385
|
+
height: canvasH,
|
|
386
|
+
});
|
|
387
|
+
}
|
|
388
|
+
const children = {};
|
|
389
|
+
// Info-pane header height (px). Content-driven; fonts are baked from the
|
|
390
|
+
// FULL canvas height (see info_pane.ts), so the pane height and its font
|
|
391
|
+
// sizes stay consistent.
|
|
392
|
+
let paneHeightPx = 0;
|
|
393
|
+
let infoTitle = "";
|
|
394
|
+
let infoMeta = "";
|
|
395
|
+
if (withInfoPane) {
|
|
396
|
+
const info = meta
|
|
397
|
+
? (0, screencap_grid_1.formatInfoLines)(sourceId, meta)
|
|
398
|
+
: { title: `No metadata for sourceId=${sourceId}`, metadata: "", metaLineCount: 0 };
|
|
399
|
+
const ratio = Math.max(0.03, Math.min(0.25, (0, screencap_grid_1.estimateInfoPaneHeight)(canvasH, info.metaLineCount) / canvasH));
|
|
400
|
+
// Floor at 1px so `withInfoPane` always reserves a pane frame — keeps
|
|
401
|
+
// the source array aligned with the rendered frames even on
|
|
402
|
+
// pathologically small canvases.
|
|
403
|
+
paneHeightPx = Math.max(1, Math.round(canvasH * ratio));
|
|
404
|
+
// Fit-first: the pane draws LITERAL text at fixed fonts — a long
|
|
405
|
+
// filename or a dense metadata line overruns the canvas silently in
|
|
406
|
+
// the CLI (the gate-16 text-clip class). Title keeps its tail (the
|
|
407
|
+
// extension is the informative part); metadata lines end-ellipsize.
|
|
408
|
+
// Never print a filesystem PATH as the title: when originalFileName is
|
|
409
|
+
// absent (thin host probes), formatInfoLines falls back to the raw
|
|
410
|
+
// sourceId — basename-ify before fitting (string split; node:path is
|
|
411
|
+
// web-forbidden here).
|
|
412
|
+
const titleBase = ((_a = info.title.split("/").pop()) === null || _a === void 0 ? void 0 : _a.split("\\").pop()) || info.title;
|
|
413
|
+
infoTitle = ellipsizeMiddleEm(titleBase, paneLineEmBudget(canvasW, (0, screencap_grid_1.infoPaneTitleFontSize)(canvasH)));
|
|
414
|
+
const metaBudget = paneLineEmBudget(canvasW, (0, screencap_grid_1.infoPaneMetaFontSize)(canvasH));
|
|
415
|
+
infoMeta = info.metadata
|
|
416
|
+
.split("\n")
|
|
417
|
+
.map((l) => ((0, template_utils_1.textEmUnits)(l) <= metaBudget + 0.5 ? l : (0, template_utils_1.fitEmUnits)(l, metaBudget)))
|
|
418
|
+
.join("\n");
|
|
419
|
+
}
|
|
420
|
+
// The grid always fills the canvas: full width × the area below the info
|
|
421
|
+
// pane. Fail fast when the canvas cannot give every row/col at least 1px.
|
|
422
|
+
const gridH = canvasH - paneHeightPx;
|
|
423
|
+
if (!customGridM0 && (gridH < rows || canvasW < cols)) {
|
|
424
|
+
return (0, template_utils_1.makeErrorMosaic)(`Canvas ${canvasW}×${canvasH} is too small for a ${rows}×${cols} grid${withInfoPane ? " below the info pane" : ""}.`, { title: "Screencap Grid", width: canvasW, height: canvasH });
|
|
425
|
+
}
|
|
426
|
+
if (withInfoPane) {
|
|
427
|
+
// The info pane spans the full canvas width; height stays canvasH so
|
|
428
|
+
// drawtext font sizes match estimateInfoPaneHeight's assumptions (the
|
|
429
|
+
// child rasterizes at its parent frame size regardless).
|
|
430
|
+
const infoPaneFile = await (0, template_utils_1.renderNestedTemplate)(info_pane_1.INFO_PANE_TEMPLATE_ID, { title: infoTitle, metadata: infoMeta, paneHeight: paneHeightPx, align: headerAlign }, ctx, { slot: { width: canvasW, height: canvasH } });
|
|
431
|
+
children["info-pane"] = infoPaneFile;
|
|
432
|
+
}
|
|
433
|
+
const isVideo = (meta === null || meta === void 0 ? void 0 : meta.kind) === "video" && meta.durationMs != null && meta.durationMs > 0;
|
|
434
|
+
const mediaType = (meta === null || meta === void 0 ? void 0 : meta.kind) === "video"
|
|
435
|
+
? "video"
|
|
436
|
+
: (meta === null || meta === void 0 ? void 0 : meta.kind) === "audio"
|
|
437
|
+
? "audio"
|
|
438
|
+
: "image";
|
|
439
|
+
const frameMs = Math.max(1, Math.round(1000 / ((_c = (_b = meta === null || meta === void 0 ? void 0 : meta.fps) !== null && _b !== void 0 ? _b : ctx.target.fps) !== null && _c !== void 0 ? _c : 30)));
|
|
440
|
+
// The pane child rasterizes at full canvas height with its text in the
|
|
441
|
+
// top strip; a top-anchored cover crop (focusY: 0) shows exactly that
|
|
442
|
+
// strip in the ~paneHeightPx cell. The default contain fit would scale
|
|
443
|
+
// the whole full-height frame down into the cell (≈2px text).
|
|
444
|
+
const paneSource = {
|
|
445
|
+
type: "mosaic",
|
|
446
|
+
ref: "info-pane",
|
|
447
|
+
placement: { fit: "cover", focusY: 0 },
|
|
448
|
+
};
|
|
449
|
+
const mediaTileSource = (t, inset) => ({
|
|
450
|
+
type: "media",
|
|
451
|
+
mediaType,
|
|
452
|
+
assetId: sourceAssetId,
|
|
453
|
+
placement: { fit: tileFit, ...(inset ? { inset } : {}) },
|
|
454
|
+
...(isVideo
|
|
455
|
+
? {
|
|
456
|
+
playback: mode === "animated"
|
|
457
|
+
? { clipStartMs: t }
|
|
458
|
+
: { clipStartMs: t, clipDurationMs: frameMs, loopMode: "freeze" },
|
|
459
|
+
audio: { enabled: false },
|
|
460
|
+
}
|
|
461
|
+
: {}),
|
|
462
|
+
editor: { owner: "template" },
|
|
463
|
+
});
|
|
464
|
+
const timestampSource = (t) => (0, screencap_grid_1.buildTimestampSource)({
|
|
465
|
+
t,
|
|
466
|
+
mode,
|
|
467
|
+
isVideo,
|
|
468
|
+
corner: timestampCorner,
|
|
469
|
+
color: timestampColor,
|
|
470
|
+
bgColor: timestampBgColor,
|
|
471
|
+
});
|
|
472
|
+
// Mint the file asset for the source media so this document is hermetic
|
|
473
|
+
// when used as the root renderable (e.g. via CLI `make`). When nested as
|
|
474
|
+
// a child, the parent's manifest entry under the same assetId is identical
|
|
475
|
+
// (path + mediaType derived from the same sourceId), so scope merge is a
|
|
476
|
+
// no-op rather than a conflict.
|
|
477
|
+
const assets = {
|
|
478
|
+
[sourceAssetId]: {
|
|
479
|
+
kind: "file",
|
|
480
|
+
path: sourceId,
|
|
481
|
+
mediaType,
|
|
482
|
+
},
|
|
483
|
+
};
|
|
484
|
+
const format = formatForMode(mode);
|
|
485
|
+
if (customGridM0) {
|
|
486
|
+
// ── Custom-grid path: authored m0 verbatim, gap as fixed per-frame inset ──
|
|
487
|
+
const frames = (0, dsl_1.parseM0StringToRenderFrames)(customGridM0, canvasW, gridH);
|
|
488
|
+
const rectByLogical = new Map();
|
|
489
|
+
for (const f of frames) {
|
|
490
|
+
rectByLogical.set(f.logicalIndex, { x: f.x, y: f.y, width: f.width, height: f.height });
|
|
491
|
+
}
|
|
492
|
+
const N = frames.length;
|
|
493
|
+
const timestamps = isVideo ? (0, screencap_grid_1.computeTimestamps)(N, meta.durationMs) : [];
|
|
494
|
+
const sources = [];
|
|
495
|
+
if (withInfoPane)
|
|
496
|
+
sources.push(paneSource);
|
|
497
|
+
for (let i = 0; i < N; i++) {
|
|
498
|
+
const t = isVideo ? timestamps[i] : 0;
|
|
499
|
+
const frame = rectByLogical.get(i);
|
|
500
|
+
const inset = frame
|
|
501
|
+
? customGridTileInset(frame, tileGapPx, canvasW, gridH)
|
|
502
|
+
: undefined;
|
|
503
|
+
sources.push(mediaTileSource(t, inset));
|
|
504
|
+
if (withTileTimestamp) {
|
|
505
|
+
// Same inset on the chip so it hugs the visible (gap-carved) tile —
|
|
506
|
+
// wired at SOURCE level (layer-level placement ignores inset), the
|
|
507
|
+
// same clone-and-wire move placeInsetPieces does.
|
|
508
|
+
const ts = timestampSource(t);
|
|
509
|
+
sources.push(inset ? { ...ts, placement: { inset } } : ts);
|
|
510
|
+
}
|
|
511
|
+
}
|
|
512
|
+
const m0 = (0, screencap_grid_1.assembleScreencapM0)({
|
|
513
|
+
rows, cols, paneHeightPx, gridH, withTileTimestamp, gridM0: customGridM0,
|
|
514
|
+
});
|
|
515
|
+
return {
|
|
516
|
+
kind: "mosaic_document",
|
|
517
|
+
version: 1,
|
|
518
|
+
sources,
|
|
519
|
+
assets,
|
|
520
|
+
m0: (0, dsl_stdlib_1.toM0String)(m0, "ScreencapGrid"),
|
|
521
|
+
children,
|
|
522
|
+
format,
|
|
523
|
+
// Doc-level disable STRIPS the track (`-an`). The source-level knob
|
|
524
|
+
// on each tile only mutes the mix contribution — alone, an animated
|
|
525
|
+
// grid ships a silent placeholder audio track (the gate-20 class).
|
|
526
|
+
...(mode === "animated" ? { audio: { mode: "off" } } : {}),
|
|
527
|
+
};
|
|
528
|
+
}
|
|
529
|
+
// ── Generated-grid path: exact pixel rects → inset-recovery placement ──
|
|
530
|
+
const tileRects = computeGridTileRects({
|
|
531
|
+
canvasW, canvasH, paneHeightPx, rows, cols, tileGapPx,
|
|
532
|
+
});
|
|
533
|
+
const N = tileRects.length;
|
|
534
|
+
const timestamps = isVideo ? (0, screencap_grid_1.computeTimestamps)(N, meta.durationMs) : [];
|
|
535
|
+
const pieces = [];
|
|
536
|
+
if (withInfoPane) {
|
|
537
|
+
pieces.push({ rect: { x: 0, y: 0, w: canvasW, h: paneHeightPx }, source: paneSource });
|
|
538
|
+
}
|
|
539
|
+
for (let i = 0; i < N; i++) {
|
|
540
|
+
const t = isVideo ? timestamps[i] : 0;
|
|
541
|
+
const r = tileRects[i];
|
|
542
|
+
pieces.push({ rect: { x: r.x, y: r.y, w: r.w, h: r.h }, source: mediaTileSource(t) });
|
|
543
|
+
if (withTileTimestamp) {
|
|
544
|
+
// Same rect at importance 1 → guaranteed to paint above its tile; the
|
|
545
|
+
// colliding cells spill to an overlay layer by design.
|
|
546
|
+
pieces.push({
|
|
547
|
+
rect: { x: r.x, y: r.y, w: r.w, h: r.h, importance: 1 },
|
|
548
|
+
source: timestampSource(t),
|
|
549
|
+
});
|
|
550
|
+
}
|
|
551
|
+
}
|
|
552
|
+
const placed = (0, template_utils_1.placeInsetPieces)({ rootW: canvasW, rootH: canvasH, pieces });
|
|
553
|
+
const doc = {
|
|
554
|
+
kind: "mosaic_document",
|
|
555
|
+
version: 1,
|
|
556
|
+
sources: placed.sources,
|
|
557
|
+
assets,
|
|
558
|
+
m0: placed.m0,
|
|
559
|
+
children,
|
|
560
|
+
format,
|
|
561
|
+
// Doc-level disable STRIPS the track (`-an`) — see the custom-grid
|
|
562
|
+
// return above for why the source-level mute alone isn't enough.
|
|
563
|
+
...(mode === "animated" ? { audio: { mode: "off" } } : {}),
|
|
564
|
+
};
|
|
565
|
+
// Dev tripwire: `debugGeometry` falsy (the default) → returns `doc`
|
|
566
|
+
// untouched at zero cost.
|
|
567
|
+
return (0, template_utils_1.withGeometryContract)(doc, ctx, {
|
|
568
|
+
templateId: SCREENCAP_GRID_V2_ID,
|
|
569
|
+
expectations: placed.expectations,
|
|
570
|
+
debug: props.debugGeometry === true,
|
|
571
|
+
});
|
|
572
|
+
}
|
|
573
|
+
// ---- TEMPLATE ----
|
|
574
|
+
const SHARED_DEFAULTS = {
|
|
575
|
+
outputFormat: "png",
|
|
576
|
+
rows: 4,
|
|
577
|
+
cols: 4,
|
|
578
|
+
infoPane: { show: true, align: "left" },
|
|
579
|
+
timestamps: { show: true, corner: "br", color: "#ffffff", bgColor: "#000000" },
|
|
580
|
+
tiles: { gapPx: 2, fit: "cover" },
|
|
581
|
+
};
|
|
582
|
+
exports.ScreencapGridV2 = {
|
|
583
|
+
id: (0, types_1.asTemplateId)(SCREENCAP_GRID_V2_ID),
|
|
584
|
+
label: "Screencap Grid",
|
|
585
|
+
description: "Displays formatted ffprobe info in a top pane with a rows x cols grid of the same media below. Renders a static PNG contact sheet or an animated MP4 grid via the Output knob. v2 lays the pane and tiles out as exact pixel rects via inset-recovery placement, so tile gaps are pixel-exact at every canvas.",
|
|
586
|
+
version: 2,
|
|
587
|
+
capabilities: { tier: "core" },
|
|
588
|
+
tags: ["media", "screencap", "creators", "developers", "contact-sheet", "thumbnails", "video"],
|
|
589
|
+
propsSchema,
|
|
590
|
+
// No `format` hint on purpose (watermark/trickplay precedent): the
|
|
591
|
+
// `outputFormat` knob picks png vs mp4 per render, and a template-level
|
|
592
|
+
// container hint would override the user's `-o` extension in
|
|
593
|
+
// `resolveOutputFormat`. Each rendered doc declares its own format.
|
|
594
|
+
outputHints: {
|
|
595
|
+
format: { kind: "image", container: "png" },
|
|
596
|
+
width: 1920,
|
|
597
|
+
height: 1080,
|
|
598
|
+
fps: 30,
|
|
599
|
+
durationMs: 5000,
|
|
600
|
+
},
|
|
601
|
+
defaultProps: { debugGeometry: false, ...SHARED_DEFAULTS },
|
|
602
|
+
render(props, ctx) {
|
|
603
|
+
return renderScreencapGridV2(props, ctx);
|
|
604
|
+
},
|
|
605
|
+
// Onboarding surfaces. Both are editor-only stand-ins — they never enter the
|
|
606
|
+
// render path, and `render` above keeps its fail-fast contract untouched
|
|
607
|
+
// (CLI, nested renders, and Make after the first prop edit are unchanged).
|
|
608
|
+
renderCover(_props, ctx) {
|
|
609
|
+
return (0, screencap_grid_cover_1.renderScreencapGridV2Cover)(ctx);
|
|
610
|
+
},
|
|
611
|
+
renderTutorial(_props, ctx) {
|
|
612
|
+
return (0, screencap_grid_tutorial_1.renderScreencapGridV2Tutorial)(ctx);
|
|
613
|
+
},
|
|
614
|
+
};
|
|
615
|
+
(0, template_utils_1.registerTemplate)(exports.ScreencapGridV2);
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export { ScreencapGridAspectSafe, type ScreencapGridAspectSafeProps, } from "./v1";
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.ScreencapGridAspectSafe = void 0;
|
|
4
|
+
var v1_1 = require("./v1");
|
|
5
|
+
Object.defineProperty(exports, "ScreencapGridAspectSafe", { enumerable: true, get: function () { return v1_1.ScreencapGridAspectSafe; } });
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export { ScreencapGridAspectSafe, type ScreencapGridAspectSafeProps, } from "./screencap-grid-aspect-safe";
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.ScreencapGridAspectSafe = void 0;
|
|
4
|
+
var screencap_grid_aspect_safe_1 = require("./screencap-grid-aspect-safe");
|
|
5
|
+
Object.defineProperty(exports, "ScreencapGridAspectSafe", { enumerable: true, get: function () { return screencap_grid_aspect_safe_1.ScreencapGridAspectSafe; } });
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Aspect-safe screencap grid — the editor first-open cover.
|
|
3
|
+
*
|
|
4
|
+
* Mirrors the screencap_grid/v2 cover the founder approved (gate 24 —
|
|
5
|
+
* "i quite like this cover"): an instruction chat-pane beside a dominant
|
|
6
|
+
* sample, on the shared onboarding theme. The hero here is the template's
|
|
7
|
+
* OWN registered preview — the coordinated landscape + portrait pair —
|
|
8
|
+
* because the pair IS the pitch.
|
|
9
|
+
*
|
|
10
|
+
* Node contexts (CLI, electron main) read the bundled pair-sheet.jpg via
|
|
11
|
+
* __dirname string concat (the highlights web-safe pattern — no node:path,
|
|
12
|
+
* asar rewrite inlined); the browser uses the served template-assets URL.
|
|
13
|
+
*/
|
|
14
|
+
import type { MosaicDocument, MosaicEngineContext } from "@m0saic/types";
|
|
15
|
+
/** The registered pair preview, served for browser contexts. */
|
|
16
|
+
export declare const ASPECT_SAFE_COVER_PREVIEW_URL = "/template-assets/assets/templates/@m0saic__media__screencap_grid_aspect_safe__v1/preview.png";
|
|
17
|
+
/** Production cover: an instruction pane beside the registered PAIR preview. */
|
|
18
|
+
export declare function renderScreencapGridAspectSafeCover(ctx: MosaicEngineContext): MosaicDocument;
|