@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,443 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
/**
|
|
3
|
+
* ============================================================================
|
|
4
|
+
* dsl-tutorial — Step[] pipeline (CHARACTER-LEVEL parse model)
|
|
5
|
+
* ============================================================================
|
|
6
|
+
*
|
|
7
|
+
* The m0 DSL is parsed one CHARACTER at a time, and EVERY significant character
|
|
8
|
+
* is a real step that transforms the geometry cursor (X/Y/W/H) or emits a frame:
|
|
9
|
+
*
|
|
10
|
+
* digit `2` — read a split count (no geometry change yet)
|
|
11
|
+
* open `(` `[` — split the cursor into N children; cursor → first child
|
|
12
|
+
* (so W halves on a `(` 2-split, H divides on a `[` 3-split)
|
|
13
|
+
* comma `,` — advance to the next sibling; cursor X (col) or Y (row) moves
|
|
14
|
+
* leaf `1` `F` — EMIT a frame at the cursor (paints; no geometry change)
|
|
15
|
+
* close `)` `]` — pop the split; cursor RESTORES to the parent region
|
|
16
|
+
* pass `0` `>` — a passthrough slot (donates space; no paint)
|
|
17
|
+
* null `-` — a reserved-but-empty slot
|
|
18
|
+
* overlay`{` `}` — change the overlay LAYER depth (Z); cursor unchanged
|
|
19
|
+
*
|
|
20
|
+
* Step 0 (before the first character) is the unparsed canvas — the root's own
|
|
21
|
+
* full rect. The cursor RECTS are pulled from the real parse tree (exact, so
|
|
22
|
+
* weighted/passthrough layouts are honest), keyed by source span; the character
|
|
23
|
+
* walk only drives the ORDER + which op each character performs.
|
|
24
|
+
*
|
|
25
|
+
* `Z` is the OVERLAY nesting depth (inside `{}`), NOT a logical/stack index —
|
|
26
|
+
* for a flat layout it stays 0 the whole walk.
|
|
27
|
+
*
|
|
28
|
+
* Pure function of (m0, width, height): same inputs → byte-identical `Step[]`.
|
|
29
|
+
* ============================================================================
|
|
30
|
+
*/
|
|
31
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
32
|
+
exports.countTokens = countTokens;
|
|
33
|
+
exports.buildSteps = buildSteps;
|
|
34
|
+
const dsl_1 = require("@m0saic/dsl");
|
|
35
|
+
/** Count significant lexical tokens: each maximal digit-run is one token. */
|
|
36
|
+
function countTokens(m0) {
|
|
37
|
+
let n = 0;
|
|
38
|
+
for (let i = 0; i < m0.length;) {
|
|
39
|
+
const ch = m0[i];
|
|
40
|
+
if (ch >= "0" && ch <= "9") {
|
|
41
|
+
n++;
|
|
42
|
+
i++;
|
|
43
|
+
while (i < m0.length && m0[i] >= "0" && m0[i] <= "9")
|
|
44
|
+
i++;
|
|
45
|
+
continue;
|
|
46
|
+
}
|
|
47
|
+
if ("()[]{},-F>".includes(ch))
|
|
48
|
+
n++;
|
|
49
|
+
i++;
|
|
50
|
+
}
|
|
51
|
+
return n;
|
|
52
|
+
}
|
|
53
|
+
/** Significant-symbol index (1-based) at a source offset — for the parse banner. */
|
|
54
|
+
function symbolIndexAt(m0, offset) {
|
|
55
|
+
if (offset <= 0)
|
|
56
|
+
return 1;
|
|
57
|
+
return Math.max(1, countTokens(m0.slice(0, Math.min(offset, m0.length))));
|
|
58
|
+
}
|
|
59
|
+
const ZERO_RECT = { x: 0, y: 0, width: 0, height: 0 };
|
|
60
|
+
const isDigit = (c) => c >= "0" && c <= "9";
|
|
61
|
+
const rectOf = (f) => ({ x: f.x, y: f.y, width: f.width, height: f.height });
|
|
62
|
+
const spanStart = (f) => (f.meta.span ? f.meta.span.start : 0);
|
|
63
|
+
/** Interior divider fractions (0..1 of the region extent) between sorted children. */
|
|
64
|
+
function dividersOf(node, children) {
|
|
65
|
+
const axis = node.axis;
|
|
66
|
+
if (!axis)
|
|
67
|
+
return [];
|
|
68
|
+
const origin = axis === "col" ? node.x : node.y;
|
|
69
|
+
const extent = axis === "col" ? node.width : node.height;
|
|
70
|
+
if (!(extent > 0))
|
|
71
|
+
return [];
|
|
72
|
+
const out = [];
|
|
73
|
+
for (let c = 0; c < children.length - 1; c++) {
|
|
74
|
+
const edge = axis === "col" ? children[c].x + children[c].width : children[c].y + children[c].height;
|
|
75
|
+
const frac = (edge - origin) / extent;
|
|
76
|
+
if (frac > 0.001 && frac < 0.999)
|
|
77
|
+
out.push(frac);
|
|
78
|
+
}
|
|
79
|
+
return out;
|
|
80
|
+
}
|
|
81
|
+
/** Build the ordered, character-level Step[] for an m0 layout at a canvas size. */
|
|
82
|
+
function buildSteps(m0, width, height, _opts) {
|
|
83
|
+
var _a, _b, _c, _d, _e, _f, _g;
|
|
84
|
+
const s = String(m0);
|
|
85
|
+
const result = (0, dsl_1.parseM0StringComplete)(s, width, height, { trace: true });
|
|
86
|
+
if (!result.ok) {
|
|
87
|
+
throw new Error(`dsl-tutorial: m0 parse failed — ${(_b = (_a = result.error) === null || _a === void 0 ? void 0 : _a.message) !== null && _b !== void 0 ? _b : "unknown"}`);
|
|
88
|
+
}
|
|
89
|
+
const editor = result.ir.editorFrames;
|
|
90
|
+
const nodeCount = editor.length;
|
|
91
|
+
const tokenCount = countTokens(s);
|
|
92
|
+
// R / C are the hidden engine state, computed from geometry in the walk below:
|
|
93
|
+
// · R = the split's quantization remainder — leftover px when a region doesn't
|
|
94
|
+
// divide evenly across its children (the resolved tiles absorb it, so it's
|
|
95
|
+
// invisible in X/Y/W/H). Exact for uniform splits (the tutorial's main case).
|
|
96
|
+
// · C = the passthrough carry — px a `0`/`>` donates forward, claimed by the
|
|
97
|
+
// next tile.
|
|
98
|
+
const remainderOf = (node, count) => {
|
|
99
|
+
if (count <= 0 || !node.axis)
|
|
100
|
+
return 0;
|
|
101
|
+
const r = rectOf(node);
|
|
102
|
+
const ext = Math.round(node.axis === "col" ? r.width : r.height);
|
|
103
|
+
return ext % count;
|
|
104
|
+
};
|
|
105
|
+
// Index the parse tree by span start (split-node lookup) and parent (children).
|
|
106
|
+
const nodeBySpanStart = new Map();
|
|
107
|
+
const childrenByParent = new Map();
|
|
108
|
+
let root;
|
|
109
|
+
for (const f of editor) {
|
|
110
|
+
if (f.meta.span)
|
|
111
|
+
nodeBySpanStart.set(f.meta.span.start, f);
|
|
112
|
+
const p = f.meta.parentStableKey;
|
|
113
|
+
if (p) {
|
|
114
|
+
const list = (_c = childrenByParent.get(p)) !== null && _c !== void 0 ? _c : [];
|
|
115
|
+
list.push(f);
|
|
116
|
+
childrenByParent.set(p, list);
|
|
117
|
+
}
|
|
118
|
+
else if (!root) {
|
|
119
|
+
root = f;
|
|
120
|
+
}
|
|
121
|
+
}
|
|
122
|
+
// A child is an OVERLAY layer (not a split cell) when its own stableKey segment
|
|
123
|
+
// starts with `ov` (e.g. `r/ov1c0` for `…{F}`). Overlay children must NOT count
|
|
124
|
+
// toward split ARITY (`3(F,F,F){F}` is a 3-split, N=3 — the overlay is a Z layer,
|
|
125
|
+
// not a 4th column). They're still emitted as leaves via the post-`)` walk, so
|
|
126
|
+
// excluding them here only corrects the arity — never drops the overlay tile.
|
|
127
|
+
const isOverlayChild = (f) => {
|
|
128
|
+
var _a;
|
|
129
|
+
const k = (_a = f.meta.stableKey) !== null && _a !== void 0 ? _a : "";
|
|
130
|
+
return k.slice(k.lastIndexOf("/") + 1).startsWith("ov");
|
|
131
|
+
};
|
|
132
|
+
const sortedChildrenOf = (key) => {
|
|
133
|
+
var _a;
|
|
134
|
+
return ((_a = childrenByParent.get(key)) !== null && _a !== void 0 ? _a : [])
|
|
135
|
+
.filter((f) => !isOverlayChild(f))
|
|
136
|
+
.slice()
|
|
137
|
+
.sort((a, b) => spanStart(a) - spanStart(b));
|
|
138
|
+
};
|
|
139
|
+
// Classify each digit char: part of a split COUNT (followed by `(`/`[`) vs a
|
|
140
|
+
// leaf `1`. `countRunStart[i]` = where the count run begins (for split lookup).
|
|
141
|
+
const n = s.length;
|
|
142
|
+
const isCount = new Array(n).fill(false);
|
|
143
|
+
const countRunStart = new Array(n).fill(-1);
|
|
144
|
+
for (let i = 0; i < n;) {
|
|
145
|
+
if (isDigit(s[i])) {
|
|
146
|
+
let e = i;
|
|
147
|
+
while (e < n && isDigit(s[e]))
|
|
148
|
+
e++;
|
|
149
|
+
const next = e < n ? s[e] : "";
|
|
150
|
+
if (next === "(" || next === "[") {
|
|
151
|
+
for (let k = i; k < e; k++) {
|
|
152
|
+
isCount[k] = true;
|
|
153
|
+
countRunStart[k] = i;
|
|
154
|
+
}
|
|
155
|
+
}
|
|
156
|
+
i = e;
|
|
157
|
+
}
|
|
158
|
+
else
|
|
159
|
+
i++;
|
|
160
|
+
}
|
|
161
|
+
// ── Character walk ──
|
|
162
|
+
const rootRect = root ? rectOf(root) : ZERO_RECT;
|
|
163
|
+
const stack = [];
|
|
164
|
+
let cursor = rootRect;
|
|
165
|
+
let overlayDepth = 0;
|
|
166
|
+
let leafIdx = 0;
|
|
167
|
+
let prevRect = rootRect;
|
|
168
|
+
let prevZ = 0;
|
|
169
|
+
let prevN = 0;
|
|
170
|
+
let prevR = 0;
|
|
171
|
+
let prevC = 0;
|
|
172
|
+
// Arity / remainder of each split currently open (parallel to `stack`), so a
|
|
173
|
+
// count-read step shows that split's values and inner steps show the enclosing
|
|
174
|
+
// split's. `carryPx` is the running passthrough carry (donated px in flight).
|
|
175
|
+
// Each open split tracks its RUNNING remainder (`rem`, decremented as children
|
|
176
|
+
// claim leftover px), the floor extent (`floor`), and its axis — so R counts
|
|
177
|
+
// DOWN tile-by-tile instead of snapping to 0 at the split close.
|
|
178
|
+
const countStack = [];
|
|
179
|
+
const remainderStack = [];
|
|
180
|
+
let carryPx = 0;
|
|
181
|
+
/** Floor extent of a k-way split of `node` along its axis (px each child gets
|
|
182
|
+
* before the remainder is sprinkled on). */
|
|
183
|
+
const floorOf = (node, count) => {
|
|
184
|
+
if (count <= 0 || !node.axis)
|
|
185
|
+
return 0;
|
|
186
|
+
const r = rectOf(node);
|
|
187
|
+
const ext = Math.round(node.axis === "col" ? r.width : r.height);
|
|
188
|
+
return Math.floor(ext / count);
|
|
189
|
+
};
|
|
190
|
+
/** The child currently under `cursor` claims its share of the enclosing split's
|
|
191
|
+
* remainder: extra = cursorExtent − floor − (carry it absorbs). Decrements the
|
|
192
|
+
* open split's running `rem` and returns the px claimed (0 if it sits on the
|
|
193
|
+
* floor). Geometry-driven, so it's correct whichever children the engine fattened
|
|
194
|
+
* — and the `carryAbsorbed` term keeps a passthrough donation from masquerading
|
|
195
|
+
* as remainder. */
|
|
196
|
+
const claimRemainder = (carryAbsorbed) => {
|
|
197
|
+
const top = remainderStack[remainderStack.length - 1];
|
|
198
|
+
if (!top || top.rem <= 0)
|
|
199
|
+
return 0;
|
|
200
|
+
const childExt = Math.round(top.axis === "col" ? cursor.width : cursor.height);
|
|
201
|
+
const extra = childExt - top.floor - carryAbsorbed;
|
|
202
|
+
if (extra <= 0)
|
|
203
|
+
return 0;
|
|
204
|
+
const take = Math.min(extra, top.rem);
|
|
205
|
+
top.rem -= take;
|
|
206
|
+
return take;
|
|
207
|
+
};
|
|
208
|
+
const acc = {};
|
|
209
|
+
let prevAccSnapshot = {};
|
|
210
|
+
const diff = (before, after) => ({ before, after });
|
|
211
|
+
const steps = [];
|
|
212
|
+
for (let i = 0; i < n; i++) {
|
|
213
|
+
const ch = s[i];
|
|
214
|
+
if (ch === " " || ch === "\t" || ch === "\n" || ch === "\r")
|
|
215
|
+
continue;
|
|
216
|
+
let eventType = "count";
|
|
217
|
+
let kind = "frame";
|
|
218
|
+
let stableKey = "";
|
|
219
|
+
let leafIndex;
|
|
220
|
+
let split;
|
|
221
|
+
let splitRegion;
|
|
222
|
+
let narration = "";
|
|
223
|
+
let readCount = null;
|
|
224
|
+
let readRemainder = null;
|
|
225
|
+
let readAxis;
|
|
226
|
+
let remainderClaim = 0;
|
|
227
|
+
let carryAbsorbed = 0;
|
|
228
|
+
if (isDigit(ch) && isCount[i]) {
|
|
229
|
+
eventType = "count";
|
|
230
|
+
const node = nodeBySpanStart.get(countRunStart[i]);
|
|
231
|
+
kind = (_d = node === null || node === void 0 ? void 0 : node.kind) !== null && _d !== void 0 ? _d : "group";
|
|
232
|
+
stableKey = (_e = node === null || node === void 0 ? void 0 : node.meta.stableKey) !== null && _e !== void 0 ? _e : "";
|
|
233
|
+
if (node === null || node === void 0 ? void 0 : node.axis) {
|
|
234
|
+
const kids = sortedChildrenOf(node.meta.stableKey).length;
|
|
235
|
+
readCount = kids;
|
|
236
|
+
readRemainder = remainderOf(node, kids);
|
|
237
|
+
readAxis = node.axis;
|
|
238
|
+
if (node.axis === "col")
|
|
239
|
+
acc["grid.cols"] = kids;
|
|
240
|
+
else
|
|
241
|
+
acc["grid.rows"] = kids;
|
|
242
|
+
narration = `Read split count — ${kids} ${node.axis === "col" ? "columns" : "rows"}.`;
|
|
243
|
+
}
|
|
244
|
+
else {
|
|
245
|
+
narration = "Read split count.";
|
|
246
|
+
}
|
|
247
|
+
}
|
|
248
|
+
else if (ch === "(" || ch === "[") {
|
|
249
|
+
eventType = "enter";
|
|
250
|
+
const cs = i > 0 && isCount[i - 1] ? countRunStart[i - 1] : i;
|
|
251
|
+
const node = nodeBySpanStart.get(cs);
|
|
252
|
+
const axis = (_f = node === null || node === void 0 ? void 0 : node.axis) !== null && _f !== void 0 ? _f : (ch === "(" ? "col" : "row");
|
|
253
|
+
if (node) {
|
|
254
|
+
const children = sortedChildrenOf(node.meta.stableKey);
|
|
255
|
+
stack.push({ node, children, idx: 0 });
|
|
256
|
+
countStack.push(children.length);
|
|
257
|
+
remainderStack.push({
|
|
258
|
+
rem: remainderOf(node, children.length),
|
|
259
|
+
floor: floorOf(node, children.length),
|
|
260
|
+
axis,
|
|
261
|
+
});
|
|
262
|
+
if (children[0])
|
|
263
|
+
cursor = rectOf(children[0]);
|
|
264
|
+
splitRegion = rectOf(node);
|
|
265
|
+
split = { axis, dividers: dividersOf(node, children) };
|
|
266
|
+
kind = node.kind;
|
|
267
|
+
stableKey = node.meta.stableKey;
|
|
268
|
+
narration = `Split into ${children.length} ${axis === "col" ? "columns" : "rows"}.`;
|
|
269
|
+
}
|
|
270
|
+
}
|
|
271
|
+
else if (ch === ")" || ch === "]") {
|
|
272
|
+
eventType = "exit";
|
|
273
|
+
const top = stack.pop();
|
|
274
|
+
countStack.pop();
|
|
275
|
+
const closed = remainderStack.pop();
|
|
276
|
+
if (top) {
|
|
277
|
+
cursor = rectOf(top.node);
|
|
278
|
+
kind = top.node.kind;
|
|
279
|
+
stableKey = top.node.meta.stableKey;
|
|
280
|
+
}
|
|
281
|
+
// Safety net: any remainder px not itemized to a leaf (e.g. absorbed by a
|
|
282
|
+
// nested split-child) is accounted for here so R never lingers past close.
|
|
283
|
+
const leftover = (_g = closed === null || closed === void 0 ? void 0 : closed.rem) !== null && _g !== void 0 ? _g : 0;
|
|
284
|
+
narration =
|
|
285
|
+
leftover > 0
|
|
286
|
+
? `Close split — ${leftover} remainder px absorbed by nested regions, restore the parent.`
|
|
287
|
+
: "Close split — restore the parent region.";
|
|
288
|
+
}
|
|
289
|
+
else if (ch === ",") {
|
|
290
|
+
eventType = "sibling";
|
|
291
|
+
const top = stack[stack.length - 1];
|
|
292
|
+
if (top) {
|
|
293
|
+
top.idx++;
|
|
294
|
+
const c = top.children[top.idx];
|
|
295
|
+
if (c) {
|
|
296
|
+
cursor = rectOf(c);
|
|
297
|
+
kind = c.kind;
|
|
298
|
+
stableKey = c.meta.stableKey;
|
|
299
|
+
}
|
|
300
|
+
}
|
|
301
|
+
narration = "Advance to the next sibling.";
|
|
302
|
+
}
|
|
303
|
+
else if (ch === "F" || (ch === "1" && !isCount[i])) {
|
|
304
|
+
eventType = "emitLeaf";
|
|
305
|
+
const top = stack[stack.length - 1];
|
|
306
|
+
const c = top ? top.children[top.idx] : undefined;
|
|
307
|
+
if (c) {
|
|
308
|
+
cursor = rectOf(c);
|
|
309
|
+
stableKey = c.meta.stableKey;
|
|
310
|
+
}
|
|
311
|
+
leafIndex = leafIdx++;
|
|
312
|
+
kind = "frame";
|
|
313
|
+
acc["tile.index"] = leafIndex;
|
|
314
|
+
acc["tile.w"] = cursor.width;
|
|
315
|
+
acc["tile.h"] = cursor.height;
|
|
316
|
+
// This tile claims any donated passthrough space in flight (C → 0) and its
|
|
317
|
+
// share of the split's quantization remainder (R counts down). Order matters:
|
|
318
|
+
// the carry it absorbs is netted out so a donation isn't miscounted as a
|
|
319
|
+
// remainder px.
|
|
320
|
+
carryAbsorbed = carryPx;
|
|
321
|
+
remainderClaim = claimRemainder(carryAbsorbed);
|
|
322
|
+
carryPx = 0;
|
|
323
|
+
narration =
|
|
324
|
+
`Emit tile ${leafIndex + 1} — ${cursor.width}×${cursor.height} at (${cursor.x}, ${cursor.y}).` +
|
|
325
|
+
(carryAbsorbed > 0 ? ` Absorbs ${carryAbsorbed}px donated by a passthrough.` : "") +
|
|
326
|
+
(remainderClaim > 0
|
|
327
|
+
? ` Claims ${remainderClaim} leftover remainder px (one of the fat tiles).`
|
|
328
|
+
: "");
|
|
329
|
+
}
|
|
330
|
+
else if (ch === "0" || ch === ">") {
|
|
331
|
+
eventType = "passthrough";
|
|
332
|
+
const top = stack[stack.length - 1];
|
|
333
|
+
const c = top ? top.children[top.idx] : undefined;
|
|
334
|
+
if (c) {
|
|
335
|
+
cursor = rectOf(c);
|
|
336
|
+
stableKey = c.meta.stableKey;
|
|
337
|
+
}
|
|
338
|
+
kind = "passthrough";
|
|
339
|
+
// The parse tree's rect for a passthrough is CUMULATIVE: in a run of `>`s each
|
|
340
|
+
// one already holds every donation in flight before it, so its extent IS the
|
|
341
|
+
// carry — not an increment. (Adding it re-counted the run: the brand M's
|
|
342
|
+
// 136-column rows reported a 146,300px carry on a 1,920px canvas, and tiles
|
|
343
|
+
// "absorbing" 80,311px — 2026-09-05.) The carry already in flight is netted
|
|
344
|
+
// out of the remainder claim for the same reason: only THIS slot's own fat
|
|
345
|
+
// (remainder) px count, else they'd be claimed again by the receiving tile.
|
|
346
|
+
const carryBefore = carryPx;
|
|
347
|
+
remainderClaim = claimRemainder(carryBefore);
|
|
348
|
+
const cumulative = top ? (top.node.axis === "col" ? cursor.width : cursor.height) : 0;
|
|
349
|
+
const donated = Math.max(0, cumulative - carryBefore);
|
|
350
|
+
carryPx = Math.max(carryBefore, cumulative);
|
|
351
|
+
narration = `Passthrough — donate ${donated}px forward (carry now ${carryPx}px), claimed by the next tile.`;
|
|
352
|
+
}
|
|
353
|
+
else if (ch === "-") {
|
|
354
|
+
eventType = "null";
|
|
355
|
+
const top = stack[stack.length - 1];
|
|
356
|
+
const c = top ? top.children[top.idx] : undefined;
|
|
357
|
+
if (c) {
|
|
358
|
+
cursor = rectOf(c);
|
|
359
|
+
stableKey = c.meta.stableKey;
|
|
360
|
+
}
|
|
361
|
+
kind = "null";
|
|
362
|
+
remainderClaim = claimRemainder(0);
|
|
363
|
+
narration =
|
|
364
|
+
"Null slot — reserve space, paint nothing." +
|
|
365
|
+
(remainderClaim > 0 ? ` (holds ${remainderClaim} remainder px)` : "");
|
|
366
|
+
}
|
|
367
|
+
else if (ch === "{") {
|
|
368
|
+
eventType = "overlay";
|
|
369
|
+
overlayDepth++;
|
|
370
|
+
kind = "group";
|
|
371
|
+
narration = `Open overlay layer ${overlayDepth}.`;
|
|
372
|
+
}
|
|
373
|
+
else if (ch === "}") {
|
|
374
|
+
eventType = "overlay";
|
|
375
|
+
overlayDepth = Math.max(0, overlayDepth - 1);
|
|
376
|
+
kind = "group";
|
|
377
|
+
narration = "Close overlay layer.";
|
|
378
|
+
}
|
|
379
|
+
else {
|
|
380
|
+
continue; // unknown punctuation — not a step
|
|
381
|
+
}
|
|
382
|
+
const z = overlayDepth;
|
|
383
|
+
// N = arity of the split in focus. A count-read step shows the count it just
|
|
384
|
+
// read (before the split is pushed); inner steps show the enclosing split's
|
|
385
|
+
// size; root (no split open) is 0.
|
|
386
|
+
const currentN = readCount != null ? readCount : countStack.length ? countStack[countStack.length - 1] : 0;
|
|
387
|
+
// Axis the arity refers to: the count just read, else the enclosing split's.
|
|
388
|
+
const axisInFocus = readAxis !== null && readAxis !== void 0 ? readAxis : (stack.length ? stack[stack.length - 1].node.axis : undefined);
|
|
389
|
+
// R mirrors N: a count-read shows that split's remainder; inner steps show the
|
|
390
|
+
// enclosing split's; root shows 0. C is the running passthrough carry balance.
|
|
391
|
+
const currentR = readRemainder != null
|
|
392
|
+
? readRemainder
|
|
393
|
+
: remainderStack.length
|
|
394
|
+
? remainderStack[remainderStack.length - 1].rem
|
|
395
|
+
: 0;
|
|
396
|
+
const currentC = carryPx;
|
|
397
|
+
const fields = {
|
|
398
|
+
X: diff(prevRect.x, cursor.x),
|
|
399
|
+
Y: diff(prevRect.y, cursor.y),
|
|
400
|
+
W: diff(prevRect.width, cursor.width),
|
|
401
|
+
H: diff(prevRect.height, cursor.height),
|
|
402
|
+
Z: diff(prevZ, z),
|
|
403
|
+
N: diff(prevN, currentN),
|
|
404
|
+
R: diff(prevR, currentR),
|
|
405
|
+
C: diff(prevC, currentC),
|
|
406
|
+
};
|
|
407
|
+
const accumulator = {};
|
|
408
|
+
for (const k of Object.keys(acc)) {
|
|
409
|
+
const before = k in prevAccSnapshot ? prevAccSnapshot[k] : null;
|
|
410
|
+
accumulator[k] = diff(before, acc[k]);
|
|
411
|
+
}
|
|
412
|
+
steps.push({
|
|
413
|
+
index: steps.length + 1,
|
|
414
|
+
total: 0, // filled after the walk
|
|
415
|
+
eventType,
|
|
416
|
+
charIndex: i,
|
|
417
|
+
kind,
|
|
418
|
+
stableKey,
|
|
419
|
+
leafIndex,
|
|
420
|
+
span: { start: i, end: i + 1 },
|
|
421
|
+
rect: { x: cursor.x, y: cursor.y, width: cursor.width, height: cursor.height },
|
|
422
|
+
fields,
|
|
423
|
+
accumulator,
|
|
424
|
+
narration,
|
|
425
|
+
tokenIndex: symbolIndexAt(s, i),
|
|
426
|
+
split,
|
|
427
|
+
splitRegion,
|
|
428
|
+
remainderClaim: remainderClaim > 0 ? remainderClaim : undefined,
|
|
429
|
+
carryAbsorbed: carryAbsorbed > 0 ? carryAbsorbed : undefined,
|
|
430
|
+
axisInFocus,
|
|
431
|
+
});
|
|
432
|
+
prevRect = cursor;
|
|
433
|
+
prevZ = z;
|
|
434
|
+
prevN = currentN;
|
|
435
|
+
prevR = currentR;
|
|
436
|
+
prevC = currentC;
|
|
437
|
+
prevAccSnapshot = { ...acc };
|
|
438
|
+
}
|
|
439
|
+
const total = steps.length;
|
|
440
|
+
for (const st of steps)
|
|
441
|
+
st.total = total;
|
|
442
|
+
return { m0: s, steps, tokenCount, nodeCount };
|
|
443
|
+
}
|
|
@@ -0,0 +1,64 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* ============================================================================
|
|
3
|
+
* dsl-tutorial — canvas camera (follow the active tile)
|
|
4
|
+
* ============================================================================
|
|
5
|
+
*
|
|
6
|
+
* Turns the deterministic Step[] timeline into an `effects.camera` for the
|
|
7
|
+
* canvas panel: a fixed zoom plus an eased `focusX`/`focusY` that pans to
|
|
8
|
+
* center each tile as the geometry walk reaches it.
|
|
9
|
+
*
|
|
10
|
+
* The camera is ONE scale+crop on the finished canvas video (applied by the
|
|
11
|
+
* engine via {@link MosaicCamera}), so it is depth-independent — it follows the
|
|
12
|
+
* active tile identically whether the layout has 4 tiles or 400, which is the
|
|
13
|
+
* whole point of "panning the canvas" for large layouts.
|
|
14
|
+
*
|
|
15
|
+
* All motion is a single ffmpeg expression over global `t` (smoothstep between
|
|
16
|
+
* per-tile keyframes), so it stays frame-synced with the reveal + highlight.
|
|
17
|
+
* ============================================================================
|
|
18
|
+
*/
|
|
19
|
+
import type { Step } from "./buildSteps";
|
|
20
|
+
import type { Timing } from "./timing";
|
|
21
|
+
export type CameraSpec = {
|
|
22
|
+
zoom: number | string;
|
|
23
|
+
focusX: string;
|
|
24
|
+
focusY: string;
|
|
25
|
+
};
|
|
26
|
+
/**
|
|
27
|
+
* Pick the canvas zoom from LEGIBILITY, per the rule: if every tile already
|
|
28
|
+
* renders its number + dims well at fit-to-panel, don't zoom (return 1).
|
|
29
|
+
* Otherwise zoom just enough that the SMALLEST tile reaches a legible on-screen
|
|
30
|
+
* size — the minimum zoom, which keeps the most tiles visible while the walk
|
|
31
|
+
* pans across them.
|
|
32
|
+
*
|
|
33
|
+
* @param cellW/cellH the canvas panel's pixel size (tiles are laid out within it).
|
|
34
|
+
*/
|
|
35
|
+
export declare function autoCanvasZoom(steps: Step[], parseW: number, parseH: number, cellW: number, cellH: number): number;
|
|
36
|
+
/**
|
|
37
|
+
* Smoothstep piecewise interpolation through (t, v) keyframes → ffmpeg expr.
|
|
38
|
+
* Holds the first value before the first keyframe and the last value after the
|
|
39
|
+
* last, easing (ease-in-out) between adjacent keyframes.
|
|
40
|
+
*
|
|
41
|
+
* Emitted as a FLAT SUM of disjoint window-gated segments — NOT a nested
|
|
42
|
+
* if-else chain. ffmpeg's expression parser has a ~100 recursion budget and a
|
|
43
|
+
* nested chain consumes one level per keyframe, so a dense walk (10×10 = 100
|
|
44
|
+
* leaves) makes `crop` fail at config ("Missing ')' or too many args" →
|
|
45
|
+
* Invalid argument). The gates partition the timeline (`lt` head, half-open
|
|
46
|
+
* `gte·lt` segments, `gte` tail), so exactly one term is nonzero at any `t`.
|
|
47
|
+
* The engine rebalances the long `+` chain into a tree (applyCamera →
|
|
48
|
+
* rebalanceAdditiveChains), keeping parse depth O(log n).
|
|
49
|
+
*/
|
|
50
|
+
export declare function focusExpr(keys: {
|
|
51
|
+
t: number;
|
|
52
|
+
v: number;
|
|
53
|
+
}[]): string;
|
|
54
|
+
/**
|
|
55
|
+
* Build a follow-the-active-tile camera from the leaf steps, or `undefined` when
|
|
56
|
+
* `zoom ≤ 1` (no zoom → the canvas stays fit-to-panel, the M1a behavior).
|
|
57
|
+
*
|
|
58
|
+
* Keyframes are placed at each leaf's active-window CENTER so the camera is
|
|
59
|
+
* settled on the tile while its highlight is brightest, easing between.
|
|
60
|
+
*
|
|
61
|
+
* @param parseW/parseH the dimensions the Step rects were parsed at (camera
|
|
62
|
+
* focus is a fraction, so only the ratio matters — must match `buildSteps`).
|
|
63
|
+
*/
|
|
64
|
+
export declare function buildCanvasCamera(steps: Step[], timing: Timing, parseW: number, parseH: number, zoom: number): CameraSpec | undefined;
|
|
@@ -0,0 +1,177 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
/**
|
|
3
|
+
* ============================================================================
|
|
4
|
+
* dsl-tutorial — canvas camera (follow the active tile)
|
|
5
|
+
* ============================================================================
|
|
6
|
+
*
|
|
7
|
+
* Turns the deterministic Step[] timeline into an `effects.camera` for the
|
|
8
|
+
* canvas panel: a fixed zoom plus an eased `focusX`/`focusY` that pans to
|
|
9
|
+
* center each tile as the geometry walk reaches it.
|
|
10
|
+
*
|
|
11
|
+
* The camera is ONE scale+crop on the finished canvas video (applied by the
|
|
12
|
+
* engine via {@link MosaicCamera}), so it is depth-independent — it follows the
|
|
13
|
+
* active tile identically whether the layout has 4 tiles or 400, which is the
|
|
14
|
+
* whole point of "panning the canvas" for large layouts.
|
|
15
|
+
*
|
|
16
|
+
* All motion is a single ffmpeg expression over global `t` (smoothstep between
|
|
17
|
+
* per-tile keyframes), so it stays frame-synced with the reveal + highlight.
|
|
18
|
+
* ============================================================================
|
|
19
|
+
*/
|
|
20
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
21
|
+
exports.autoCanvasZoom = autoCanvasZoom;
|
|
22
|
+
exports.focusExpr = focusExpr;
|
|
23
|
+
exports.buildCanvasCamera = buildCanvasCamera;
|
|
24
|
+
/** Min on-screen tile dimension (px) for its number + dims to paint legibly. */
|
|
25
|
+
const LEGIBLE_TILE_PX = 104;
|
|
26
|
+
/** Don't bother zooming for a sliver of legibility gain. */
|
|
27
|
+
const MIN_WORTH_ZOOM = 1.05;
|
|
28
|
+
/** Cap auto-zoom so even a pathologically dense layout keeps some context. */
|
|
29
|
+
const MAX_AUTO_ZOOM = 4;
|
|
30
|
+
/**
|
|
31
|
+
* Pick the canvas zoom from LEGIBILITY, per the rule: if every tile already
|
|
32
|
+
* renders its number + dims well at fit-to-panel, don't zoom (return 1).
|
|
33
|
+
* Otherwise zoom just enough that the SMALLEST tile reaches a legible on-screen
|
|
34
|
+
* size — the minimum zoom, which keeps the most tiles visible while the walk
|
|
35
|
+
* pans across them.
|
|
36
|
+
*
|
|
37
|
+
* @param cellW/cellH the canvas panel's pixel size (tiles are laid out within it).
|
|
38
|
+
*/
|
|
39
|
+
function autoCanvasZoom(steps, parseW, parseH, cellW, cellH) {
|
|
40
|
+
if (parseW <= 0 || parseH <= 0 || cellW <= 0 || cellH <= 0)
|
|
41
|
+
return 1;
|
|
42
|
+
const leaves = steps.filter((s) => s.eventType === "emitLeaf");
|
|
43
|
+
if (leaves.length === 0)
|
|
44
|
+
return 1;
|
|
45
|
+
let minTilePx = Infinity;
|
|
46
|
+
let maxTileW = 0;
|
|
47
|
+
let maxTileH = 0;
|
|
48
|
+
for (const s of leaves) {
|
|
49
|
+
const pxW = (s.rect.width / parseW) * cellW;
|
|
50
|
+
const pxH = (s.rect.height / parseH) * cellH;
|
|
51
|
+
minTilePx = Math.min(minTilePx, pxW, pxH);
|
|
52
|
+
maxTileW = Math.max(maxTileW, s.rect.width);
|
|
53
|
+
maxTileH = Math.max(maxTileH, s.rect.height);
|
|
54
|
+
}
|
|
55
|
+
if (!(minTilePx > 0))
|
|
56
|
+
return 1;
|
|
57
|
+
// Never zoom past what FITS the biggest tile. At zoom z the viewport shows
|
|
58
|
+
// parseW/z × parseH/z of the canvas, so a tile wider/taller than that is
|
|
59
|
+
// clipped — and the walk to its side (e.g. passthroughs feeding a full-width
|
|
60
|
+
// hero) falls off-screen. Capping the legibility zoom to `fitZoom` keeps every
|
|
61
|
+
// tile fully on-screen; a full-bleed tile (maxTile == canvas) pins zoom to 1.
|
|
62
|
+
const fitZoom = Math.min(maxTileW > 0 ? parseW / maxTileW : Infinity, maxTileH > 0 ? parseH / maxTileH : Infinity);
|
|
63
|
+
const z = Math.min(LEGIBLE_TILE_PX / minTilePx, fitZoom);
|
|
64
|
+
if (z < MIN_WORTH_ZOOM)
|
|
65
|
+
return 1; // tiles already fit legibly (or a full-bleed tile) → no zoom
|
|
66
|
+
return Math.min(MAX_AUTO_ZOOM, z);
|
|
67
|
+
}
|
|
68
|
+
/**
|
|
69
|
+
* The `focus` value (0..1) that CENTERS a tile-center fraction `f` (0..1) in a
|
|
70
|
+
* `zoom`× crop window, clamped so the window never leaves the canvas.
|
|
71
|
+
*
|
|
72
|
+
* The camera crop window's center sits at fraction
|
|
73
|
+
* ((zoom-1)/zoom)·focus + 1/(2·zoom)
|
|
74
|
+
* of the source; solving "= f" for focus gives the expression below. A tile at
|
|
75
|
+
* the very edge can't be perfectly centered without showing past the canvas, so
|
|
76
|
+
* the result is clamped to [0,1] (the camera bumps against the edge instead).
|
|
77
|
+
*/
|
|
78
|
+
function centerFocus(f, zoom) {
|
|
79
|
+
const v = (f * zoom - 0.5) / (zoom - 1);
|
|
80
|
+
return Math.max(0, Math.min(1, v));
|
|
81
|
+
}
|
|
82
|
+
/**
|
|
83
|
+
* Smoothstep piecewise interpolation through (t, v) keyframes → ffmpeg expr.
|
|
84
|
+
* Holds the first value before the first keyframe and the last value after the
|
|
85
|
+
* last, easing (ease-in-out) between adjacent keyframes.
|
|
86
|
+
*
|
|
87
|
+
* Emitted as a FLAT SUM of disjoint window-gated segments — NOT a nested
|
|
88
|
+
* if-else chain. ffmpeg's expression parser has a ~100 recursion budget and a
|
|
89
|
+
* nested chain consumes one level per keyframe, so a dense walk (10×10 = 100
|
|
90
|
+
* leaves) makes `crop` fail at config ("Missing ')' or too many args" →
|
|
91
|
+
* Invalid argument). The gates partition the timeline (`lt` head, half-open
|
|
92
|
+
* `gte·lt` segments, `gte` tail), so exactly one term is nonzero at any `t`.
|
|
93
|
+
* The engine rebalances the long `+` chain into a tree (applyCamera →
|
|
94
|
+
* rebalanceAdditiveChains), keeping parse depth O(log n).
|
|
95
|
+
*/
|
|
96
|
+
function focusExpr(keys) {
|
|
97
|
+
const f = (n) => n.toFixed(5);
|
|
98
|
+
if (keys.length === 0)
|
|
99
|
+
return "0.5";
|
|
100
|
+
if (keys.length === 1)
|
|
101
|
+
return f(keys[0].v);
|
|
102
|
+
const terms = [];
|
|
103
|
+
terms.push(`lt(t,${f(keys[0].t)})*(${f(keys[0].v)})`); // hold first value
|
|
104
|
+
for (let i = 0; i < keys.length - 1; i++) {
|
|
105
|
+
const a = keys[i];
|
|
106
|
+
const b = keys[i + 1];
|
|
107
|
+
const dur = Math.max(1e-4, b.t - a.t);
|
|
108
|
+
const p = `min(1,max(0,(t-${f(a.t)})/${f(dur)}))`;
|
|
109
|
+
const sp = `(${p})*(${p})*(3-2*(${p}))`; // smoothstep
|
|
110
|
+
const lerp = `(${f(a.v)}+(${f(b.v)}-${f(a.v)})*${sp})`;
|
|
111
|
+
terms.push(`(gte(t,${f(a.t)})*lt(t,${f(b.t)}))*${lerp}`);
|
|
112
|
+
}
|
|
113
|
+
terms.push(`gte(t,${f(keys[keys.length - 1].t)})*(${f(keys[keys.length - 1].v)})`); // hold last
|
|
114
|
+
return terms.join("+");
|
|
115
|
+
}
|
|
116
|
+
/**
|
|
117
|
+
* Build a follow-the-active-tile camera from the leaf steps, or `undefined` when
|
|
118
|
+
* `zoom ≤ 1` (no zoom → the canvas stays fit-to-panel, the M1a behavior).
|
|
119
|
+
*
|
|
120
|
+
* Keyframes are placed at each leaf's active-window CENTER so the camera is
|
|
121
|
+
* settled on the tile while its highlight is brightest, easing between.
|
|
122
|
+
*
|
|
123
|
+
* @param parseW/parseH the dimensions the Step rects were parsed at (camera
|
|
124
|
+
* focus is a fraction, so only the ratio matters — must match `buildSteps`).
|
|
125
|
+
*/
|
|
126
|
+
function buildCanvasCamera(steps, timing, parseW, parseH, zoom) {
|
|
127
|
+
if (!(zoom > 1) || parseW <= 0 || parseH <= 0)
|
|
128
|
+
return undefined;
|
|
129
|
+
// Keyframe on tiles AND passthroughs so the camera FOLLOWS the walk through the
|
|
130
|
+
// donating `>` slots too — otherwise it pre-centers on the next EMITTED tile and
|
|
131
|
+
// the passthroughs (to the side of a wide absorber) walk by off-screen.
|
|
132
|
+
const leaves = steps
|
|
133
|
+
.filter((s) => s.eventType === "emitLeaf" || s.eventType === "passthrough")
|
|
134
|
+
.sort((a, b) => a.index - b.index);
|
|
135
|
+
if (leaves.length === 0)
|
|
136
|
+
return undefined;
|
|
137
|
+
const xs = [];
|
|
138
|
+
const ys = [];
|
|
139
|
+
let lastSettle = 0;
|
|
140
|
+
for (const s of leaves) {
|
|
141
|
+
const t = timing.stepStartSec(s.index) + timing.stepDurSec / 2;
|
|
142
|
+
const fx = (s.rect.x + s.rect.width / 2) / parseW;
|
|
143
|
+
const fy = (s.rect.y + s.rect.height / 2) / parseH;
|
|
144
|
+
xs.push({ t, v: centerFocus(fx, zoom) });
|
|
145
|
+
ys.push({ t, v: centerFocus(fy, zoom) });
|
|
146
|
+
lastSettle = t;
|
|
147
|
+
}
|
|
148
|
+
// FINAL pull-back: once the last tile has painted, ease zoom → 1 and focus →
|
|
149
|
+
// center over the tail so the whole layout is revealed at the end. The engine
|
|
150
|
+
// scale is rounded to EVEN every frame (applyCamera), so the per-frame `crop`
|
|
151
|
+
// reinitialises cleanly as the (animated) zoom shrinks. At zoom 1 the crop offset
|
|
152
|
+
// resolves to 0 → the full frame.
|
|
153
|
+
const endT = timing.durationMs / 1000;
|
|
154
|
+
const revealLast = timing.stepStartSec(leaves[leaves.length - 1].index); // last tile appears
|
|
155
|
+
const settleOut = Math.min(lastSettle + timing.stepDurSec / 2, endT);
|
|
156
|
+
// End on a deliberate HOLD of the full layout: ease to full view (zoom 1,
|
|
157
|
+
// centered) by `zoomEndT`, then hold it to `endT`. Target ~`HOLD_TARGET`s of
|
|
158
|
+
// hold and fit it into the tail after the last tile — the pull-back never
|
|
159
|
+
// begins before the last tile is on screen (`revealLast`), so the hold is as
|
|
160
|
+
// long as the tail allows. The walk's closing exit steps happen under the
|
|
161
|
+
// (already-moving) pull-back, which is why the hold can outlast a short trail.
|
|
162
|
+
const HOLD_TARGET = 2.0;
|
|
163
|
+
const outStart = Math.max(revealLast, Math.min(settleOut, endT - HOLD_TARGET - 0.6));
|
|
164
|
+
const zoomEndT = Math.min(endT, Math.max(outStart + 0.3, endT - HOLD_TARGET));
|
|
165
|
+
if (endT > outStart + 1e-3) {
|
|
166
|
+
xs.push({ t: outStart, v: xs[xs.length - 1].v }); // hold the last focus, then…
|
|
167
|
+
ys.push({ t: outStart, v: ys[ys.length - 1].v });
|
|
168
|
+
xs.push({ t: zoomEndT, v: 0.5 }); // …pan to center by zoomEndT; focusExpr then
|
|
169
|
+
ys.push({ t: zoomEndT, v: 0.5 }); // tail-HOLDS center (0.5) from zoomEndT → endT
|
|
170
|
+
}
|
|
171
|
+
// Zoom holds at `zoom` through the walk, eases to 1 by `zoomEndT`, then the last
|
|
172
|
+
// keyframe's value (1) tail-holds through the end hold. No tail → hold `zoom`.
|
|
173
|
+
const zoomExpr = endT > outStart + 1e-3
|
|
174
|
+
? focusExpr([{ t: outStart, v: zoom }, { t: zoomEndT, v: 1 }])
|
|
175
|
+
: focusExpr([{ t: outStart, v: zoom }]);
|
|
176
|
+
return { zoom: zoomExpr, focusX: focusExpr(xs), focusY: focusExpr(ys) };
|
|
177
|
+
}
|