@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,775 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
/**
|
|
3
|
+
* @m0saic/media/qr/animate/v1
|
|
4
|
+
*
|
|
5
|
+
* Deterministic two-phase animation for the m0saic brand QR.
|
|
6
|
+
*
|
|
7
|
+
* **Phase 1 — modules** (always): every visible module tile fades + settles
|
|
8
|
+
* into place on a diagonal TL→BR stagger.
|
|
9
|
+
*
|
|
10
|
+
* **Phase 2 — M region** (when `qrLabels` includes a label whose text
|
|
11
|
+
* matches {@link QrAnimateProps.centreLabel}): the labeled cell hosts a
|
|
12
|
+
* nested sub-doc rendering the canonical m0saic M (from the
|
|
13
|
+
* `brand/m-33` dictionary entry, masked per its rank tiles). The M
|
|
14
|
+
* smoothstep-fades in after modules complete, then breathes gently as a
|
|
15
|
+
* passive idle while the QR is held.
|
|
16
|
+
*
|
|
17
|
+
* When labels are absent or no label matches `centreLabel`, the template
|
|
18
|
+
* degrades to Phase-1-only behavior: every visible cell renders as a
|
|
19
|
+
* module tile.
|
|
20
|
+
*/
|
|
21
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
22
|
+
exports.QrAnimate = void 0;
|
|
23
|
+
const types_1 = require("@m0saic/types");
|
|
24
|
+
const dsl_stdlib_1 = require("@m0saic/dsl-stdlib");
|
|
25
|
+
const template_utils_1 = require("@m0saic/template-utils");
|
|
26
|
+
const dictionary_1 = require("@m0saic/dictionary");
|
|
27
|
+
const expressions_1 = require("./expressions");
|
|
28
|
+
const BRAND_ORANGE = "#f97316";
|
|
29
|
+
const BG_LIGHT = "#ffffff";
|
|
30
|
+
const BG_DARK = "#000000";
|
|
31
|
+
const DEFAULT_TILE_COLOR = BRAND_ORANGE; // modules
|
|
32
|
+
const DEFAULT_M_COLOR = BRAND_ORANGE; // centre M (always orange)
|
|
33
|
+
const DEFAULT_VARIANT = "light";
|
|
34
|
+
const DEFAULT_SPAWN_DUR_MS = 1000;
|
|
35
|
+
const DEFAULT_TILE_FADE_MS = 220;
|
|
36
|
+
const DEFAULT_TILE_OFFSET_PX = 1;
|
|
37
|
+
const DEFAULT_CENTRE_LABEL = "safe-area";
|
|
38
|
+
const DEFAULT_M_DELAY_MS = 200;
|
|
39
|
+
const DEFAULT_M_IN_DUR_MS = 700;
|
|
40
|
+
const DEFAULT_M_TILE_FADE_MS = 220;
|
|
41
|
+
const DEFAULT_IDLE_DUR_MS = 4000;
|
|
42
|
+
const DEFAULT_FADE_OUT_DUR_MS = 700;
|
|
43
|
+
// Loading-UI shape (matches brand/logo/v3 loading_ui_v2 defaults).
|
|
44
|
+
const M_LOADING_BASE_MIN = 0.55;
|
|
45
|
+
const M_LOADING_BASE_MAX = 0.85;
|
|
46
|
+
const M_LOADING_BASE_PULSE_SEC = 1.6;
|
|
47
|
+
const M_LOADING_SHIMMER_SEC = 1.2;
|
|
48
|
+
const M_LOADING_SHIMMER_WIDTH = 0.22;
|
|
49
|
+
const M_LOADING_SHIMMER_AMP = 0.75;
|
|
50
|
+
/** Brand M dictionary entry id (rect-with-masks variant). */
|
|
51
|
+
const M_DICT_ID = "brand/m-33";
|
|
52
|
+
const M_REF = "m_logo";
|
|
53
|
+
/**
|
|
54
|
+
* Rounded finder-eye ("Instagram") treatment defaults. Each of the three
|
|
55
|
+
* 7×7 finder patterns is covered by a single concentric rounded eye —
|
|
56
|
+
* outer rounded square, inner light ring, rounded centre dot — instead of
|
|
57
|
+
* the raw grid of per-cell dots. `0.35` outer / `1.0` (circular) centre dot
|
|
58
|
+
* matches the Instagram-style reference.
|
|
59
|
+
*/
|
|
60
|
+
const DEFAULT_EYE_OUTER_RADIUS = 0.35;
|
|
61
|
+
const DEFAULT_EYE_DOT_RADIUS = 1.0;
|
|
62
|
+
/**
|
|
63
|
+
* Finder geometry of the brand QR (`brand/qr`): a version-6 code — 41×41
|
|
64
|
+
* matrix — with a 4-module quiet zone (49×49 grid total). Finder patterns
|
|
65
|
+
* sit at the three corners. Overridable for other QRs routed through this
|
|
66
|
+
* template.
|
|
67
|
+
*/
|
|
68
|
+
const DEFAULT_MATRIX_SIZE = 41;
|
|
69
|
+
const DEFAULT_QUIET_ZONE = 4;
|
|
70
|
+
/** Every finder pattern spans 7×7 modules (ISO 18004). */
|
|
71
|
+
const FINDER_SPAN = 7;
|
|
72
|
+
/** Rank driving the eyes' fade-in — early, so the finders read immediately. */
|
|
73
|
+
const EYE_FADE_RANK = 0.15;
|
|
74
|
+
/** Inner-doc key for the QR child when the URL strip wraps the QR. */
|
|
75
|
+
const QR_INNER_REF = "qr_inner";
|
|
76
|
+
/**
|
|
77
|
+
* Default human-readable label rendered below the QR when the asset
|
|
78
|
+
* is consumed in landscape-taller-than-square mode (i.e. the build
|
|
79
|
+
* script renders at canvasWidth × (canvasWidth + stripHeight)). Lets
|
|
80
|
+
* viewers reach m0saic.io even when they can't scan the QR (e.g.
|
|
81
|
+
* watching a video on the same device they'd scan from). Pass the
|
|
82
|
+
* empty string to disable the strip.
|
|
83
|
+
*/
|
|
84
|
+
const DEFAULT_URL_LABEL = "https://m0saic.io";
|
|
85
|
+
/**
|
|
86
|
+
* Text fill colors for the URL label. Picked to invert the variant's
|
|
87
|
+
* background — dark text on the light variant's white plate, white
|
|
88
|
+
* text on the dark variant's black plate.
|
|
89
|
+
*/
|
|
90
|
+
const URL_TEXT_COLOR_LIGHT_VARIANT = "#111111";
|
|
91
|
+
const URL_TEXT_COLOR_DARK_VARIANT = "#f5f5f5";
|
|
92
|
+
const propsSchema = (0, template_utils_1.definePropsSchema)({
|
|
93
|
+
qrM0: {
|
|
94
|
+
type: "m0c",
|
|
95
|
+
required: true,
|
|
96
|
+
description: "m0 (or m0c) string describing the QR layout. The 'm0c' prop type " +
|
|
97
|
+
"lets the editor surface a Layout picker that supports per-cell labels — " +
|
|
98
|
+
"step 2 reads a centre safe-area label to drive the M region phase.",
|
|
99
|
+
},
|
|
100
|
+
spawnDurMs: {
|
|
101
|
+
type: "number",
|
|
102
|
+
required: false,
|
|
103
|
+
description: "Stagger duration: time from first tile to last tile starting their fade-in.",
|
|
104
|
+
meta: {
|
|
105
|
+
constraints: { min: 100, max: 60000 },
|
|
106
|
+
ui: { label: "Spawn (ms)" },
|
|
107
|
+
},
|
|
108
|
+
},
|
|
109
|
+
tileFadeMs: {
|
|
110
|
+
type: "number",
|
|
111
|
+
required: false,
|
|
112
|
+
description: "Per-tile fade-in duration.",
|
|
113
|
+
meta: {
|
|
114
|
+
constraints: { min: 0, max: 10000 },
|
|
115
|
+
ui: { label: "Fade (ms)" },
|
|
116
|
+
},
|
|
117
|
+
},
|
|
118
|
+
tileOffsetPx: {
|
|
119
|
+
type: "number",
|
|
120
|
+
required: false,
|
|
121
|
+
description: "Pixel offset (down/right) each tile starts from.",
|
|
122
|
+
meta: {
|
|
123
|
+
constraints: { min: 0, max: 100 },
|
|
124
|
+
ui: { label: "Settle (px)" },
|
|
125
|
+
},
|
|
126
|
+
},
|
|
127
|
+
variant: {
|
|
128
|
+
type: "string",
|
|
129
|
+
required: false,
|
|
130
|
+
description: "Brand variant: 'light' (white bg) or 'dark' (black bg). Modules stay brand orange.",
|
|
131
|
+
meta: {
|
|
132
|
+
constraints: { oneOf: ["light", "dark"] },
|
|
133
|
+
ui: { label: "Variant" },
|
|
134
|
+
},
|
|
135
|
+
},
|
|
136
|
+
bgColor: {
|
|
137
|
+
type: "string",
|
|
138
|
+
required: false,
|
|
139
|
+
description: "Background colour override. Defaults from variant.",
|
|
140
|
+
meta: {
|
|
141
|
+
constraints: { isColor: true },
|
|
142
|
+
ui: { label: "Background" },
|
|
143
|
+
control: { colorPicker: true, placeholder: BG_LIGHT },
|
|
144
|
+
},
|
|
145
|
+
},
|
|
146
|
+
tileColor: {
|
|
147
|
+
type: "string",
|
|
148
|
+
required: false,
|
|
149
|
+
description: "Module fill colour.",
|
|
150
|
+
meta: {
|
|
151
|
+
constraints: { isColor: true },
|
|
152
|
+
ui: { label: "Tile color" },
|
|
153
|
+
control: { colorPicker: true, placeholder: DEFAULT_TILE_COLOR },
|
|
154
|
+
},
|
|
155
|
+
},
|
|
156
|
+
qrLabels: {
|
|
157
|
+
type: "json",
|
|
158
|
+
required: false,
|
|
159
|
+
description: "m0c labels map (stableKey → { text, color? }). Optional; required for the M phase.",
|
|
160
|
+
meta: { ui: { label: "Labels" } },
|
|
161
|
+
},
|
|
162
|
+
mColor: {
|
|
163
|
+
type: "string",
|
|
164
|
+
required: false,
|
|
165
|
+
description: "M region fill colour.",
|
|
166
|
+
meta: {
|
|
167
|
+
constraints: { isColor: true },
|
|
168
|
+
ui: { label: "M color" },
|
|
169
|
+
control: { colorPicker: true, placeholder: DEFAULT_M_COLOR },
|
|
170
|
+
},
|
|
171
|
+
},
|
|
172
|
+
mDelayMs: {
|
|
173
|
+
type: "number",
|
|
174
|
+
required: false,
|
|
175
|
+
description: "Pause between modules done and M entrance starting.",
|
|
176
|
+
meta: {
|
|
177
|
+
constraints: { min: 0, max: 60000 },
|
|
178
|
+
ui: { label: "M delay (ms)" },
|
|
179
|
+
},
|
|
180
|
+
},
|
|
181
|
+
mInDurMs: {
|
|
182
|
+
type: "number",
|
|
183
|
+
required: false,
|
|
184
|
+
description: "M entrance window (all 33 rects converge by this).",
|
|
185
|
+
meta: {
|
|
186
|
+
constraints: { min: 0, max: 10000 },
|
|
187
|
+
ui: { label: "M in (ms)" },
|
|
188
|
+
},
|
|
189
|
+
},
|
|
190
|
+
mTileFadeMs: {
|
|
191
|
+
type: "number",
|
|
192
|
+
required: false,
|
|
193
|
+
description: "Per-rect smoothstep duration during M entrance.",
|
|
194
|
+
meta: {
|
|
195
|
+
constraints: { min: 0, max: 10000 },
|
|
196
|
+
ui: { label: "M rect fade (ms)" },
|
|
197
|
+
},
|
|
198
|
+
},
|
|
199
|
+
idleDurMs: {
|
|
200
|
+
type: "number",
|
|
201
|
+
required: false,
|
|
202
|
+
description: "Idle hold duration after M entrance, before fade-out.",
|
|
203
|
+
meta: {
|
|
204
|
+
constraints: { min: 0, max: 60000 },
|
|
205
|
+
ui: { label: "Idle (ms)" },
|
|
206
|
+
},
|
|
207
|
+
},
|
|
208
|
+
fadeOutDurMs: {
|
|
209
|
+
type: "number",
|
|
210
|
+
required: false,
|
|
211
|
+
description: "Global fade-out duration (every tile drops to 0 by render end).",
|
|
212
|
+
meta: {
|
|
213
|
+
constraints: { min: 0, max: 10000 },
|
|
214
|
+
ui: { label: "Fade out (ms)" },
|
|
215
|
+
},
|
|
216
|
+
},
|
|
217
|
+
centreLabel: {
|
|
218
|
+
type: "string",
|
|
219
|
+
required: false,
|
|
220
|
+
description: "Label text identifying the centre safe-area cell in qrLabels.",
|
|
221
|
+
meta: { ui: { label: "Centre label" } },
|
|
222
|
+
},
|
|
223
|
+
gleam: {
|
|
224
|
+
type: "boolean",
|
|
225
|
+
required: false,
|
|
226
|
+
description: "Add a travelling per-cell shine over the QR modules (stacks under the M gleam).",
|
|
227
|
+
meta: { ui: { label: "Module gleam" } },
|
|
228
|
+
},
|
|
229
|
+
moduleBorderRadius: {
|
|
230
|
+
type: "number",
|
|
231
|
+
required: false,
|
|
232
|
+
description: "Per-module corner radius (0..1). 0 = square (default). 1.0 = circular dots — gives the QR a dot-matrix look. Doesn't touch the centre M or URL strip.",
|
|
233
|
+
meta: { constraints: { min: 0, max: 1 }, ui: { label: "Module border radius" } },
|
|
234
|
+
},
|
|
235
|
+
eyes: {
|
|
236
|
+
type: "json",
|
|
237
|
+
required: false,
|
|
238
|
+
description: "Render the 3 finder patterns as single rounded 'Instagram' eyes (true, or an object with outerBorderRadius / innerLightBorderRadius / innerDotBorderRadius). Underlying finder cells are suppressed.",
|
|
239
|
+
meta: { ui: { label: "Rounded eyes" } },
|
|
240
|
+
},
|
|
241
|
+
matrixSize: {
|
|
242
|
+
type: "number",
|
|
243
|
+
required: false,
|
|
244
|
+
description: "QR matrix side length in modules (no quiet zone). Only used with `eyes`. Default 41 (brand QR / version 6).",
|
|
245
|
+
meta: { constraints: { min: 21, max: 177 }, ui: { label: "Matrix size" } },
|
|
246
|
+
},
|
|
247
|
+
quietZone: {
|
|
248
|
+
type: "number",
|
|
249
|
+
required: false,
|
|
250
|
+
description: "Quiet-zone modules per side. Only used with `eyes`. Default 4.",
|
|
251
|
+
meta: { constraints: { min: 0, max: 16 }, ui: { label: "Quiet zone" } },
|
|
252
|
+
},
|
|
253
|
+
urlLabel: {
|
|
254
|
+
type: "string",
|
|
255
|
+
required: false,
|
|
256
|
+
description: "Human-readable URL rendered in a strip below the QR (active when canvas is taller than wide). Empty string disables.",
|
|
257
|
+
meta: { ui: { label: "URL label" } },
|
|
258
|
+
},
|
|
259
|
+
});
|
|
260
|
+
exports.QrAnimate = {
|
|
261
|
+
id: (0, types_1.asTemplateId)("@m0saic/media/qr/animate/v1"),
|
|
262
|
+
label: "QR — Animated Tile Spawn",
|
|
263
|
+
version: 1,
|
|
264
|
+
// BITMAP drafting mode (handbook §3c): the split counts ARE the QR module grid —
|
|
265
|
+
// never live-composed, so the latticeSmooth convention does not apply.
|
|
266
|
+
lattice: { mode: "bitmap" },
|
|
267
|
+
description: "Deterministic per-tile spawn-in animation for a pre-baked QR m0 string. " +
|
|
268
|
+
"Engine-internal: feeds `tools/build-qr-rendered.cjs` which produces the " +
|
|
269
|
+
"committed mp4 loops consumed by `qr-stamp/video/v2`. User-facing " +
|
|
270
|
+
"callers should pick `Brand QR — Spawn` (`qr-animate/v2`) instead, which " +
|
|
271
|
+
"accepts a URL directly.",
|
|
272
|
+
capabilities: { tier: "core" },
|
|
273
|
+
// Engine-internal: this template takes a pre-baked qrM0 string and animates it.
|
|
274
|
+
// The user-facing entry point is qr-animate/v2 which generates the QR live
|
|
275
|
+
// from a URL and then routes through this same animation envelope.
|
|
276
|
+
internal: true,
|
|
277
|
+
tags: ["brand", "qr", "animated", "internal"],
|
|
278
|
+
outputHints: {
|
|
279
|
+
fps: 30,
|
|
280
|
+
// Total envelope: modules pixelate → gap → M assembles → idle hold → fade out.
|
|
281
|
+
durationMs: DEFAULT_SPAWN_DUR_MS +
|
|
282
|
+
DEFAULT_TILE_FADE_MS +
|
|
283
|
+
DEFAULT_M_DELAY_MS +
|
|
284
|
+
DEFAULT_M_IN_DUR_MS +
|
|
285
|
+
DEFAULT_IDLE_DUR_MS +
|
|
286
|
+
DEFAULT_FADE_OUT_DUR_MS,
|
|
287
|
+
width: 1222,
|
|
288
|
+
height: 1222,
|
|
289
|
+
note: "Square QR; pixelate-in → M assembles → idle breathe → fade out.",
|
|
290
|
+
},
|
|
291
|
+
propsSchema,
|
|
292
|
+
defaultProps: {
|
|
293
|
+
quietZone: 4,
|
|
294
|
+
matrixSize: 41,
|
|
295
|
+
moduleBorderRadius: 0,
|
|
296
|
+
variant: DEFAULT_VARIANT,
|
|
297
|
+
spawnDurMs: DEFAULT_SPAWN_DUR_MS,
|
|
298
|
+
tileFadeMs: DEFAULT_TILE_FADE_MS,
|
|
299
|
+
idleDurMs: DEFAULT_IDLE_DUR_MS,
|
|
300
|
+
fadeOutDurMs: DEFAULT_FADE_OUT_DUR_MS,
|
|
301
|
+
tileOffsetPx: DEFAULT_TILE_OFFSET_PX,
|
|
302
|
+
tileColor: DEFAULT_TILE_COLOR,
|
|
303
|
+
mColor: DEFAULT_M_COLOR,
|
|
304
|
+
mDelayMs: DEFAULT_M_DELAY_MS,
|
|
305
|
+
mInDurMs: DEFAULT_M_IN_DUR_MS,
|
|
306
|
+
mTileFadeMs: DEFAULT_M_TILE_FADE_MS,
|
|
307
|
+
centreLabel: DEFAULT_CENTRE_LABEL,
|
|
308
|
+
gleam: false,
|
|
309
|
+
urlLabel: DEFAULT_URL_LABEL,
|
|
310
|
+
},
|
|
311
|
+
async render(props, ctx) {
|
|
312
|
+
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;
|
|
313
|
+
const qrM0 = props.qrM0;
|
|
314
|
+
const qrLabels = props.qrLabels;
|
|
315
|
+
const gleam = (_b = (_a = props.gleam) !== null && _a !== void 0 ? _a : this.defaultProps.gleam) !== null && _b !== void 0 ? _b : false;
|
|
316
|
+
const variant = (_c = props.variant) !== null && _c !== void 0 ? _c : this.defaultProps.variant;
|
|
317
|
+
const bgColor = (_d = props.bgColor) !== null && _d !== void 0 ? _d : (variant === "dark" ? BG_DARK : BG_LIGHT);
|
|
318
|
+
const spawnDurMs = (_e = props.spawnDurMs) !== null && _e !== void 0 ? _e : this.defaultProps.spawnDurMs;
|
|
319
|
+
const tileFadeMs = (_f = props.tileFadeMs) !== null && _f !== void 0 ? _f : this.defaultProps.tileFadeMs;
|
|
320
|
+
const tileOffsetPx = (_g = props.tileOffsetPx) !== null && _g !== void 0 ? _g : this.defaultProps.tileOffsetPx;
|
|
321
|
+
const tileColor = (_h = props.tileColor) !== null && _h !== void 0 ? _h : this.defaultProps.tileColor;
|
|
322
|
+
const mColor = (_j = props.mColor) !== null && _j !== void 0 ? _j : this.defaultProps.mColor;
|
|
323
|
+
const mDelayMs = (_k = props.mDelayMs) !== null && _k !== void 0 ? _k : this.defaultProps.mDelayMs;
|
|
324
|
+
const mInDurMs = (_l = props.mInDurMs) !== null && _l !== void 0 ? _l : this.defaultProps.mInDurMs;
|
|
325
|
+
const mTileFadeMs = (_m = props.mTileFadeMs) !== null && _m !== void 0 ? _m : this.defaultProps.mTileFadeMs;
|
|
326
|
+
const idleDurMs = (_o = props.idleDurMs) !== null && _o !== void 0 ? _o : this.defaultProps.idleDurMs;
|
|
327
|
+
const fadeOutDurMs = (_p = props.fadeOutDurMs) !== null && _p !== void 0 ? _p : this.defaultProps.fadeOutDurMs;
|
|
328
|
+
const centreLabel = (_q = props.centreLabel) !== null && _q !== void 0 ? _q : this.defaultProps.centreLabel;
|
|
329
|
+
const urlLabel = ((_s = (_r = props.urlLabel) !== null && _r !== void 0 ? _r : this.defaultProps.urlLabel) !== null && _s !== void 0 ? _s : "").trim();
|
|
330
|
+
const moduleBorderRadius = (_u = (_t = props.moduleBorderRadius) !== null && _t !== void 0 ? _t : this.defaultProps.moduleBorderRadius) !== null && _u !== void 0 ? _u : 0;
|
|
331
|
+
// Rounded finder-eye treatment. `eyes` may be `true` (defaults) or an
|
|
332
|
+
// object of per-layer radii. Unset → the QR m0 is left untouched below.
|
|
333
|
+
const eyesProp = (_v = props.eyes) !== null && _v !== void 0 ? _v : this.defaultProps.eyes;
|
|
334
|
+
const eyesEnabled = eyesProp === true || (typeof eyesProp === "object" && eyesProp !== null);
|
|
335
|
+
const eyeStyle = typeof eyesProp === "object" && eyesProp !== null ? eyesProp : {};
|
|
336
|
+
const eyeOuterR = (_w = eyeStyle.outerBorderRadius) !== null && _w !== void 0 ? _w : DEFAULT_EYE_OUTER_RADIUS;
|
|
337
|
+
// Inner light ring matches the outer radius by default for visual
|
|
338
|
+
// continuity (mirrors makeQrEyeChildDoc's own default).
|
|
339
|
+
const eyeInnerLightR = (_x = eyeStyle.innerLightBorderRadius) !== null && _x !== void 0 ? _x : eyeOuterR;
|
|
340
|
+
const eyeDotR = (_y = eyeStyle.innerDotBorderRadius) !== null && _y !== void 0 ? _y : DEFAULT_EYE_DOT_RADIUS;
|
|
341
|
+
const matrixSize = (_z = props.matrixSize) !== null && _z !== void 0 ? _z : DEFAULT_MATRIX_SIZE;
|
|
342
|
+
const quietZone = (_0 = props.quietZone) !== null && _0 !== void 0 ? _0 : DEFAULT_QUIET_ZONE;
|
|
343
|
+
// URL-strip layout. The strip activates only when the caller renders
|
|
344
|
+
// at a taller-than-wide canvas — the build script controls this via
|
|
345
|
+
// `-w 1222 -h 1342`. Square canvases keep the existing behavior
|
|
346
|
+
// (no strip, QR fills the canvas) so external e2e fixtures don't
|
|
347
|
+
// break. The strip's height is whatever the caller reserved above
|
|
348
|
+
// the QR's square footprint.
|
|
349
|
+
const stripHeightPx = Math.max(0, ctx.output.height - ctx.output.width);
|
|
350
|
+
const useUrlStrip = urlLabel.length > 0 && stripHeightPx > 0;
|
|
351
|
+
const qrCanvasW = ctx.output.width;
|
|
352
|
+
const qrCanvasH = useUrlStrip ? ctx.output.width : ctx.output.height;
|
|
353
|
+
const errs = [];
|
|
354
|
+
if (!qrM0 || qrM0.trim().length === 0) {
|
|
355
|
+
errs.push("qrM0 is required (non-empty m0 string)");
|
|
356
|
+
}
|
|
357
|
+
if (!(spawnDurMs >= 100 && spawnDurMs <= 60000)) {
|
|
358
|
+
errs.push(`spawnDurMs must be in [100, 60000] (got ${spawnDurMs})`);
|
|
359
|
+
}
|
|
360
|
+
if (!(tileFadeMs >= 0 && tileFadeMs <= 10000)) {
|
|
361
|
+
errs.push(`tileFadeMs must be in [0, 10000] (got ${tileFadeMs})`);
|
|
362
|
+
}
|
|
363
|
+
if (!(tileOffsetPx >= 0 && tileOffsetPx <= 100)) {
|
|
364
|
+
errs.push(`tileOffsetPx must be in [0, 100] (got ${tileOffsetPx})`);
|
|
365
|
+
}
|
|
366
|
+
if (!(idleDurMs >= 0 && idleDurMs <= 60000)) {
|
|
367
|
+
errs.push(`idleDurMs must be in [0, 60000] (got ${idleDurMs})`);
|
|
368
|
+
}
|
|
369
|
+
if (!(fadeOutDurMs >= 0 && fadeOutDurMs <= 10000)) {
|
|
370
|
+
errs.push(`fadeOutDurMs must be in [0, 10000] (got ${fadeOutDurMs})`);
|
|
371
|
+
}
|
|
372
|
+
if (errs.length) {
|
|
373
|
+
return (0, template_utils_1.makeErrorMosaic)(errs.join(" | "), {
|
|
374
|
+
title: `${this.id} props`,
|
|
375
|
+
width: ctx.output.width,
|
|
376
|
+
height: ctx.output.height,
|
|
377
|
+
});
|
|
378
|
+
}
|
|
379
|
+
// Optionally overlay the three rounded finder eyes onto the QR. Each
|
|
380
|
+
// 7×7 finder pattern is covered by an opaque concentric rounded eye
|
|
381
|
+
// (outer rounded square → inner light ring → rounded centre dot) placed
|
|
382
|
+
// via `placeRects` over the same 49-cell grid as the base, so it aligns
|
|
383
|
+
// to the finder cells. The underlying per-cell finder modules are
|
|
384
|
+
// suppressed (rendered transparent) in the source loop below so their
|
|
385
|
+
// circles don't poke past the rounded ring. When `eyes` is unset the m0
|
|
386
|
+
// is untouched and non-eyes builds rebuild byte-identical.
|
|
387
|
+
let m0 = qrM0;
|
|
388
|
+
let finderRegionsPx = [];
|
|
389
|
+
let eyeCellPx = 0;
|
|
390
|
+
if (eyesEnabled) {
|
|
391
|
+
const N = matrixSize + 2 * quietZone;
|
|
392
|
+
const finderCells = [
|
|
393
|
+
{ x: quietZone, y: quietZone }, // top-left
|
|
394
|
+
{ x: N - quietZone - FINDER_SPAN, y: quietZone }, // top-right
|
|
395
|
+
{ x: quietZone, y: N - quietZone - FINDER_SPAN }, // bottom-left
|
|
396
|
+
];
|
|
397
|
+
const eyeChildM0 = String((0, template_utils_1.makeQrEyeChildDoc)({
|
|
398
|
+
darkColor: tileColor,
|
|
399
|
+
backgroundColor: bgColor,
|
|
400
|
+
outerBorderRadius: eyeOuterR,
|
|
401
|
+
innerLightBorderRadius: eyeInnerLightR,
|
|
402
|
+
innerDotBorderRadius: eyeDotR,
|
|
403
|
+
}).m0);
|
|
404
|
+
// Full-canvas eyes layer: `placeRects` isolates each finder 7×7 rect
|
|
405
|
+
// on the shared N-cell grid (guaranteed alignment with the base
|
|
406
|
+
// finder cells) and fills the rest with nulls.
|
|
407
|
+
const eyesGrid = String((0, dsl_stdlib_1.placeRects)({
|
|
408
|
+
rootW: N,
|
|
409
|
+
rootH: N,
|
|
410
|
+
rects: finderCells.map((c) => ({
|
|
411
|
+
x: c.x,
|
|
412
|
+
y: c.y,
|
|
413
|
+
w: FINDER_SPAN,
|
|
414
|
+
h: FINDER_SPAN,
|
|
415
|
+
claimant: eyeChildM0,
|
|
416
|
+
})),
|
|
417
|
+
}).m0);
|
|
418
|
+
// Stack it onto the QR. The brand QR already carries a root overlay
|
|
419
|
+
// (the safe-area carve), and m0 forbids sibling-overlay chains
|
|
420
|
+
// (`base{a}{b}`) — so `addOverlayLayer` nests the eyes as the deepest
|
|
421
|
+
// root-level overlay (`base{sa}` → `base{sa{eyes}}`), the canonical
|
|
422
|
+
// `{{}}` chaining. Existing stableKeys (incl. the safe-area cell the M
|
|
423
|
+
// phase targets) are preserved; the eyes become new leaves.
|
|
424
|
+
m0 = String((0, dsl_stdlib_1.addOverlayLayer)(m0, eyesGrid));
|
|
425
|
+
eyeCellPx = qrCanvasW / N;
|
|
426
|
+
finderRegionsPx = finderCells.map((c) => ({
|
|
427
|
+
x0: c.x * eyeCellPx,
|
|
428
|
+
y0: c.y * eyeCellPx,
|
|
429
|
+
x1: (c.x + FINDER_SPAN) * eyeCellPx,
|
|
430
|
+
y1: (c.y + FINDER_SPAN) * eyeCellPx,
|
|
431
|
+
}));
|
|
432
|
+
}
|
|
433
|
+
// Whether a parsed frame's centre falls inside any finder region.
|
|
434
|
+
const frameInFinder = (f) => {
|
|
435
|
+
if (!eyesEnabled)
|
|
436
|
+
return false;
|
|
437
|
+
const cx = f.x + f.width / 2;
|
|
438
|
+
const cy = f.y + f.height / 2;
|
|
439
|
+
return finderRegionsPx.some((r) => cx >= r.x0 && cx < r.x1 && cy >= r.y0 && cy < r.y1);
|
|
440
|
+
};
|
|
441
|
+
// `queryFrames(m0).logical()` returns rendered (visible) leaves in
|
|
442
|
+
// logical / DFS order — passthrough / null tiles in the centre safe
|
|
443
|
+
// area are already filtered out. `meta.stableKey` is the lookup key
|
|
444
|
+
// used to match against `qrLabels` keys.
|
|
445
|
+
//
|
|
446
|
+
// Use the QR-only canvas dims (`qrCanvasW × qrCanvasH`) here, not
|
|
447
|
+
// `ctx.output.*` — when the URL strip is active the QR is rendered
|
|
448
|
+
// into a square child doc whose dimensions are the canvas WIDTH on
|
|
449
|
+
// both axes; the strip occupies the rest of the canvas height.
|
|
450
|
+
const visibleFrames = (0, dsl_stdlib_1.queryFrames)(m0, {
|
|
451
|
+
width: qrCanvasW,
|
|
452
|
+
height: qrCanvasH,
|
|
453
|
+
}).logical();
|
|
454
|
+
if (visibleFrames.length === 0) {
|
|
455
|
+
return (0, template_utils_1.makeErrorMosaic)("qrM0 contains no visible tiles to animate", {
|
|
456
|
+
title: `${this.id} parse`,
|
|
457
|
+
width: ctx.output.width,
|
|
458
|
+
height: ctx.output.height,
|
|
459
|
+
});
|
|
460
|
+
}
|
|
461
|
+
// Locate the safe-area cell via labels. The label whose `text`
|
|
462
|
+
// matches `centreLabel` points at the stableKey of one frame;
|
|
463
|
+
// resolve to that frame's logicalIndex (== its index in `visibleFrames`
|
|
464
|
+
// since the parser sorts by logicalIndex). If no label matches or
|
|
465
|
+
// qrLabels is absent, we degrade to module-only behavior — every
|
|
466
|
+
// visible tile is a module.
|
|
467
|
+
let safeAreaIdx = -1;
|
|
468
|
+
if (qrLabels) {
|
|
469
|
+
let safeAreaSk = null;
|
|
470
|
+
for (const [sk, label] of Object.entries(qrLabels)) {
|
|
471
|
+
if (label.text === centreLabel) {
|
|
472
|
+
safeAreaSk = sk;
|
|
473
|
+
break;
|
|
474
|
+
}
|
|
475
|
+
}
|
|
476
|
+
if (safeAreaSk) {
|
|
477
|
+
const found = visibleFrames.findIndex((f) => f.meta.stableKey === safeAreaSk);
|
|
478
|
+
if (found >= 0)
|
|
479
|
+
safeAreaIdx = found;
|
|
480
|
+
}
|
|
481
|
+
}
|
|
482
|
+
// Pseudo-random ranks for module tiles — produces a "pixelate into
|
|
483
|
+
// focus" feel rather than a diagonal sweep. Each module gets a
|
|
484
|
+
// hash-shuffled rank in [0, 1] based on its logicalIndex (stable,
|
|
485
|
+
// deterministic, no PRNG state). The safe-area cell is excluded so
|
|
486
|
+
// it doesn't consume a rank slot.
|
|
487
|
+
const moduleTiles = [];
|
|
488
|
+
for (const f of visibleFrames) {
|
|
489
|
+
if (f.logicalIndex === safeAreaIdx)
|
|
490
|
+
continue;
|
|
491
|
+
// Finder-region frames (eye layers + suppressed finder cells) are
|
|
492
|
+
// handled separately below — keep their indices out of the module
|
|
493
|
+
// rank set so the pixelate stagger stays distributed over real data
|
|
494
|
+
// modules only.
|
|
495
|
+
if (frameInFinder(f))
|
|
496
|
+
continue;
|
|
497
|
+
moduleTiles.push({ x: f.x, y: f.y, logicalIndex: f.logicalIndex });
|
|
498
|
+
}
|
|
499
|
+
const moduleRanks = (0, expressions_1.buildPseudoRanks)(moduleTiles);
|
|
500
|
+
const rankByLogicalIndex = new Map();
|
|
501
|
+
moduleTiles.forEach((t, i) => rankByLogicalIndex.set(t.logicalIndex, moduleRanks[i]));
|
|
502
|
+
// ── Phase timing (one shared timeline across modules + M sub-doc) ──
|
|
503
|
+
//
|
|
504
|
+
// 0 ────── spawn ──── modulesEnd ── mDelay ── mStart ── mInEnd ── exitStart ── end
|
|
505
|
+
// modules pixelate in hold full alpha M assembles loading idle fade out
|
|
506
|
+
//
|
|
507
|
+
// Modules: spawn (0..modulesEndSec) → hold (full alpha) → exit (exitStart..end).
|
|
508
|
+
// M tiles: 0 (suppressed) → entrance (mStart..mInEnd) → idle → exit (exitStart..end).
|
|
509
|
+
// bg: static throughout (consumers cross-fade the asset into host content).
|
|
510
|
+
const spawnDurSec = spawnDurMs / 1000;
|
|
511
|
+
const tileFadeSec = tileFadeMs / 1000;
|
|
512
|
+
const modulesEndSec = spawnDurSec + tileFadeSec;
|
|
513
|
+
const mStartSec = modulesEndSec + mDelayMs / 1000;
|
|
514
|
+
const mInEndSec = mStartSec + mInDurMs / 1000;
|
|
515
|
+
const exitStartSec = mInEndSec + idleDurMs / 1000;
|
|
516
|
+
const fadeOutSec = fadeOutDurMs / 1000;
|
|
517
|
+
// M sub-doc — per-tile self-timed alpha (entrance + loading idle + exit).
|
|
518
|
+
// Parent's overlay on the mosaic ref is just a passthrough now.
|
|
519
|
+
const mDoc = safeAreaIdx >= 0
|
|
520
|
+
? buildMSubDoc({
|
|
521
|
+
mColor,
|
|
522
|
+
bgColor,
|
|
523
|
+
mStartSec,
|
|
524
|
+
mInDurSec: mInDurMs / 1000,
|
|
525
|
+
mTileFadeSec: mTileFadeMs / 1000,
|
|
526
|
+
exitStartSec,
|
|
527
|
+
fadeOutSec,
|
|
528
|
+
})
|
|
529
|
+
: null;
|
|
530
|
+
// Per-tile dispatch:
|
|
531
|
+
// safe-area cell → nested mosaic ref into the masked M sub-doc.
|
|
532
|
+
// No overlay needed — the inner self-times.
|
|
533
|
+
// modules → solid-colour tile with combined spawn+hold+exit
|
|
534
|
+
// alpha + per-tile pixelate offset.
|
|
535
|
+
const sources = visibleFrames.map((tile, i) => {
|
|
536
|
+
if (i === safeAreaIdx && mDoc) {
|
|
537
|
+
return {
|
|
538
|
+
type: "mosaic",
|
|
539
|
+
ref: M_REF,
|
|
540
|
+
};
|
|
541
|
+
}
|
|
542
|
+
// Finder region: paint the concentric rounded eye layers and suppress
|
|
543
|
+
// the underlying per-cell finder modules. The three overlaid eye
|
|
544
|
+
// frames per finder are distinguished by size (outer 7-cell → inner
|
|
545
|
+
// light 5-cell → centre dot 3-cell); anything smaller is a base
|
|
546
|
+
// finder cell to hide.
|
|
547
|
+
if (eyesEnabled && frameInFinder(tile)) {
|
|
548
|
+
const eyeAlpha = (0, expressions_1.buildModuleAlphaExpr)(EYE_FADE_RANK, {
|
|
549
|
+
spawnDurSec,
|
|
550
|
+
tileFadeSec,
|
|
551
|
+
exitStartSec,
|
|
552
|
+
fadeOutSec,
|
|
553
|
+
});
|
|
554
|
+
const eyeTile = (color, radius) => (0, template_utils_1.makeColorTile)(color, {
|
|
555
|
+
overlay: { alpha: eyeAlpha },
|
|
556
|
+
effects: {
|
|
557
|
+
rounding: { borderRadius: radius, cornerStyle: "rounded" },
|
|
558
|
+
},
|
|
559
|
+
});
|
|
560
|
+
if (tile.width >= 6 * eyeCellPx)
|
|
561
|
+
return eyeTile(tileColor, eyeOuterR); // outer dark square
|
|
562
|
+
if (tile.width >= 4 * eyeCellPx)
|
|
563
|
+
return eyeTile(bgColor, eyeInnerLightR); // inner light ring
|
|
564
|
+
if (tile.width >= 2 * eyeCellPx)
|
|
565
|
+
return eyeTile(tileColor, eyeDotR); // centre dot
|
|
566
|
+
// Underlying finder module cell → fully transparent (occupies its
|
|
567
|
+
// 1:1 source slot but paints nothing, so no circle bleeds past the ring).
|
|
568
|
+
return (0, template_utils_1.makeColorTile)(tileColor, { overlay: { alpha: "0" } });
|
|
569
|
+
}
|
|
570
|
+
const rank = rankByLogicalIndex.get(i);
|
|
571
|
+
const baseAlpha = (0, expressions_1.buildModuleAlphaExpr)(rank, {
|
|
572
|
+
spawnDurSec,
|
|
573
|
+
tileFadeSec,
|
|
574
|
+
exitStartSec,
|
|
575
|
+
fadeOutSec,
|
|
576
|
+
});
|
|
577
|
+
// Optional per-cell module gleam — a travelling shine over the QR
|
|
578
|
+
// modules. Multiplies the spawn/hold/exit alpha, so it only shows during
|
|
579
|
+
// the hold. Stacks under the M's own (more prominent) loading shimmer;
|
|
580
|
+
// the M cell above is a nested ref and is untouched here.
|
|
581
|
+
const alpha = gleam
|
|
582
|
+
? `(${baseAlpha})*(${(0, expressions_1.buildModuleGleamFactor)(rank)})`
|
|
583
|
+
: baseAlpha;
|
|
584
|
+
const offsetExpr = (0, expressions_1.buildTileOffsetExpr)(rank, {
|
|
585
|
+
spawnDurSec,
|
|
586
|
+
tileFadeSec,
|
|
587
|
+
offsetPx: tileOffsetPx,
|
|
588
|
+
});
|
|
589
|
+
return (0, template_utils_1.makeColorTile)(tileColor, {
|
|
590
|
+
overlay: { alpha, xExpr: offsetExpr, yExpr: offsetExpr },
|
|
591
|
+
...(moduleBorderRadius > 0
|
|
592
|
+
? {
|
|
593
|
+
effects: {
|
|
594
|
+
rounding: {
|
|
595
|
+
borderRadius: moduleBorderRadius,
|
|
596
|
+
cornerStyle: "rounded",
|
|
597
|
+
},
|
|
598
|
+
},
|
|
599
|
+
}
|
|
600
|
+
: {}),
|
|
601
|
+
});
|
|
602
|
+
});
|
|
603
|
+
const qrDoc = {
|
|
604
|
+
kind: "mosaic_document",
|
|
605
|
+
version: 1,
|
|
606
|
+
m0: (0, dsl_stdlib_1.toM0String)(m0, "QrAnimate"),
|
|
607
|
+
sources,
|
|
608
|
+
assets: {},
|
|
609
|
+
backgroundColor: bgColor,
|
|
610
|
+
...(mDoc ? { children: { [M_REF]: mDoc } } : {}),
|
|
611
|
+
};
|
|
612
|
+
if (!useUrlStrip) {
|
|
613
|
+
return qrDoc;
|
|
614
|
+
}
|
|
615
|
+
// URL-strip wrap. Build a parent doc with a weighted 2-cell row
|
|
616
|
+
// split: top cell hosts the QR child via a `mosaic` ref, bottom
|
|
617
|
+
// cell hosts a `text` source for the human-readable URL.
|
|
618
|
+
//
|
|
619
|
+
// The text fades on the QR's spawn → hold → exit envelope so the
|
|
620
|
+
// strip feels like part of the same animation. The parent's
|
|
621
|
+
// backgroundColor matches the QR's bgColor — both cells share a
|
|
622
|
+
// continuous solid plate underneath the animated content.
|
|
623
|
+
const textColor = variant === "dark"
|
|
624
|
+
? URL_TEXT_COLOR_DARK_VARIANT
|
|
625
|
+
: URL_TEXT_COLOR_LIGHT_VARIANT;
|
|
626
|
+
const urlAlphaExpr = buildUrlAlphaExpr({
|
|
627
|
+
modulesEndSec,
|
|
628
|
+
exitStartSec,
|
|
629
|
+
fadeOutSec,
|
|
630
|
+
});
|
|
631
|
+
// Font size proportional to the strip height. Tuned so the URL
|
|
632
|
+
// glyphs fill nearly the entire strip vertically, leaving only a
|
|
633
|
+
// small natural "quiet area" of padding above/below — about 15%
|
|
634
|
+
// of strip height total (split top/bottom). At the build
|
|
635
|
+
// script's default 120 px strip that's ~102 px font, ~9 px
|
|
636
|
+
// padding each side. Bigger text reads better when the stamp is
|
|
637
|
+
// downscaled to the bottom-right of a user's video.
|
|
638
|
+
const fontSize = Math.max(16, Math.round(stripHeightPx * 0.85));
|
|
639
|
+
const urlSource = {
|
|
640
|
+
type: "text",
|
|
641
|
+
// Strip backdrop matches the QR card's bg color — white plate
|
|
642
|
+
// under the light variant, black plate under the dark. Stays
|
|
643
|
+
// solid throughout (consumers / qr-stamp apply a global alpha
|
|
644
|
+
// to the whole asset for see-through-on-user-video composition;
|
|
645
|
+
// we don't double-fade the bg here).
|
|
646
|
+
visual: { backgroundColor: bgColor },
|
|
647
|
+
layers: [
|
|
648
|
+
{
|
|
649
|
+
content: { kind: "literal", text: urlLabel },
|
|
650
|
+
// Text fill inverts the bg so the URL is legible:
|
|
651
|
+
// dark text on white plate, light text on black plate.
|
|
652
|
+
style: { fontSize, fontColor: textColor },
|
|
653
|
+
placement: {
|
|
654
|
+
hAlign: "center",
|
|
655
|
+
vAlign: "middle",
|
|
656
|
+
xExpr: "(w-tw)/2",
|
|
657
|
+
yExpr: "(h-th)/2",
|
|
658
|
+
},
|
|
659
|
+
// Only the text fades on the QR's spawn/exit envelope.
|
|
660
|
+
// The strip's plate stays solid throughout — it reads as
|
|
661
|
+
// an extension of the QR's card on the user's video.
|
|
662
|
+
overlay: { alpha: urlAlphaExpr },
|
|
663
|
+
},
|
|
664
|
+
],
|
|
665
|
+
};
|
|
666
|
+
return {
|
|
667
|
+
kind: "mosaic_document",
|
|
668
|
+
version: 1,
|
|
669
|
+
// Weighted 2-cell row split: QR cell (`qrCanvasH` weight) on
|
|
670
|
+
// top, URL strip (`stripHeightPx` weight) on bottom. Precision
|
|
671
|
+
// 100 gives a tidy `100[…]` m0 with the right proportions.
|
|
672
|
+
m0: (0, dsl_stdlib_1.weightedSplit)([qrCanvasH, stripHeightPx], "row", {
|
|
673
|
+
precision: 100,
|
|
674
|
+
mode: "literal",
|
|
675
|
+
}),
|
|
676
|
+
sources: [
|
|
677
|
+
{ type: "mosaic", ref: QR_INNER_REF },
|
|
678
|
+
urlSource,
|
|
679
|
+
],
|
|
680
|
+
assets: {},
|
|
681
|
+
backgroundColor: bgColor,
|
|
682
|
+
children: { [QR_INNER_REF]: qrDoc },
|
|
683
|
+
};
|
|
684
|
+
},
|
|
685
|
+
};
|
|
686
|
+
/**
|
|
687
|
+
* Alpha expression for the URL strip's text. Mirrors the QR's
|
|
688
|
+
* spawn → hold → exit envelope so the URL appears as the modules
|
|
689
|
+
* finish their pixelate-in pass, holds through the idle, and fades
|
|
690
|
+
* out with the global exit. Same `t` semantics as the per-tile
|
|
691
|
+
* expressions (global wall-clock seconds).
|
|
692
|
+
*/
|
|
693
|
+
function buildUrlAlphaExpr(opts) {
|
|
694
|
+
const { modulesEndSec, exitStartSec, fadeOutSec } = opts;
|
|
695
|
+
const m = modulesEndSec.toFixed(3);
|
|
696
|
+
const e = exitStartSec.toFixed(3);
|
|
697
|
+
const f = fadeOutSec.toFixed(3);
|
|
698
|
+
// Three-phase envelope:
|
|
699
|
+
// t < modulesEndSec → linear ramp 0 → 1
|
|
700
|
+
// t < exitStartSec → hold at 1
|
|
701
|
+
// t < exitStartSec + fade → linear ramp 1 → 0
|
|
702
|
+
// otherwise → 0
|
|
703
|
+
return `if(lt(t,${m}),max(0,t/${m}),if(lt(t,${e}),1,max(0,1-(t-${e})/${f})))`;
|
|
704
|
+
}
|
|
705
|
+
/**
|
|
706
|
+
* Build the M sub-doc: 33 colour tiles masked into the M's rect shapes
|
|
707
|
+
* from `brand/m-33`. Each tile self-times via the loading_ui_v2 expression
|
|
708
|
+
* (rank-staggered entrance → base breathing + shimmer band → exit fade).
|
|
709
|
+
* The rank set is the dictionary entry's precomputed `diag` rank — same
|
|
710
|
+
* one the editor uses for its loading shimmer.
|
|
711
|
+
*
|
|
712
|
+
* Renders correctly when the safe-area cell is ≥ m-33's feasibility
|
|
713
|
+
* floor (266×266). At the QR's native canvas (1222×1222) the cell is
|
|
714
|
+
* 272×272 — above the floor; the cell-count invariant holds.
|
|
715
|
+
*/
|
|
716
|
+
function buildMSubDoc(opts) {
|
|
717
|
+
var _a, _b;
|
|
718
|
+
const entry = dictionary_1.registry.byId[M_DICT_ID];
|
|
719
|
+
if (!entry) {
|
|
720
|
+
throw new Error(`qr-animate: dictionary entry "${M_DICT_ID}" not found; required for the M phase.`);
|
|
721
|
+
}
|
|
722
|
+
// Pull the precomputed diagonal ranks from the dictionary entry's
|
|
723
|
+
// inline `rankSets` (StableKey-keyed). Convert to a positional `number[]`
|
|
724
|
+
// via the entry's source-order keys so the downstream per-tile loop
|
|
725
|
+
// stays index-driven. The lookup is `rankSet.ranks[stableKey]` per
|
|
726
|
+
// source — survives structural edits of the underlying .m0c the same
|
|
727
|
+
// way the masks lookup does. Fallback to a sequential 0..1 sweep when
|
|
728
|
+
// the named set is missing (degraded visual: shimmer becomes
|
|
729
|
+
// sequential-by-index, but renders).
|
|
730
|
+
const sourceKeys = (0, dictionary_1.getSourceOrderStableKeys)(entry);
|
|
731
|
+
const rankSet = (_a = entry.rankSets) === null || _a === void 0 ? void 0 : _a.diag;
|
|
732
|
+
const ranks = rankSet
|
|
733
|
+
? sourceKeys.map((k) => { var _a; return (_a = rankSet.ranks[k]) !== null && _a !== void 0 ? _a : 0; })
|
|
734
|
+
: Array.from({ length: entry.sourceCount }, (_, i) => entry.sourceCount <= 1 ? 0 : i / (entry.sourceCount - 1));
|
|
735
|
+
// Inline silhouettes from the dictionary so emitted documents are
|
|
736
|
+
// self-contained — engine reads `source.mask` directly with no extra
|
|
737
|
+
// fetch / cache lookup, and saved documents don't depend on the
|
|
738
|
+
// dictionary being present at consumption time. Source index → StableKey
|
|
739
|
+
// translation reuses the `sourceKeys` computed above.
|
|
740
|
+
const masks = (_b = entry.masks) !== null && _b !== void 0 ? _b : {};
|
|
741
|
+
const sources = Array.from({ length: entry.sourceCount }, (_, i) => {
|
|
742
|
+
const m = masks[sourceKeys[i]];
|
|
743
|
+
const mask = m
|
|
744
|
+
? {
|
|
745
|
+
kind: "inline-mask",
|
|
746
|
+
localPath: m.localPath,
|
|
747
|
+
bounds: m.bounds,
|
|
748
|
+
}
|
|
749
|
+
: undefined;
|
|
750
|
+
const alpha = (0, expressions_1.buildMTileAlphaExpr)(ranks[i], {
|
|
751
|
+
mStartSec: opts.mStartSec,
|
|
752
|
+
mInDurSec: opts.mInDurSec,
|
|
753
|
+
mTileFadeSec: opts.mTileFadeSec,
|
|
754
|
+
baseMin: M_LOADING_BASE_MIN,
|
|
755
|
+
baseMax: M_LOADING_BASE_MAX,
|
|
756
|
+
basePulseSec: M_LOADING_BASE_PULSE_SEC,
|
|
757
|
+
shimmerSec: M_LOADING_SHIMMER_SEC,
|
|
758
|
+
shimmerWidth: M_LOADING_SHIMMER_WIDTH,
|
|
759
|
+
shimmerAmp: M_LOADING_SHIMMER_AMP,
|
|
760
|
+
exitStartSec: opts.exitStartSec,
|
|
761
|
+
fadeOutSec: opts.fadeOutSec,
|
|
762
|
+
});
|
|
763
|
+
return (0, template_utils_1.makeColorTile)(opts.mColor, { mask, overlay: { alpha } });
|
|
764
|
+
});
|
|
765
|
+
return {
|
|
766
|
+
kind: "mosaic_document",
|
|
767
|
+
version: 1,
|
|
768
|
+
m0: (0, dsl_stdlib_1.toM0String)(entry.m0, "QrAnimate.M"),
|
|
769
|
+
sources,
|
|
770
|
+
assets: {},
|
|
771
|
+
backgroundColor: opts.bgColor,
|
|
772
|
+
};
|
|
773
|
+
}
|
|
774
|
+
(0, template_utils_1.registerTemplate)(exports.QrAnimate);
|
|
775
|
+
exports.default = exports.QrAnimate;
|