@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,71 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Candidate enumeration — the bounded lattice search space.
|
|
3
|
+
*
|
|
4
|
+
* A candidate is a (cols, rows) unit lattice derived from a unit-aspect
|
|
5
|
+
* target. Targets come from the image mix (median landscape aspect; a
|
|
6
|
+
* portrait-fit target so 1×2 suits the portrait median; 1.0 when squares
|
|
7
|
+
* dominate). Column counts come from the cell-scale bounds; rows follow from
|
|
8
|
+
* the canvas and the target. Everything is filtered for area-achievability
|
|
9
|
+
* and pre-scored so the solver only tiles a capped, ordered list.
|
|
10
|
+
*/
|
|
11
|
+
import type { LatticeCandidate, SpanClass } from "./types";
|
|
12
|
+
export type EnumerateCandidatesOptions = {
|
|
13
|
+
canvasW: number;
|
|
14
|
+
canvasH: number;
|
|
15
|
+
/** Image count on this sheet. */
|
|
16
|
+
count: number;
|
|
17
|
+
gutterXPx: number;
|
|
18
|
+
gutterYPx: number;
|
|
19
|
+
marginPx: number;
|
|
20
|
+
/** Readability bounds on the typical cell scale √(unitW·unitH). */
|
|
21
|
+
minCellPx: number;
|
|
22
|
+
maxCellPx: number;
|
|
23
|
+
/** Intrinsic aspects (drives unit-aspect targets + the crop pre-score). */
|
|
24
|
+
aspects: number[];
|
|
25
|
+
/** Hard cap on the returned list. Default 64. */
|
|
26
|
+
maxCandidates?: number;
|
|
27
|
+
/** Soft crop budget (pre-score prefers within-budget menus). Default 0.3. */
|
|
28
|
+
cropBudget?: number;
|
|
29
|
+
};
|
|
30
|
+
/**
|
|
31
|
+
* Unit-aspect targets from the aspect histogram. Deduplicated, deterministic
|
|
32
|
+
* order (most-load-bearing first).
|
|
33
|
+
*/
|
|
34
|
+
export declare function unitAspectTargets(aspects: number[]): number[];
|
|
35
|
+
/**
|
|
36
|
+
* Exact-cover ACHIEVABILITY of a lattice area: N spans with areas from the
|
|
37
|
+
* fitting menu summing to exactly C·R. Areas form {1,…,maxA} minus gaps (the
|
|
38
|
+
* full menu's areas are {1,2,3,4,6} — no 5). Unreachable sums are those in
|
|
39
|
+
* a gap above the second-largest achievable ceiling: with the full menu only
|
|
40
|
+
* `6N−1` (all-but-one at max 6, one needing the nonexistent 5). Computed
|
|
41
|
+
* generically so lattice-limited menus (e.g. a 1-column lattice) stay honest.
|
|
42
|
+
*/
|
|
43
|
+
export declare function coverAchievable(count: number, units: number, spans: SpanClass[]): boolean;
|
|
44
|
+
/**
|
|
45
|
+
* `maxCellPx` is a taste PREFERENCE, not a floor — with few images on a big
|
|
46
|
+
* canvas it must yield, or the only lattices in the window are far denser
|
|
47
|
+
* than the images can cover (2 images at the 320px default on 1600×900 has
|
|
48
|
+
* NO achievable lattice at all). Relax it toward the scale a density-2 pack
|
|
49
|
+
* of `count` images actually needs, with headroom for lattice quantization.
|
|
50
|
+
*/
|
|
51
|
+
export declare function relaxedMaxCellPx(maxCellPx: number, canvasW: number, canvasH: number, count: number): number;
|
|
52
|
+
/**
|
|
53
|
+
* The largest unit count any lattice in the cell-scale window offers —
|
|
54
|
+
* the geometric CAPACITY of a sheet (each image needs ≥1 unit). Drives the
|
|
55
|
+
* paging trigger: more images than this cannot fit one sheet at readable
|
|
56
|
+
* cell sizes. `0` = no lattice fits at all (canvas below the cell floor).
|
|
57
|
+
*/
|
|
58
|
+
export declare function maxLatticeUnits(opts: {
|
|
59
|
+
canvasW: number;
|
|
60
|
+
canvasH: number;
|
|
61
|
+
gutterXPx: number;
|
|
62
|
+
gutterYPx: number;
|
|
63
|
+
marginPx: number;
|
|
64
|
+
minCellPx: number;
|
|
65
|
+
maxCellPx: number;
|
|
66
|
+
}): number;
|
|
67
|
+
/**
|
|
68
|
+
* Enumerate, filter, pre-score, and cap the lattice candidates.
|
|
69
|
+
* Deterministic: stable ordering by (preScore, cols, rows, target).
|
|
70
|
+
*/
|
|
71
|
+
export declare function enumerateCandidates(opts: EnumerateCandidatesOptions): LatticeCandidate[];
|
|
@@ -0,0 +1,211 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
/**
|
|
3
|
+
* Candidate enumeration — the bounded lattice search space.
|
|
4
|
+
*
|
|
5
|
+
* A candidate is a (cols, rows) unit lattice derived from a unit-aspect
|
|
6
|
+
* target. Targets come from the image mix (median landscape aspect; a
|
|
7
|
+
* portrait-fit target so 1×2 suits the portrait median; 1.0 when squares
|
|
8
|
+
* dominate). Column counts come from the cell-scale bounds; rows follow from
|
|
9
|
+
* the canvas and the target. Everything is filtered for area-achievability
|
|
10
|
+
* and pre-scored so the solver only tiles a capped, ordered list.
|
|
11
|
+
*/
|
|
12
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
13
|
+
exports.unitAspectTargets = unitAspectTargets;
|
|
14
|
+
exports.coverAchievable = coverAchievable;
|
|
15
|
+
exports.relaxedMaxCellPx = relaxedMaxCellPx;
|
|
16
|
+
exports.maxLatticeUnits = maxLatticeUnits;
|
|
17
|
+
exports.enumerateCandidates = enumerateCandidates;
|
|
18
|
+
const classify_1 = require("./classify");
|
|
19
|
+
const score_1 = require("./score");
|
|
20
|
+
const median = (xs) => {
|
|
21
|
+
if (xs.length === 0)
|
|
22
|
+
return undefined;
|
|
23
|
+
const s = [...xs].sort((a, b) => a - b);
|
|
24
|
+
return s[Math.floor(s.length / 2)];
|
|
25
|
+
};
|
|
26
|
+
const clamp = (v, lo, hi) => Math.min(hi, Math.max(lo, v));
|
|
27
|
+
/**
|
|
28
|
+
* Unit-aspect targets from the aspect histogram. Deduplicated, deterministic
|
|
29
|
+
* order (most-load-bearing first).
|
|
30
|
+
*/
|
|
31
|
+
function unitAspectTargets(aspects) {
|
|
32
|
+
var _a;
|
|
33
|
+
const landscape = aspects.filter((a) => a > 1.15);
|
|
34
|
+
const portrait = aspects.filter((a) => a < 0.87);
|
|
35
|
+
const squares = aspects.length - landscape.length - portrait.length;
|
|
36
|
+
const targets = [];
|
|
37
|
+
const push = (u) => {
|
|
38
|
+
if (u == null)
|
|
39
|
+
return;
|
|
40
|
+
const c = clamp(u, 0.6, 2.0);
|
|
41
|
+
if (!targets.some((t) => Math.abs(t - c) < 0.05))
|
|
42
|
+
targets.push(c);
|
|
43
|
+
};
|
|
44
|
+
// The modal-landscape unit (the seed's 1.27): 1×1 near-free for the modal class.
|
|
45
|
+
push((_a = median(landscape)) !== null && _a !== void 0 ? _a : 1.27);
|
|
46
|
+
// Portrait-fit: A(1,2) ≈ u/2 (gutters shift it slightly; the R±1 sweep absorbs that).
|
|
47
|
+
const mp = median(portrait);
|
|
48
|
+
if (mp != null)
|
|
49
|
+
push(2 * mp);
|
|
50
|
+
// Square-heavy mixes want a square-ish unit on the menu too.
|
|
51
|
+
if (squares >= aspects.length * 0.3)
|
|
52
|
+
push(1.0);
|
|
53
|
+
return targets;
|
|
54
|
+
}
|
|
55
|
+
/**
|
|
56
|
+
* Exact-cover ACHIEVABILITY of a lattice area: N spans with areas from the
|
|
57
|
+
* fitting menu summing to exactly C·R. Areas form {1,…,maxA} minus gaps (the
|
|
58
|
+
* full menu's areas are {1,2,3,4,6} — no 5). Unreachable sums are those in
|
|
59
|
+
* a gap above the second-largest achievable ceiling: with the full menu only
|
|
60
|
+
* `6N−1` (all-but-one at max 6, one needing the nonexistent 5). Computed
|
|
61
|
+
* generically so lattice-limited menus (e.g. a 1-column lattice) stay honest.
|
|
62
|
+
*/
|
|
63
|
+
function coverAchievable(count, units, spans) {
|
|
64
|
+
const areas = [...new Set(spans.map(classify_1.spanArea))].sort((a, b) => a - b);
|
|
65
|
+
if (areas.length === 0)
|
|
66
|
+
return false;
|
|
67
|
+
const maxA = areas[areas.length - 1];
|
|
68
|
+
if (units < count || units > maxA * count)
|
|
69
|
+
return false;
|
|
70
|
+
// Greedy-safe check: walk down from the largest area; a sum is achievable
|
|
71
|
+
// iff after taking k spans at maxA the remainder fits the smaller menu.
|
|
72
|
+
// Small search (areas ≤ 5 distinct, count can be large) — DP over remainder
|
|
73
|
+
// mod nothing needed: since 1 ∈ areas always (1x1 fits any lattice), any
|
|
74
|
+
// remainder r with 0 ≤ r ≤ (count−k)·secondMax… simplest exact rule: take
|
|
75
|
+
// k = max spans at maxA, rest flexible in [count−k, (count−k)·nextMax].
|
|
76
|
+
if (areas[0] === 1 && areas.length >= 2) {
|
|
77
|
+
const next = areas[areas.length - 2];
|
|
78
|
+
for (let k = 0; k <= count; k++) {
|
|
79
|
+
const rest = units - k * maxA;
|
|
80
|
+
const others = count - k;
|
|
81
|
+
if (rest < others * areas[0])
|
|
82
|
+
break; // too many maxed spans already
|
|
83
|
+
if (rest <= others * next)
|
|
84
|
+
return true;
|
|
85
|
+
}
|
|
86
|
+
return false;
|
|
87
|
+
}
|
|
88
|
+
// Degenerate menus (only 1x1): exact only.
|
|
89
|
+
return units === count;
|
|
90
|
+
}
|
|
91
|
+
/**
|
|
92
|
+
* `maxCellPx` is a taste PREFERENCE, not a floor — with few images on a big
|
|
93
|
+
* canvas it must yield, or the only lattices in the window are far denser
|
|
94
|
+
* than the images can cover (2 images at the 320px default on 1600×900 has
|
|
95
|
+
* NO achievable lattice at all). Relax it toward the scale a density-2 pack
|
|
96
|
+
* of `count` images actually needs, with headroom for lattice quantization.
|
|
97
|
+
*/
|
|
98
|
+
function relaxedMaxCellPx(maxCellPx, canvasW, canvasH, count) {
|
|
99
|
+
const densityTwoScale = Math.sqrt((canvasW * canvasH) / (2 * Math.max(1, count)));
|
|
100
|
+
return Math.max(maxCellPx, Math.ceil(densityTwoScale * 1.25));
|
|
101
|
+
}
|
|
102
|
+
/**
|
|
103
|
+
* The largest unit count any lattice in the cell-scale window offers —
|
|
104
|
+
* the geometric CAPACITY of a sheet (each image needs ≥1 unit). Drives the
|
|
105
|
+
* paging trigger: more images than this cannot fit one sheet at readable
|
|
106
|
+
* cell sizes. `0` = no lattice fits at all (canvas below the cell floor).
|
|
107
|
+
*/
|
|
108
|
+
function maxLatticeUnits(opts) {
|
|
109
|
+
const { canvasW, canvasH, gutterXPx, gutterYPx, marginPx, minCellPx, maxCellPx } = opts;
|
|
110
|
+
let best = 0;
|
|
111
|
+
for (let cols = 1; cols <= 64; cols++) {
|
|
112
|
+
const unitW = (canvasW - 2 * marginPx - (cols - 1) * gutterXPx) / cols;
|
|
113
|
+
if (unitW < 1)
|
|
114
|
+
break;
|
|
115
|
+
for (let rows = 1; rows <= 64; rows++) {
|
|
116
|
+
const unitH = (canvasH - 2 * marginPx - (rows - 1) * gutterYPx) / rows;
|
|
117
|
+
if (unitH < 1)
|
|
118
|
+
break;
|
|
119
|
+
const scale = Math.sqrt(unitW * unitH);
|
|
120
|
+
if (scale > maxCellPx)
|
|
121
|
+
continue;
|
|
122
|
+
if (scale < minCellPx)
|
|
123
|
+
break;
|
|
124
|
+
best = Math.max(best, cols * rows);
|
|
125
|
+
}
|
|
126
|
+
}
|
|
127
|
+
return best;
|
|
128
|
+
}
|
|
129
|
+
/**
|
|
130
|
+
* Enumerate, filter, pre-score, and cap the lattice candidates.
|
|
131
|
+
* Deterministic: stable ordering by (preScore, cols, rows, target).
|
|
132
|
+
*/
|
|
133
|
+
function enumerateCandidates(opts) {
|
|
134
|
+
var _a, _b;
|
|
135
|
+
const { canvasW, canvasH, count, gutterXPx, gutterYPx, marginPx, minCellPx, maxCellPx, aspects, } = opts;
|
|
136
|
+
const maxCandidates = (_a = opts.maxCandidates) !== null && _a !== void 0 ? _a : 64;
|
|
137
|
+
const cropBudget = (_b = opts.cropBudget) !== null && _b !== void 0 ? _b : 0.3;
|
|
138
|
+
if (count <= 0)
|
|
139
|
+
throw new Error("enumerateCandidates: count must be ≥ 1");
|
|
140
|
+
// `aspects` is the MIX the lattice must suit (unit-aspect targets + the
|
|
141
|
+
// min-crop pre-score); `count` is how many images actually land on the
|
|
142
|
+
// sheet. They're equal for a single sheet; uniform paging passes the FULL
|
|
143
|
+
// mix with a per-page count so every page shares one statistics-fitted
|
|
144
|
+
// lattice.
|
|
145
|
+
if (aspects.length < count)
|
|
146
|
+
throw new Error(`enumerateCandidates: aspects.length ${aspects.length} < count ${count}`);
|
|
147
|
+
if (!(minCellPx > 0) || !(maxCellPx >= minCellPx))
|
|
148
|
+
throw new Error(`enumerateCandidates: bad cell-scale bounds [${minCellPx}, ${maxCellPx}]`);
|
|
149
|
+
const targets = unitAspectTargets(aspects);
|
|
150
|
+
const rough = [];
|
|
151
|
+
for (let cols = 1; cols <= 64; cols++) {
|
|
152
|
+
const unitW = (canvasW - 2 * marginPx - (cols - 1) * gutterXPx) / cols;
|
|
153
|
+
if (unitW < 1)
|
|
154
|
+
break;
|
|
155
|
+
for (let rows = 1; rows <= 64; rows++) {
|
|
156
|
+
const unitH = (canvasH - 2 * marginPx - (rows - 1) * gutterYPx) / rows;
|
|
157
|
+
if (unitH < 1)
|
|
158
|
+
break;
|
|
159
|
+
const scale = Math.sqrt(unitW * unitH);
|
|
160
|
+
if (scale > maxCellPx)
|
|
161
|
+
continue; // rows too few — keep growing
|
|
162
|
+
if (scale < minCellPx)
|
|
163
|
+
break; // rows too many — smaller from here on
|
|
164
|
+
const units = cols * rows;
|
|
165
|
+
if (units > 6 * count)
|
|
166
|
+
break;
|
|
167
|
+
if (!coverAchievable(count, units, (0, classify_1.fittingSpans)(cols, rows)))
|
|
168
|
+
continue;
|
|
169
|
+
const unitAspect = unitW / unitH;
|
|
170
|
+
const aspectTerm = Math.min(...targets.map((t) => Math.abs(Math.log(unitAspect / t))));
|
|
171
|
+
const nearest = targets.reduce((best, t) => Math.abs(Math.log(unitAspect / t)) < Math.abs(Math.log(unitAspect / best)) ? t : best);
|
|
172
|
+
const areaPrior = Math.abs(units - 2 * count) / count;
|
|
173
|
+
rough.push({ cols, rows, unitW, unitH, target: nearest, rough: aspectTerm + 0.25 * areaPrior + 0.03 * (0, score_1.roughAxes)(cols, rows) });
|
|
174
|
+
}
|
|
175
|
+
}
|
|
176
|
+
// The emitted m0's basis IS the lattice, so a lattice whose unit count is
|
|
177
|
+
// rough (14 = 2·7) composes with nothing — the packer only proposes lattices
|
|
178
|
+
// on the 5-smooth lattice (or ≤ 12 units per axis: content fill), which is
|
|
179
|
+
// dense enough (1–12, 15, 16, 18, 20, 24, 25, 27, 30, 32, 36, 40, …) that a
|
|
180
|
+
// sheet loses nothing; the whole window is the fallback if nothing fits.
|
|
181
|
+
const onLattice = rough.filter((r) => (0, score_1.roughAxes)(r.cols, r.rows) === 0);
|
|
182
|
+
const pool = onLattice.length > 0 ? onLattice : rough;
|
|
183
|
+
pool.sort((a, b) => a.rough - b.rough || a.cols - b.cols || a.rows - b.rows);
|
|
184
|
+
// Stage 2 — classify the surviving slice for the real pre-score (min-crop
|
|
185
|
+
// estimate: each image at its cheapest fitting span) + the CR ≈ 2N prior.
|
|
186
|
+
const out = [];
|
|
187
|
+
for (const r of pool.slice(0, Math.max(maxCandidates, 96))) {
|
|
188
|
+
const spans = (0, classify_1.fittingSpans)(r.cols, r.rows);
|
|
189
|
+
const visibleAspect = {};
|
|
190
|
+
for (const s of spans)
|
|
191
|
+
visibleAspect[s] = (0, classify_1.spanVisibleAspect)(s, r.unitW, r.unitH, gutterXPx, gutterYPx);
|
|
192
|
+
const menus = (0, classify_1.classifySpans)(aspects, visibleAspect, cropBudget);
|
|
193
|
+
const minCrop = menus.reduce((a, m) => a + m.options[0].cost, 0) / Math.max(1, menus.length);
|
|
194
|
+
const areaPrior = Math.abs(r.cols * r.rows - 2 * count) / count;
|
|
195
|
+
out.push({
|
|
196
|
+
cols: r.cols,
|
|
197
|
+
rows: r.rows,
|
|
198
|
+
unitAspectTarget: r.target,
|
|
199
|
+
unitW: r.unitW,
|
|
200
|
+
unitH: r.unitH,
|
|
201
|
+
visibleAspect,
|
|
202
|
+
canvasW, canvasH, gutterXPx, gutterYPx, marginPx,
|
|
203
|
+
preScore: minCrop + 0.05 * areaPrior + 0.03 * (0, score_1.roughAxes)(r.cols, r.rows),
|
|
204
|
+
});
|
|
205
|
+
}
|
|
206
|
+
out.sort((a, b) => a.preScore - b.preScore ||
|
|
207
|
+
a.cols - b.cols ||
|
|
208
|
+
a.rows - b.rows ||
|
|
209
|
+
a.unitAspectTarget - b.unitAspectTarget);
|
|
210
|
+
return out.slice(0, maxCandidates);
|
|
211
|
+
}
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Aspect classification — per-image crop costs against a candidate lattice.
|
|
3
|
+
*
|
|
4
|
+
* Cover-fit keeps `min(a, A)/max(a, A)` of an image's area when an image of
|
|
5
|
+
* aspect `a` fills a cell of visible aspect `A`; the crop cost is the lost
|
|
6
|
+
* fraction. The budget is SOFT (founder decision): every fitting span stays
|
|
7
|
+
* on the menu with its cost — the planner prefers within-budget options and
|
|
8
|
+
* reports overage, it never letterboxes and never leaves holes.
|
|
9
|
+
*/
|
|
10
|
+
import type { ImageSpanOptions, SpanClass, SpanDim } from "./types";
|
|
11
|
+
/** Canonical menu order (deterministic tie-breaking keys off this). */
|
|
12
|
+
export declare const SPAN_CLASSES: readonly SpanClass[];
|
|
13
|
+
export declare const SPAN_MENU: Record<SpanClass, SpanDim>;
|
|
14
|
+
export declare const spanArea: (s: SpanClass) => number;
|
|
15
|
+
/** Menu spans that fit a C×R lattice, canonical order. */
|
|
16
|
+
export declare function fittingSpans(cols: number, rows: number): SpanClass[];
|
|
17
|
+
/** Area fraction cover-fit crops when aspect `a` fills a cell of aspect `A`. */
|
|
18
|
+
export declare function cropCost(imageAspect: number, cellAspect: number): number;
|
|
19
|
+
/** Visible aspect of a span on a lattice with the given unit + gutters. */
|
|
20
|
+
export declare function spanVisibleAspect(span: SpanClass, unitW: number, unitH: number, gutterXPx: number, gutterYPx: number): number;
|
|
21
|
+
/**
|
|
22
|
+
* Per-image span menu against a candidate's visible aspects, cost-ascending.
|
|
23
|
+
* Ties break by smaller area then canonical menu order — an image never gets
|
|
24
|
+
* a bigger cell than an equally-good smaller one for free.
|
|
25
|
+
*/
|
|
26
|
+
export declare function classifySpans(aspects: number[], visibleAspect: Partial<Record<SpanClass, number>>, cropBudget: number): ImageSpanOptions[];
|
|
@@ -0,0 +1,70 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
/**
|
|
3
|
+
* Aspect classification — per-image crop costs against a candidate lattice.
|
|
4
|
+
*
|
|
5
|
+
* Cover-fit keeps `min(a, A)/max(a, A)` of an image's area when an image of
|
|
6
|
+
* aspect `a` fills a cell of visible aspect `A`; the crop cost is the lost
|
|
7
|
+
* fraction. The budget is SOFT (founder decision): every fitting span stays
|
|
8
|
+
* on the menu with its cost — the planner prefers within-budget options and
|
|
9
|
+
* reports overage, it never letterboxes and never leaves holes.
|
|
10
|
+
*/
|
|
11
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
12
|
+
exports.spanArea = exports.SPAN_MENU = exports.SPAN_CLASSES = void 0;
|
|
13
|
+
exports.fittingSpans = fittingSpans;
|
|
14
|
+
exports.cropCost = cropCost;
|
|
15
|
+
exports.spanVisibleAspect = spanVisibleAspect;
|
|
16
|
+
exports.classifySpans = classifySpans;
|
|
17
|
+
/** Canonical menu order (deterministic tie-breaking keys off this). */
|
|
18
|
+
exports.SPAN_CLASSES = [
|
|
19
|
+
"1x1", "2x1", "3x1", "4x1", "1x2", "2x2", "3x2", "1x3",
|
|
20
|
+
];
|
|
21
|
+
exports.SPAN_MENU = {
|
|
22
|
+
"1x1": { c: 1, r: 1 },
|
|
23
|
+
"2x1": { c: 2, r: 1 },
|
|
24
|
+
"3x1": { c: 3, r: 1 },
|
|
25
|
+
"4x1": { c: 4, r: 1 },
|
|
26
|
+
"1x2": { c: 1, r: 2 },
|
|
27
|
+
"2x2": { c: 2, r: 2 },
|
|
28
|
+
"3x2": { c: 3, r: 2 },
|
|
29
|
+
"1x3": { c: 1, r: 3 },
|
|
30
|
+
};
|
|
31
|
+
const spanArea = (s) => exports.SPAN_MENU[s].c * exports.SPAN_MENU[s].r;
|
|
32
|
+
exports.spanArea = spanArea;
|
|
33
|
+
/** Menu spans that fit a C×R lattice, canonical order. */
|
|
34
|
+
function fittingSpans(cols, rows) {
|
|
35
|
+
return exports.SPAN_CLASSES.filter((s) => exports.SPAN_MENU[s].c <= cols && exports.SPAN_MENU[s].r <= rows);
|
|
36
|
+
}
|
|
37
|
+
/** Area fraction cover-fit crops when aspect `a` fills a cell of aspect `A`. */
|
|
38
|
+
function cropCost(imageAspect, cellAspect) {
|
|
39
|
+
if (!(imageAspect > 0) || !(cellAspect > 0))
|
|
40
|
+
return 1;
|
|
41
|
+
return 1 - Math.min(imageAspect, cellAspect) / Math.max(imageAspect, cellAspect);
|
|
42
|
+
}
|
|
43
|
+
/** Visible aspect of a span on a lattice with the given unit + gutters. */
|
|
44
|
+
function spanVisibleAspect(span, unitW, unitH, gutterXPx, gutterYPx) {
|
|
45
|
+
const { c, r } = exports.SPAN_MENU[span];
|
|
46
|
+
return (c * unitW + (c - 1) * gutterXPx) / (r * unitH + (r - 1) * gutterYPx);
|
|
47
|
+
}
|
|
48
|
+
/**
|
|
49
|
+
* Per-image span menu against a candidate's visible aspects, cost-ascending.
|
|
50
|
+
* Ties break by smaller area then canonical menu order — an image never gets
|
|
51
|
+
* a bigger cell than an equally-good smaller one for free.
|
|
52
|
+
*/
|
|
53
|
+
function classifySpans(aspects, visibleAspect, cropBudget) {
|
|
54
|
+
const spans = exports.SPAN_CLASSES.filter((s) => visibleAspect[s] != null);
|
|
55
|
+
return aspects.map((aspect, imageIndex) => {
|
|
56
|
+
if (!Number.isFinite(aspect) || aspect <= 0)
|
|
57
|
+
throw new Error(`classifySpans: aspects[${imageIndex}] must be a positive finite number, got ${aspect}`);
|
|
58
|
+
const options = spans
|
|
59
|
+
.map((span) => ({ span, cost: cropCost(aspect, visibleAspect[span]) }))
|
|
60
|
+
.sort((a, b) => a.cost - b.cost ||
|
|
61
|
+
(0, exports.spanArea)(a.span) - (0, exports.spanArea)(b.span) ||
|
|
62
|
+
exports.SPAN_CLASSES.indexOf(a.span) - exports.SPAN_CLASSES.indexOf(b.span));
|
|
63
|
+
return {
|
|
64
|
+
imageIndex,
|
|
65
|
+
aspect,
|
|
66
|
+
options,
|
|
67
|
+
withinBudget: options.filter((o) => o.cost <= cropBudget).length,
|
|
68
|
+
};
|
|
69
|
+
});
|
|
70
|
+
}
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
+
if (k2 === undefined) k2 = k;
|
|
4
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
5
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
6
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
7
|
+
}
|
|
8
|
+
Object.defineProperty(o, k2, desc);
|
|
9
|
+
}) : (function(o, m, k, k2) {
|
|
10
|
+
if (k2 === undefined) k2 = k;
|
|
11
|
+
o[k2] = m[k];
|
|
12
|
+
}));
|
|
13
|
+
var __exportStar = (this && this.__exportStar) || function(m, exports) {
|
|
14
|
+
for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
|
|
15
|
+
};
|
|
16
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
17
|
+
__exportStar(require("./types"), exports);
|
|
18
|
+
__exportStar(require("./classify"), exports);
|
|
19
|
+
__exportStar(require("./candidates"), exports);
|
|
20
|
+
__exportStar(require("./tiler"), exports);
|
|
21
|
+
__exportStar(require("./score"), exports);
|
|
22
|
+
__exportStar(require("./solve"), exports);
|
|
23
|
+
__exportStar(require("./paging"), exports);
|
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Paging — spill N images across balanced sheets.
|
|
3
|
+
*
|
|
4
|
+
* Pages split in INPUT ORDER with balanced sizes (N/P, first N mod P pages
|
|
5
|
+
* one heavier). Two lattice modes (founder decision, 2026-07-11):
|
|
6
|
+
*
|
|
7
|
+
* - `"uniform"` (default): ONE lattice fitted to the global aspect mix is
|
|
8
|
+
* shared by every page — the sheets read as a designed set. Per-page span
|
|
9
|
+
* assignment still varies, and the exact-cover upgrade budget automatically
|
|
10
|
+
* gives lighter pages bigger heroes. The lattice is chosen by solving the
|
|
11
|
+
* heaviest page against the mix-fitted candidates, then cross-scoring the
|
|
12
|
+
* top few across ALL pages.
|
|
13
|
+
* - `"independent"`: every page runs its own full search — best per-page crop
|
|
14
|
+
* numbers, less sibling consistency.
|
|
15
|
+
*
|
|
16
|
+
* Paging triggers when `maxImagesPerSheet` says so, or geometrically when N
|
|
17
|
+
* exceeds the sheet's capacity (`maxLatticeUnits` — each image needs ≥1 unit).
|
|
18
|
+
*/
|
|
19
|
+
import { type SolveCollageOptions } from "./solve";
|
|
20
|
+
import type { SolveResult } from "./types";
|
|
21
|
+
export type PageLatticeMode = "uniform" | "independent";
|
|
22
|
+
export type SolvePagesOptions = Omit<SolveCollageOptions, "keep"> & {
|
|
23
|
+
maxImagesPerSheet?: number;
|
|
24
|
+
pageLattice?: PageLatticeMode;
|
|
25
|
+
};
|
|
26
|
+
export type PageSolve = {
|
|
27
|
+
/** Global input indexes on this page, in input order. */
|
|
28
|
+
imageIndexes: number[];
|
|
29
|
+
/** The page's solve — image indexes inside are PAGE-LOCAL (0..n−1). */
|
|
30
|
+
solve: SolveResult;
|
|
31
|
+
};
|
|
32
|
+
/** Balanced page split: input order, sizes differ by at most 1. */
|
|
33
|
+
export declare function planPages(count: number, perSheet: number): number[][];
|
|
34
|
+
/**
|
|
35
|
+
* Solve the full input as one or more pages. Deterministic. Throws only when
|
|
36
|
+
* not even one image fits the canvas (capacity 0) or a page search finds no
|
|
37
|
+
* lattice — both are caller-facing configuration errors.
|
|
38
|
+
*/
|
|
39
|
+
export declare function solvePages(opts: SolvePagesOptions): PageSolve[];
|
|
@@ -0,0 +1,139 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
/**
|
|
3
|
+
* Paging — spill N images across balanced sheets.
|
|
4
|
+
*
|
|
5
|
+
* Pages split in INPUT ORDER with balanced sizes (N/P, first N mod P pages
|
|
6
|
+
* one heavier). Two lattice modes (founder decision, 2026-07-11):
|
|
7
|
+
*
|
|
8
|
+
* - `"uniform"` (default): ONE lattice fitted to the global aspect mix is
|
|
9
|
+
* shared by every page — the sheets read as a designed set. Per-page span
|
|
10
|
+
* assignment still varies, and the exact-cover upgrade budget automatically
|
|
11
|
+
* gives lighter pages bigger heroes. The lattice is chosen by solving the
|
|
12
|
+
* heaviest page against the mix-fitted candidates, then cross-scoring the
|
|
13
|
+
* top few across ALL pages.
|
|
14
|
+
* - `"independent"`: every page runs its own full search — best per-page crop
|
|
15
|
+
* numbers, less sibling consistency.
|
|
16
|
+
*
|
|
17
|
+
* Paging triggers when `maxImagesPerSheet` says so, or geometrically when N
|
|
18
|
+
* exceeds the sheet's capacity (`maxLatticeUnits` — each image needs ≥1 unit).
|
|
19
|
+
*/
|
|
20
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
21
|
+
exports.planPages = planPages;
|
|
22
|
+
exports.solvePages = solvePages;
|
|
23
|
+
const template_utils_1 = require("@m0saic/template-utils");
|
|
24
|
+
const candidates_1 = require("./candidates");
|
|
25
|
+
const solve_1 = require("./solve");
|
|
26
|
+
const pageSeed = (seed, page) => Math.floor((0, template_utils_1.splitmix32)((seed ^ (page * 0x9e3779b1)) >>> 0)() * 4294967296);
|
|
27
|
+
/** Balanced page split: input order, sizes differ by at most 1. */
|
|
28
|
+
function planPages(count, perSheet) {
|
|
29
|
+
const pages = Math.max(1, Math.ceil(count / perSheet));
|
|
30
|
+
const base = Math.floor(count / pages);
|
|
31
|
+
const heavy = count % pages;
|
|
32
|
+
const out = [];
|
|
33
|
+
let at = 0;
|
|
34
|
+
for (let p = 0; p < pages; p++) {
|
|
35
|
+
const size = base + (p < heavy ? 1 : 0);
|
|
36
|
+
out.push(Array.from({ length: size }, (_, i) => at + i));
|
|
37
|
+
at += size;
|
|
38
|
+
}
|
|
39
|
+
return out;
|
|
40
|
+
}
|
|
41
|
+
/**
|
|
42
|
+
* Solve the full input as one or more pages. Deterministic. Throws only when
|
|
43
|
+
* not even one image fits the canvas (capacity 0) or a page search finds no
|
|
44
|
+
* lattice — both are caller-facing configuration errors.
|
|
45
|
+
*/
|
|
46
|
+
function solvePages(opts) {
|
|
47
|
+
var _a, _b, _c, _d;
|
|
48
|
+
const { aspects } = opts;
|
|
49
|
+
const count = aspects.length;
|
|
50
|
+
const seed = (_a = opts.seed) !== null && _a !== void 0 ? _a : 1;
|
|
51
|
+
if (count === 0)
|
|
52
|
+
throw new Error("solvePages: no images");
|
|
53
|
+
const capacity = (0, candidates_1.maxLatticeUnits)(opts);
|
|
54
|
+
if (capacity === 0)
|
|
55
|
+
throw new Error(`solvePages: no lattice fits ${opts.canvasW}×${opts.canvasH} within cell bounds ` +
|
|
56
|
+
`[${opts.minCellPx}, ${opts.maxCellPx}]px`);
|
|
57
|
+
const perSheet = Math.max(1, Math.min((_b = opts.maxImagesPerSheet) !== null && _b !== void 0 ? _b : Infinity, capacity));
|
|
58
|
+
const pages = planPages(count, perSheet);
|
|
59
|
+
if (pages.length === 1) {
|
|
60
|
+
const [solve] = (0, solve_1.solveCollage)({ ...opts, seed });
|
|
61
|
+
return [{ imageIndexes: pages[0], solve }];
|
|
62
|
+
}
|
|
63
|
+
const mode = (_c = opts.pageLattice) !== null && _c !== void 0 ? _c : "uniform";
|
|
64
|
+
const pageAspects = pages.map((idxs) => idxs.map((i) => aspects[i]));
|
|
65
|
+
if (mode === "independent") {
|
|
66
|
+
return pages.map((imageIndexes, p) => {
|
|
67
|
+
const [solve] = (0, solve_1.solveCollage)({ ...opts, aspects: pageAspects[p], seed: pageSeed(seed, p) });
|
|
68
|
+
return { imageIndexes, solve };
|
|
69
|
+
});
|
|
70
|
+
}
|
|
71
|
+
// ── uniform: one mix-fitted lattice shared across the set ──
|
|
72
|
+
const heaviest = pages[0].length;
|
|
73
|
+
const cropBudget = (_d = opts.cropBudget) !== null && _d !== void 0 ? _d : 0.3;
|
|
74
|
+
const candidates = (0, candidates_1.enumerateCandidates)({
|
|
75
|
+
canvasW: opts.canvasW,
|
|
76
|
+
canvasH: opts.canvasH,
|
|
77
|
+
count: heaviest,
|
|
78
|
+
gutterXPx: opts.gutterXPx,
|
|
79
|
+
gutterYPx: opts.gutterYPx,
|
|
80
|
+
marginPx: opts.marginPx,
|
|
81
|
+
minCellPx: opts.minCellPx,
|
|
82
|
+
// Pages hold `heaviest` images each — the taste bound yields accordingly.
|
|
83
|
+
maxCellPx: (0, candidates_1.relaxedMaxCellPx)(opts.maxCellPx, opts.canvasW, opts.canvasH, heaviest),
|
|
84
|
+
aspects, // the FULL mix — the shared lattice must suit everyone
|
|
85
|
+
maxCandidates: opts.maxCandidates,
|
|
86
|
+
cropBudget,
|
|
87
|
+
});
|
|
88
|
+
if (candidates.length === 0)
|
|
89
|
+
throw new Error(`solvePages: no shared lattice fits ${heaviest} images per sheet on ${opts.canvasW}×${opts.canvasH}`);
|
|
90
|
+
// Rank lattices on the heaviest page, then cross-score the top few over
|
|
91
|
+
// every page (clean pages first, then summed score).
|
|
92
|
+
const page0 = candidates
|
|
93
|
+
.map((candidate) => {
|
|
94
|
+
try {
|
|
95
|
+
return { candidate, solve: (0, solve_1.solveCandidate)(candidate, pageAspects[0], cropBudget, pageSeed(seed, 0)) };
|
|
96
|
+
}
|
|
97
|
+
catch {
|
|
98
|
+
return undefined;
|
|
99
|
+
}
|
|
100
|
+
})
|
|
101
|
+
.filter((x) => !!x)
|
|
102
|
+
.sort((a, b) => (a.solve.metrics.fillerCount > 0 ? 1 : 0) - (b.solve.metrics.fillerCount > 0 ? 1 : 0) ||
|
|
103
|
+
a.solve.score - b.solve.score);
|
|
104
|
+
if (page0.length === 0)
|
|
105
|
+
throw new Error("solvePages: every shared-lattice candidate failed the heaviest page");
|
|
106
|
+
let best;
|
|
107
|
+
for (const { candidate, solve: first } of page0.slice(0, 3)) {
|
|
108
|
+
const solves = [first];
|
|
109
|
+
let total = first.score;
|
|
110
|
+
let dirty = first.metrics.fillerCount > 0 ? 1 : 0;
|
|
111
|
+
let failed = false;
|
|
112
|
+
for (let p = 1; p < pages.length; p++) {
|
|
113
|
+
try {
|
|
114
|
+
const s = (0, solve_1.solveCandidate)(candidate, pageAspects[p], cropBudget, pageSeed(seed, p));
|
|
115
|
+
solves.push(s);
|
|
116
|
+
total += s.score;
|
|
117
|
+
if (s.metrics.fillerCount > 0)
|
|
118
|
+
dirty++;
|
|
119
|
+
}
|
|
120
|
+
catch {
|
|
121
|
+
failed = true;
|
|
122
|
+
break;
|
|
123
|
+
}
|
|
124
|
+
}
|
|
125
|
+
if (failed)
|
|
126
|
+
continue;
|
|
127
|
+
if (!best || dirty < best.dirty || (dirty === best.dirty && total < best.total))
|
|
128
|
+
best = { total, dirty, solves };
|
|
129
|
+
}
|
|
130
|
+
if (!best) {
|
|
131
|
+
// No shared lattice covers every page (rare density corners) — fall back
|
|
132
|
+
// to independent pages rather than failing the render.
|
|
133
|
+
return pages.map((imageIndexes, p) => {
|
|
134
|
+
const [solve] = (0, solve_1.solveCollage)({ ...opts, aspects: pageAspects[p], seed: pageSeed(seed, p) });
|
|
135
|
+
return { imageIndexes, solve };
|
|
136
|
+
});
|
|
137
|
+
}
|
|
138
|
+
return pages.map((imageIndexes, p) => ({ imageIndexes, solve: best.solves[p] }));
|
|
139
|
+
}
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Solve metrics + the candidate score (lower = better).
|
|
3
|
+
*
|
|
4
|
+
* The score is the search's taste function: crop fidelity dominates, the
|
|
5
|
+
* soft-budget overage is punished hard (it exists but should be rare), fillers
|
|
6
|
+
* are punished harder (they should not exist), and small bonuses reward the
|
|
7
|
+
* seed collage's look (span variety + staggered row rhythm). Weights are
|
|
8
|
+
* module constants, not props — the Phase 7 sandbox loop is where they get
|
|
9
|
+
* tuned against the founder's eye.
|
|
10
|
+
*/
|
|
11
|
+
import type { LatticeCandidate, PlacedSpan, SolveMetrics, SpanAssignment } from "./types";
|
|
12
|
+
export declare const DEFAULT_SCORE_WEIGHTS: {
|
|
13
|
+
readonly meanCrop: 1;
|
|
14
|
+
readonly maxCrop: 0.25;
|
|
15
|
+
readonly overBudgetTotal: 3;
|
|
16
|
+
readonly overBudgetCount: 0.05;
|
|
17
|
+
readonly fillerUnit: 0.5;
|
|
18
|
+
readonly sizeDiversity: -0.06;
|
|
19
|
+
readonly stagger: -0.04;
|
|
20
|
+
readonly latticeRough: 0.03;
|
|
21
|
+
};
|
|
22
|
+
export declare function computeMetrics(candidate: LatticeCandidate, placed: PlacedSpan[], assignments: SpanAssignment[], cropBudget: number): SolveMetrics;
|
|
23
|
+
export declare function scoreCandidate(metrics: SolveMetrics, weights?: typeof DEFAULT_SCORE_WEIGHTS): number;
|
|
24
|
+
/** How many of a lattice's axes are off the 5-smooth lattice (counts ≤ 12 pass as content fill). */
|
|
25
|
+
export declare function roughAxes(cols: number, rows: number): number;
|