@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,147 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Props + story.json contract for @m0saic/story/narrated-chapters/v1.
|
|
3
|
+
*
|
|
4
|
+
* The template renders from a `story` manifest (the boundary artifact of the
|
|
5
|
+
* agentic-video pipeline — see the internal agenticvideo notes
|
|
6
|
+
* narrated-chapters.md`). The example orchestrator `examples/story-studio`
|
|
7
|
+
* owns authoring-time validation (typo suggestions, path absolutization);
|
|
8
|
+
* this file owns the RENDER-time contract: the CLI make path calls
|
|
9
|
+
* `render()` directly, so the schema below is documentation and the
|
|
10
|
+
* template must re-validate defensively.
|
|
11
|
+
*
|
|
12
|
+
* `provenance` is deliberately absent from everything below: it records how
|
|
13
|
+
* the assets were generated and the renderer must never read it (the
|
|
14
|
+
* determinism firewall).
|
|
15
|
+
*/
|
|
16
|
+
export declare const STORY_SCHEMA_VERSION = 1;
|
|
17
|
+
/**
|
|
18
|
+
* The story renders as 2 + 2N pipeline steps and the engine drops every
|
|
19
|
+
* xfade past 80 concat inputs; 30 sections (62 steps) leaves headroom.
|
|
20
|
+
*/
|
|
21
|
+
export declare const MAX_SECTIONS = 30;
|
|
22
|
+
export declare const STORY_OUTPUT_NAMES: readonly ["landscape", "portrait"];
|
|
23
|
+
export type StoryOutputName = (typeof STORY_OUTPUT_NAMES)[number];
|
|
24
|
+
export type StoryBrand = {
|
|
25
|
+
accentColor?: string;
|
|
26
|
+
backgroundColor?: string;
|
|
27
|
+
textColor?: string;
|
|
28
|
+
};
|
|
29
|
+
export type StoryTimingDefaults = {
|
|
30
|
+
titleCardMs?: number;
|
|
31
|
+
sectionCardMs?: number;
|
|
32
|
+
outroMs?: number;
|
|
33
|
+
xfadeMs?: number;
|
|
34
|
+
narrationTailPadMs?: number;
|
|
35
|
+
minSectionMs?: number;
|
|
36
|
+
minImageDwellMs?: number;
|
|
37
|
+
imageFadeMs?: number;
|
|
38
|
+
};
|
|
39
|
+
export declare const DEFAULT_STORY_DEFAULTS: Required<StoryTimingDefaults>;
|
|
40
|
+
export type StorySectionOverrides = StoryTimingDefaults & {
|
|
41
|
+
/** Explicit narration length — outranks the probed audio duration. */
|
|
42
|
+
durationMs?: number;
|
|
43
|
+
imageWeights?: number[];
|
|
44
|
+
imageFocus?: Array<{
|
|
45
|
+
x: number;
|
|
46
|
+
y: number;
|
|
47
|
+
}>;
|
|
48
|
+
caption?: string;
|
|
49
|
+
};
|
|
50
|
+
/**
|
|
51
|
+
* One caption cue, times relative to the SECTION'S NARRATION START (which
|
|
52
|
+
* is step-local t=0 — cards cut INTO narration by design).
|
|
53
|
+
*/
|
|
54
|
+
export type StoryCue = {
|
|
55
|
+
startMs: number;
|
|
56
|
+
endMs: number;
|
|
57
|
+
text: string;
|
|
58
|
+
};
|
|
59
|
+
export type StorySection = {
|
|
60
|
+
id?: string;
|
|
61
|
+
title?: string;
|
|
62
|
+
narrationText?: string;
|
|
63
|
+
narrationAudio?: string;
|
|
64
|
+
/**
|
|
65
|
+
* SubRip path — AUTHORING-time input. Templates are pure (no fs):
|
|
66
|
+
* `story-studio build` parses it and inlines `cues`; a template seeing
|
|
67
|
+
* `srt` without `cues` emits a diagnostic, never reads the file.
|
|
68
|
+
*/
|
|
69
|
+
srt?: string;
|
|
70
|
+
/** Caption cues (narration-relative). Win over synthesized sentence cues. */
|
|
71
|
+
cues?: StoryCue[];
|
|
72
|
+
images?: string[];
|
|
73
|
+
overrides?: StorySectionOverrides;
|
|
74
|
+
};
|
|
75
|
+
export type StoryAudio = {
|
|
76
|
+
narrationVolume?: number;
|
|
77
|
+
/** Music-bed volume (default 0.10 — amix sums with no limiter). */
|
|
78
|
+
musicVolume?: number;
|
|
79
|
+
/** Music-bed file, project-relative at authoring time (absolute in props.json). */
|
|
80
|
+
music?: string;
|
|
81
|
+
/** Offset into the music file where the story starts (default 0). */
|
|
82
|
+
musicStartMs?: number;
|
|
83
|
+
};
|
|
84
|
+
export type StoryDocument = {
|
|
85
|
+
schemaVersion?: number;
|
|
86
|
+
title?: string;
|
|
87
|
+
subtitle?: string;
|
|
88
|
+
brand?: StoryBrand;
|
|
89
|
+
defaults?: StoryTimingDefaults;
|
|
90
|
+
motion?: {
|
|
91
|
+
seed?: number;
|
|
92
|
+
ease?: string;
|
|
93
|
+
intensity?: number;
|
|
94
|
+
};
|
|
95
|
+
captions?: {
|
|
96
|
+
enabled?: boolean;
|
|
97
|
+
minCueMs?: number;
|
|
98
|
+
cueGapMs?: number;
|
|
99
|
+
plate?: string;
|
|
100
|
+
};
|
|
101
|
+
audio?: StoryAudio;
|
|
102
|
+
outputs?: StoryOutputName[];
|
|
103
|
+
sections?: StorySection[];
|
|
104
|
+
[key: string]: unknown;
|
|
105
|
+
};
|
|
106
|
+
export type NarratedChaptersProps = {
|
|
107
|
+
/**
|
|
108
|
+
* The story manifest. `type:"json"` is validator-permissive by design —
|
|
109
|
+
* the value may arrive as an object or a JSON string; render() parses and
|
|
110
|
+
* shape-checks it. Omit for the built-in demo story.
|
|
111
|
+
*/
|
|
112
|
+
story?: StoryDocument | string;
|
|
113
|
+
/**
|
|
114
|
+
* Flat probe mirror of every asset path inside `story` — the engine only
|
|
115
|
+
* probes TOP-LEVEL string/string[] props, so nested paths need this
|
|
116
|
+
* machine-generated twin (emitted by `story-studio build`, byte-identical
|
|
117
|
+
* to the in-story strings; never hand-authored).
|
|
118
|
+
*/
|
|
119
|
+
mediaPaths?: string[];
|
|
120
|
+
/** Informational; shortens paths in error frames. */
|
|
121
|
+
projectDir?: string;
|
|
122
|
+
};
|
|
123
|
+
export declare const narratedChaptersPropsSchema: Record<keyof NarratedChaptersProps, import("@m0saic/types").MosaicTemplatePropDefinition>;
|
|
124
|
+
/**
|
|
125
|
+
* Parse the `story` prop into a StoryDocument. `type:"json"` props can
|
|
126
|
+
* legally arrive as objects or JSON strings; anything else is an error.
|
|
127
|
+
* `undefined`/`null` means "no story given" (demo mode) and is NOT an error.
|
|
128
|
+
*/
|
|
129
|
+
export declare function coerceStoryProp(raw: unknown): {
|
|
130
|
+
story: StoryDocument | null;
|
|
131
|
+
errors: string[];
|
|
132
|
+
};
|
|
133
|
+
/**
|
|
134
|
+
* Render-time structural gate (fail fast → error frame). Deliberately
|
|
135
|
+
* narrower than story-studio's authoring validator: only what the renderer
|
|
136
|
+
* needs to proceed safely. Collects every problem, not just the first.
|
|
137
|
+
*/
|
|
138
|
+
export declare function validateStoryShape(story: StoryDocument): string[];
|
|
139
|
+
/**
|
|
140
|
+
* Recognize a bare story document passed AS the props bag. `--props
|
|
141
|
+
* @story.json` hands the CLI the manifest itself, so `props.story` is
|
|
142
|
+
* undefined — without this sniff the render silently fell back to the demo
|
|
143
|
+
* (the worst outcome: a wrong video with zero diagnostics). A bag with a
|
|
144
|
+
* `sections` array and no `story` key IS the story; validateStoryShape
|
|
145
|
+
* still gates it fully afterwards.
|
|
146
|
+
*/
|
|
147
|
+
export declare function sniffBareStory(props: unknown): StoryDocument | null;
|
|
@@ -0,0 +1,205 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
/**
|
|
3
|
+
* Props + story.json contract for @m0saic/story/narrated-chapters/v1.
|
|
4
|
+
*
|
|
5
|
+
* The template renders from a `story` manifest (the boundary artifact of the
|
|
6
|
+
* agentic-video pipeline — see the internal agenticvideo notes
|
|
7
|
+
* narrated-chapters.md`). The example orchestrator `examples/story-studio`
|
|
8
|
+
* owns authoring-time validation (typo suggestions, path absolutization);
|
|
9
|
+
* this file owns the RENDER-time contract: the CLI make path calls
|
|
10
|
+
* `render()` directly, so the schema below is documentation and the
|
|
11
|
+
* template must re-validate defensively.
|
|
12
|
+
*
|
|
13
|
+
* `provenance` is deliberately absent from everything below: it records how
|
|
14
|
+
* the assets were generated and the renderer must never read it (the
|
|
15
|
+
* determinism firewall).
|
|
16
|
+
*/
|
|
17
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
18
|
+
exports.narratedChaptersPropsSchema = exports.DEFAULT_STORY_DEFAULTS = exports.STORY_OUTPUT_NAMES = exports.MAX_SECTIONS = exports.STORY_SCHEMA_VERSION = void 0;
|
|
19
|
+
exports.coerceStoryProp = coerceStoryProp;
|
|
20
|
+
exports.validateStoryShape = validateStoryShape;
|
|
21
|
+
exports.sniffBareStory = sniffBareStory;
|
|
22
|
+
const template_utils_1 = require("@m0saic/template-utils");
|
|
23
|
+
exports.STORY_SCHEMA_VERSION = 1;
|
|
24
|
+
/**
|
|
25
|
+
* The story renders as 2 + 2N pipeline steps and the engine drops every
|
|
26
|
+
* xfade past 80 concat inputs; 30 sections (62 steps) leaves headroom.
|
|
27
|
+
*/
|
|
28
|
+
exports.MAX_SECTIONS = 30;
|
|
29
|
+
exports.STORY_OUTPUT_NAMES = ["landscape", "portrait"];
|
|
30
|
+
exports.DEFAULT_STORY_DEFAULTS = {
|
|
31
|
+
titleCardMs: 3500,
|
|
32
|
+
sectionCardMs: 2000,
|
|
33
|
+
outroMs: 3000,
|
|
34
|
+
xfadeMs: 600,
|
|
35
|
+
narrationTailPadMs: 700,
|
|
36
|
+
minSectionMs: 1500,
|
|
37
|
+
minImageDwellMs: 2200,
|
|
38
|
+
imageFadeMs: 500,
|
|
39
|
+
};
|
|
40
|
+
exports.narratedChaptersPropsSchema = (0, template_utils_1.definePropsSchema)({
|
|
41
|
+
story: {
|
|
42
|
+
type: "json",
|
|
43
|
+
required: false,
|
|
44
|
+
description: "story.json manifest — { title, sections: [{ narrationText, narrationAudio?, images?, overrides? }], defaults?, brand?, outputs? }. Omit for the built-in demo story.",
|
|
45
|
+
meta: { ui: { label: "Story manifest", order: 1 } },
|
|
46
|
+
},
|
|
47
|
+
mediaPaths: {
|
|
48
|
+
type: "media[]",
|
|
49
|
+
required: false,
|
|
50
|
+
description: "Machine-generated flat mirror of every asset path in the story (run `story-studio build`); needed so narration durations are probed before render.",
|
|
51
|
+
meta: { ui: { label: "Media paths", order: 2 } },
|
|
52
|
+
},
|
|
53
|
+
projectDir: {
|
|
54
|
+
type: "string",
|
|
55
|
+
required: false,
|
|
56
|
+
description: "Story project folder (informational; used to shorten paths in diagnostics).",
|
|
57
|
+
meta: { control: { placeholder: "none (full paths in diagnostics)" }, ui: { label: "Project folder", order: 3 } },
|
|
58
|
+
},
|
|
59
|
+
});
|
|
60
|
+
/**
|
|
61
|
+
* Parse the `story` prop into a StoryDocument. `type:"json"` props can
|
|
62
|
+
* legally arrive as objects or JSON strings; anything else is an error.
|
|
63
|
+
* `undefined`/`null` means "no story given" (demo mode) and is NOT an error.
|
|
64
|
+
*/
|
|
65
|
+
function coerceStoryProp(raw) {
|
|
66
|
+
if (raw === undefined || raw === null)
|
|
67
|
+
return { story: null, errors: [] };
|
|
68
|
+
let value = raw;
|
|
69
|
+
if (typeof raw === "string") {
|
|
70
|
+
if (raw.trim().length === 0)
|
|
71
|
+
return { story: null, errors: [] };
|
|
72
|
+
try {
|
|
73
|
+
value = JSON.parse(raw);
|
|
74
|
+
}
|
|
75
|
+
catch (e) {
|
|
76
|
+
return {
|
|
77
|
+
story: null,
|
|
78
|
+
errors: [`props.story is a string but not valid JSON — ${e.message}`],
|
|
79
|
+
};
|
|
80
|
+
}
|
|
81
|
+
}
|
|
82
|
+
if (typeof value !== "object" || value === null || Array.isArray(value)) {
|
|
83
|
+
return { story: null, errors: [`props.story must be a story object, got ${describe(value)}`] };
|
|
84
|
+
}
|
|
85
|
+
return { story: value, errors: [] };
|
|
86
|
+
}
|
|
87
|
+
/**
|
|
88
|
+
* Render-time structural gate (fail fast → error frame). Deliberately
|
|
89
|
+
* narrower than story-studio's authoring validator: only what the renderer
|
|
90
|
+
* needs to proceed safely. Collects every problem, not just the first.
|
|
91
|
+
*/
|
|
92
|
+
function validateStoryShape(story) {
|
|
93
|
+
const errors = [];
|
|
94
|
+
if (story.schemaVersion !== undefined && story.schemaVersion !== exports.STORY_SCHEMA_VERSION) {
|
|
95
|
+
errors.push(`story.schemaVersion ${String(story.schemaVersion)} is unsupported (this template understands ${exports.STORY_SCHEMA_VERSION}).`);
|
|
96
|
+
}
|
|
97
|
+
const sections = story.sections;
|
|
98
|
+
if (!Array.isArray(sections) || sections.length === 0) {
|
|
99
|
+
errors.push(`story.sections must be a non-empty array of section objects.`);
|
|
100
|
+
}
|
|
101
|
+
else {
|
|
102
|
+
if (sections.length > exports.MAX_SECTIONS) {
|
|
103
|
+
errors.push(`story.sections has ${sections.length} entries; the maximum is ${exports.MAX_SECTIONS} (the pipeline concat wall sits at 80 steps).`);
|
|
104
|
+
}
|
|
105
|
+
sections.forEach((section, i) => {
|
|
106
|
+
if (typeof section !== "object" || section === null || Array.isArray(section)) {
|
|
107
|
+
errors.push(`story.sections[${i}] must be an object, got ${describe(section)}.`);
|
|
108
|
+
return;
|
|
109
|
+
}
|
|
110
|
+
// Blank/non-string image entries would silently shift imageFocus and
|
|
111
|
+
// imageWeights indices after filtering — reject them instead.
|
|
112
|
+
if (section.images !== undefined) {
|
|
113
|
+
if (!Array.isArray(section.images)) {
|
|
114
|
+
errors.push(`story.sections[${i}].images must be an array of path strings.`);
|
|
115
|
+
}
|
|
116
|
+
else {
|
|
117
|
+
section.images.forEach((img, k) => {
|
|
118
|
+
if (typeof img !== "string" || img.trim().length === 0) {
|
|
119
|
+
errors.push(`story.sections[${i}].images[${k}] must be a non-empty path string, got ${describe(img)}.`);
|
|
120
|
+
}
|
|
121
|
+
});
|
|
122
|
+
}
|
|
123
|
+
}
|
|
124
|
+
validateCueShape(section.cues, i, errors);
|
|
125
|
+
});
|
|
126
|
+
}
|
|
127
|
+
if (story.audio !== undefined && story.audio !== null && typeof story.audio === "object") {
|
|
128
|
+
if (story.audio.music !== undefined && (typeof story.audio.music !== "string" || story.audio.music.trim().length === 0)) {
|
|
129
|
+
errors.push(`story.audio.music must be a non-empty path string.`);
|
|
130
|
+
}
|
|
131
|
+
if (story.audio.musicStartMs !== undefined &&
|
|
132
|
+
!(typeof story.audio.musicStartMs === "number" && Number.isFinite(story.audio.musicStartMs) && story.audio.musicStartMs >= 0)) {
|
|
133
|
+
errors.push(`story.audio.musicStartMs must be a number of milliseconds ≥ 0.`);
|
|
134
|
+
}
|
|
135
|
+
}
|
|
136
|
+
if (story.outputs !== undefined) {
|
|
137
|
+
if (!Array.isArray(story.outputs)) {
|
|
138
|
+
errors.push(`story.outputs must be an array; valid values: ${exports.STORY_OUTPUT_NAMES.join(", ")}.`);
|
|
139
|
+
}
|
|
140
|
+
else {
|
|
141
|
+
story.outputs.forEach((o, i) => {
|
|
142
|
+
if (!exports.STORY_OUTPUT_NAMES.includes(o)) {
|
|
143
|
+
errors.push(`story.outputs[${i}] is ${JSON.stringify(o)}; valid values: ${exports.STORY_OUTPUT_NAMES.map((n) => `"${n}"`).join(", ")}.`);
|
|
144
|
+
}
|
|
145
|
+
});
|
|
146
|
+
}
|
|
147
|
+
}
|
|
148
|
+
return errors;
|
|
149
|
+
}
|
|
150
|
+
/**
|
|
151
|
+
* Recognize a bare story document passed AS the props bag. `--props
|
|
152
|
+
* @story.json` hands the CLI the manifest itself, so `props.story` is
|
|
153
|
+
* undefined — without this sniff the render silently fell back to the demo
|
|
154
|
+
* (the worst outcome: a wrong video with zero diagnostics). A bag with a
|
|
155
|
+
* `sections` array and no `story` key IS the story; validateStoryShape
|
|
156
|
+
* still gates it fully afterwards.
|
|
157
|
+
*/
|
|
158
|
+
function sniffBareStory(props) {
|
|
159
|
+
if (typeof props !== "object" || props === null || Array.isArray(props))
|
|
160
|
+
return null;
|
|
161
|
+
const bag = props;
|
|
162
|
+
if (bag.story !== undefined)
|
|
163
|
+
return null;
|
|
164
|
+
if (!Array.isArray(bag.sections))
|
|
165
|
+
return null;
|
|
166
|
+
return bag;
|
|
167
|
+
}
|
|
168
|
+
/** Same monotonic non-overlap rule the orchestrator enforces — defensive twin. */
|
|
169
|
+
function validateCueShape(cues, sectionIndex, errors) {
|
|
170
|
+
if (cues === undefined)
|
|
171
|
+
return;
|
|
172
|
+
if (!Array.isArray(cues)) {
|
|
173
|
+
errors.push(`story.sections[${sectionIndex}].cues must be an array of { startMs, endMs, text }.`);
|
|
174
|
+
return;
|
|
175
|
+
}
|
|
176
|
+
let prevEnd = -1;
|
|
177
|
+
cues.forEach((cue, k) => {
|
|
178
|
+
const c = cue;
|
|
179
|
+
const ok = typeof cue === "object" &&
|
|
180
|
+
cue !== null &&
|
|
181
|
+
typeof c.startMs === "number" &&
|
|
182
|
+
Number.isFinite(c.startMs) &&
|
|
183
|
+
c.startMs >= 0 &&
|
|
184
|
+
typeof c.endMs === "number" &&
|
|
185
|
+
Number.isFinite(c.endMs) &&
|
|
186
|
+
c.endMs > c.startMs &&
|
|
187
|
+
typeof c.text === "string" &&
|
|
188
|
+
c.text.trim().length > 0;
|
|
189
|
+
if (!ok) {
|
|
190
|
+
errors.push(`story.sections[${sectionIndex}].cues[${k}] must be { startMs ≥ 0, endMs > startMs, text } (narration-relative ms).`);
|
|
191
|
+
return;
|
|
192
|
+
}
|
|
193
|
+
if (c.startMs < prevEnd) {
|
|
194
|
+
errors.push(`story.sections[${sectionIndex}].cues[${k}] starts before the previous cue ends — cues must be ordered and non-overlapping.`);
|
|
195
|
+
}
|
|
196
|
+
prevEnd = c.endMs;
|
|
197
|
+
});
|
|
198
|
+
}
|
|
199
|
+
function describe(v) {
|
|
200
|
+
if (v === null)
|
|
201
|
+
return "null";
|
|
202
|
+
if (Array.isArray(v))
|
|
203
|
+
return "an array";
|
|
204
|
+
return `a ${typeof v}`;
|
|
205
|
+
}
|
|
@@ -0,0 +1,64 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Body scenes — the section's images with restrained Ken Burns drift,
|
|
3
|
+
* windowed cross-dissolves, burned captions, and the audio bed.
|
|
4
|
+
*
|
|
5
|
+
* Z-order comes from the m0's nested overlay structure (image k is the
|
|
6
|
+
* overlay of k−1 and paints above it), never from source-array position.
|
|
7
|
+
* Each image only ever FADES IN — its predecessor sits opaque underneath,
|
|
8
|
+
* so one canonical alpha ramp is a true dissolve with no luminance dip
|
|
9
|
+
* (R4: alpha + typed window, both). Every covered image's window closes
|
|
10
|
+
* shortly after its successor is fully opaque, keeping the tail composite
|
|
11
|
+
* at 2 layers instead of M.
|
|
12
|
+
*
|
|
13
|
+
* Captions are DRAWTEXT by necessity (`buildSvgTextSource` merges every
|
|
14
|
+
* layer and drops per-layer `enable` — an svg caption source would show
|
|
15
|
+
* all cues at once, forever): ONE text source per section (R5), one layer
|
|
16
|
+
* per cue, each enable-gated `between(t, start, end)`, renderMode
|
|
17
|
+
* {kind:"video"} so the gates evaluate per frame. Cue times are
|
|
18
|
+
* narration-relative == step-local (cards cut INTO narration, so the
|
|
19
|
+
* body's t=0 is the narration's first sample).
|
|
20
|
+
*
|
|
21
|
+
* Narration is a `mediaType:"audio"` source on the top overlay leaf —
|
|
22
|
+
* mandatory even for real audio files (an MP3 with ID3 cover art probes
|
|
23
|
+
* hasVideo:true; the declaration keeps it out of the video composite while
|
|
24
|
+
* still contributing its audio). It starts at t=0 and the step's last
|
|
25
|
+
* xfadeOut ≤ tailPad milliseconds are pad silence, which is what makes a
|
|
26
|
+
* body step legal as the A side of a crossfade. The music bed is
|
|
27
|
+
* replicated per step with `playback.clipStartMs = musicStartMs +
|
|
28
|
+
* scene.startMs` (there is no pipeline-spanning audio track, no ducking,
|
|
29
|
+
* no afade — engine gaps by design, documented not faked).
|
|
30
|
+
*/
|
|
31
|
+
import type { MosaicDocument, MosaicSource } from "@m0saic/types";
|
|
32
|
+
import type { StoryPlan, StoryScene, StoryVariant } from "../plan";
|
|
33
|
+
import type { StorySectionOverrides } from "../props";
|
|
34
|
+
import type { StoryTheme } from "../theme";
|
|
35
|
+
/** One resolved, probe-verified image for a section. */
|
|
36
|
+
export type ResolvedImage = {
|
|
37
|
+
/** Raw path string as it appears in the story (the ctx.media key). */
|
|
38
|
+
path: string;
|
|
39
|
+
/** Deterministic manifest key (positional — collision-free by construction). */
|
|
40
|
+
assetKey: string;
|
|
41
|
+
};
|
|
42
|
+
export type SectionMedia = {
|
|
43
|
+
images: ResolvedImage[];
|
|
44
|
+
/** Per-image subject anchors from overrides.imageFocus (0..1 fractions). */
|
|
45
|
+
focus: Array<{
|
|
46
|
+
x: number;
|
|
47
|
+
y: number;
|
|
48
|
+
} | undefined>;
|
|
49
|
+
/** Narration clip (raw path + manifest key) when the section declares one. */
|
|
50
|
+
narration?: ResolvedImage;
|
|
51
|
+
};
|
|
52
|
+
/** The music bed, shared by every scene (undefined = no music). */
|
|
53
|
+
export type MusicBed = {
|
|
54
|
+
path: string;
|
|
55
|
+
assetKey: string;
|
|
56
|
+
};
|
|
57
|
+
export declare function buildBodyDoc(scene: StoryScene, media: SectionMedia | undefined, variant: StoryVariant, plan: StoryPlan, theme: StoryTheme, music?: MusicBed): MosaicDocument;
|
|
58
|
+
/** The music-bed source for ANY scene: same file, per-step clip offset. */
|
|
59
|
+
export declare function musicSource(music: MusicBed, scene: StoryScene, plan: StoryPlan, label: string): MosaicSource;
|
|
60
|
+
/** Per-image subject anchors from a section's overrides, length-tolerant. */
|
|
61
|
+
export declare function focusFromOverrides(overrides: StorySectionOverrides | undefined, imageCount: number): Array<{
|
|
62
|
+
x: number;
|
|
63
|
+
y: number;
|
|
64
|
+
} | undefined>;
|
|
@@ -0,0 +1,253 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
/**
|
|
3
|
+
* Body scenes — the section's images with restrained Ken Burns drift,
|
|
4
|
+
* windowed cross-dissolves, burned captions, and the audio bed.
|
|
5
|
+
*
|
|
6
|
+
* Z-order comes from the m0's nested overlay structure (image k is the
|
|
7
|
+
* overlay of k−1 and paints above it), never from source-array position.
|
|
8
|
+
* Each image only ever FADES IN — its predecessor sits opaque underneath,
|
|
9
|
+
* so one canonical alpha ramp is a true dissolve with no luminance dip
|
|
10
|
+
* (R4: alpha + typed window, both). Every covered image's window closes
|
|
11
|
+
* shortly after its successor is fully opaque, keeping the tail composite
|
|
12
|
+
* at 2 layers instead of M.
|
|
13
|
+
*
|
|
14
|
+
* Captions are DRAWTEXT by necessity (`buildSvgTextSource` merges every
|
|
15
|
+
* layer and drops per-layer `enable` — an svg caption source would show
|
|
16
|
+
* all cues at once, forever): ONE text source per section (R5), one layer
|
|
17
|
+
* per cue, each enable-gated `between(t, start, end)`, renderMode
|
|
18
|
+
* {kind:"video"} so the gates evaluate per frame. Cue times are
|
|
19
|
+
* narration-relative == step-local (cards cut INTO narration, so the
|
|
20
|
+
* body's t=0 is the narration's first sample).
|
|
21
|
+
*
|
|
22
|
+
* Narration is a `mediaType:"audio"` source on the top overlay leaf —
|
|
23
|
+
* mandatory even for real audio files (an MP3 with ID3 cover art probes
|
|
24
|
+
* hasVideo:true; the declaration keeps it out of the video composite while
|
|
25
|
+
* still contributing its audio). It starts at t=0 and the step's last
|
|
26
|
+
* xfadeOut ≤ tailPad milliseconds are pad silence, which is what makes a
|
|
27
|
+
* body step legal as the A side of a crossfade. The music bed is
|
|
28
|
+
* replicated per step with `playback.clipStartMs = musicStartMs +
|
|
29
|
+
* scene.startMs` (there is no pipeline-spanning audio track, no ducking,
|
|
30
|
+
* no afade — engine gaps by design, documented not faked).
|
|
31
|
+
*/
|
|
32
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
33
|
+
exports.buildBodyDoc = buildBodyDoc;
|
|
34
|
+
exports.musicSource = musicSource;
|
|
35
|
+
exports.focusFromOverrides = focusFromOverrides;
|
|
36
|
+
const template_utils_1 = require("@m0saic/template-utils");
|
|
37
|
+
const layout_1 = require("../layout");
|
|
38
|
+
const kenburns_1 = require("../kenburns");
|
|
39
|
+
const card_1 = require("./card");
|
|
40
|
+
/** How long after a successor is fully opaque the covered image stays live. */
|
|
41
|
+
const WINDOW_SLACK_SEC = 0.25;
|
|
42
|
+
/** Drawtext is shaped by fontconfig while we measure bundled Roboto — leave margin. */
|
|
43
|
+
const CAPTION_SAFE_W = 0.9;
|
|
44
|
+
const CAPTION_MIN_FONT = 14;
|
|
45
|
+
function buildBodyDoc(scene, media, variant, plan, theme, music) {
|
|
46
|
+
var _a, _b, _c;
|
|
47
|
+
if (scene.kind !== "body") {
|
|
48
|
+
throw new Error(`buildBodyDoc: got a ${scene.kind} scene ("${scene.name}")`);
|
|
49
|
+
}
|
|
50
|
+
const durationMs = scene.visibleMs + scene.xfadeOutMs;
|
|
51
|
+
const aspect = (0, layout_1.classifyAspect)(variant.width, variant.height);
|
|
52
|
+
const spec = layout_1.ASPECT_TABLE[aspect];
|
|
53
|
+
const schedule = (_a = scene.images) !== null && _a !== void 0 ? _a : [];
|
|
54
|
+
const hasImages = media !== undefined && media.images.length > 0 && schedule.length > 0;
|
|
55
|
+
const cues = (_b = scene.cues) !== null && _b !== void 0 ? _b : [];
|
|
56
|
+
const captionsOn = cues.length > 0;
|
|
57
|
+
const narration = media === null || media === void 0 ? void 0 : media.narration;
|
|
58
|
+
const assets = {};
|
|
59
|
+
const sources = [];
|
|
60
|
+
// -- visual stack: images or the media-free panel -------------------------
|
|
61
|
+
if (hasImages) {
|
|
62
|
+
const fadeSec = Math.max(0.05, ((_c = scene.imageFadeMs) !== null && _c !== void 0 ? _c : 500) / 1000);
|
|
63
|
+
schedule.forEach((slot, k) => {
|
|
64
|
+
var _a, _b, _c;
|
|
65
|
+
const image = media.images[slot.imageIndex];
|
|
66
|
+
if (image === undefined) {
|
|
67
|
+
throw new Error(`buildBodyDoc: ${scene.name} schedules images[${slot.imageIndex}] but only ${media.images.length} resolved`);
|
|
68
|
+
}
|
|
69
|
+
assets[image.assetKey] = {
|
|
70
|
+
kind: "file",
|
|
71
|
+
path: image.path,
|
|
72
|
+
mediaType: "image",
|
|
73
|
+
};
|
|
74
|
+
const subject = media.focus[slot.imageIndex];
|
|
75
|
+
const startSec = slot.startMs / 1000;
|
|
76
|
+
const next = schedule[k + 1];
|
|
77
|
+
const camera = (0, kenburns_1.kenBurnsCamera)({
|
|
78
|
+
seed: plan.motion.seed,
|
|
79
|
+
sectionIndex: (_a = scene.sectionIndex) !== null && _a !== void 0 ? _a : 0,
|
|
80
|
+
imageIndex: slot.imageIndex,
|
|
81
|
+
startSec,
|
|
82
|
+
endSec: (slot.startMs + slot.durationMs) / 1000,
|
|
83
|
+
intensity: plan.motion.intensity,
|
|
84
|
+
ease: plan.motion.ease,
|
|
85
|
+
ampScale: spec.cameraAmpScale,
|
|
86
|
+
...(subject !== undefined ? { subjectX: subject.x, subjectY: subject.y } : {}),
|
|
87
|
+
});
|
|
88
|
+
const window = {
|
|
89
|
+
...(k > 0 ? { startSec } : {}),
|
|
90
|
+
...(next !== undefined ? { endSec: next.startMs / 1000 + fadeSec + WINDOW_SLACK_SEC } : {}),
|
|
91
|
+
};
|
|
92
|
+
sources.push({
|
|
93
|
+
type: "media",
|
|
94
|
+
mediaType: "image",
|
|
95
|
+
assetId: image.assetKey,
|
|
96
|
+
placement: {
|
|
97
|
+
fit: "cover",
|
|
98
|
+
focusX: (_b = subject === null || subject === void 0 ? void 0 : subject.x) !== null && _b !== void 0 ? _b : 0.5,
|
|
99
|
+
focusY: (_c = subject === null || subject === void 0 ? void 0 : subject.y) !== null && _c !== void 0 ? _c : spec.coverFocusY,
|
|
100
|
+
},
|
|
101
|
+
...(camera !== undefined ? { effects: { camera } } : {}),
|
|
102
|
+
overlay: {
|
|
103
|
+
...(k > 0 ? { alpha: (0, template_utils_1.fadeInExpr)(startSec, fadeSec, "linear") } : {}),
|
|
104
|
+
...(Object.keys(window).length > 0 ? { window } : {}),
|
|
105
|
+
},
|
|
106
|
+
editor: { owner: "template", label: `${scene.name}/img${slot.imageIndex}` },
|
|
107
|
+
});
|
|
108
|
+
});
|
|
109
|
+
}
|
|
110
|
+
else {
|
|
111
|
+
const S = Math.min(variant.width, variant.height);
|
|
112
|
+
sources.push((0, template_utils_1.makeColorTile)(theme.card), (0, card_1.textCell)(scene.heading, {
|
|
113
|
+
maxFont: Math.round(S * spec.headingScale * 0.7),
|
|
114
|
+
maxW: Math.floor(variant.width * spec.cardSafeW),
|
|
115
|
+
bandH: Math.floor(variant.height * 0.3),
|
|
116
|
+
color: theme.muted,
|
|
117
|
+
label: `${scene.name}/panel-heading`,
|
|
118
|
+
}));
|
|
119
|
+
}
|
|
120
|
+
// -- captions: plate + gated drawtext ------------------------------------
|
|
121
|
+
if (captionsOn) {
|
|
122
|
+
sources.push(...buildCaptionSources(scene, cues, variant, aspect, spec, plan, theme));
|
|
123
|
+
}
|
|
124
|
+
// -- audio leaves: narration, then music ----------------------------------
|
|
125
|
+
if (narration !== undefined) {
|
|
126
|
+
assets[narration.assetKey] = {
|
|
127
|
+
kind: "file",
|
|
128
|
+
path: narration.path,
|
|
129
|
+
mediaType: "audio",
|
|
130
|
+
};
|
|
131
|
+
sources.push({
|
|
132
|
+
type: "media",
|
|
133
|
+
mediaType: "audio",
|
|
134
|
+
assetId: narration.assetKey,
|
|
135
|
+
audio: { enabled: true, volume: plan.audio.narrationVolume },
|
|
136
|
+
editor: { owner: "template", label: `${scene.name}/narration` },
|
|
137
|
+
});
|
|
138
|
+
}
|
|
139
|
+
if (music !== undefined) {
|
|
140
|
+
assets[music.assetKey] = {
|
|
141
|
+
kind: "file",
|
|
142
|
+
path: music.path,
|
|
143
|
+
mediaType: "audio",
|
|
144
|
+
};
|
|
145
|
+
sources.push(musicSource(music, scene, plan, `${scene.name}/music`));
|
|
146
|
+
}
|
|
147
|
+
const stackFrames = hasImages ? schedule.length : 2;
|
|
148
|
+
const audioCount = (narration !== undefined ? 1 : 0) + (music !== undefined ? 1 : 0);
|
|
149
|
+
return {
|
|
150
|
+
kind: "mosaic_document",
|
|
151
|
+
version: 1,
|
|
152
|
+
m0: (0, layout_1.buildBodyM0)({ aspect, stackFrames, captions: captionsOn, audioCount }),
|
|
153
|
+
assets,
|
|
154
|
+
sources,
|
|
155
|
+
size: { width: variant.width, height: variant.height },
|
|
156
|
+
fps: plan.fps,
|
|
157
|
+
durationMs,
|
|
158
|
+
backgroundColor: theme.canvas,
|
|
159
|
+
editor: { label: `${variant.name}/${scene.name}` },
|
|
160
|
+
};
|
|
161
|
+
}
|
|
162
|
+
/** The music-bed source for ANY scene: same file, per-step clip offset. */
|
|
163
|
+
function musicSource(music, scene, plan, label) {
|
|
164
|
+
return {
|
|
165
|
+
type: "media",
|
|
166
|
+
mediaType: "audio",
|
|
167
|
+
assetId: music.assetKey,
|
|
168
|
+
audio: { enabled: true, volume: plan.audio.musicVolume },
|
|
169
|
+
playback: { clipStartMs: plan.audio.musicStartMs + scene.startMs },
|
|
170
|
+
editor: { owner: "template", label },
|
|
171
|
+
};
|
|
172
|
+
}
|
|
173
|
+
/**
|
|
174
|
+
* Caption frames for the band carved by buildBodyM0. Portrait: [plate,
|
|
175
|
+
* text]. Landscape/square get an extra leading TRANSPARENT tile claiming
|
|
176
|
+
* the split's top band so the images show through: [topSpacer, plate,
|
|
177
|
+
* text]. The plate fills its real band cell (small insets only — the
|
|
178
|
+
* engine caps inset at 0.49/side, which is why the band is carved, not
|
|
179
|
+
* painted).
|
|
180
|
+
*/
|
|
181
|
+
function buildCaptionSources(scene, cues, variant, aspect, spec, plan, theme) {
|
|
182
|
+
const S = Math.min(variant.width, variant.height);
|
|
183
|
+
const isBand = aspect === "portrait";
|
|
184
|
+
const plateColor = "#000000@0.55";
|
|
185
|
+
const plate = plan.captions.plate === "never"
|
|
186
|
+
? (0, template_utils_1.makeColorTile)("black@0")
|
|
187
|
+
: (0, template_utils_1.makeColorTile)(plateColor, {
|
|
188
|
+
placement: { inset: { top: 0.05, left: 0.05, right: 0.05, bottom: 0.12 } },
|
|
189
|
+
});
|
|
190
|
+
// Fit once per section against every cue (no per-cue jitter): shrink the
|
|
191
|
+
// font until each cue wraps within the line budget. The wrap ALWAYS runs
|
|
192
|
+
// at least once — a tiny canvas whose cap starts below the floor must
|
|
193
|
+
// still produce layers, never an empty wrapped list.
|
|
194
|
+
const boxW = Math.floor(variant.width * 0.85 * CAPTION_SAFE_W);
|
|
195
|
+
let fontSize = Math.max(CAPTION_MIN_FONT, Math.round(S * spec.captionScale));
|
|
196
|
+
let wrapped = cues.map((cue) => wrapCue(cue.text, fontSize, boxW));
|
|
197
|
+
while (!wrapped.every((lines) => lines.length <= spec.captionLines) && fontSize > CAPTION_MIN_FONT) {
|
|
198
|
+
fontSize = Math.max(CAPTION_MIN_FONT, Math.floor(fontSize * 0.9));
|
|
199
|
+
wrapped = cues.map((cue) => wrapCue(cue.text, fontSize, boxW));
|
|
200
|
+
}
|
|
201
|
+
const text = {
|
|
202
|
+
type: "text",
|
|
203
|
+
renderMode: { kind: "video" }, // per-layer enable gates evaluate per FRAME
|
|
204
|
+
layers: cues.map((cue, i) => ({
|
|
205
|
+
content: { kind: "literal", text: wrapped[i].join("\n") },
|
|
206
|
+
style: { fontSize, fontColor: theme.ink },
|
|
207
|
+
placement: { hAlign: "center", vAlign: "middle", padding: { x: 0.07, y: 0.1 } },
|
|
208
|
+
overlay: { enable: `between(t,${(cue.startMs / 1000).toFixed(3)},${(cue.endMs / 1000).toFixed(3)})` },
|
|
209
|
+
})),
|
|
210
|
+
editor: { owner: "template", label: `${scene.name}/captions` },
|
|
211
|
+
};
|
|
212
|
+
return isBand ? [plate, text] : [(0, template_utils_1.makeColorTile)("black@0"), plate, text];
|
|
213
|
+
}
|
|
214
|
+
/** Greedy word-wrap against real metrics; oversized words stay whole (drawtext clips). */
|
|
215
|
+
function wrapCue(text, fontSize, maxW) {
|
|
216
|
+
const width = (s) => (0, template_utils_1.measureText)(s, { fontSize }).width;
|
|
217
|
+
const out = [];
|
|
218
|
+
let current = "";
|
|
219
|
+
for (const word of text.replace(/\n/g, " ").split(/\s+/).filter((w) => w.length > 0)) {
|
|
220
|
+
const joined = current.length > 0 ? `${current} ${word}` : word;
|
|
221
|
+
if (width(joined) <= maxW || current.length === 0) {
|
|
222
|
+
current = joined;
|
|
223
|
+
}
|
|
224
|
+
else {
|
|
225
|
+
out.push(current);
|
|
226
|
+
current = word;
|
|
227
|
+
}
|
|
228
|
+
}
|
|
229
|
+
if (current.length > 0)
|
|
230
|
+
out.push(current);
|
|
231
|
+
return out.length > 0 ? out : [text];
|
|
232
|
+
}
|
|
233
|
+
/** Per-image subject anchors from a section's overrides, length-tolerant. */
|
|
234
|
+
function focusFromOverrides(overrides, imageCount) {
|
|
235
|
+
const raw = overrides === null || overrides === void 0 ? void 0 : overrides.imageFocus;
|
|
236
|
+
const out = new Array(imageCount).fill(undefined);
|
|
237
|
+
if (!Array.isArray(raw))
|
|
238
|
+
return out;
|
|
239
|
+
for (let i = 0; i < imageCount && i < raw.length; i++) {
|
|
240
|
+
const f = raw[i];
|
|
241
|
+
if (typeof f === "object" &&
|
|
242
|
+
f !== null &&
|
|
243
|
+
typeof f.x === "number" &&
|
|
244
|
+
f.x >= 0 &&
|
|
245
|
+
f.x <= 1 &&
|
|
246
|
+
typeof f.y === "number" &&
|
|
247
|
+
f.y >= 0 &&
|
|
248
|
+
f.y <= 1) {
|
|
249
|
+
out[i] = { x: f.x, y: f.y };
|
|
250
|
+
}
|
|
251
|
+
}
|
|
252
|
+
return out;
|
|
253
|
+
}
|