@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,787 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.PageSkeleton = void 0;
|
|
4
|
+
exports.parseRectOverrides = parseRectOverrides;
|
|
5
|
+
exports.blendHexColors = blendHexColors;
|
|
6
|
+
exports.shadedRectangleFill = shadedRectangleFill;
|
|
7
|
+
exports.resolvePageSkeletonMotion = resolvePageSkeletonMotion;
|
|
8
|
+
exports.motionRankForRect = motionRankForRect;
|
|
9
|
+
exports.buildPageSkeletonMotionLavfi = buildPageSkeletonMotionLavfi;
|
|
10
|
+
exports.baseFillForKind = baseFillForKind;
|
|
11
|
+
exports.effectiveRadiusPx = effectiveRadiusPx;
|
|
12
|
+
exports.overriddenRectGeometry = overriddenRectGeometry;
|
|
13
|
+
exports.overriddenRadiusPx = overriddenRadiusPx;
|
|
14
|
+
exports.roundingForRect = roundingForRect;
|
|
15
|
+
exports.planSkeletonComposition = planSkeletonComposition;
|
|
16
|
+
exports.placeSkeletonPieces = placeSkeletonPieces;
|
|
17
|
+
const types_1 = require("@m0saic/types");
|
|
18
|
+
const dsl_stdlib_1 = require("@m0saic/dsl-stdlib");
|
|
19
|
+
const template_utils_1 = require("@m0saic/template-utils");
|
|
20
|
+
const capture_snippet_source_1 = require("./capture/capture-snippet-source");
|
|
21
|
+
const layout_1 = require("./layout");
|
|
22
|
+
const sample_capture_1 = require("./sample-capture");
|
|
23
|
+
const schema_1 = require("./schema");
|
|
24
|
+
const PAGE_SKELETON_ID = "@m0saic/web/page-skeleton/v1";
|
|
25
|
+
// Tiny field helpers mirror screencap_grid/v2 and stay local to this pack.
|
|
26
|
+
/* eslint-disable @typescript-eslint/no-explicit-any */
|
|
27
|
+
const fBool = (label, description = "") => ({
|
|
28
|
+
type: "boolean",
|
|
29
|
+
required: false,
|
|
30
|
+
description,
|
|
31
|
+
meta: { ui: { label } },
|
|
32
|
+
});
|
|
33
|
+
const fNum = (label, description = "", control, constraints) => ({
|
|
34
|
+
type: "number",
|
|
35
|
+
required: false,
|
|
36
|
+
description,
|
|
37
|
+
meta: {
|
|
38
|
+
...(constraints ? { constraints } : {}),
|
|
39
|
+
...(control ? { control } : {}),
|
|
40
|
+
ui: { label },
|
|
41
|
+
},
|
|
42
|
+
});
|
|
43
|
+
const fEnum = (label, oneOf, description = "") => ({
|
|
44
|
+
type: "string",
|
|
45
|
+
required: false,
|
|
46
|
+
description,
|
|
47
|
+
meta: { constraints: { oneOf }, ui: { label } },
|
|
48
|
+
});
|
|
49
|
+
const fColor = (label, description = "") => ({
|
|
50
|
+
type: "string",
|
|
51
|
+
required: false,
|
|
52
|
+
description,
|
|
53
|
+
meta: {
|
|
54
|
+
constraints: { isColor: true },
|
|
55
|
+
control: { colorPicker: true },
|
|
56
|
+
ui: { label },
|
|
57
|
+
},
|
|
58
|
+
});
|
|
59
|
+
/* eslint-enable @typescript-eslint/no-explicit-any */
|
|
60
|
+
const propsSchema = (0, template_utils_1.definePropsSchema)({
|
|
61
|
+
captureSnippet: {
|
|
62
|
+
type: "code",
|
|
63
|
+
required: false,
|
|
64
|
+
description: "Copy this exact JavaScript into the browser console. It copies anonymous visible-page geometry as JSON for Page capture.",
|
|
65
|
+
meta: {
|
|
66
|
+
ui: { label: "Browser capture snippet", order: 1, primary: true },
|
|
67
|
+
},
|
|
68
|
+
},
|
|
69
|
+
capture: {
|
|
70
|
+
type: "json",
|
|
71
|
+
required: true,
|
|
72
|
+
description: "Anonymous geometry from the page-skeleton browser snippet. See packages/docs/web-page-skeleton/README.md for the capture workflow.",
|
|
73
|
+
meta: {
|
|
74
|
+
control: { flavor: "jsonModal" },
|
|
75
|
+
ui: { label: "Page capture", order: 2, primary: true },
|
|
76
|
+
},
|
|
77
|
+
},
|
|
78
|
+
outputFormat: {
|
|
79
|
+
type: "string",
|
|
80
|
+
required: false,
|
|
81
|
+
description: "PNG keeps the editable still; MP4 animates the same rectangles as a looping loading skeleton.",
|
|
82
|
+
meta: {
|
|
83
|
+
constraints: { oneOf: ["png", "mp4"] },
|
|
84
|
+
control: {
|
|
85
|
+
options: [
|
|
86
|
+
{ value: "png", label: "Still PNG" },
|
|
87
|
+
{ value: "mp4", label: "Animated MP4" },
|
|
88
|
+
],
|
|
89
|
+
},
|
|
90
|
+
ui: { label: "Output", order: 3, primary: true },
|
|
91
|
+
},
|
|
92
|
+
},
|
|
93
|
+
motion: {
|
|
94
|
+
type: "group",
|
|
95
|
+
required: false,
|
|
96
|
+
description: "Looping loading motion used by Animated MP4 output. Geometry and source count stay unchanged.",
|
|
97
|
+
meta: { ui: { label: "Motion", order: 4, collapsedByDefault: false } },
|
|
98
|
+
fields: {
|
|
99
|
+
mode: fEnum("Mode", ["shimmer", "pulse"], "Shimmer scans a bright band across the page; pulse breathes all content together."),
|
|
100
|
+
direction: fEnum("Direction", ["horizontal", "diagonal", "vertical"], "Canvas direction used by the shimmer scan."),
|
|
101
|
+
bandWidth: fNum("Band width", "Width of the shimmer band as a fraction of the canvas axis.", { flavor: "slider", step: 0.01 }, { min: 0.05, max: 1 }),
|
|
102
|
+
minOpacity: fNum("Resting opacity", "Lowest skeleton opacity between shimmer passes or pulse peaks.", { flavor: "slider", step: 0.01 }, { min: 0.1, max: 0.95 }),
|
|
103
|
+
},
|
|
104
|
+
},
|
|
105
|
+
appearance: {
|
|
106
|
+
type: "group",
|
|
107
|
+
required: false,
|
|
108
|
+
description: "Page, per-kind skeleton colors, and corner treatment.",
|
|
109
|
+
meta: { ui: { label: "Appearance", order: 5, collapsedByDefault: true } },
|
|
110
|
+
fields: {
|
|
111
|
+
bg: fColor("Background", "Canvas color behind the captured page geometry."),
|
|
112
|
+
fill: fColor("Fill", "Skeleton rectangle fill."),
|
|
113
|
+
textFill: fColor("Text fill", "Captured browser line-box fill."),
|
|
114
|
+
imageFill: fColor("Image fill", "Image, video, avatar, and control fill."),
|
|
115
|
+
radiusMode: fEnum("Radius mode", ["none", "captured", "uniform"], "Use captured browser radii, square corners, or one uniform canvas-pixel radius."),
|
|
116
|
+
uniformRadiusPx: fNum("Uniform radius", "Canvas-pixel radius used by uniform mode.", { flavor: "slider", step: 1, unit: "px" }, {
|
|
117
|
+
min: 0,
|
|
118
|
+
max: 256,
|
|
119
|
+
}),
|
|
120
|
+
},
|
|
121
|
+
},
|
|
122
|
+
behavior: {
|
|
123
|
+
type: "group",
|
|
124
|
+
required: false,
|
|
125
|
+
description: "Capture filtering, scaling, and containing-block behavior.",
|
|
126
|
+
meta: { ui: { label: "Behavior", order: 6, collapsedByDefault: true } },
|
|
127
|
+
fields: {
|
|
128
|
+
maxRects: fNum("Max rects", "Maximum retained capture rectangles and independently placed skeleton sources.", { flavor: "slider", step: 1 }, { min: 1, max: 600 }),
|
|
129
|
+
showTextLines: fBool("Text lines", "Render captured browser line boxes."),
|
|
130
|
+
showImages: fBool("Images", "Render image/replaced-element rectangles."),
|
|
131
|
+
showControls: fBool("Controls", "Render form-control rectangles."),
|
|
132
|
+
showDividers: fBool("Dividers", "Render thin divider rectangles."),
|
|
133
|
+
scaleMode: fEnum("Scale", ["fit", "fill", "stretch"], "fit letterboxes, fill crops, stretch scales each axis independently."),
|
|
134
|
+
containerMode: fEnum("Containers", ["keep", "drop"], "Keep large painted wrappers or prune wrappers containing several descendants."),
|
|
135
|
+
pureRects: fBool("Pure DSL rects", "Emit exact frame bounds with no placement insets. Easier for custom cell-local masks, at the cost of a larger m0 program."),
|
|
136
|
+
},
|
|
137
|
+
},
|
|
138
|
+
overrides: {
|
|
139
|
+
type: "json",
|
|
140
|
+
required: false,
|
|
141
|
+
description: 'Array of {i, hide?, fill?, shape?: "rect"|"rounded"|"pill"|"circle", radiusPx?}. Indices refer to capture.rects[].',
|
|
142
|
+
meta: {
|
|
143
|
+
control: { flavor: "jsonModal" },
|
|
144
|
+
ui: { label: "Rect overrides", order: 7 },
|
|
145
|
+
},
|
|
146
|
+
},
|
|
147
|
+
debug: {
|
|
148
|
+
type: "boolean",
|
|
149
|
+
required: false,
|
|
150
|
+
description: "Run the geometry contract and include capture filtering/drop counts in the document label.",
|
|
151
|
+
meta: { ui: { label: "Debug geometry", order: 8, collapsedByDefault: true } },
|
|
152
|
+
},
|
|
153
|
+
debugIndices: {
|
|
154
|
+
type: "boolean",
|
|
155
|
+
required: false,
|
|
156
|
+
description: "Programmatic diagnostic that overlays retained capture indices. Prefer Make canvas selection and the Structure panel for interactive editing.",
|
|
157
|
+
meta: { ui: { label: "Show rect indices", order: 9, hidden: true } },
|
|
158
|
+
},
|
|
159
|
+
});
|
|
160
|
+
// One step darker than the #e2 / #e8 / #d8 it shipped with: on the white page
|
|
161
|
+
// the lifted containers read as white and the cards as barely-there
|
|
162
|
+
// (founder, 2026-09-16: "a tad darker still"). Depth shading still lifts
|
|
163
|
+
// containers toward the page and darkens the top bucket from these.
|
|
164
|
+
const DEFAULT_APPEARANCE = {
|
|
165
|
+
bg: "#ffffff",
|
|
166
|
+
fill: "#d4d4d4",
|
|
167
|
+
textFill: "#dadada",
|
|
168
|
+
imageFill: "#c8c8c8",
|
|
169
|
+
radiusMode: "captured",
|
|
170
|
+
uniformRadiusPx: 8,
|
|
171
|
+
};
|
|
172
|
+
const DEFAULT_BEHAVIOR = {
|
|
173
|
+
maxRects: layout_1.DEFAULT_MAX_RECTS,
|
|
174
|
+
showTextLines: true,
|
|
175
|
+
showImages: true,
|
|
176
|
+
showControls: true,
|
|
177
|
+
showDividers: true,
|
|
178
|
+
scaleMode: "fit",
|
|
179
|
+
containerMode: "keep",
|
|
180
|
+
pureRects: false,
|
|
181
|
+
};
|
|
182
|
+
const DEFAULT_MOTION = {
|
|
183
|
+
// Pulse = the whole skeleton breathes together — the default motion
|
|
184
|
+
// (founder 2026-09-13: skeletons breathe in practice). Shimmer is the
|
|
185
|
+
// scanning-band alternative.
|
|
186
|
+
mode: "pulse",
|
|
187
|
+
direction: "diagonal",
|
|
188
|
+
bandWidth: 0.3,
|
|
189
|
+
minOpacity: 0.68,
|
|
190
|
+
};
|
|
191
|
+
const OVERRIDE_SHAPES = new Set(["rect", "rounded", "pill", "circle"]);
|
|
192
|
+
/** Parse the jsonModal's object-or-string value and validate capture indices. */
|
|
193
|
+
function parseRectOverrides(value, rectCount) {
|
|
194
|
+
let parsed = value;
|
|
195
|
+
if (typeof value === "string") {
|
|
196
|
+
if (!value.trim())
|
|
197
|
+
return new Map();
|
|
198
|
+
try {
|
|
199
|
+
parsed = JSON.parse(value);
|
|
200
|
+
}
|
|
201
|
+
catch (error) {
|
|
202
|
+
throw new Error(`overrides is not valid JSON: ${error instanceof Error ? error.message : String(error)}`);
|
|
203
|
+
}
|
|
204
|
+
}
|
|
205
|
+
if (parsed == null)
|
|
206
|
+
return new Map();
|
|
207
|
+
if (!Array.isArray(parsed)) {
|
|
208
|
+
throw new Error("overrides must be an array");
|
|
209
|
+
}
|
|
210
|
+
const overrides = new Map();
|
|
211
|
+
parsed.forEach((candidate, position) => {
|
|
212
|
+
if (candidate == null ||
|
|
213
|
+
typeof candidate !== "object" ||
|
|
214
|
+
Array.isArray(candidate)) {
|
|
215
|
+
throw new Error(`overrides[${position}] must be an object`);
|
|
216
|
+
}
|
|
217
|
+
const item = candidate;
|
|
218
|
+
if (!Number.isInteger(item.i) || item.i < 0) {
|
|
219
|
+
throw new Error(`overrides[${position}].i must be a non-negative integer`);
|
|
220
|
+
}
|
|
221
|
+
const i = item.i;
|
|
222
|
+
if (i >= rectCount) {
|
|
223
|
+
throw new Error(`overrides[${position}].i ${i} is outside capture.rects[] (length ${rectCount})`);
|
|
224
|
+
}
|
|
225
|
+
if (overrides.has(i)) {
|
|
226
|
+
throw new Error(`overrides[${position}].i ${i} is duplicated`);
|
|
227
|
+
}
|
|
228
|
+
if (item.hide !== undefined && typeof item.hide !== "boolean") {
|
|
229
|
+
throw new Error(`overrides[${position}].hide must be a boolean`);
|
|
230
|
+
}
|
|
231
|
+
if (item.fill !== undefined &&
|
|
232
|
+
(typeof item.fill !== "string" || !item.fill.trim())) {
|
|
233
|
+
throw new Error(`overrides[${position}].fill must be a non-empty string`);
|
|
234
|
+
}
|
|
235
|
+
if (item.shape !== undefined &&
|
|
236
|
+
(typeof item.shape !== "string" || !OVERRIDE_SHAPES.has(item.shape))) {
|
|
237
|
+
throw new Error(`overrides[${position}].shape must be rect, rounded, pill, or circle`);
|
|
238
|
+
}
|
|
239
|
+
if (item.radiusPx !== undefined &&
|
|
240
|
+
(typeof item.radiusPx !== "number" ||
|
|
241
|
+
!Number.isFinite(item.radiusPx) ||
|
|
242
|
+
item.radiusPx < 0)) {
|
|
243
|
+
throw new Error(`overrides[${position}].radiusPx must be a finite number ≥ 0`);
|
|
244
|
+
}
|
|
245
|
+
overrides.set(i, {
|
|
246
|
+
i,
|
|
247
|
+
...(item.hide !== undefined ? { hide: item.hide } : {}),
|
|
248
|
+
...(item.fill !== undefined ? { fill: item.fill.trim() } : {}),
|
|
249
|
+
...(item.shape !== undefined
|
|
250
|
+
? {
|
|
251
|
+
shape: item.shape,
|
|
252
|
+
}
|
|
253
|
+
: {}),
|
|
254
|
+
...(item.radiusPx !== undefined
|
|
255
|
+
? { radiusPx: item.radiusPx }
|
|
256
|
+
: {}),
|
|
257
|
+
});
|
|
258
|
+
});
|
|
259
|
+
return overrides;
|
|
260
|
+
}
|
|
261
|
+
function colorOr(value, fallback) {
|
|
262
|
+
return (typeof value === "string" && value.trim() ? value.trim() : fallback);
|
|
263
|
+
}
|
|
264
|
+
function parseHexColor(value) {
|
|
265
|
+
const match = value.trim().match(/^#([0-9a-f]{3}|[0-9a-f]{6})$/i);
|
|
266
|
+
if (!match)
|
|
267
|
+
return null;
|
|
268
|
+
const hex = match[1].length === 3
|
|
269
|
+
? match[1]
|
|
270
|
+
.split("")
|
|
271
|
+
.map((digit) => digit + digit)
|
|
272
|
+
.join("")
|
|
273
|
+
: match[1];
|
|
274
|
+
return {
|
|
275
|
+
r: Number.parseInt(hex.slice(0, 2), 16),
|
|
276
|
+
g: Number.parseInt(hex.slice(2, 4), 16),
|
|
277
|
+
b: Number.parseInt(hex.slice(4, 6), 16),
|
|
278
|
+
};
|
|
279
|
+
}
|
|
280
|
+
const hexByte = (value) => Math.max(0, Math.min(255, Math.round(value))).toString(16).padStart(2, "0");
|
|
281
|
+
/** Blend two hex colors; non-hex editor values safely retain the base fill. */
|
|
282
|
+
function blendHexColors(base, toward, towardWeight) {
|
|
283
|
+
const a = parseHexColor(base);
|
|
284
|
+
const b = parseHexColor(toward);
|
|
285
|
+
if (!a || !b)
|
|
286
|
+
return base;
|
|
287
|
+
const weight = Math.max(0, Math.min(1, towardWeight));
|
|
288
|
+
return `#${hexByte(a.r + (b.r - a.r) * weight)}${hexByte(a.g + (b.g - a.g) * weight)}${hexByte(a.b + (b.b - a.b) * weight)}`;
|
|
289
|
+
}
|
|
290
|
+
/**
|
|
291
|
+
* Keep the skeleton monochrome while making its paint order legible:
|
|
292
|
+
* containers sit close to the page background; deeper rects step from a
|
|
293
|
+
* light gray toward the authored fill, with the top bucket darkened slightly.
|
|
294
|
+
*/
|
|
295
|
+
function shadedRectangleFill(rect, fill, bg) {
|
|
296
|
+
if (rect.isSoftContainer)
|
|
297
|
+
return blendHexColors(fill, bg, 0.82);
|
|
298
|
+
const depth = Math.max(0, Math.min(1, rect.zBucket / 5));
|
|
299
|
+
const lifted = blendHexColors(fill, bg, 0.48 * (1 - depth));
|
|
300
|
+
return blendHexColors(lifted, "#000000", 0.08 * depth);
|
|
301
|
+
}
|
|
302
|
+
function errorDocument(message, ctx) {
|
|
303
|
+
const width = Math.max(1, Math.round(ctx.target.width));
|
|
304
|
+
const height = Math.max(1, Math.round(ctx.target.height));
|
|
305
|
+
return {
|
|
306
|
+
...(0, template_utils_1.makeErrorMosaic)(message, {
|
|
307
|
+
width,
|
|
308
|
+
height,
|
|
309
|
+
title: "Page Skeleton",
|
|
310
|
+
errorCode: "PAGE_SKELETON_CAPTURE",
|
|
311
|
+
}),
|
|
312
|
+
fps: ctx.target.fps,
|
|
313
|
+
durationMs: ctx.target.durationMs,
|
|
314
|
+
size: { width, height },
|
|
315
|
+
format: { kind: "image", container: "png" },
|
|
316
|
+
};
|
|
317
|
+
}
|
|
318
|
+
const clampUnit = (value) => Math.max(0, Math.min(1, value));
|
|
319
|
+
const exprNumber = (value) => String(Number(value.toFixed(4)));
|
|
320
|
+
function resolvePageSkeletonMotion(value) {
|
|
321
|
+
const motion = { ...DEFAULT_MOTION, ...(value !== null && value !== void 0 ? value : {}) };
|
|
322
|
+
if (motion.mode !== "shimmer" && motion.mode !== "pulse") {
|
|
323
|
+
throw new Error(`motion.mode must be shimmer or pulse (got "${motion.mode}")`);
|
|
324
|
+
}
|
|
325
|
+
if (motion.direction !== "horizontal" &&
|
|
326
|
+
motion.direction !== "diagonal" &&
|
|
327
|
+
motion.direction !== "vertical") {
|
|
328
|
+
throw new Error(`motion.direction must be horizontal, diagonal, or vertical (got "${motion.direction}")`);
|
|
329
|
+
}
|
|
330
|
+
if (!Number.isFinite(motion.bandWidth) ||
|
|
331
|
+
motion.bandWidth < 0.05 ||
|
|
332
|
+
motion.bandWidth > 1) {
|
|
333
|
+
throw new Error(`motion.bandWidth must be in [0.05, 1] (got ${motion.bandWidth})`);
|
|
334
|
+
}
|
|
335
|
+
if (!Number.isFinite(motion.minOpacity) ||
|
|
336
|
+
motion.minOpacity < 0.1 ||
|
|
337
|
+
motion.minOpacity > 0.95) {
|
|
338
|
+
throw new Error(`motion.minOpacity must be in [0.1, 0.95] (got ${motion.minOpacity})`);
|
|
339
|
+
}
|
|
340
|
+
return motion;
|
|
341
|
+
}
|
|
342
|
+
/** Canvas-space rank used by the travelling shimmer band. */
|
|
343
|
+
function motionRankForRect(rect, canvas, direction) {
|
|
344
|
+
const nx = clampUnit((rect.x + rect.w / 2) / Math.max(1, canvas.w));
|
|
345
|
+
const ny = clampUnit((rect.y + rect.h / 2) / Math.max(1, canvas.h));
|
|
346
|
+
if (direction === "horizontal")
|
|
347
|
+
return nx;
|
|
348
|
+
if (direction === "vertical")
|
|
349
|
+
return ny;
|
|
350
|
+
return clampUnit((nx + ny) / 2);
|
|
351
|
+
}
|
|
352
|
+
/**
|
|
353
|
+
* A one-cycle native-fade color source. The output clip itself is the seamless
|
|
354
|
+
* cycle: shimmer begins and ends at the resting color; pulse does the same.
|
|
355
|
+
* Keeping motion inside the tile stream preserves grid lowering, avoiding the
|
|
356
|
+
* deep per-cell overlay chain that animated `overlay.alpha` would create.
|
|
357
|
+
*/
|
|
358
|
+
function buildPageSkeletonMotionLavfi(fill, bg, rank, motion, durationSec) {
|
|
359
|
+
const fillRgb = parseHexColor(String(fill));
|
|
360
|
+
const bgRgb = parseHexColor(String(bg));
|
|
361
|
+
if (!fillRgb || !bgRgb)
|
|
362
|
+
return null;
|
|
363
|
+
const restRgb = {
|
|
364
|
+
r: fillRgb.r + (bgRgb.r - fillRgb.r) * (1 - motion.minOpacity),
|
|
365
|
+
g: fillRgb.g + (bgRgb.g - fillRgb.g) * (1 - motion.minOpacity),
|
|
366
|
+
b: fillRgb.b + (bgRgb.b - fillRgb.b) * (1 - motion.minOpacity),
|
|
367
|
+
};
|
|
368
|
+
const ffmpegColor = (rgb) => `0x${hexByte(rgb.r)}${hexByte(rgb.g)}${hexByte(rgb.b)}`;
|
|
369
|
+
const fillColor = ffmpegColor(fillRgb);
|
|
370
|
+
const restColor = ffmpegColor(restRgb);
|
|
371
|
+
const duration = Math.max(0.1, durationSec);
|
|
372
|
+
// Finish before the encoded clip's final frame so looping back to t=0 is
|
|
373
|
+
// visually identical even though video containers omit the end endpoint.
|
|
374
|
+
const activeDuration = duration * 0.9;
|
|
375
|
+
if (motion.mode === "pulse") {
|
|
376
|
+
// in THEN out is the only order ffmpeg composes: a fade-in outputs its
|
|
377
|
+
// colour fully before its `st` (WAITING) and a fade-out holds it after
|
|
378
|
+
// `st+d` (DONE), so out→in would blank the first half to the rest
|
|
379
|
+
// colour. Consequence: frame 0 IS the rest colour — the poster time
|
|
380
|
+
// (below) points at the peak so posters and the preview's rest frame
|
|
381
|
+
// show the authored fill (founder, 2026-09-16: "too light").
|
|
382
|
+
const half = exprNumber(activeDuration / 2);
|
|
383
|
+
return (`color=c=${fillColor},` +
|
|
384
|
+
`fade=t=in:st=0:d=${half}:color=${restColor},` +
|
|
385
|
+
`fade=t=out:st=${half}:d=${half}:color=${restColor}`);
|
|
386
|
+
}
|
|
387
|
+
const normalizedRank = clampUnit(rank);
|
|
388
|
+
const travel = 1 + motion.bandWidth;
|
|
389
|
+
const halfBand = motion.bandWidth / 2;
|
|
390
|
+
const fadeSec = Math.max(0.001, (activeDuration * halfBand) / travel);
|
|
391
|
+
const fadeInStart = (activeDuration * normalizedRank) / travel;
|
|
392
|
+
const fadeOutStart = (activeDuration * (normalizedRank + halfBand)) / travel;
|
|
393
|
+
return (`color=c=${fillColor},` +
|
|
394
|
+
`fade=t=in:st=${exprNumber(fadeInStart)}:d=${exprNumber(fadeSec)}:color=${restColor},` +
|
|
395
|
+
`fade=t=out:st=${exprNumber(fadeOutStart)}:d=${exprNumber(fadeSec)}:color=${restColor}`);
|
|
396
|
+
}
|
|
397
|
+
/** Resolve the authored per-kind base fill before deterministic depth shading. */
|
|
398
|
+
function baseFillForKind(kind, appearance) {
|
|
399
|
+
if (kind === "text")
|
|
400
|
+
return colorOr(appearance.textFill, DEFAULT_APPEARANCE.textFill);
|
|
401
|
+
if (kind === "image" || kind === "control") {
|
|
402
|
+
return colorOr(appearance.imageFill, DEFAULT_APPEARANCE.imageFill);
|
|
403
|
+
}
|
|
404
|
+
return colorOr(appearance.fill, DEFAULT_APPEARANCE.fill);
|
|
405
|
+
}
|
|
406
|
+
/** Radius in final canvas pixels for the selected appearance mode. */
|
|
407
|
+
function effectiveRadiusPx(rect, appearance) {
|
|
408
|
+
const halfShort = Math.floor(Math.min(rect.w, rect.h) / 2);
|
|
409
|
+
if (appearance.radiusMode === "none")
|
|
410
|
+
return 0;
|
|
411
|
+
const requested = appearance.radiusMode === "uniform"
|
|
412
|
+
? Math.round(Number.isFinite(appearance.uniformRadiusPx)
|
|
413
|
+
? appearance.uniformRadiusPx
|
|
414
|
+
: DEFAULT_APPEARANCE.uniformRadiusPx)
|
|
415
|
+
: rect.r;
|
|
416
|
+
return Math.max(0, Math.min(halfShort, requested));
|
|
417
|
+
}
|
|
418
|
+
/** Apply the only override that changes geometry: an inscribed centered circle. */
|
|
419
|
+
function overriddenRectGeometry(rect, override) {
|
|
420
|
+
if ((override === null || override === void 0 ? void 0 : override.shape) !== "circle")
|
|
421
|
+
return rect;
|
|
422
|
+
const size = Math.min(rect.w, rect.h);
|
|
423
|
+
return {
|
|
424
|
+
...rect,
|
|
425
|
+
x: rect.x + Math.floor((rect.w - size) / 2),
|
|
426
|
+
y: rect.y + Math.floor((rect.h - size) / 2),
|
|
427
|
+
w: size,
|
|
428
|
+
h: size,
|
|
429
|
+
r: Math.floor(size / 2),
|
|
430
|
+
};
|
|
431
|
+
}
|
|
432
|
+
/** Resolve explicit override shape/radius on top of the appearance default. */
|
|
433
|
+
function overriddenRadiusPx(rect, appearance, override) {
|
|
434
|
+
const halfShort = Math.floor(Math.min(rect.w, rect.h) / 2);
|
|
435
|
+
if ((override === null || override === void 0 ? void 0 : override.shape) === "rect")
|
|
436
|
+
return 0;
|
|
437
|
+
if ((override === null || override === void 0 ? void 0 : override.shape) === "pill" || (override === null || override === void 0 ? void 0 : override.shape) === "circle")
|
|
438
|
+
return halfShort;
|
|
439
|
+
if ((override === null || override === void 0 ? void 0 : override.radiusPx) !== undefined) {
|
|
440
|
+
return Math.max(0, Math.min(halfShort, Math.round(override.radiusPx)));
|
|
441
|
+
}
|
|
442
|
+
return effectiveRadiusPx(rect, appearance);
|
|
443
|
+
}
|
|
444
|
+
/**
|
|
445
|
+
* Map a pixel radius to the engine's normalized rounding contract. Near-half
|
|
446
|
+
* radii become true pills/circles; every real structural tile carries an SVG
|
|
447
|
+
* rounding effect, including radius zero, so Make can expose its radius knob.
|
|
448
|
+
*/
|
|
449
|
+
function roundingForRect(rect, radiusPx) {
|
|
450
|
+
const short = Math.min(rect.w, rect.h);
|
|
451
|
+
const halfShort = Math.floor(short / 2);
|
|
452
|
+
if (radiusPx > 0 && radiusPx >= halfShort - 1) {
|
|
453
|
+
return { cornerStyle: "pill", rasterizer: "svg" };
|
|
454
|
+
}
|
|
455
|
+
return {
|
|
456
|
+
cornerStyle: "rounded",
|
|
457
|
+
borderRadius: clampUnit((2 * radiusPx) / short),
|
|
458
|
+
rasterizer: "svg",
|
|
459
|
+
};
|
|
460
|
+
}
|
|
461
|
+
function rectangleSource(painted, motionLavfi) {
|
|
462
|
+
const effects = {
|
|
463
|
+
rounding: roundingForRect(painted.rect, painted.radiusPx),
|
|
464
|
+
};
|
|
465
|
+
const source = motionLavfi
|
|
466
|
+
? { type: "lavfi", lavfi: motionLavfi, effects }
|
|
467
|
+
: (0, template_utils_1.makeColorTile)(painted.fill, { effects });
|
|
468
|
+
return {
|
|
469
|
+
...source,
|
|
470
|
+
editor: {
|
|
471
|
+
owner: "user",
|
|
472
|
+
label: `Capture rect ${painted.rect.i} · ${painted.rect.k}`,
|
|
473
|
+
// `overrides` is a structured (json) prop, so a binding must name a LEAF
|
|
474
|
+
// by path + kind (bindingsSound convention). The leaf this rect shows is
|
|
475
|
+
// its own row's `fill`; a rect with no override row has no leaf to edit
|
|
476
|
+
// and carries no binding. (A capture-index binding via `index` was
|
|
477
|
+
// rejected by every host as kind-required — Make never offered it.)
|
|
478
|
+
...(painted.overridePosition !== undefined
|
|
479
|
+
? { binding: { propKey: "overrides", path: [painted.overridePosition, "fill"], kind: "color" } }
|
|
480
|
+
: {}),
|
|
481
|
+
},
|
|
482
|
+
};
|
|
483
|
+
}
|
|
484
|
+
function claimsFullCanvas(rect, canvas) {
|
|
485
|
+
return (rect.x === 0 &&
|
|
486
|
+
rect.y === 0 &&
|
|
487
|
+
rect.w === canvas.w &&
|
|
488
|
+
rect.h === canvas.h);
|
|
489
|
+
}
|
|
490
|
+
function debugLabelColor(bg) {
|
|
491
|
+
const rgb = parseHexColor(String(bg));
|
|
492
|
+
if (!rgb)
|
|
493
|
+
return "#3f3f46";
|
|
494
|
+
const luminance = (0.2126 * rgb.r + 0.7152 * rgb.g + 0.0722 * rgb.b) / 255;
|
|
495
|
+
return luminance >= 0.5 ? "#3f3f46" : "#f4f4f5";
|
|
496
|
+
}
|
|
497
|
+
function debugIndexPieces(painted, bg) {
|
|
498
|
+
return painted.map(({ rect }) => {
|
|
499
|
+
const digits = String(rect.i).length;
|
|
500
|
+
const fitted = Math.floor(Math.min(16, rect.h * 0.72, rect.w / Math.max(1, digits * 0.62)));
|
|
501
|
+
const fontSize = Math.max(6, fitted);
|
|
502
|
+
const metrics = (0, template_utils_1.measureText)(String(rect.i), { fontSize });
|
|
503
|
+
const w = Math.max(1, Math.min(rect.w, Math.ceil(metrics.width) + 2));
|
|
504
|
+
const h = Math.max(1, Math.min(rect.h, Math.ceil(metrics.height) + 2));
|
|
505
|
+
const x = rect.x + Math.floor((rect.w - w) / 2);
|
|
506
|
+
const y = rect.y + Math.floor((rect.h - h) / 2);
|
|
507
|
+
return {
|
|
508
|
+
rect: {
|
|
509
|
+
x,
|
|
510
|
+
y,
|
|
511
|
+
w,
|
|
512
|
+
h,
|
|
513
|
+
importance: layout_1.MAX_DEPTH_BUCKETS,
|
|
514
|
+
},
|
|
515
|
+
source: (0, template_utils_1.maskAtlasSource)([
|
|
516
|
+
(0, template_utils_1.textToPath)(String(rect.i), {
|
|
517
|
+
fontSize,
|
|
518
|
+
hAlign: "center",
|
|
519
|
+
vAlign: "middle",
|
|
520
|
+
rect: { x: 0, y: 0, width: w, height: h },
|
|
521
|
+
}, { width: w, height: h }),
|
|
522
|
+
], debugLabelColor(bg), { width: w, height: h }),
|
|
523
|
+
};
|
|
524
|
+
});
|
|
525
|
+
}
|
|
526
|
+
/**
|
|
527
|
+
* One retained capture rectangle becomes one real, independently selectable
|
|
528
|
+
* source and one placement piece. `maxRects` is therefore a literal source
|
|
529
|
+
* cap; normal skeleton output never hides multiple painted rects in an atlas.
|
|
530
|
+
*/
|
|
531
|
+
function planSkeletonComposition(rects, appearance, bg, canvas, customization = {}) {
|
|
532
|
+
var _a, _b;
|
|
533
|
+
// Map insertion order == `overrides` array order (parseRectOverrides walks
|
|
534
|
+
// the array and refuses duplicates), so a key's position IS its row index.
|
|
535
|
+
const overrideOrder = [...((_b = (_a = customization.overrides) === null || _a === void 0 ? void 0 : _a.keys()) !== null && _b !== void 0 ? _b : [])];
|
|
536
|
+
const painted = rects.map((rect) => {
|
|
537
|
+
var _a;
|
|
538
|
+
const override = (_a = customization.overrides) === null || _a === void 0 ? void 0 : _a.get(rect.i);
|
|
539
|
+
const geometry = overriddenRectGeometry(rect, override);
|
|
540
|
+
const base = baseFillForKind(rect.k, appearance);
|
|
541
|
+
return {
|
|
542
|
+
rect: geometry,
|
|
543
|
+
fill: (override === null || override === void 0 ? void 0 : override.fill)
|
|
544
|
+
? colorOr(override.fill, String(base))
|
|
545
|
+
: shadedRectangleFill(geometry, base, bg),
|
|
546
|
+
radiusPx: overriddenRadiusPx(geometry, appearance, override),
|
|
547
|
+
...(override ? { overridePosition: overrideOrder.indexOf(rect.i) } : {}),
|
|
548
|
+
};
|
|
549
|
+
});
|
|
550
|
+
const basePieces = painted.map((item) => ({
|
|
551
|
+
rect: {
|
|
552
|
+
x: item.rect.x,
|
|
553
|
+
y: item.rect.y,
|
|
554
|
+
w: item.rect.w,
|
|
555
|
+
h: item.rect.h,
|
|
556
|
+
importance: claimsFullCanvas(item.rect, canvas) ? -1 : item.rect.zBucket,
|
|
557
|
+
},
|
|
558
|
+
source: rectangleSource(item, customization.motion &&
|
|
559
|
+
!item.rect.isSoftContainer &&
|
|
560
|
+
!claimsFullCanvas(item.rect, canvas)
|
|
561
|
+
? buildPageSkeletonMotionLavfi(item.fill, bg, motionRankForRect(item.rect, canvas, customization.motion.config.direction), customization.motion.config, customization.motion.durationSec)
|
|
562
|
+
: undefined),
|
|
563
|
+
}));
|
|
564
|
+
const labelPieces = customization.debugIndices === true
|
|
565
|
+
? debugIndexPieces(painted, bg)
|
|
566
|
+
: [];
|
|
567
|
+
const pieces = [...basePieces, ...labelPieces];
|
|
568
|
+
const nonBaseCanvasClaim = pieces.find((piece) => claimsFullCanvas(piece.rect, canvas) &&
|
|
569
|
+
piece.rect.importance !== -1);
|
|
570
|
+
if (nonBaseCanvasClaim) {
|
|
571
|
+
throw new Error("page-skeleton composition produced a non-base piece that claims the full canvas");
|
|
572
|
+
}
|
|
573
|
+
const projectedLayers = (0, layout_1.projectOverlayLayerCount)(pieces.map((piece) => {
|
|
574
|
+
var _a;
|
|
575
|
+
return ({
|
|
576
|
+
x: piece.rect.x,
|
|
577
|
+
y: piece.rect.y,
|
|
578
|
+
w: piece.rect.w,
|
|
579
|
+
h: piece.rect.h,
|
|
580
|
+
zBucket: (_a = piece.rect.importance) !== null && _a !== void 0 ? _a : 0,
|
|
581
|
+
});
|
|
582
|
+
}));
|
|
583
|
+
return {
|
|
584
|
+
pieces,
|
|
585
|
+
stats: {
|
|
586
|
+
independentRects: painted.length,
|
|
587
|
+
debugLabels: labelPieces.length,
|
|
588
|
+
projectedLayers,
|
|
589
|
+
},
|
|
590
|
+
};
|
|
591
|
+
}
|
|
592
|
+
function inlineMaskBounds(source) {
|
|
593
|
+
const mask = source.mask;
|
|
594
|
+
return (mask === null || mask === void 0 ? void 0 : mask.kind) === "inline-mask" && mask.bounds
|
|
595
|
+
? { width: mask.bounds.width, height: mask.bounds.height }
|
|
596
|
+
: null;
|
|
597
|
+
}
|
|
598
|
+
/**
|
|
599
|
+
* Place the composed skeleton through either the efficient inset-recovery
|
|
600
|
+
* path or exact pure DSL frames. Pure mode intentionally spends more m0 bytes
|
|
601
|
+
* so source-local custom masks can treat the cell itself as their bounds.
|
|
602
|
+
*/
|
|
603
|
+
function placeSkeletonPieces(options) {
|
|
604
|
+
var _a;
|
|
605
|
+
const { rootW, rootH, pieces, pureRects } = options;
|
|
606
|
+
if (!pureRects) {
|
|
607
|
+
const placed = (0, template_utils_1.placeInsetPieces)({
|
|
608
|
+
rootW,
|
|
609
|
+
rootH,
|
|
610
|
+
pieces,
|
|
611
|
+
basis: 120,
|
|
612
|
+
onHostile: "exact",
|
|
613
|
+
});
|
|
614
|
+
return {
|
|
615
|
+
m0: placed.m0,
|
|
616
|
+
sources: placed.sources,
|
|
617
|
+
expectations: placed.expectations,
|
|
618
|
+
};
|
|
619
|
+
}
|
|
620
|
+
for (let i = 0; i < pieces.length; i++) {
|
|
621
|
+
const inset = (_a = pieces[i].source.placement) === null || _a === void 0 ? void 0 : _a.inset;
|
|
622
|
+
if (inset != null) {
|
|
623
|
+
throw new Error(`pureRects cannot emit pieces[${i}] because its source already carries placement.inset`);
|
|
624
|
+
}
|
|
625
|
+
}
|
|
626
|
+
const placed = (0, dsl_stdlib_1.placeRects)({
|
|
627
|
+
rootW,
|
|
628
|
+
rootH,
|
|
629
|
+
rects: pieces.map((piece) => ({
|
|
630
|
+
x: piece.rect.x,
|
|
631
|
+
y: piece.rect.y,
|
|
632
|
+
w: piece.rect.w,
|
|
633
|
+
h: piece.rect.h,
|
|
634
|
+
importance: piece.rect.importance,
|
|
635
|
+
claimant: "F",
|
|
636
|
+
})),
|
|
637
|
+
});
|
|
638
|
+
const sources = [];
|
|
639
|
+
const expectations = [];
|
|
640
|
+
for (const layer of placed.layers) {
|
|
641
|
+
const ordered = [...layer.rectIndices].sort((a, b) => pieces[a].rect.y - pieces[b].rect.y ||
|
|
642
|
+
pieces[a].rect.x - pieces[b].rect.x);
|
|
643
|
+
for (const index of ordered) {
|
|
644
|
+
const piece = pieces[index];
|
|
645
|
+
sources.push(piece.source);
|
|
646
|
+
expectations.push({
|
|
647
|
+
rect: {
|
|
648
|
+
x: piece.rect.x,
|
|
649
|
+
y: piece.rect.y,
|
|
650
|
+
w: piece.rect.w,
|
|
651
|
+
h: piece.rect.h,
|
|
652
|
+
},
|
|
653
|
+
inset: null,
|
|
654
|
+
maskBounds: inlineMaskBounds(piece.source),
|
|
655
|
+
tolerancePx: 0,
|
|
656
|
+
});
|
|
657
|
+
}
|
|
658
|
+
}
|
|
659
|
+
return { m0: placed.m0, sources, expectations };
|
|
660
|
+
}
|
|
661
|
+
exports.PageSkeleton = {
|
|
662
|
+
id: (0, types_1.asTemplateId)(PAGE_SKELETON_ID),
|
|
663
|
+
label: "Page Skeleton",
|
|
664
|
+
version: 1,
|
|
665
|
+
description: "Turns anonymous browser geometry into an editable skeleton-loading still or looping shimmer/pulse video.",
|
|
666
|
+
capabilities: { tier: "core" },
|
|
667
|
+
tags: ["web", "skeleton", "loading", "capture", "wireframe", "animated", "designers", "developers", "landing-page", "mockup"],
|
|
668
|
+
aspectRatio: { ideal: 1440 / 900, label: "16:10", mode: "none" },
|
|
669
|
+
// Per-render deliverable: the reserved `outputFormat` prop drives Make and
|
|
670
|
+
// CLI defaults. A static format hint would override MP4 with PNG.
|
|
671
|
+
outputHints: {
|
|
672
|
+
format: { kind: "video", container: "mp4" },
|
|
673
|
+
width: 1440,
|
|
674
|
+
height: 900,
|
|
675
|
+
fps: 30,
|
|
676
|
+
durationMs: 2400,
|
|
677
|
+
// The pulse's PEAK: the fade-in completes at 0.45 × duration (the active
|
|
678
|
+
// 90 % of the cycle, halved). Frame 0 is the faded rest colour, so the
|
|
679
|
+
// poster and the Make scrubber's resting frame sit here, on the fill.
|
|
680
|
+
posterTimeMs: 1080,
|
|
681
|
+
note: "Animated MP4 by default — the skeleton breathes (pulse). Choose Output → Still PNG for the editable still.",
|
|
682
|
+
},
|
|
683
|
+
propsSchema,
|
|
684
|
+
defaultProps: {
|
|
685
|
+
captureSnippet: {
|
|
686
|
+
language: "javascript",
|
|
687
|
+
code: capture_snippet_source_1.PAGE_SKELETON_CAPTURE_SNIPPET,
|
|
688
|
+
},
|
|
689
|
+
capture: sample_capture_1.SAMPLE_CAPTURE,
|
|
690
|
+
outputFormat: "mp4",
|
|
691
|
+
motion: DEFAULT_MOTION,
|
|
692
|
+
appearance: DEFAULT_APPEARANCE,
|
|
693
|
+
behavior: DEFAULT_BEHAVIOR,
|
|
694
|
+
overrides: [],
|
|
695
|
+
debug: false,
|
|
696
|
+
debugIndices: false,
|
|
697
|
+
},
|
|
698
|
+
async render(props, ctx) {
|
|
699
|
+
var _a, _b, _c;
|
|
700
|
+
const width = Math.max(1, Math.round(ctx.target.width));
|
|
701
|
+
const height = Math.max(1, Math.round(ctx.target.height));
|
|
702
|
+
try {
|
|
703
|
+
const outputFormat = (_a = props.outputFormat) !== null && _a !== void 0 ? _a : "png";
|
|
704
|
+
if (outputFormat !== "png" && outputFormat !== "mp4") {
|
|
705
|
+
throw new Error(`outputFormat must be png or mp4 (got "${outputFormat}")`);
|
|
706
|
+
}
|
|
707
|
+
const motion = outputFormat === "mp4"
|
|
708
|
+
? resolvePageSkeletonMotion(props.motion)
|
|
709
|
+
: undefined;
|
|
710
|
+
const capture = (0, schema_1.parseCapture)(props.capture);
|
|
711
|
+
const overrides = parseRectOverrides(props.overrides, capture.rects.length);
|
|
712
|
+
const hiddenIndices = new Set([...overrides.values()]
|
|
713
|
+
.filter((override) => override.hide === true)
|
|
714
|
+
.map((override) => override.i));
|
|
715
|
+
const appearance = { ...DEFAULT_APPEARANCE, ...((_b = props.appearance) !== null && _b !== void 0 ? _b : {}) };
|
|
716
|
+
const behavior = { ...DEFAULT_BEHAVIOR, ...((_c = props.behavior) !== null && _c !== void 0 ? _c : {}) };
|
|
717
|
+
const bg = colorOr(appearance.bg, DEFAULT_APPEARANCE.bg);
|
|
718
|
+
const layout = (0, layout_1.layoutCapture)(capture, {
|
|
719
|
+
canvasW: width,
|
|
720
|
+
canvasH: height,
|
|
721
|
+
...behavior,
|
|
722
|
+
hiddenIndices,
|
|
723
|
+
});
|
|
724
|
+
if (layout.rects.length === 0) {
|
|
725
|
+
return errorDocument("capture contains no visible rectangles after filtering and scaling", ctx);
|
|
726
|
+
}
|
|
727
|
+
const composition = planSkeletonComposition(layout.rects, appearance, bg, { w: width, h: height }, {
|
|
728
|
+
overrides,
|
|
729
|
+
debugIndices: props.debugIndices === true,
|
|
730
|
+
motion: motion
|
|
731
|
+
? {
|
|
732
|
+
config: motion,
|
|
733
|
+
durationSec: Math.max(0.1, ctx.target.durationMs / 1000),
|
|
734
|
+
}
|
|
735
|
+
: undefined,
|
|
736
|
+
});
|
|
737
|
+
const placed = placeSkeletonPieces({
|
|
738
|
+
rootW: width,
|
|
739
|
+
rootH: height,
|
|
740
|
+
pieces: composition.pieces,
|
|
741
|
+
pureRects: behavior.pureRects === true,
|
|
742
|
+
});
|
|
743
|
+
const doc = {
|
|
744
|
+
kind: "mosaic_document",
|
|
745
|
+
version: 1,
|
|
746
|
+
assets: {},
|
|
747
|
+
m0: placed.m0,
|
|
748
|
+
sources: placed.sources,
|
|
749
|
+
backgroundColor: bg,
|
|
750
|
+
fps: ctx.target.fps,
|
|
751
|
+
durationMs: ctx.target.durationMs,
|
|
752
|
+
size: { width, height },
|
|
753
|
+
format: outputFormat === "mp4"
|
|
754
|
+
? { kind: "video", container: "mp4" }
|
|
755
|
+
: { kind: "image", container: "png" },
|
|
756
|
+
...(outputFormat === "mp4" ? { audio: { mode: "off" } } : {}),
|
|
757
|
+
...(props.debug
|
|
758
|
+
? {
|
|
759
|
+
editor: {
|
|
760
|
+
label: `Page Skeleton · ${layout.stats.output} rects · ` +
|
|
761
|
+
`filtered ${layout.stats.filtered} · capped ${layout.stats.capped} · ` +
|
|
762
|
+
`pruned ${layout.stats.pruned} · degenerate ${layout.stats.degenerate} · ` +
|
|
763
|
+
`${composition.stats.independentRects} independent sources · ` +
|
|
764
|
+
`${composition.stats.debugLabels} debug labels · ` +
|
|
765
|
+
`${composition.stats.projectedLayers} projected layers · ` +
|
|
766
|
+
`${behavior.pureRects ? "pure DSL rects" : "inset recovery"} · ` +
|
|
767
|
+
`${motion
|
|
768
|
+
? `${motion.mode} ${motion.direction} ${ctx.target.durationMs}ms loop`
|
|
769
|
+
: "still"}`,
|
|
770
|
+
},
|
|
771
|
+
}
|
|
772
|
+
: {}),
|
|
773
|
+
};
|
|
774
|
+
return (0, template_utils_1.withGeometryContract)(doc, ctx, {
|
|
775
|
+
templateId: PAGE_SKELETON_ID,
|
|
776
|
+
expectations: placed.expectations,
|
|
777
|
+
debug: props.debug === true,
|
|
778
|
+
});
|
|
779
|
+
}
|
|
780
|
+
catch (error) {
|
|
781
|
+
const message = error instanceof Error ? error.message : String(error);
|
|
782
|
+
return errorDocument(message, ctx);
|
|
783
|
+
}
|
|
784
|
+
},
|
|
785
|
+
};
|
|
786
|
+
(0, template_utils_1.registerTemplate)(exports.PageSkeleton);
|
|
787
|
+
exports.default = exports.PageSkeleton;
|