@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,182 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Scroll Wall v1 — an endless scrolling wall of clips.
|
|
3
|
+
*
|
|
4
|
+
* A wall of video/image tiles (1–4 rows, optionally alternating direction)
|
|
5
|
+
* that scrolls sideways forever. The pan is CONTENT motion, not camera
|
|
6
|
+
* motion: each clip is a real `media` source in a real DSL cell sized to its
|
|
7
|
+
* on-screen footprint, translated by an `overlay.xExpr` carrying its phase
|
|
8
|
+
* plus the shared scroll (see `motion.ts`). Full native resolution, real
|
|
9
|
+
* video playback, all geometry in the m0 string, and a mathematically
|
|
10
|
+
* seamless loop at whole-number `motion.cycles`.
|
|
11
|
+
*
|
|
12
|
+
* # The geometry contract is a FOOTPRINT declaration here
|
|
13
|
+
*
|
|
14
|
+
* Each cell declares a tile's footprint and row band, not an instantaneous
|
|
15
|
+
* position — the motion lives in `overlay.xExpr`, which the geometry
|
|
16
|
+
* contract never reads. `withGeometryContract` still catches real size/drift
|
|
17
|
+
* violations (house pattern), but a green contract is NOT positional
|
|
18
|
+
* evidence; the motion is validated by the comb invariant in
|
|
19
|
+
* `motion.test.ts`. `importance = floor(i / slots)` — the "wrap generation"
|
|
20
|
+
* — gives slot-sharing tiles a deterministic paint order WITHOUT losing the
|
|
21
|
+
* layer packing (per-clip importance would bucket every rect alone and blow
|
|
22
|
+
* the layer count from 2 to 10; measured in the step-0 prototype).
|
|
23
|
+
*
|
|
24
|
+
* # RAM: `clipDurationMs` is load-bearing, not cosmetic
|
|
25
|
+
*
|
|
26
|
+
* The engine's tile chain runs `loop` BEFORE `scale`, so each looping
|
|
27
|
+
* source's frame store holds `min(clipFrames, outputFrames)` frames at the
|
|
28
|
+
* asset's NATIVE resolution — and that store is not counted by the buffer
|
|
29
|
+
* guard, so overflowing it is a raw OOM, not a clean error. Every video
|
|
30
|
+
* source therefore always sets `playback.clipDurationMs`, computed from a
|
|
31
|
+
* loop-store budget (~800 MB; a ~1.2 GB fixed baseline sits on top) against
|
|
32
|
+
* the probed asset dimensions. `tiles.clipWindowMs` (0 = auto) overrides
|
|
33
|
+
* the window. Creatively this is also the right call — a wall of short
|
|
34
|
+
* looping snippets is the format. (Engine follow-up filed separately: move
|
|
35
|
+
* `loopFilters` after the scale; measured 3.6× less RAM.)
|
|
36
|
+
*
|
|
37
|
+
* # Hard cap: 24 tiles — and who pays for it
|
|
38
|
+
*
|
|
39
|
+
* Above 64 ffmpeg inputs the engine splits into band chunks with rebased
|
|
40
|
+
* frames — which would silently break both the `baseX` our xExpr subtracts
|
|
41
|
+
* and the framebuffer clipping the wrap relies on. `rows × slotCount` is
|
|
42
|
+
* hard-capped at 24, well clear of the 64-input split and of the RAM
|
|
43
|
+
* budget. (The engine's overlay-depth WARNING past 20 composites is
|
|
44
|
+
* expected and harmless here — v1 emits no masks.)
|
|
45
|
+
*
|
|
46
|
+
* The cap couples two knobs the panel draws as independent sliders, so it is
|
|
47
|
+
* paid by the LOOK knob, never by the content: `visibleCount` says how big
|
|
48
|
+
* the tiles are, so it walks DOWN to the largest count that fits the cap at
|
|
49
|
+
* the chosen `rows` (see {@link fitVisibleCount}) and the wall renders with
|
|
50
|
+
* bigger tiles. `clips` is content — dropping one would silently lose a clip
|
|
51
|
+
* the caller asked for — so a clip list that cannot fit at ANY `visibleCount`
|
|
52
|
+
* (`rows × clips > 24`) is still a hard error, named as such. Before this
|
|
53
|
+
* split, Rows=4 + Visible=6 — two slider drags off the defaults — rendered an
|
|
54
|
+
* error card.
|
|
55
|
+
*
|
|
56
|
+
* # v1 non-goals (deferred)
|
|
57
|
+
*
|
|
58
|
+
* - Vertical scroll (the `yExpr` twin — `geometry.ts` is already
|
|
59
|
+
* axis-symmetric to leave the door open).
|
|
60
|
+
* - Rounded corners / masks: the `svg` rasterizer's inline masks silently
|
|
61
|
+
* collapse to their bounding box past ~25 overlays, and `geq` is an
|
|
62
|
+
* interpreter filter (catastrophic at 12–24 tiles). v2 can wrap rows in
|
|
63
|
+
* nested-mosaic bands.
|
|
64
|
+
* - Real horizontal margins: a scrolling layer bleeds past any horizontal
|
|
65
|
+
* margin (overlay does not clip to the dest rect; only the canvas
|
|
66
|
+
* framebuffer clips). `tiles.marginPx` is therefore VERTICAL ONLY; true
|
|
67
|
+
* side margins need one child render per row.
|
|
68
|
+
* - Per-row speed (breaks the shared loop period); a soundtrack /
|
|
69
|
+
* single-unmuted-clip prop; per-clip labels.
|
|
70
|
+
*
|
|
71
|
+
* A truly flush zero-gap wall is also unsupported: the wrap handoff needs
|
|
72
|
+
* `gapX ≥ 1` px of off-screen slack (see `geometry.ts`).
|
|
73
|
+
*/
|
|
74
|
+
import type { MosaicColor, MosaicDocument, MosaicEngineContext, MosaicTemplate } from "@m0saic/types";
|
|
75
|
+
import { type ScrollWallGeometry } from "./geometry";
|
|
76
|
+
/** Hard tile cap — see the module docblock (chunk-split + RAM). */
|
|
77
|
+
export declare const SCROLL_WALL_MAX_TILES = 24;
|
|
78
|
+
export type ScrollWallMotionConfig = {
|
|
79
|
+
/** Flip travel direction on odd rows. Default true. */
|
|
80
|
+
alternateRowDirection?: boolean;
|
|
81
|
+
/** Per-row phase offset as a fraction of PITCH (not of the period). 0..1, default 0.5. */
|
|
82
|
+
rowOffsetFrac?: number;
|
|
83
|
+
/** How speed is specified. Default "cycles". */
|
|
84
|
+
speedMode?: "cycles" | "pxPerSec";
|
|
85
|
+
/** Strip cycles over the render. Whole numbers loop seamlessly. 0.25..8, default 1. */
|
|
86
|
+
cycles?: number;
|
|
87
|
+
/** Explicit speed when speedMode="pxPerSec". 10..2000, default 240. */
|
|
88
|
+
pxPerSec?: number;
|
|
89
|
+
/** Snap speed to integer px/frame (kills ±1px jitter, breaks exact loop). Default false. */
|
|
90
|
+
snapVelocityToFrameGrid?: boolean;
|
|
91
|
+
};
|
|
92
|
+
export type ScrollWallTilesConfig = {
|
|
93
|
+
/** Gap between tiles, px — snapped DOWN to the canvas lattice, min 1; thinned to fit a narrow canvas. Default 24. */
|
|
94
|
+
gapPx?: number;
|
|
95
|
+
/**
|
|
96
|
+
* VERTICAL-ONLY outer margin, px (a scrolling layer would bleed past any
|
|
97
|
+
* horizontal margin). Default 0; thinned to fit on a short canvas.
|
|
98
|
+
*/
|
|
99
|
+
marginPx?: number;
|
|
100
|
+
/** cover crops to fill the cell; contain letterboxes. Default "cover". */
|
|
101
|
+
fit?: "cover" | "contain";
|
|
102
|
+
/** Canvas background behind the gaps. Default "#0b0b0f". */
|
|
103
|
+
backgroundColor?: MosaicColor;
|
|
104
|
+
/** Per-clip loop window, ms. 0 = auto from the RAM budget. Default 0. */
|
|
105
|
+
clipWindowMs?: number;
|
|
106
|
+
};
|
|
107
|
+
export type ScrollWallVariationConfig = {
|
|
108
|
+
/** Shuffle the clip order (seeded). Default false. */
|
|
109
|
+
shuffle?: boolean;
|
|
110
|
+
/** Give repeated clips a seeded clipStartMs so repeats aren't frame-identical. Default true. */
|
|
111
|
+
staggerRepeats?: boolean;
|
|
112
|
+
/** Seed for shuffle + stagger. Default 1. */
|
|
113
|
+
seed?: number;
|
|
114
|
+
};
|
|
115
|
+
export type ScrollWallProps = {
|
|
116
|
+
/** Clips for the wall — video AND image, up to `24 / rows`. Empty → demo hues. */
|
|
117
|
+
clips?: string[];
|
|
118
|
+
/** Number of rows. 1..4, default 2. */
|
|
119
|
+
rows?: number;
|
|
120
|
+
/**
|
|
121
|
+
* Tiles visible across the canvas. 1..12, default 4 — walked DOWN when the
|
|
122
|
+
* row count would push the wall past the 24-tile cap (see
|
|
123
|
+
* {@link fitVisibleCount}).
|
|
124
|
+
*/
|
|
125
|
+
visibleCount?: number;
|
|
126
|
+
/** Base travel direction. Default "left". */
|
|
127
|
+
direction?: "left" | "right";
|
|
128
|
+
motion?: ScrollWallMotionConfig;
|
|
129
|
+
tiles?: ScrollWallTilesConfig;
|
|
130
|
+
variation?: ScrollWallVariationConfig;
|
|
131
|
+
/**
|
|
132
|
+
* Dev-only geometry contract: assert every tile's footprint survived to
|
|
133
|
+
* the pixels (and surface the achieved precision floors / basis in the
|
|
134
|
+
* `editor.geometryContract` stamp). Deterministic default false.
|
|
135
|
+
*/
|
|
136
|
+
debugGeometry?: boolean;
|
|
137
|
+
};
|
|
138
|
+
/**
|
|
139
|
+
* Deterministic row rotation stride, coprime with the clip count so no row
|
|
140
|
+
* repeats another row's sequence verbatim (row r shows `order[(i + r·stride)
|
|
141
|
+
* mod L]`). Smallest coprime ≥ 2 when one exists.
|
|
142
|
+
*/
|
|
143
|
+
export declare function coprimeStride(clipCount: number): number;
|
|
144
|
+
export type FitVisibleCountResult = {
|
|
145
|
+
ok: true;
|
|
146
|
+
/** The count actually laid out — `≤ requested`. */
|
|
147
|
+
visibleCount: number;
|
|
148
|
+
geometry: ScrollWallGeometry;
|
|
149
|
+
/** Slots per row at `visibleCount` (`max(clipCount, minSlotCount)`). */
|
|
150
|
+
slotCount: number;
|
|
151
|
+
} | {
|
|
152
|
+
ok: false;
|
|
153
|
+
error: string;
|
|
154
|
+
};
|
|
155
|
+
/**
|
|
156
|
+
* The widest tile layout that fits the {@link SCROLL_WALL_MAX_TILES} cap.
|
|
157
|
+
*
|
|
158
|
+
* `visibleCount` is a LOOK knob, so the cap is paid here: walk down from the
|
|
159
|
+
* requested count and take the first one whose `rows × slotCount` fits. Bigger
|
|
160
|
+
* tiles are a legible answer to "that many tiles don't fit"; an error card is
|
|
161
|
+
* not — and Rows=4 + Visible=6 (two slider drags off the defaults) used to hit
|
|
162
|
+
* one. Walking down also rescues a canvas too narrow for the requested count
|
|
163
|
+
* at all (`320px × 12 visible`), for the same reason.
|
|
164
|
+
*
|
|
165
|
+
* The clip list is NOT walked: callers must pre-check `rows × clipCount`
|
|
166
|
+
* against the cap and fail with a clips-specific message, because
|
|
167
|
+
* `slotCount ≥ clipCount` is what makes every clip appear. With that check
|
|
168
|
+
* done, `visibleCount: 1` always fits (`slotCount = max(clipCount, 2)` and
|
|
169
|
+
* `rows ≤ 4`), so this only reports geometry errors that hold at every count
|
|
170
|
+
* (a cross-axis `rows`/`margin` overflow).
|
|
171
|
+
*/
|
|
172
|
+
export declare function fitVisibleCount(args: {
|
|
173
|
+
canvasW: number;
|
|
174
|
+
canvasH: number;
|
|
175
|
+
rows: number;
|
|
176
|
+
gapPx: number;
|
|
177
|
+
marginPx: number;
|
|
178
|
+
requestedVisibleCount: number;
|
|
179
|
+
clipCount: number;
|
|
180
|
+
}): FitVisibleCountResult;
|
|
181
|
+
export declare function renderScrollWallV1(props: ScrollWallProps, ctx: MosaicEngineContext): MosaicDocument;
|
|
182
|
+
export declare const ScrollWallV1: MosaicTemplate<ScrollWallProps>;
|
|
@@ -0,0 +1,432 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.ScrollWallV1 = exports.SCROLL_WALL_MAX_TILES = void 0;
|
|
4
|
+
exports.coprimeStride = coprimeStride;
|
|
5
|
+
exports.fitVisibleCount = fitVisibleCount;
|
|
6
|
+
exports.renderScrollWallV1 = renderScrollWallV1;
|
|
7
|
+
const types_1 = require("@m0saic/types");
|
|
8
|
+
const template_utils_1 = require("@m0saic/template-utils");
|
|
9
|
+
// Shared field-entry helpers (the alpine shapes, hosted by screencap-grid v2).
|
|
10
|
+
const screencap_grid_1 = require("../../screencap_grid/v2/screencap-grid");
|
|
11
|
+
const geometry_1 = require("./geometry");
|
|
12
|
+
const motion_1 = require("./motion");
|
|
13
|
+
const SCROLL_WALL_V1_ID = "@m0saic/media/scroll_wall/v1";
|
|
14
|
+
/** Hard tile cap — see the module docblock (chunk-split + RAM). */
|
|
15
|
+
exports.SCROLL_WALL_MAX_TILES = 24;
|
|
16
|
+
/** Loop-STORE budget (bytes); the ~1.2 GB fixed pipeline baseline sits on top. */
|
|
17
|
+
const LOOP_STORE_BUDGET_BYTES = 0.8e9;
|
|
18
|
+
const CLIP_WINDOW_MIN_MS = 750;
|
|
19
|
+
const CLIP_WINDOW_MAX_MS = 8000;
|
|
20
|
+
/** Unprobed assets are budgeted as 1080p (conservative). */
|
|
21
|
+
const FALLBACK_FRAME_BYTES = 1920 * 1080 * 1.5;
|
|
22
|
+
/** Demo mode (no clips): six fixed hues cycle as lavfi tiles carrying the same xExpr. */
|
|
23
|
+
const DEMO_HUES = [
|
|
24
|
+
"#3b82f6",
|
|
25
|
+
"#8b5cf6",
|
|
26
|
+
"#ec4899",
|
|
27
|
+
"#f97316",
|
|
28
|
+
"#10b981",
|
|
29
|
+
"#06b6d4",
|
|
30
|
+
];
|
|
31
|
+
const propsSchema = (0, template_utils_1.definePropsSchema)({
|
|
32
|
+
clips: {
|
|
33
|
+
type: "media[]",
|
|
34
|
+
required: false,
|
|
35
|
+
description: "Clips for the wall — pick a folder, one or more files, or drag-and-drop (video and image). Every clip gets a slot in every row, so the wall takes up to 24 ÷ rows clips: 12 at the default 2 rows, 6 at 4 rows. Empty renders a demo wall of colored tiles.",
|
|
36
|
+
meta: {
|
|
37
|
+
ui: { label: "Clips", order: 1 },
|
|
38
|
+
control: { multiple: true, picker: "folder", accept: ["video", "image"] },
|
|
39
|
+
},
|
|
40
|
+
},
|
|
41
|
+
rows: {
|
|
42
|
+
type: "number",
|
|
43
|
+
required: false,
|
|
44
|
+
description: "Number of scrolling rows.",
|
|
45
|
+
meta: { constraints: { min: 1, max: 4 }, ui: { label: "Rows", order: 2 } },
|
|
46
|
+
},
|
|
47
|
+
visibleCount: {
|
|
48
|
+
type: "number",
|
|
49
|
+
required: false,
|
|
50
|
+
description: "How many tiles are visible across the canvas. Reduced automatically (bigger tiles) when the row count would push the wall past its 24-tile budget — 11 tiles fit at 2 rows, 5 at 4.",
|
|
51
|
+
meta: { constraints: { min: 1, max: 12 }, ui: { label: "Visible tiles", order: 3 } },
|
|
52
|
+
},
|
|
53
|
+
direction: {
|
|
54
|
+
type: "string",
|
|
55
|
+
required: false,
|
|
56
|
+
description: "Base travel direction (odd rows flip when alternating).",
|
|
57
|
+
meta: { constraints: { oneOf: ["left", "right"] }, ui: { label: "Direction", order: 4 } },
|
|
58
|
+
},
|
|
59
|
+
motion: {
|
|
60
|
+
type: "group",
|
|
61
|
+
required: false,
|
|
62
|
+
description: "Scroll speed + per-row phrasing.",
|
|
63
|
+
meta: { ui: { label: "Motion", order: 5, collapsedByDefault: true } },
|
|
64
|
+
fields: {
|
|
65
|
+
alternateRowDirection: (0, screencap_grid_1.fBool)("Alternate rows", "Flip travel direction on odd rows."),
|
|
66
|
+
rowOffsetFrac: (0, screencap_grid_1.fNum)("Row offset", "Per-row phase offset as a fraction of the tile pitch.", { flavor: "slider", step: 0.05 }, { min: 0, max: 1 }),
|
|
67
|
+
speedMode: (0, screencap_grid_1.fEnum)("Speed mode", ["cycles", "pxPerSec"], "Cycles per render, or an explicit px/sec speed."),
|
|
68
|
+
cycles: (0, screencap_grid_1.fNum)("Cycles", "Strip cycles over the render. Whole numbers loop seamlessly.", { flavor: "slider", step: 0.25 }, { min: 0.25, max: 8 }),
|
|
69
|
+
pxPerSec: (0, screencap_grid_1.fNum)("Speed (px/s)", 'Explicit scroll speed when Speed mode is "pxPerSec".', { flavor: "slider", step: 10, unit: "px/s" }, { min: 10, max: 2000 }),
|
|
70
|
+
snapVelocityToFrameGrid: (0, screencap_grid_1.fBool)("Snap to frame grid", "Round speed to whole pixels per frame (steadier motion, loop no longer closes exactly)."),
|
|
71
|
+
},
|
|
72
|
+
},
|
|
73
|
+
tiles: {
|
|
74
|
+
type: "group",
|
|
75
|
+
required: false,
|
|
76
|
+
description: "Tile gap, margins, fill and loop window.",
|
|
77
|
+
meta: { ui: { label: "Tiles", order: 6, collapsedByDefault: true } },
|
|
78
|
+
fields: {
|
|
79
|
+
gapPx: (0, screencap_grid_1.fNum)("Gap (px)", "Gap between tiles (snapped down to the canvas lattice; minimum 1 — the wrap needs off-screen slack; thinned further on a canvas too narrow to hold it).", { flavor: "slider", step: 1, unit: "px" }, { min: 1, max: 96 }),
|
|
80
|
+
marginPx: (0, screencap_grid_1.fNum)("Margin (px)", "Vertical-only outer margin (a scrolling layer would bleed past any horizontal margin). Thinned automatically on a canvas too short to hold it and the rows.", { flavor: "slider", step: 1, unit: "px" }, { min: 0, max: 200 }),
|
|
81
|
+
fit: (0, screencap_grid_1.fEnum)("Fit", ["cover", "contain"], "cover crops to fill; contain letterboxes the frame."),
|
|
82
|
+
backgroundColor: (0, screencap_grid_1.fColor)("Background", "Canvas color behind the tile gaps."),
|
|
83
|
+
clipWindowMs: (0, screencap_grid_1.fNum)("Clip window (ms)", "How much of each clip loops. 0 = automatic from the RAM budget.", { flavor: "slider", step: 250, unit: "ms" }, { min: 0, max: 8000 }),
|
|
84
|
+
},
|
|
85
|
+
},
|
|
86
|
+
variation: {
|
|
87
|
+
type: "group",
|
|
88
|
+
required: false,
|
|
89
|
+
description: "Seeded ordering + repeat variation.",
|
|
90
|
+
meta: { ui: { label: "Variation", order: 7, collapsedByDefault: true } },
|
|
91
|
+
fields: {
|
|
92
|
+
shuffle: (0, screencap_grid_1.fBool)("Shuffle", "Shuffle the clip order (seeded)."),
|
|
93
|
+
staggerRepeats: (0, screencap_grid_1.fBool)("Stagger repeats", "Start repeated clips at a seeded offset so they aren't frame-identical."),
|
|
94
|
+
seed: (0, screencap_grid_1.fNum)("Seed", "Seed for shuffle + stagger.", { flavor: "slider", step: 1 }, { min: 0, max: 9999 }),
|
|
95
|
+
},
|
|
96
|
+
},
|
|
97
|
+
debugGeometry: {
|
|
98
|
+
type: "boolean",
|
|
99
|
+
required: false,
|
|
100
|
+
description: "Dev-only geometry contract: assert every tile footprint survived to the pixels and stamp the achieved precision floors. Deterministic default false.",
|
|
101
|
+
meta: { ui: { label: "Debug geometry", order: 1, collapsedByDefault: true } },
|
|
102
|
+
},
|
|
103
|
+
});
|
|
104
|
+
// ---- RESOLUTION ----
|
|
105
|
+
const clamp = (n, lo, hi) => Math.min(hi, Math.max(lo, n));
|
|
106
|
+
function resolveKnobs(props) {
|
|
107
|
+
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, _3;
|
|
108
|
+
return {
|
|
109
|
+
rows: clamp(Math.round((_a = props.rows) !== null && _a !== void 0 ? _a : 2), 1, 4),
|
|
110
|
+
visibleCount: clamp(Math.round((_b = props.visibleCount) !== null && _b !== void 0 ? _b : 4), 1, 12),
|
|
111
|
+
direction: props.direction === "right" ? "right" : "left",
|
|
112
|
+
alternateRowDirection: (_d = (_c = props.motion) === null || _c === void 0 ? void 0 : _c.alternateRowDirection) !== null && _d !== void 0 ? _d : true,
|
|
113
|
+
rowOffsetFrac: clamp((_f = (_e = props.motion) === null || _e === void 0 ? void 0 : _e.rowOffsetFrac) !== null && _f !== void 0 ? _f : 0.5, 0, 1),
|
|
114
|
+
speedMode: ((_g = props.motion) === null || _g === void 0 ? void 0 : _g.speedMode) === "pxPerSec" ? "pxPerSec" : "cycles",
|
|
115
|
+
cycles: clamp((_j = (_h = props.motion) === null || _h === void 0 ? void 0 : _h.cycles) !== null && _j !== void 0 ? _j : 1, 0.25, 8),
|
|
116
|
+
pxPerSec: clamp((_l = (_k = props.motion) === null || _k === void 0 ? void 0 : _k.pxPerSec) !== null && _l !== void 0 ? _l : 240, 10, 2000),
|
|
117
|
+
snapVelocityToFrameGrid: (_o = (_m = props.motion) === null || _m === void 0 ? void 0 : _m.snapVelocityToFrameGrid) !== null && _o !== void 0 ? _o : false,
|
|
118
|
+
gapPx: clamp(Math.round((_q = (_p = props.tiles) === null || _p === void 0 ? void 0 : _p.gapPx) !== null && _q !== void 0 ? _q : 24), 1, 96),
|
|
119
|
+
marginPx: clamp(Math.round((_s = (_r = props.tiles) === null || _r === void 0 ? void 0 : _r.marginPx) !== null && _s !== void 0 ? _s : 0), 0, 200),
|
|
120
|
+
fit: ((_t = props.tiles) === null || _t === void 0 ? void 0 : _t.fit) === "contain" ? "contain" : "cover",
|
|
121
|
+
backgroundColor: (_v = (_u = props.tiles) === null || _u === void 0 ? void 0 : _u.backgroundColor) !== null && _v !== void 0 ? _v : "#0b0b0f",
|
|
122
|
+
clipWindowMs: clamp(Math.round((_x = (_w = props.tiles) === null || _w === void 0 ? void 0 : _w.clipWindowMs) !== null && _x !== void 0 ? _x : 0), 0, CLIP_WINDOW_MAX_MS),
|
|
123
|
+
shuffle: (_z = (_y = props.variation) === null || _y === void 0 ? void 0 : _y.shuffle) !== null && _z !== void 0 ? _z : false,
|
|
124
|
+
staggerRepeats: (_1 = (_0 = props.variation) === null || _0 === void 0 ? void 0 : _0.staggerRepeats) !== null && _1 !== void 0 ? _1 : true,
|
|
125
|
+
seed: Math.round((_3 = (_2 = props.variation) === null || _2 === void 0 ? void 0 : _2.seed) !== null && _3 !== void 0 ? _3 : 1),
|
|
126
|
+
};
|
|
127
|
+
}
|
|
128
|
+
function gcd(a, b) {
|
|
129
|
+
let x = Math.abs(a);
|
|
130
|
+
let y = Math.abs(b);
|
|
131
|
+
while (y)
|
|
132
|
+
[x, y] = [y, x % y];
|
|
133
|
+
return x;
|
|
134
|
+
}
|
|
135
|
+
/**
|
|
136
|
+
* Deterministic row rotation stride, coprime with the clip count so no row
|
|
137
|
+
* repeats another row's sequence verbatim (row r shows `order[(i + r·stride)
|
|
138
|
+
* mod L]`). Smallest coprime ≥ 2 when one exists.
|
|
139
|
+
*/
|
|
140
|
+
function coprimeStride(clipCount) {
|
|
141
|
+
if (clipCount <= 2)
|
|
142
|
+
return 1;
|
|
143
|
+
for (let s = 2; s < clipCount; s++) {
|
|
144
|
+
if (gcd(s, clipCount) === 1)
|
|
145
|
+
return s;
|
|
146
|
+
}
|
|
147
|
+
return 1;
|
|
148
|
+
}
|
|
149
|
+
/**
|
|
150
|
+
* The widest tile layout that fits the {@link SCROLL_WALL_MAX_TILES} cap.
|
|
151
|
+
*
|
|
152
|
+
* `visibleCount` is a LOOK knob, so the cap is paid here: walk down from the
|
|
153
|
+
* requested count and take the first one whose `rows × slotCount` fits. Bigger
|
|
154
|
+
* tiles are a legible answer to "that many tiles don't fit"; an error card is
|
|
155
|
+
* not — and Rows=4 + Visible=6 (two slider drags off the defaults) used to hit
|
|
156
|
+
* one. Walking down also rescues a canvas too narrow for the requested count
|
|
157
|
+
* at all (`320px × 12 visible`), for the same reason.
|
|
158
|
+
*
|
|
159
|
+
* The clip list is NOT walked: callers must pre-check `rows × clipCount`
|
|
160
|
+
* against the cap and fail with a clips-specific message, because
|
|
161
|
+
* `slotCount ≥ clipCount` is what makes every clip appear. With that check
|
|
162
|
+
* done, `visibleCount: 1` always fits (`slotCount = max(clipCount, 2)` and
|
|
163
|
+
* `rows ≤ 4`), so this only reports geometry errors that hold at every count
|
|
164
|
+
* (a cross-axis `rows`/`margin` overflow).
|
|
165
|
+
*/
|
|
166
|
+
function fitVisibleCount(args) {
|
|
167
|
+
const { canvasW, canvasH, rows, gapPx, marginPx, requestedVisibleCount, clipCount } = args;
|
|
168
|
+
// Keep the LAST error, not the first: the walk ends at one tile per slot, so
|
|
169
|
+
// whatever still fails there is the blocker no tile size can move (usually
|
|
170
|
+
// the row count). Reporting the v=12 message instead would tell a caller to
|
|
171
|
+
// fix `visibleCount` when the canvas is really too short for their rows.
|
|
172
|
+
let lastError = null;
|
|
173
|
+
for (let v = requestedVisibleCount; v >= 1; v--) {
|
|
174
|
+
const geo = (0, geometry_1.computeScrollWallGeometry)({ canvasW, canvasH, visibleCount: v, rows, gapPx, marginPx });
|
|
175
|
+
if (!geo.ok) {
|
|
176
|
+
lastError = geo.error;
|
|
177
|
+
continue;
|
|
178
|
+
}
|
|
179
|
+
const slotCount = Math.max(clipCount, geo.geometry.minSlotCount);
|
|
180
|
+
if (rows * slotCount <= exports.SCROLL_WALL_MAX_TILES) {
|
|
181
|
+
return { ok: true, visibleCount: v, geometry: geo.geometry, slotCount };
|
|
182
|
+
}
|
|
183
|
+
}
|
|
184
|
+
return {
|
|
185
|
+
ok: false,
|
|
186
|
+
error: lastError !== null && lastError !== void 0 ? lastError :
|
|
187
|
+
// Unreachable with the caller's clip pre-check in place; kept so a future
|
|
188
|
+
// caller that forgets it gets a sentence rather than a crash.
|
|
189
|
+
`${clipCount} clip(s) x ${rows} row(s) needs more than the ${exports.SCROLL_WALL_MAX_TILES}-tile cap at every tile size.`,
|
|
190
|
+
};
|
|
191
|
+
}
|
|
192
|
+
// ---- RENDER ----
|
|
193
|
+
function renderScrollWallV1(props, ctx) {
|
|
194
|
+
var _a, _b, _c, _d;
|
|
195
|
+
const canvasW = ctx.target.width;
|
|
196
|
+
const canvasH = ctx.target.height;
|
|
197
|
+
const fps = (_a = ctx.target.fps) !== null && _a !== void 0 ? _a : 30;
|
|
198
|
+
const durationMs = (_b = ctx.target.durationMs) !== null && _b !== void 0 ? _b : 4000;
|
|
199
|
+
const k = resolveKnobs(props);
|
|
200
|
+
const fail = (msg) => (0, template_utils_1.makeErrorMosaic)(msg, { title: "Scroll Wall", width: canvasW, height: canvasH });
|
|
201
|
+
// ── Inputs: real clips, or the demo hues when none are given ──
|
|
202
|
+
const rawClips = ((_c = props.clips) !== null && _c !== void 0 ? _c : []).filter((c) => typeof c === "string" && c.length > 0);
|
|
203
|
+
const demo = rawClips.length === 0;
|
|
204
|
+
const clipCount = demo ? DEMO_HUES.length : rawClips.length;
|
|
205
|
+
// The one ask the cap cannot absorb: every clip needs its own slot in every
|
|
206
|
+
// row, so a list this long would have to DROP clips (see fitVisibleCount).
|
|
207
|
+
if (k.rows * clipCount > exports.SCROLL_WALL_MAX_TILES) {
|
|
208
|
+
const maxClips = Math.floor(exports.SCROLL_WALL_MAX_TILES / k.rows);
|
|
209
|
+
return fail(`${clipCount} clips x ${k.rows} rows = ${k.rows * clipCount} tiles exceeds the ${exports.SCROLL_WALL_MAX_TILES}-tile cap ` +
|
|
210
|
+
`(each tile is one ffmpeg input; above the cap the engine's chunk split would silently break the scroll). ` +
|
|
211
|
+
`At ${k.rows} row${k.rows === 1 ? "" : "s"} the wall takes up to ${maxClips} clips — pass fewer clips, or use fewer rows.`);
|
|
212
|
+
}
|
|
213
|
+
// `visibleCount` pays the rest of the cap by walking down to bigger tiles.
|
|
214
|
+
const fit = fitVisibleCount({
|
|
215
|
+
canvasW,
|
|
216
|
+
canvasH,
|
|
217
|
+
rows: k.rows,
|
|
218
|
+
gapPx: k.gapPx,
|
|
219
|
+
marginPx: k.marginPx,
|
|
220
|
+
requestedVisibleCount: k.visibleCount,
|
|
221
|
+
clipCount,
|
|
222
|
+
});
|
|
223
|
+
if (!fit.ok)
|
|
224
|
+
return fail(fit.error);
|
|
225
|
+
const g = fit.geometry;
|
|
226
|
+
const slotCount = fit.slotCount;
|
|
227
|
+
const assets = {};
|
|
228
|
+
const clips = [];
|
|
229
|
+
if (!demo) {
|
|
230
|
+
const problems = [];
|
|
231
|
+
for (const rawPath of rawClips) {
|
|
232
|
+
// ctx.media is keyed by the RAW caller string; the manifest key must
|
|
233
|
+
// be a safe unique slug (screencap-grid convention).
|
|
234
|
+
const meta = ctx.media[(0, types_1.asAssetId)(rawPath)];
|
|
235
|
+
if ((meta === null || meta === void 0 ? void 0 : meta.kind) === "audio") {
|
|
236
|
+
problems.push(`"${rawPath}" is audio — the wall takes video and image clips`);
|
|
237
|
+
continue;
|
|
238
|
+
}
|
|
239
|
+
const isVideo = (meta === null || meta === void 0 ? void 0 : meta.kind) === "video";
|
|
240
|
+
const assetId = (0, template_utils_1.uniqueAssetKey)((0, template_utils_1.slugifyAssetKeyFromPath)(rawPath), assets);
|
|
241
|
+
assets[assetId] = {
|
|
242
|
+
kind: "file",
|
|
243
|
+
path: rawPath,
|
|
244
|
+
mediaType: isVideo ? "video" : "image",
|
|
245
|
+
};
|
|
246
|
+
clips.push({
|
|
247
|
+
assetId,
|
|
248
|
+
mediaType: isVideo ? "video" : "image",
|
|
249
|
+
isVideo,
|
|
250
|
+
durationMs: isVideo && meta.durationMs != null && meta.durationMs > 0 ? meta.durationMs : null,
|
|
251
|
+
frameBytes: meta && meta.width > 0 && meta.height > 0
|
|
252
|
+
? meta.width * meta.height * 1.5
|
|
253
|
+
: FALLBACK_FRAME_BYTES,
|
|
254
|
+
windowMs: 0,
|
|
255
|
+
});
|
|
256
|
+
}
|
|
257
|
+
if (problems.length > 0)
|
|
258
|
+
return fail(problems.join("; "));
|
|
259
|
+
}
|
|
260
|
+
// ── Seeded ordering: one stream, fixed consumption order (shuffle first,
|
|
261
|
+
// then one draw per tile row-major — so which tiles USE their draw never
|
|
262
|
+
// shifts the stream) ──
|
|
263
|
+
const rng = (0, template_utils_1.mulberry32)(k.seed >>> 0);
|
|
264
|
+
const order = Array.from({ length: clipCount }, (_, i) => i);
|
|
265
|
+
if (k.shuffle) {
|
|
266
|
+
for (let i = order.length - 1; i > 0; i--) {
|
|
267
|
+
const j = Math.floor(rng() * (i + 1));
|
|
268
|
+
[order[i], order[j]] = [order[j], order[i]];
|
|
269
|
+
}
|
|
270
|
+
}
|
|
271
|
+
const stride = coprimeStride(clipCount);
|
|
272
|
+
const clipIndexAt = (row, i) => order[(i + row * stride) % clipCount];
|
|
273
|
+
// ── RAM budget → per-clip loop window (video only). The loop store holds
|
|
274
|
+
// min(clipFrames, outputFrames) NATIVE-res frames per video tile. ──
|
|
275
|
+
if (!demo) {
|
|
276
|
+
let totalFrameBytes = 0;
|
|
277
|
+
for (let r = 0; r < k.rows; r++) {
|
|
278
|
+
for (let i = 0; i < slotCount; i++) {
|
|
279
|
+
const clip = clips[clipIndexAt(r, i)];
|
|
280
|
+
if (clip.isVideo)
|
|
281
|
+
totalFrameBytes += clip.frameBytes;
|
|
282
|
+
}
|
|
283
|
+
}
|
|
284
|
+
const budgetFrames = totalFrameBytes > 0 ? Math.floor(LOOP_STORE_BUDGET_BYTES / totalFrameBytes) : 0;
|
|
285
|
+
const autoWindowMs = Math.round((budgetFrames / fps) * 1000);
|
|
286
|
+
for (const clip of clips) {
|
|
287
|
+
if (!clip.isVideo)
|
|
288
|
+
continue;
|
|
289
|
+
const upperMs = Math.max(1, Math.min((_d = clip.durationMs) !== null && _d !== void 0 ? _d : CLIP_WINDOW_MAX_MS, CLIP_WINDOW_MAX_MS));
|
|
290
|
+
clip.windowMs =
|
|
291
|
+
k.clipWindowMs > 0
|
|
292
|
+
? clamp(k.clipWindowMs, 1, upperMs)
|
|
293
|
+
: clamp(autoWindowMs, Math.min(CLIP_WINDOW_MIN_MS, upperMs), upperMs);
|
|
294
|
+
}
|
|
295
|
+
}
|
|
296
|
+
// ── Motion + pieces ──
|
|
297
|
+
const period = slotCount * g.pitch;
|
|
298
|
+
const pxPerSec = (0, motion_1.resolveSpeedPxPerSec)({
|
|
299
|
+
speedMode: k.speedMode,
|
|
300
|
+
cycles: k.cycles,
|
|
301
|
+
pxPerSec: k.pxPerSec,
|
|
302
|
+
period,
|
|
303
|
+
fps,
|
|
304
|
+
durationMs,
|
|
305
|
+
snapVelocityToFrameGrid: k.snapVelocityToFrameGrid,
|
|
306
|
+
});
|
|
307
|
+
const durationSec = durationMs / 1000;
|
|
308
|
+
const pieces = [];
|
|
309
|
+
for (let r = 0; r < k.rows; r++) {
|
|
310
|
+
const motion = {
|
|
311
|
+
slots: g.slots,
|
|
312
|
+
pitch: g.pitch,
|
|
313
|
+
period,
|
|
314
|
+
phasePx: (0, motion_1.rowPhasePx)(k.rowOffsetFrac, r, g.pitch),
|
|
315
|
+
sign: (0, motion_1.rowDirectionSign)(k.direction, r, k.alternateRowDirection),
|
|
316
|
+
pxPerSec,
|
|
317
|
+
durationSec,
|
|
318
|
+
};
|
|
319
|
+
for (let i = 0; i < slotCount; i++) {
|
|
320
|
+
const draw = rng();
|
|
321
|
+
const xExpr = (0, motion_1.buildScrollXExpr)(motion, i);
|
|
322
|
+
const editor = { owner: "template", label: `clip:r${r}:i${i}` };
|
|
323
|
+
let source;
|
|
324
|
+
if (demo) {
|
|
325
|
+
source = {
|
|
326
|
+
...(0, template_utils_1.makeColorTile)(DEMO_HUES[clipIndexAt(r, i)], { overlay: { xExpr } }),
|
|
327
|
+
editor,
|
|
328
|
+
};
|
|
329
|
+
}
|
|
330
|
+
else {
|
|
331
|
+
const clip = clips[clipIndexAt(r, i)];
|
|
332
|
+
// A repeat (the conveyor wrapped past the clip list) gets a seeded
|
|
333
|
+
// demuxer start so it isn't frame-identical to its first showing.
|
|
334
|
+
const isRepeat = Math.floor(i / clipCount) > 0;
|
|
335
|
+
const stagger = k.staggerRepeats && isRepeat && clip.isVideo && clip.durationMs != null
|
|
336
|
+
? Math.floor(draw * Math.max(0, clip.durationMs - clip.windowMs))
|
|
337
|
+
: null;
|
|
338
|
+
source = {
|
|
339
|
+
type: "media",
|
|
340
|
+
mediaType: clip.mediaType,
|
|
341
|
+
assetId: clip.assetId,
|
|
342
|
+
placement: { fit: k.fit },
|
|
343
|
+
...(clip.isVideo
|
|
344
|
+
? {
|
|
345
|
+
playback: {
|
|
346
|
+
loopMode: "loop",
|
|
347
|
+
clipDurationMs: clip.windowMs,
|
|
348
|
+
...(stagger != null ? { clipStartMs: stagger } : {}),
|
|
349
|
+
},
|
|
350
|
+
audio: { enabled: false },
|
|
351
|
+
}
|
|
352
|
+
: {}),
|
|
353
|
+
overlay: { xExpr },
|
|
354
|
+
editor,
|
|
355
|
+
};
|
|
356
|
+
}
|
|
357
|
+
pieces.push({
|
|
358
|
+
rect: {
|
|
359
|
+
x: (i % g.slots) * g.pitch,
|
|
360
|
+
y: g.rowYs[r],
|
|
361
|
+
w: g.cellW,
|
|
362
|
+
h: g.rowH,
|
|
363
|
+
importance: Math.floor(i / g.slots),
|
|
364
|
+
},
|
|
365
|
+
source,
|
|
366
|
+
drift: "exact",
|
|
367
|
+
});
|
|
368
|
+
}
|
|
369
|
+
}
|
|
370
|
+
const placed = (0, template_utils_1.placeOptimizedPieces)({ rootW: canvasW, rootH: canvasH, pieces });
|
|
371
|
+
const doc = {
|
|
372
|
+
kind: "mosaic_document",
|
|
373
|
+
version: 1,
|
|
374
|
+
m0: placed.m0,
|
|
375
|
+
sources: placed.sources,
|
|
376
|
+
assets,
|
|
377
|
+
backgroundColor: k.backgroundColor,
|
|
378
|
+
// A wall of clips playing their own audio at once is noise, so v1 is
|
|
379
|
+
// silent by design (a soundtrack prop is a listed non-goal) and every video
|
|
380
|
+
// source is muted individually. Saying it once at the document says WHY:
|
|
381
|
+
// the silence is the design, not six flags that happen to agree.
|
|
382
|
+
audio: { mode: "off" },
|
|
383
|
+
};
|
|
384
|
+
return (0, template_utils_1.withGeometryContract)(doc, ctx, {
|
|
385
|
+
templateId: SCROLL_WALL_V1_ID,
|
|
386
|
+
expectations: placed.expectations,
|
|
387
|
+
debug: props.debugGeometry === true,
|
|
388
|
+
});
|
|
389
|
+
}
|
|
390
|
+
// ---- TEMPLATE ----
|
|
391
|
+
exports.ScrollWallV1 = {
|
|
392
|
+
id: (0, types_1.asTemplateId)(SCROLL_WALL_V1_ID),
|
|
393
|
+
label: "Scroll Wall",
|
|
394
|
+
description: "An endless scrolling wall of clips: 1-4 rows of video/image tiles slide sideways forever (optionally alternating direction) and loop seamlessly at whole cycles. Every tile is a real DSL cell at full native resolution; the pan is per-tile overlay motion, not a camera crop. Empty clips render a demo wall of colored tiles.",
|
|
395
|
+
version: 1,
|
|
396
|
+
capabilities: { tier: "core" },
|
|
397
|
+
tags: ["media", "wall", "scroll", "loop", "montage", "animated", "creators", "marketers", "video"],
|
|
398
|
+
propsSchema,
|
|
399
|
+
outputHints: {
|
|
400
|
+
format: { kind: "video", container: "mp4" },
|
|
401
|
+
width: 1920,
|
|
402
|
+
height: 1080,
|
|
403
|
+
fps: 30,
|
|
404
|
+
durationMs: 4000,
|
|
405
|
+
},
|
|
406
|
+
defaultProps: {
|
|
407
|
+
debugGeometry: false,
|
|
408
|
+
rows: 2,
|
|
409
|
+
visibleCount: 4,
|
|
410
|
+
direction: "left",
|
|
411
|
+
motion: {
|
|
412
|
+
alternateRowDirection: true,
|
|
413
|
+
rowOffsetFrac: 0.5,
|
|
414
|
+
speedMode: "cycles",
|
|
415
|
+
cycles: 1,
|
|
416
|
+
pxPerSec: 240,
|
|
417
|
+
snapVelocityToFrameGrid: false,
|
|
418
|
+
},
|
|
419
|
+
tiles: {
|
|
420
|
+
gapPx: 24,
|
|
421
|
+
marginPx: 0,
|
|
422
|
+
fit: "cover",
|
|
423
|
+
backgroundColor: "#0b0b0f",
|
|
424
|
+
clipWindowMs: 0,
|
|
425
|
+
},
|
|
426
|
+
variation: { shuffle: false, staggerRepeats: true, seed: 1 },
|
|
427
|
+
},
|
|
428
|
+
render(props, ctx) {
|
|
429
|
+
return Promise.resolve(renderScrollWallV1(props, ctx));
|
|
430
|
+
},
|
|
431
|
+
};
|
|
432
|
+
(0, template_utils_1.registerTemplate)(exports.ScrollWallV1);
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export * from "./v1";
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
+
if (k2 === undefined) k2 = k;
|
|
4
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
5
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
6
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
7
|
+
}
|
|
8
|
+
Object.defineProperty(o, k2, desc);
|
|
9
|
+
}) : (function(o, m, k, k2) {
|
|
10
|
+
if (k2 === undefined) k2 = k;
|
|
11
|
+
o[k2] = m[k];
|
|
12
|
+
}));
|
|
13
|
+
var __exportStar = (this && this.__exportStar) || function(m, exports) {
|
|
14
|
+
for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
|
|
15
|
+
};
|
|
16
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
17
|
+
__exportStar(require("./v1"), exports);
|
|
Binary file
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export { SubtitleBurn, SUBTITLE_BURN_TEMPLATE_ID, type SubtitleBurnProps, } from "./subtitle-burn";
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.SUBTITLE_BURN_TEMPLATE_ID = exports.SubtitleBurn = void 0;
|
|
4
|
+
var subtitle_burn_1 = require("./subtitle-burn");
|
|
5
|
+
Object.defineProperty(exports, "SubtitleBurn", { enumerable: true, get: function () { return subtitle_burn_1.SubtitleBurn; } });
|
|
6
|
+
Object.defineProperty(exports, "SUBTITLE_BURN_TEMPLATE_ID", { enumerable: true, get: function () { return subtitle_burn_1.SUBTITLE_BURN_TEMPLATE_ID; } });
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Subtitle Burn — the editor first-open cover.
|
|
3
|
+
*
|
|
4
|
+
* The family chat-pane structure (screencap_grid/v2, gate 24 — "i quite
|
|
5
|
+
* like this cover"; aspect-safe, gate 25) with this template's pitch. The
|
|
6
|
+
* hero is REAL MATERIAL, not brand art: Big Buck Bunny's title card at
|
|
7
|
+
* full 1080p with a subtitle burned onto it in the template's own style —
|
|
8
|
+
* white glyphs, bottom center — so the first thing a user sees IS the
|
|
9
|
+
* deliverable.
|
|
10
|
+
*/
|
|
11
|
+
import type { MosaicDocument, MosaicEngineContext } from "@m0saic/types";
|
|
12
|
+
/** Production cover: the instruction pane beside a burned-subtitle frame. */
|
|
13
|
+
export declare function renderSubtitleBurnCover(ctx: MosaicEngineContext): MosaicDocument;
|