m0saic 0.0.0 → 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 +126 -0
- package/README.md +162 -2
- package/dist/browseE2e.js +1 -0
- package/dist/connectionsFromEnv.js +1 -0
- package/dist/e2eTemplateVariants.js +1 -0
- package/dist/frontDoor.js +1 -0
- package/dist/index.js +2 -0
- package/dist/inlineDsl.js +1 -0
- package/dist/mosaicxRunner.js +1 -0
- package/dist/outputPattern.js +1 -0
- package/dist/showcaseFeed.js +1 -0
- package/dist/templateDoctor.js +1 -0
- package/dist/utils/checkFeasibility.js +1 -0
- package/dist/utils/collectRenderErrors.js +1 -0
- package/dist/utils/enrichImageAlphaFromDoc.js +1 -0
- package/dist/utils/ensureFfmpeg.js +1 -0
- package/dist/utils/extractLayoutMeta.js +1 -0
- package/dist/utils/failureHints.js +1 -0
- package/dist/utils/ffmpegProbe.js +1 -0
- package/dist/utils/formatM0saicForCli.js +1 -0
- package/dist/utils/hashFile.js +1 -0
- package/dist/utils/helpGroups.js +1 -0
- package/dist/utils/invocation.js +1 -0
- package/dist/utils/mosaicSpinner.js +1 -0
- package/dist/utils/parseDimensions.js +1 -0
- package/dist/utils/pathInfo.js +1 -0
- package/dist/utils/readJsonArg.js +1 -0
- package/dist/utils/renderOutcome.js +1 -0
- package/dist/utils/renderReport.js +1 -0
- package/dist/utils/renderSignals.js +1 -0
- package/dist/utils/renderWorkspace.js +1 -0
- package/dist/utils/setupFfmpeg.js +1 -0
- package/dist/utils/telemetry.js +1 -0
- package/dist/utils/telemetryFlushWorker.js +1 -0
- package/dist/utils/telemetryUpstream.js +1 -0
- package/dist/utils/telemetryUsage.js +1 -0
- package/dist/utils/toolchainConfig.js +1 -0
- package/dist/utils/tutorialDuration.js +1 -0
- package/dist/utils/updateCheck.js +1 -0
- package/dist/utils/updateCheckWorker.js +1 -0
- package/dist/utils/validateSourceCounts.js +1 -0
- package/dist/utils/versions.js +1 -0
- package/dist/webCustomizeLink.js +1 -0
- package/node_modules/@m0saic/community-m/CONTRIBUTING.md +108 -0
- package/node_modules/@m0saic/community-m/LICENSE +28 -0
- package/node_modules/@m0saic/community-m/README.md +102 -0
- package/node_modules/@m0saic/community-m/geometry/m-33-tiles.json +270 -0
- package/node_modules/@m0saic/community-m/geometry/m-33.m0c +265 -0
- package/node_modules/@m0saic/community-m/index.json +148 -0
- package/node_modules/@m0saic/community-m/ms/001/community-m-001.m0p +346 -0
- package/node_modules/@m0saic/community-m/ms/001/m.json +12 -0
- package/node_modules/@m0saic/community-m/ms/001/root/assets/.gitkeep +0 -0
- package/node_modules/@m0saic/community-m/ms/001/root/piece.mosaic +105 -0
- package/node_modules/@m0saic/community-m/ms/001/root/portrait.jpg +0 -0
- package/node_modules/@m0saic/community-m/ms/001/root/slot.json +18 -0
- package/node_modules/@m0saic/community-m/ms/001/root/slot.m0c +296 -0
- package/node_modules/@m0saic/community-m/ms/001/root/tile.png +0 -0
- package/node_modules/@m0saic/community-m/ms/002/community-m-002.m0p +324 -0
- package/node_modules/@m0saic/community-m/ms/002/m.json +7 -0
- package/node_modules/@m0saic/community-m/package.json +5 -0
- package/node_modules/@m0saic/community-m/release.json +4 -0
- package/node_modules/@m0saic/community-m/tools/assemble.mjs +87 -0
- package/node_modules/@m0saic/community-m/tools/claim-order.mjs +42 -0
- package/node_modules/@m0saic/community-m/tools/lib.mjs +208 -0
- package/node_modules/@m0saic/community-m/tools/new-slot.mjs +123 -0
- package/node_modules/@m0saic/community-m/tools/validate.mjs +203 -0
- package/node_modules/@m0saic/core/LICENSE +7 -0
- package/node_modules/@m0saic/core/assets/pill_mask_1024.png +0 -0
- package/node_modules/@m0saic/core/assets/rounded_mask_1024.png +0 -0
- package/node_modules/@m0saic/core/dist/core/buildChildMosaicSource.js +1 -0
- package/node_modules/@m0saic/core/dist/core/buildChunkCommands.js +1 -0
- package/node_modules/@m0saic/core/dist/core/buildEncodeCommands.js +1 -0
- package/node_modules/@m0saic/core/dist/core/buildLavfiSource.js +1 -0
- package/node_modules/@m0saic/core/dist/core/buildMediaSource.js +1 -0
- package/node_modules/@m0saic/core/dist/core/buildMosaicNode.js +1 -0
- package/node_modules/@m0saic/core/dist/core/buildMosaicPlanFromFile.js +1 -0
- package/node_modules/@m0saic/core/dist/core/buildSvgTextSource.js +1 -0
- package/node_modules/@m0saic/core/dist/core/buildTextRenderCommand.js +1 -0
- package/node_modules/@m0saic/core/dist/core/collectRefTargets.js +1 -0
- package/node_modules/@m0saic/core/dist/core/index.js +1 -0
- package/node_modules/@m0saic/core/dist/core/maskCacheDir.js +1 -0
- package/node_modules/@m0saic/core/dist/core/maskWorkerBridge.js +1 -0
- package/node_modules/@m0saic/core/dist/core/playbackPlaySpeed.js +1 -0
- package/node_modules/@m0saic/core/dist/core/prepareProps.js +1 -0
- package/node_modules/@m0saic/core/dist/core/primaryOutput.js +1 -0
- package/node_modules/@m0saic/core/dist/core/rasterizeMaskPng.js +1 -0
- package/node_modules/@m0saic/core/dist/core/rasterizeSvgMediaPng.js +1 -0
- package/node_modules/@m0saic/core/dist/core/refTargetTap.js +1 -0
- package/node_modules/@m0saic/core/dist/core/resolveMasks.js +1 -0
- package/node_modules/@m0saic/core/dist/core/resolveMasksSync.js +1 -0
- package/node_modules/@m0saic/core/dist/core/resolveStrokeRingsSync.js +1 -0
- package/node_modules/@m0saic/core/dist/core/roundedRectMask.js +1 -0
- package/node_modules/@m0saic/core/dist/core/strokeRing.js +1 -0
- package/node_modules/@m0saic/core/dist/core/svgRaster.js +1 -0
- package/node_modules/@m0saic/core/dist/defaults.js +1 -0
- package/node_modules/@m0saic/core/dist/ffmpeg/backgroundImageInput.js +1 -0
- package/node_modules/@m0saic/core/dist/ffmpeg/bufferGuard.js +1 -0
- package/node_modules/@m0saic/core/dist/ffmpeg/ffmpegCommands.js +1 -0
- package/node_modules/@m0saic/core/dist/ffmpeg/filters/applyBackdropBlur.js +1 -0
- package/node_modules/@m0saic/core/dist/ffmpeg/filters/applyBlur.js +1 -0
- package/node_modules/@m0saic/core/dist/ffmpeg/filters/applyBorderRadius.js +1 -0
- package/node_modules/@m0saic/core/dist/ffmpeg/filters/applyCamera.js +1 -0
- package/node_modules/@m0saic/core/dist/ffmpeg/filters/applyChromaKey.js +1 -0
- package/node_modules/@m0saic/core/dist/ffmpeg/filters/applyFade.js +1 -0
- package/node_modules/@m0saic/core/dist/ffmpeg/filters/applyGrade.js +1 -0
- package/node_modules/@m0saic/core/dist/ffmpeg/filters/applyMask.js +1 -0
- package/node_modules/@m0saic/core/dist/ffmpeg/filters/applyNoise.js +1 -0
- package/node_modules/@m0saic/core/dist/ffmpeg/filters/applyPixelize.js +1 -0
- package/node_modules/@m0saic/core/dist/ffmpeg/filters/applyRotate.js +1 -0
- package/node_modules/@m0saic/core/dist/ffmpeg/filters/applyStroke.js +1 -0
- package/node_modules/@m0saic/core/dist/ffmpeg/filters/applyTileEffects.js +1 -0
- package/node_modules/@m0saic/core/dist/ffmpeg/filters/coverCrop.js +1 -0
- package/node_modules/@m0saic/core/dist/ffmpeg/filters/index.js +1 -0
- package/node_modules/@m0saic/core/dist/ffmpeg/filters/sourceRectCrop.js +1 -0
- package/node_modules/@m0saic/core/dist/ffmpeg/gridLowering.js +1 -0
- package/node_modules/@m0saic/core/dist/ffmpeg/index.js +1 -0
- package/node_modules/@m0saic/core/dist/ffmpeg/splitAvMux.js +1 -0
- package/node_modules/@m0saic/core/dist/ffmpeg/threadGuard.js +1 -0
- package/node_modules/@m0saic/core/dist/flatten/index.js +1 -0
- package/node_modules/@m0saic/core/dist/fs/index.js +1 -0
- package/node_modules/@m0saic/core/dist/fs/tempWorkspace.js +1 -0
- package/node_modules/@m0saic/core/dist/index.js +1 -0
- package/node_modules/@m0saic/core/dist/media/buildAssetManifestFromInputs.js +1 -0
- package/node_modules/@m0saic/core/dist/media/buildMediaRegistryFromInput.js +1 -0
- package/node_modules/@m0saic/core/dist/media/collectMediaInputsFromInvocationProps.js +1 -0
- package/node_modules/@m0saic/core/dist/media/collectMediaInputsFromMosaicRenderableFile.js +1 -0
- package/node_modules/@m0saic/core/dist/media/collectMediaInputsFromProps.js +1 -0
- package/node_modules/@m0saic/core/dist/media/index.js +1 -0
- package/node_modules/@m0saic/core/dist/media/internalMintAsset.js +1 -0
- package/node_modules/@m0saic/core/dist/media/remoteUrl.js +1 -0
- package/node_modules/@m0saic/core/dist/media/stageUnsafeFilenames.js +1 -0
- package/node_modules/@m0saic/core/dist/media/types.js +1 -0
- package/node_modules/@m0saic/core/dist/output/index.js +1 -0
- package/node_modules/@m0saic/core/dist/output/resolveOutputFormat.js +1 -0
- package/node_modules/@m0saic/core/dist/output/types.js +1 -0
- package/node_modules/@m0saic/core/dist/probe/cellLuminanceProbe.js +1 -0
- package/node_modules/@m0saic/core/dist/probe/extractSubtitleCues.js +1 -0
- package/node_modules/@m0saic/core/dist/probe/helpers.js +1 -0
- package/node_modules/@m0saic/core/dist/probe/index.js +1 -0
- package/node_modules/@m0saic/core/dist/probe/luminanceProbe.js +1 -0
- package/node_modules/@m0saic/core/dist/probe/probeMedia.js +1 -0
- package/node_modules/@m0saic/core/dist/probe/runFFprobe.js +1 -0
- package/node_modules/@m0saic/core/dist/probe/types.js +1 -0
- package/node_modules/@m0saic/core/dist/runtime/engineRedaction.js +1 -0
- package/node_modules/@m0saic/core/dist/runtime/ffmpegFailure.js +1 -0
- package/node_modules/@m0saic/core/dist/runtime/filterPreflight.js +1 -0
- package/node_modules/@m0saic/core/dist/runtime/hashFile.js +1 -0
- package/node_modules/@m0saic/core/dist/runtime/index.js +1 -0
- package/node_modules/@m0saic/core/dist/runtime/pathInfo.js +1 -0
- package/node_modules/@m0saic/core/dist/runtime/perfHeatmap.js +1 -0
- package/node_modules/@m0saic/core/dist/runtime/perfReport.js +1 -0
- package/node_modules/@m0saic/core/dist/runtime/pipelineM0p.js +1 -0
- package/node_modules/@m0saic/core/dist/runtime/renderCostModel.constants.js +1 -0
- package/node_modules/@m0saic/core/dist/runtime/renderCostModel.js +1 -0
- package/node_modules/@m0saic/core/dist/runtime/renderReport.js +1 -0
- package/node_modules/@m0saic/core/dist/runtime/renderSidecars.js +1 -0
- package/node_modules/@m0saic/core/dist/runtime/resolveMosaicx.js +1 -0
- package/node_modules/@m0saic/core/dist/runtime/runPlan.js +1 -0
- package/node_modules/@m0saic/core/dist/runtime/types.js +1 -0
- package/node_modules/@m0saic/core/dist/runtime/upstream.js +1 -0
- package/node_modules/@m0saic/core/dist/runtime/writeSidecars.js +1 -0
- package/node_modules/@m0saic/core/dist/types/chunk.js +1 -0
- package/node_modules/@m0saic/core/dist/types/index.js +1 -0
- package/node_modules/@m0saic/core/dist/types/mosaic-plan.js +1 -0
- package/node_modules/@m0saic/core/dist/utils/assertTiming.js +1 -0
- package/node_modules/@m0saic/core/dist/utils/command.js +1 -0
- package/node_modules/@m0saic/core/dist/utils/createEngineContext.js +1 -0
- package/node_modules/@m0saic/core/dist/utils/createTemplateRenderCache.js +1 -0
- package/node_modules/@m0saic/core/dist/utils/ffmpegColor.js +1 -0
- package/node_modules/@m0saic/core/dist/utils/formatDuration.js +1 -0
- package/node_modules/@m0saic/core/dist/utils/fsSafeId.js +1 -0
- package/node_modules/@m0saic/core/dist/utils/index.js +1 -0
- package/node_modules/@m0saic/core/dist/utils/lowerRenderableToMosaicDocument.js +1 -0
- package/node_modules/@m0saic/core/dist/utils/movSafeCodec.js +1 -0
- package/node_modules/@m0saic/core/dist/utils/resolveBoxFrac.js +1 -0
- package/node_modules/@m0saic/core/dist/validate/index.js +1 -0
- package/node_modules/@m0saic/core/package.json +6 -0
- package/node_modules/@m0saic/core/scripts/mask-rasterize-core.js +1 -0
- package/node_modules/@m0saic/core/scripts/mask-rasterize-worker.js +1 -0
- package/node_modules/@m0saic/core/scripts/mask-worker-thread.js +1 -0
- package/node_modules/@m0saic/dictionary/LICENSE +13 -0
- package/node_modules/@m0saic/dictionary/dist/browser.js +1 -0
- package/node_modules/@m0saic/dictionary/dist/entries/__generated__.js +1 -0
- package/node_modules/@m0saic/dictionary/dist/entries/brand/index.js +1 -0
- package/node_modules/@m0saic/dictionary/dist/entries/brand/m-33/index.js +1 -0
- package/node_modules/@m0saic/dictionary/dist/entries/brand/m-33/m0.json +1 -0
- package/node_modules/@m0saic/dictionary/dist/entries/brand/m-33/m0saic.js +1 -0
- package/node_modules/@m0saic/dictionary/dist/entries/brand/m-33/m0saic.m0c +265 -0
- package/node_modules/@m0saic/dictionary/dist/entries/brand/m-33/m0saic_src.m0 +8 -0
- package/node_modules/@m0saic/dictionary/dist/entries/brand/m-33/m0saic_visual.txt +274 -0
- package/node_modules/@m0saic/dictionary/dist/entries/brand/m-33/m0saic_visual_areas.txt +272 -0
- package/node_modules/@m0saic/dictionary/dist/entries/brand/m-33/m0saic_visual_art.txt +272 -0
- package/node_modules/@m0saic/dictionary/dist/entries/brand/m-33/metadata.json +300 -0
- package/node_modules/@m0saic/dictionary/dist/entries/brand/m-33/preview.png +0 -0
- package/node_modules/@m0saic/dictionary/dist/entries/brand/m-33_bitmap/index.js +1 -0
- package/node_modules/@m0saic/dictionary/dist/entries/brand/m-33_bitmap/m0saic.js +2 -0
- package/node_modules/@m0saic/dictionary/dist/entries/brand/m-33_bitmap/m0saic.m0 +9 -0
- package/node_modules/@m0saic/dictionary/dist/entries/brand/m-33_bitmap/metadata.json +54 -0
- package/node_modules/@m0saic/dictionary/dist/entries/brand/m0/index.js +1 -0
- package/node_modules/@m0saic/dictionary/dist/entries/brand/m0/m0.json +1 -0
- package/node_modules/@m0saic/dictionary/dist/entries/brand/m0/m0saic.js +1 -0
- package/node_modules/@m0saic/dictionary/dist/entries/brand/m0/m0saic.m0c +205 -0
- package/node_modules/@m0saic/dictionary/dist/entries/brand/m0/m0saic_src.m0 +8 -0
- package/node_modules/@m0saic/dictionary/dist/entries/brand/m0/metadata.json +247 -0
- package/node_modules/@m0saic/dictionary/dist/entries/brand/m0/preview.png +0 -0
- package/node_modules/@m0saic/dictionary/dist/entries/brand/m0saic-pattern/index.js +1 -0
- package/node_modules/@m0saic/dictionary/dist/entries/brand/m0saic-pattern/m0.json +1 -0
- package/node_modules/@m0saic/dictionary/dist/entries/brand/m0saic-pattern/m0saic.js +1 -0
- package/node_modules/@m0saic/dictionary/dist/entries/brand/m0saic-pattern/m0saic.m0c +366 -0
- package/node_modules/@m0saic/dictionary/dist/entries/brand/m0saic-pattern/m0saic_src.m0 +8 -0
- package/node_modules/@m0saic/dictionary/dist/entries/brand/m0saic-pattern/metadata.json +406 -0
- package/node_modules/@m0saic/dictionary/dist/entries/brand/m0saic-pattern/preview.png +0 -0
- package/node_modules/@m0saic/dictionary/dist/entries/brand/qr/index.js +1 -0
- package/node_modules/@m0saic/dictionary/dist/entries/brand/qr/m0.json +1 -0
- package/node_modules/@m0saic/dictionary/dist/entries/brand/qr/m0saic.js +1 -0
- package/node_modules/@m0saic/dictionary/dist/entries/brand/qr/m0saic.m0c +24 -0
- package/node_modules/@m0saic/dictionary/dist/entries/brand/qr/m0saic_src.m0 +8 -0
- package/node_modules/@m0saic/dictionary/dist/entries/brand/qr/metadata.json +49 -0
- package/node_modules/@m0saic/dictionary/dist/entries/grids/2x2/index.js +1 -0
- package/node_modules/@m0saic/dictionary/dist/entries/grids/2x2/m0saic.js +2 -0
- package/node_modules/@m0saic/dictionary/dist/entries/grids/2x2/m0saic.m0 +7 -0
- package/node_modules/@m0saic/dictionary/dist/entries/grids/2x2/m0saic_pretty.txt +10 -0
- package/node_modules/@m0saic/dictionary/dist/entries/grids/2x2/m0saic_tree.txt +7 -0
- package/node_modules/@m0saic/dictionary/dist/entries/grids/2x2/metadata.json +49 -0
- package/node_modules/@m0saic/dictionary/dist/entries/grids/2x2/wireframe_1080x1080.mp4 +0 -0
- package/node_modules/@m0saic/dictionary/dist/entries/grids/2x2/wireframe_1920x1080.mp4 +0 -0
- package/node_modules/@m0saic/dictionary/dist/entries/grids/2x3/index.js +1 -0
- package/node_modules/@m0saic/dictionary/dist/entries/grids/2x3/m0saic.js +2 -0
- package/node_modules/@m0saic/dictionary/dist/entries/grids/2x3/m0saic.m0 +7 -0
- package/node_modules/@m0saic/dictionary/dist/entries/grids/2x3/m0saic_pretty.txt +14 -0
- package/node_modules/@m0saic/dictionary/dist/entries/grids/2x3/m0saic_tree.txt +10 -0
- package/node_modules/@m0saic/dictionary/dist/entries/grids/2x3/metadata.json +53 -0
- package/node_modules/@m0saic/dictionary/dist/entries/grids/3x2/index.js +1 -0
- package/node_modules/@m0saic/dictionary/dist/entries/grids/3x2/m0saic.js +2 -0
- package/node_modules/@m0saic/dictionary/dist/entries/grids/3x2/m0saic.m0 +7 -0
- package/node_modules/@m0saic/dictionary/dist/entries/grids/3x2/m0saic_pretty.txt +12 -0
- package/node_modules/@m0saic/dictionary/dist/entries/grids/3x2/m0saic_tree.txt +9 -0
- package/node_modules/@m0saic/dictionary/dist/entries/grids/3x2/metadata.json +49 -0
- package/node_modules/@m0saic/dictionary/dist/entries/grids/3x3/index.js +1 -0
- package/node_modules/@m0saic/dictionary/dist/entries/grids/3x3/m0saic.js +2 -0
- package/node_modules/@m0saic/dictionary/dist/entries/grids/3x3/m0saic.m0 +7 -0
- package/node_modules/@m0saic/dictionary/dist/entries/grids/3x3/m0saic_pretty.txt +17 -0
- package/node_modules/@m0saic/dictionary/dist/entries/grids/3x3/m0saic_tree.txt +13 -0
- package/node_modules/@m0saic/dictionary/dist/entries/grids/3x3/metadata.json +48 -0
- package/node_modules/@m0saic/dictionary/dist/entries/grids/4x4/index.js +1 -0
- package/node_modules/@m0saic/dictionary/dist/entries/grids/4x4/m0saic.js +2 -0
- package/node_modules/@m0saic/dictionary/dist/entries/grids/4x4/m0saic.m0 +7 -0
- package/node_modules/@m0saic/dictionary/dist/entries/grids/4x4/m0saic_pretty.txt +26 -0
- package/node_modules/@m0saic/dictionary/dist/entries/grids/4x4/m0saic_tree.txt +21 -0
- package/node_modules/@m0saic/dictionary/dist/entries/grids/4x4/metadata.json +48 -0
- package/node_modules/@m0saic/dictionary/dist/entries/grids/index.js +1 -0
- package/node_modules/@m0saic/dictionary/dist/entries/index.js +1 -0
- package/node_modules/@m0saic/dictionary/dist/entries/layouts/bottom-feature/index.js +1 -0
- package/node_modules/@m0saic/dictionary/dist/entries/layouts/bottom-feature/m0saic.js +2 -0
- package/node_modules/@m0saic/dictionary/dist/entries/layouts/bottom-feature/m0saic.m0 +7 -0
- package/node_modules/@m0saic/dictionary/dist/entries/layouts/bottom-feature/m0saic_pretty.txt +13 -0
- package/node_modules/@m0saic/dictionary/dist/entries/layouts/bottom-feature/m0saic_tree.txt +10 -0
- package/node_modules/@m0saic/dictionary/dist/entries/layouts/bottom-feature/metadata.json +49 -0
- package/node_modules/@m0saic/dictionary/dist/entries/layouts/column-grid/index.js +1 -0
- package/node_modules/@m0saic/dictionary/dist/entries/layouts/column-grid/m0saic.js +2 -0
- package/node_modules/@m0saic/dictionary/dist/entries/layouts/column-grid/m0saic.m0 +7 -0
- package/node_modules/@m0saic/dictionary/dist/entries/layouts/column-grid/m0saic_pretty.txt +16 -0
- package/node_modules/@m0saic/dictionary/dist/entries/layouts/column-grid/m0saic_tree.txt +11 -0
- package/node_modules/@m0saic/dictionary/dist/entries/layouts/column-grid/metadata.json +49 -0
- package/node_modules/@m0saic/dictionary/dist/entries/layouts/dense-dashboard/index.js +1 -0
- package/node_modules/@m0saic/dictionary/dist/entries/layouts/dense-dashboard/m0saic.js +2 -0
- package/node_modules/@m0saic/dictionary/dist/entries/layouts/dense-dashboard/m0saic.m0 +7 -0
- package/node_modules/@m0saic/dictionary/dist/entries/layouts/dense-dashboard/m0saic_pretty.txt +20 -0
- package/node_modules/@m0saic/dictionary/dist/entries/layouts/dense-dashboard/m0saic_tree.txt +16 -0
- package/node_modules/@m0saic/dictionary/dist/entries/layouts/dense-dashboard/metadata.json +50 -0
- package/node_modules/@m0saic/dictionary/dist/entries/layouts/feature-sidebar/index.js +1 -0
- package/node_modules/@m0saic/dictionary/dist/entries/layouts/feature-sidebar/m0saic.js +2 -0
- package/node_modules/@m0saic/dictionary/dist/entries/layouts/feature-sidebar/m0saic.m0 +7 -0
- package/node_modules/@m0saic/dictionary/dist/entries/layouts/feature-sidebar/m0saic_pretty.txt +14 -0
- package/node_modules/@m0saic/dictionary/dist/entries/layouts/feature-sidebar/m0saic_tree.txt +10 -0
- package/node_modules/@m0saic/dictionary/dist/entries/layouts/feature-sidebar/metadata.json +49 -0
- package/node_modules/@m0saic/dictionary/dist/entries/layouts/hero-bottom-strip/index.js +1 -0
- package/node_modules/@m0saic/dictionary/dist/entries/layouts/hero-bottom-strip/m0saic.js +2 -0
- package/node_modules/@m0saic/dictionary/dist/entries/layouts/hero-bottom-strip/m0saic.m0 +7 -0
- package/node_modules/@m0saic/dictionary/dist/entries/layouts/hero-bottom-strip/m0saic_pretty.txt +8 -0
- package/node_modules/@m0saic/dictionary/dist/entries/layouts/hero-bottom-strip/m0saic_tree.txt +6 -0
- package/node_modules/@m0saic/dictionary/dist/entries/layouts/hero-bottom-strip/metadata.json +54 -0
- package/node_modules/@m0saic/dictionary/dist/entries/layouts/hero-bottom-strip/wireframe_1080x1080.mp4 +0 -0
- package/node_modules/@m0saic/dictionary/dist/entries/layouts/hero-bottom-strip/wireframe_1280x720.mp4 +0 -0
- package/node_modules/@m0saic/dictionary/dist/entries/layouts/hero-bottom-strip/wireframe_1920x1080.mp4 +0 -0
- package/node_modules/@m0saic/dictionary/dist/entries/layouts/hero-sidebar/index.js +1 -0
- package/node_modules/@m0saic/dictionary/dist/entries/layouts/hero-sidebar/m0saic.js +2 -0
- package/node_modules/@m0saic/dictionary/dist/entries/layouts/hero-sidebar/m0saic.m0 +7 -0
- package/node_modules/@m0saic/dictionary/dist/entries/layouts/hero-sidebar/m0saic_pretty.txt +7 -0
- package/node_modules/@m0saic/dictionary/dist/entries/layouts/hero-sidebar/m0saic_tree.txt +5 -0
- package/node_modules/@m0saic/dictionary/dist/entries/layouts/hero-sidebar/metadata.json +54 -0
- package/node_modules/@m0saic/dictionary/dist/entries/layouts/hero-sidebar/wireframe_1080x1080.mp4 +0 -0
- package/node_modules/@m0saic/dictionary/dist/entries/layouts/hero-sidebar/wireframe_1920x1080.mp4 +0 -0
- package/node_modules/@m0saic/dictionary/dist/entries/layouts/hero-sidebar/wireframe_2560x1080.mp4 +0 -0
- package/node_modules/@m0saic/dictionary/dist/entries/layouts/hero-top-strip/index.js +1 -0
- package/node_modules/@m0saic/dictionary/dist/entries/layouts/hero-top-strip/m0saic.js +2 -0
- package/node_modules/@m0saic/dictionary/dist/entries/layouts/hero-top-strip/m0saic.m0 +7 -0
- package/node_modules/@m0saic/dictionary/dist/entries/layouts/hero-top-strip/m0saic_pretty.txt +8 -0
- package/node_modules/@m0saic/dictionary/dist/entries/layouts/hero-top-strip/m0saic_tree.txt +6 -0
- package/node_modules/@m0saic/dictionary/dist/entries/layouts/hero-top-strip/metadata.json +52 -0
- package/node_modules/@m0saic/dictionary/dist/entries/layouts/index.js +1 -0
- package/node_modules/@m0saic/dictionary/dist/entries/layouts/l-shape/index.js +1 -0
- package/node_modules/@m0saic/dictionary/dist/entries/layouts/l-shape/m0saic.js +2 -0
- package/node_modules/@m0saic/dictionary/dist/entries/layouts/l-shape/m0saic.m0 +7 -0
- package/node_modules/@m0saic/dictionary/dist/entries/layouts/l-shape/m0saic_pretty.txt +10 -0
- package/node_modules/@m0saic/dictionary/dist/entries/layouts/l-shape/m0saic_tree.txt +7 -0
- package/node_modules/@m0saic/dictionary/dist/entries/layouts/l-shape/metadata.json +48 -0
- package/node_modules/@m0saic/dictionary/dist/entries/layouts/main-two-supporting/index.js +1 -0
- package/node_modules/@m0saic/dictionary/dist/entries/layouts/main-two-supporting/m0saic.js +2 -0
- package/node_modules/@m0saic/dictionary/dist/entries/layouts/main-two-supporting/m0saic.m0 +7 -0
- package/node_modules/@m0saic/dictionary/dist/entries/layouts/main-two-supporting/m0saic_pretty.txt +8 -0
- package/node_modules/@m0saic/dictionary/dist/entries/layouts/main-two-supporting/m0saic_tree.txt +6 -0
- package/node_modules/@m0saic/dictionary/dist/entries/layouts/main-two-supporting/metadata.json +50 -0
- package/node_modules/@m0saic/dictionary/dist/entries/layouts/sidebar-main/index.js +1 -0
- package/node_modules/@m0saic/dictionary/dist/entries/layouts/sidebar-main/m0saic.js +2 -0
- package/node_modules/@m0saic/dictionary/dist/entries/layouts/sidebar-main/m0saic.m0 +7 -0
- package/node_modules/@m0saic/dictionary/dist/entries/layouts/sidebar-main/m0saic_pretty.txt +7 -0
- package/node_modules/@m0saic/dictionary/dist/entries/layouts/sidebar-main/m0saic_tree.txt +5 -0
- package/node_modules/@m0saic/dictionary/dist/entries/layouts/sidebar-main/metadata.json +48 -0
- package/node_modules/@m0saic/dictionary/dist/entries/layouts/stacked-pairs/index.js +1 -0
- package/node_modules/@m0saic/dictionary/dist/entries/layouts/stacked-pairs/m0saic.js +2 -0
- package/node_modules/@m0saic/dictionary/dist/entries/layouts/stacked-pairs/m0saic.m0 +7 -0
- package/node_modules/@m0saic/dictionary/dist/entries/layouts/stacked-pairs/m0saic_pretty.txt +15 -0
- package/node_modules/@m0saic/dictionary/dist/entries/layouts/stacked-pairs/m0saic_tree.txt +11 -0
- package/node_modules/@m0saic/dictionary/dist/entries/layouts/stacked-pairs/metadata.json +49 -0
- package/node_modules/@m0saic/dictionary/dist/entries/layouts/t-shape/index.js +1 -0
- package/node_modules/@m0saic/dictionary/dist/entries/layouts/t-shape/m0saic.js +2 -0
- package/node_modules/@m0saic/dictionary/dist/entries/layouts/t-shape/m0saic.m0 +7 -0
- package/node_modules/@m0saic/dictionary/dist/entries/layouts/t-shape/m0saic_pretty.txt +12 -0
- package/node_modules/@m0saic/dictionary/dist/entries/layouts/t-shape/m0saic_tree.txt +9 -0
- package/node_modules/@m0saic/dictionary/dist/entries/layouts/t-shape/metadata.json +49 -0
- package/node_modules/@m0saic/dictionary/dist/entries/layouts/three-up/index.js +1 -0
- package/node_modules/@m0saic/dictionary/dist/entries/layouts/three-up/m0saic.js +2 -0
- package/node_modules/@m0saic/dictionary/dist/entries/layouts/three-up/m0saic.m0 +7 -0
- package/node_modules/@m0saic/dictionary/dist/entries/layouts/three-up/m0saic_pretty.txt +7 -0
- package/node_modules/@m0saic/dictionary/dist/entries/layouts/three-up/m0saic_tree.txt +5 -0
- package/node_modules/@m0saic/dictionary/dist/entries/layouts/three-up/metadata.json +49 -0
- package/node_modules/@m0saic/dictionary/dist/entries/layouts/wide-feature/index.js +1 -0
- package/node_modules/@m0saic/dictionary/dist/entries/layouts/wide-feature/m0saic.js +2 -0
- package/node_modules/@m0saic/dictionary/dist/entries/layouts/wide-feature/m0saic.m0 +7 -0
- package/node_modules/@m0saic/dictionary/dist/entries/layouts/wide-feature/m0saic_pretty.txt +14 -0
- package/node_modules/@m0saic/dictionary/dist/entries/layouts/wide-feature/m0saic_tree.txt +11 -0
- package/node_modules/@m0saic/dictionary/dist/entries/layouts/wide-feature/metadata.json +50 -0
- package/node_modules/@m0saic/dictionary/dist/entries/splits/1-2-col/index.js +1 -0
- package/node_modules/@m0saic/dictionary/dist/entries/splits/1-2-col/m0saic.js +2 -0
- package/node_modules/@m0saic/dictionary/dist/entries/splits/1-2-col/m0saic.m0 +7 -0
- package/node_modules/@m0saic/dictionary/dist/entries/splits/1-2-col/m0saic_pretty.txt +5 -0
- package/node_modules/@m0saic/dictionary/dist/entries/splits/1-2-col/m0saic_tree.txt +4 -0
- package/node_modules/@m0saic/dictionary/dist/entries/splits/1-2-col/metadata.json +50 -0
- package/node_modules/@m0saic/dictionary/dist/entries/splits/1-2-row/index.js +1 -0
- package/node_modules/@m0saic/dictionary/dist/entries/splits/1-2-row/m0saic.js +2 -0
- package/node_modules/@m0saic/dictionary/dist/entries/splits/1-2-row/m0saic.m0 +7 -0
- package/node_modules/@m0saic/dictionary/dist/entries/splits/1-2-row/m0saic_pretty.txt +5 -0
- package/node_modules/@m0saic/dictionary/dist/entries/splits/1-2-row/m0saic_tree.txt +4 -0
- package/node_modules/@m0saic/dictionary/dist/entries/splits/1-2-row/metadata.json +51 -0
- package/node_modules/@m0saic/dictionary/dist/entries/splits/2-1-col/index.js +1 -0
- package/node_modules/@m0saic/dictionary/dist/entries/splits/2-1-col/m0saic.js +2 -0
- package/node_modules/@m0saic/dictionary/dist/entries/splits/2-1-col/m0saic.m0 +7 -0
- package/node_modules/@m0saic/dictionary/dist/entries/splits/2-1-col/m0saic_pretty.txt +5 -0
- package/node_modules/@m0saic/dictionary/dist/entries/splits/2-1-col/m0saic_tree.txt +4 -0
- package/node_modules/@m0saic/dictionary/dist/entries/splits/2-1-col/metadata.json +50 -0
- package/node_modules/@m0saic/dictionary/dist/entries/splits/2-1-row/index.js +1 -0
- package/node_modules/@m0saic/dictionary/dist/entries/splits/2-1-row/m0saic.js +2 -0
- package/node_modules/@m0saic/dictionary/dist/entries/splits/2-1-row/m0saic.m0 +7 -0
- package/node_modules/@m0saic/dictionary/dist/entries/splits/2-1-row/m0saic_pretty.txt +5 -0
- package/node_modules/@m0saic/dictionary/dist/entries/splits/2-1-row/m0saic_tree.txt +4 -0
- package/node_modules/@m0saic/dictionary/dist/entries/splits/2-1-row/metadata.json +51 -0
- package/node_modules/@m0saic/dictionary/dist/entries/splits/2-col/index.js +1 -0
- package/node_modules/@m0saic/dictionary/dist/entries/splits/2-col/m0saic.js +2 -0
- package/node_modules/@m0saic/dictionary/dist/entries/splits/2-col/m0saic.m0 +7 -0
- package/node_modules/@m0saic/dictionary/dist/entries/splits/2-col/m0saic_pretty.txt +4 -0
- package/node_modules/@m0saic/dictionary/dist/entries/splits/2-col/m0saic_tree.txt +3 -0
- package/node_modules/@m0saic/dictionary/dist/entries/splits/2-col/metadata.json +49 -0
- package/node_modules/@m0saic/dictionary/dist/entries/splits/2-col/wireframe_1080x1080.mp4 +0 -0
- package/node_modules/@m0saic/dictionary/dist/entries/splits/2-col/wireframe_1920x1080.mp4 +0 -0
- package/node_modules/@m0saic/dictionary/dist/entries/splits/2-row/index.js +1 -0
- package/node_modules/@m0saic/dictionary/dist/entries/splits/2-row/m0saic.js +2 -0
- package/node_modules/@m0saic/dictionary/dist/entries/splits/2-row/m0saic.m0 +7 -0
- package/node_modules/@m0saic/dictionary/dist/entries/splits/2-row/m0saic_pretty.txt +4 -0
- package/node_modules/@m0saic/dictionary/dist/entries/splits/2-row/m0saic_tree.txt +3 -0
- package/node_modules/@m0saic/dictionary/dist/entries/splits/2-row/metadata.json +49 -0
- package/node_modules/@m0saic/dictionary/dist/entries/splits/3-col/index.js +1 -0
- package/node_modules/@m0saic/dictionary/dist/entries/splits/3-col/m0saic.js +2 -0
- package/node_modules/@m0saic/dictionary/dist/entries/splits/3-col/m0saic.m0 +7 -0
- package/node_modules/@m0saic/dictionary/dist/entries/splits/3-col/m0saic_pretty.txt +5 -0
- package/node_modules/@m0saic/dictionary/dist/entries/splits/3-col/m0saic_tree.txt +4 -0
- package/node_modules/@m0saic/dictionary/dist/entries/splits/3-col/metadata.json +53 -0
- package/node_modules/@m0saic/dictionary/dist/entries/splits/3-col/wireframe_1080x1080.mp4 +0 -0
- package/node_modules/@m0saic/dictionary/dist/entries/splits/3-col/wireframe_1920x1080.mp4 +0 -0
- package/node_modules/@m0saic/dictionary/dist/entries/splits/3-col/wireframe_2560x1080.mp4 +0 -0
- package/node_modules/@m0saic/dictionary/dist/entries/splits/3-row/index.js +1 -0
- package/node_modules/@m0saic/dictionary/dist/entries/splits/3-row/m0saic.js +2 -0
- package/node_modules/@m0saic/dictionary/dist/entries/splits/3-row/m0saic.m0 +7 -0
- package/node_modules/@m0saic/dictionary/dist/entries/splits/3-row/m0saic_pretty.txt +5 -0
- package/node_modules/@m0saic/dictionary/dist/entries/splits/3-row/m0saic_tree.txt +4 -0
- package/node_modules/@m0saic/dictionary/dist/entries/splits/3-row/metadata.json +54 -0
- package/node_modules/@m0saic/dictionary/dist/entries/splits/3-row/wireframe_1080x1080.mp4 +0 -0
- package/node_modules/@m0saic/dictionary/dist/entries/splits/3-row/wireframe_1080x1350.mp4 +0 -0
- package/node_modules/@m0saic/dictionary/dist/entries/splits/3-row/wireframe_1080x1920.mp4 +0 -0
- package/node_modules/@m0saic/dictionary/dist/entries/splits/4-col/index.js +1 -0
- package/node_modules/@m0saic/dictionary/dist/entries/splits/4-col/m0saic.js +2 -0
- package/node_modules/@m0saic/dictionary/dist/entries/splits/4-col/m0saic.m0 +7 -0
- package/node_modules/@m0saic/dictionary/dist/entries/splits/4-col/m0saic_pretty.txt +6 -0
- package/node_modules/@m0saic/dictionary/dist/entries/splits/4-col/m0saic_tree.txt +5 -0
- package/node_modules/@m0saic/dictionary/dist/entries/splits/4-col/metadata.json +48 -0
- package/node_modules/@m0saic/dictionary/dist/entries/splits/4-row/index.js +1 -0
- package/node_modules/@m0saic/dictionary/dist/entries/splits/4-row/m0saic.js +2 -0
- package/node_modules/@m0saic/dictionary/dist/entries/splits/4-row/m0saic.m0 +7 -0
- package/node_modules/@m0saic/dictionary/dist/entries/splits/4-row/m0saic_pretty.txt +6 -0
- package/node_modules/@m0saic/dictionary/dist/entries/splits/4-row/m0saic_tree.txt +5 -0
- package/node_modules/@m0saic/dictionary/dist/entries/splits/4-row/metadata.json +53 -0
- package/node_modules/@m0saic/dictionary/dist/entries/splits/index.js +1 -0
- package/node_modules/@m0saic/dictionary/dist/generators/aspectFit.js +1 -0
- package/node_modules/@m0saic/dictionary/dist/generators/aspectSafeGrid.js +1 -0
- package/node_modules/@m0saic/dictionary/dist/generators/barcodeGenerator.js +1 -0
- package/node_modules/@m0saic/dictionary/dist/generators/bentoGridGenerator.js +1 -0
- package/node_modules/@m0saic/dictionary/dist/generators/comparisonGenerator.js +1 -0
- package/node_modules/@m0saic/dictionary/dist/generators/goldenLayout.js +1 -0
- package/node_modules/@m0saic/dictionary/dist/generators/goldenSpiralGenerator.js +1 -0
- package/node_modules/@m0saic/dictionary/dist/generators/grid.js +1 -0
- package/node_modules/@m0saic/dictionary/dist/generators/index.js +1 -0
- package/node_modules/@m0saic/dictionary/dist/generators/labelTier.js +1 -0
- package/node_modules/@m0saic/dictionary/dist/generators/magazine.js +1 -0
- package/node_modules/@m0saic/dictionary/dist/generators/magazineGenerator.js +1 -0
- package/node_modules/@m0saic/dictionary/dist/generators/placeRect.js +1 -0
- package/node_modules/@m0saic/dictionary/dist/generators/qrCodeGenerator.js +1 -0
- package/node_modules/@m0saic/dictionary/dist/generators/quantizationFix.js +1 -0
- package/node_modules/@m0saic/dictionary/dist/generators/rankedListGenerator.js +1 -0
- package/node_modules/@m0saic/dictionary/dist/generators/safeCanvas.js +1 -0
- package/node_modules/@m0saic/dictionary/dist/generators/snapGrid.js +1 -0
- package/node_modules/@m0saic/dictionary/dist/generators/spotlightGenerator.js +1 -0
- package/node_modules/@m0saic/dictionary/dist/generators/types.js +1 -0
- package/node_modules/@m0saic/dictionary/dist/index.js +1 -0
- package/node_modules/@m0saic/dictionary/dist/loadEntryM0.js +2 -0
- package/node_modules/@m0saic/dictionary/dist/operations/descriptors.js +1 -0
- package/node_modules/@m0saic/dictionary/dist/operations/index.js +1 -0
- package/node_modules/@m0saic/dictionary/dist/operations/types.js +1 -0
- package/node_modules/@m0saic/dictionary/dist/registry.js +1 -0
- package/node_modules/@m0saic/dictionary/dist/resolve.js +1 -0
- package/node_modules/@m0saic/dictionary/dist/sourceOrder.js +1 -0
- package/node_modules/@m0saic/dictionary/package.json +6 -0
- package/node_modules/@m0saic/dsl/LICENSE +201 -0
- package/node_modules/@m0saic/dsl/NOTICE +13 -0
- package/node_modules/@m0saic/dsl/README.md +417 -0
- package/node_modules/@m0saic/dsl/dist/cjs/complexity/complexity.js +1 -0
- package/node_modules/@m0saic/dsl/dist/cjs/complexity/index.js +1 -0
- package/node_modules/@m0saic/dsl/dist/cjs/equality/equality.js +1 -0
- package/node_modules/@m0saic/dsl/dist/cjs/equality/index.js +1 -0
- package/node_modules/@m0saic/dsl/dist/cjs/errors/errors.js +1 -0
- package/node_modules/@m0saic/dsl/dist/cjs/errors/index.js +1 -0
- package/node_modules/@m0saic/dsl/dist/cjs/feasibility/computeFeasibility.js +1 -0
- package/node_modules/@m0saic/dsl/dist/cjs/feasibility/index.js +1 -0
- package/node_modules/@m0saic/dsl/dist/cjs/format/index.js +1 -0
- package/node_modules/@m0saic/dsl/dist/cjs/format/m0StringCompact.js +1 -0
- package/node_modules/@m0saic/dsl/dist/cjs/format/m0StringFormat.js +1 -0
- package/node_modules/@m0saic/dsl/dist/cjs/index.js +1 -0
- package/node_modules/@m0saic/dsl/dist/cjs/internal/m0LexUtils.js +1 -0
- package/node_modules/@m0saic/dsl/dist/cjs/parse/index.js +1 -0
- package/node_modules/@m0saic/dsl/dist/cjs/parse/m0StringParser.js +1 -0
- package/node_modules/@m0saic/dsl/dist/cjs/parse/sortDeferredOverlays.js +1 -0
- package/node_modules/@m0saic/dsl/dist/cjs/types.js +1 -0
- package/node_modules/@m0saic/dsl/dist/cjs/validate/index.js +1 -0
- package/node_modules/@m0saic/dsl/dist/cjs/validate/m0StringValidator.js +1 -0
- package/node_modules/@m0saic/dsl/dist/cjs/warnings/index.js +1 -0
- package/node_modules/@m0saic/dsl/dist/cjs/warnings/warnings.js +1 -0
- package/node_modules/@m0saic/dsl/package.json +14 -0
- package/node_modules/@m0saic/dsl-file-formats/LICENSE +201 -0
- package/node_modules/@m0saic/dsl-file-formats/NOTICE +13 -0
- package/node_modules/@m0saic/dsl-file-formats/README.md +241 -0
- package/node_modules/@m0saic/dsl-file-formats/assets/icons/m0.svg +29 -0
- package/node_modules/@m0saic/dsl-file-formats/assets/icons/m0c.svg +29 -0
- package/node_modules/@m0saic/dsl-file-formats/assets/icons/m0p.svg +29 -0
- package/node_modules/@m0saic/dsl-file-formats/assets/icons/m0v.svg +29 -0
- package/node_modules/@m0saic/dsl-file-formats/dist/cjs/conversions.js +1 -0
- package/node_modules/@m0saic/dsl-file-formats/dist/cjs/derive.js +1 -0
- package/node_modules/@m0saic/dsl-file-formats/dist/cjs/edit/editFileMeta.js +1 -0
- package/node_modules/@m0saic/dsl-file-formats/dist/cjs/edit/index.js +1 -0
- package/node_modules/@m0saic/dsl-file-formats/dist/cjs/index.js +1 -0
- package/node_modules/@m0saic/dsl-file-formats/dist/cjs/m0/index.js +1 -0
- package/node_modules/@m0saic/dsl-file-formats/dist/cjs/m0/parseM0File.js +1 -0
- package/node_modules/@m0saic/dsl-file-formats/dist/cjs/m0/serializeM0File.js +3 -0
- package/node_modules/@m0saic/dsl-file-formats/dist/cjs/m0Validation.js +1 -0
- package/node_modules/@m0saic/dsl-file-formats/dist/cjs/m0c/index.js +1 -0
- package/node_modules/@m0saic/dsl-file-formats/dist/cjs/m0c/m0cFile.js +5 -0
- package/node_modules/@m0saic/dsl-file-formats/dist/cjs/m0p/index.js +1 -0
- package/node_modules/@m0saic/dsl-file-formats/dist/cjs/m0p/m0pFile.js +2 -0
- package/node_modules/@m0saic/dsl-file-formats/dist/cjs/m0v/index.js +1 -0
- package/node_modules/@m0saic/dsl-file-formats/dist/cjs/m0v/m0vFile.js +2 -0
- package/node_modules/@m0saic/dsl-file-formats/dist/cjs/types.js +1 -0
- package/node_modules/@m0saic/dsl-file-formats/dist/cjs/validate/index.js +1 -0
- package/node_modules/@m0saic/dsl-file-formats/dist/cjs/validate/types.js +1 -0
- package/node_modules/@m0saic/dsl-file-formats/dist/cjs/validate/validateFill.js +1 -0
- package/node_modules/@m0saic/dsl-file-formats/dist/cjs/validate/validateInsets.js +1 -0
- package/node_modules/@m0saic/dsl-file-formats/dist/cjs/validate/validateLabels.js +1 -0
- package/node_modules/@m0saic/dsl-file-formats/dist/cjs/validate/validatePack.js +1 -0
- package/node_modules/@m0saic/dsl-file-formats/package.json +14 -0
- package/node_modules/@m0saic/dsl-stdlib/LICENSE +201 -0
- package/node_modules/@m0saic/dsl-stdlib/NOTICE +13 -0
- package/node_modules/@m0saic/dsl-stdlib/README.md +388 -0
- package/node_modules/@m0saic/dsl-stdlib/dist/cjs/builders/_internal/barSplit.js +1 -0
- package/node_modules/@m0saic/dsl-stdlib/dist/cjs/builders/_internal/packLeafRects.js +1 -0
- package/node_modules/@m0saic/dsl-stdlib/dist/cjs/builders/aspectFit.js +1 -0
- package/node_modules/@m0saic/dsl-stdlib/dist/cjs/builders/aspectSafeGrid.js +1 -0
- package/node_modules/@m0saic/dsl-stdlib/dist/cjs/builders/bakeInsets.js +1 -0
- package/node_modules/@m0saic/dsl-stdlib/dist/cjs/builders/compactDocument.js +1 -0
- package/node_modules/@m0saic/dsl-stdlib/dist/cjs/builders/compactLossless.js +1 -0
- package/node_modules/@m0saic/dsl-stdlib/dist/cjs/builders/comparison.js +1 -0
- package/node_modules/@m0saic/dsl-stdlib/dist/cjs/builders/container.js +1 -0
- package/node_modules/@m0saic/dsl-stdlib/dist/cjs/builders/equalSplit.js +1 -0
- package/node_modules/@m0saic/dsl-stdlib/dist/cjs/builders/golden.js +1 -0
- package/node_modules/@m0saic/dsl-stdlib/dist/cjs/builders/grid.js +1 -0
- package/node_modules/@m0saic/dsl-stdlib/dist/cjs/builders/index.js +1 -0
- package/node_modules/@m0saic/dsl-stdlib/dist/cjs/builders/placeInsetRects.js +1 -0
- package/node_modules/@m0saic/dsl-stdlib/dist/cjs/builders/placeOptimizedRects.js +1 -0
- package/node_modules/@m0saic/dsl-stdlib/dist/cjs/builders/placeRect.js +1 -0
- package/node_modules/@m0saic/dsl-stdlib/dist/cjs/builders/placeRects.js +1 -0
- package/node_modules/@m0saic/dsl-stdlib/dist/cjs/builders/rankedList.js +1 -0
- package/node_modules/@m0saic/dsl-stdlib/dist/cjs/builders/rebuildRects.js +1 -0
- package/node_modules/@m0saic/dsl-stdlib/dist/cjs/builders/safeCanvas.js +1 -0
- package/node_modules/@m0saic/dsl-stdlib/dist/cjs/builders/scale.js +1 -0
- package/node_modules/@m0saic/dsl-stdlib/dist/cjs/builders/snapGrid.js +1 -0
- package/node_modules/@m0saic/dsl-stdlib/dist/cjs/builders/snapRectPrecision.js +1 -0
- package/node_modules/@m0saic/dsl-stdlib/dist/cjs/builders/spotlight.js +1 -0
- package/node_modules/@m0saic/dsl-stdlib/dist/cjs/builders/strip.js +1 -0
- package/node_modules/@m0saic/dsl-stdlib/dist/cjs/builders/weightedSplit.js +1 -0
- package/node_modules/@m0saic/dsl-stdlib/dist/cjs/builders/weightedTokens.js +1 -0
- package/node_modules/@m0saic/dsl-stdlib/dist/cjs/constructors/index.js +1 -0
- package/node_modules/@m0saic/dsl-stdlib/dist/cjs/constructors/toM0FileText.js +1 -0
- package/node_modules/@m0saic/dsl-stdlib/dist/cjs/constructors/toM0String.js +4 -0
- package/node_modules/@m0saic/dsl-stdlib/dist/cjs/index.js +1 -0
- package/node_modules/@m0saic/dsl-stdlib/dist/cjs/libraries/barcode/barcodeChannels.js +1 -0
- package/node_modules/@m0saic/dsl-stdlib/dist/cjs/libraries/barcode/barcodeToBars.js +1 -0
- package/node_modules/@m0saic/dsl-stdlib/dist/cjs/libraries/barcode/barcodeToM0.js +1 -0
- package/node_modules/@m0saic/dsl-stdlib/dist/cjs/libraries/barcode/barcodeToM0c.js +1 -0
- package/node_modules/@m0saic/dsl-stdlib/dist/cjs/libraries/barcode/barcodeToRects.js +1 -0
- package/node_modules/@m0saic/dsl-stdlib/dist/cjs/libraries/barcode/code128.js +1 -0
- package/node_modules/@m0saic/dsl-stdlib/dist/cjs/libraries/barcode/ean13.js +1 -0
- package/node_modules/@m0saic/dsl-stdlib/dist/cjs/libraries/barcode/eanShared.js +1 -0
- package/node_modules/@m0saic/dsl-stdlib/dist/cjs/libraries/barcode/index.js +1 -0
- package/node_modules/@m0saic/dsl-stdlib/dist/cjs/libraries/barcode/types.js +1 -0
- package/node_modules/@m0saic/dsl-stdlib/dist/cjs/libraries/barcode/upca.js +1 -0
- package/node_modules/@m0saic/dsl-stdlib/dist/cjs/libraries/bitmap/binaryGridToM0.js +1 -0
- package/node_modules/@m0saic/dsl-stdlib/dist/cjs/libraries/bitmap/classifyPixels.js +1 -0
- package/node_modules/@m0saic/dsl-stdlib/dist/cjs/libraries/bitmap/despeckleGrid.js +1 -0
- package/node_modules/@m0saic/dsl-stdlib/dist/cjs/libraries/bitmap/index.js +1 -0
- package/node_modules/@m0saic/dsl-stdlib/dist/cjs/libraries/bitmap/labelAreas.js +1 -0
- package/node_modules/@m0saic/dsl-stdlib/dist/cjs/libraries/bitmap/types.js +1 -0
- package/node_modules/@m0saic/dsl-stdlib/dist/cjs/libraries/bitmap/visualSidecars.js +13 -0
- package/node_modules/@m0saic/dsl-stdlib/dist/cjs/libraries/index.js +1 -0
- package/node_modules/@m0saic/dsl-stdlib/dist/cjs/libraries/mask-shapes/index.js +1 -0
- package/node_modules/@m0saic/dsl-stdlib/dist/cjs/libraries/qr/encoder.js +1 -0
- package/node_modules/@m0saic/dsl-stdlib/dist/cjs/libraries/qr/index.js +1 -0
- package/node_modules/@m0saic/dsl-stdlib/dist/cjs/libraries/qr/mask.js +1 -0
- package/node_modules/@m0saic/dsl-stdlib/dist/cjs/libraries/qr/matrix.js +1 -0
- package/node_modules/@m0saic/dsl-stdlib/dist/cjs/libraries/qr/packDarkCells.js +1 -0
- package/node_modules/@m0saic/dsl-stdlib/dist/cjs/libraries/qr/qrPayloads.js +2 -0
- package/node_modules/@m0saic/dsl-stdlib/dist/cjs/libraries/qr/qrToM0.js +1 -0
- package/node_modules/@m0saic/dsl-stdlib/dist/cjs/libraries/qr/qrToM0c.js +1 -0
- package/node_modules/@m0saic/dsl-stdlib/dist/cjs/libraries/qr/qrToMatrix.js +1 -0
- package/node_modules/@m0saic/dsl-stdlib/dist/cjs/libraries/qr/qrToRects.js +1 -0
- package/node_modules/@m0saic/dsl-stdlib/dist/cjs/libraries/qr/reedSolomon.js +1 -0
- package/node_modules/@m0saic/dsl-stdlib/dist/cjs/libraries/qr/types.js +1 -0
- package/node_modules/@m0saic/dsl-stdlib/dist/cjs/libraries/qr/version.js +1 -0
- package/node_modules/@m0saic/dsl-stdlib/dist/cjs/libraries/ranks/customRankSet.js +1 -0
- package/node_modules/@m0saic/dsl-stdlib/dist/cjs/libraries/ranks/customStableKeyRankSet.js +1 -0
- package/node_modules/@m0saic/dsl-stdlib/dist/cjs/libraries/ranks/generateRankSet.js +1 -0
- package/node_modules/@m0saic/dsl-stdlib/dist/cjs/libraries/ranks/generateStableKeyRankSet.js +1 -0
- package/node_modules/@m0saic/dsl-stdlib/dist/cjs/libraries/ranks/index.js +1 -0
- package/node_modules/@m0saic/dsl-stdlib/dist/cjs/libraries/ranks/rankFramesFromM0.js +1 -0
- package/node_modules/@m0saic/dsl-stdlib/dist/cjs/libraries/ranks/types.js +1 -0
- package/node_modules/@m0saic/dsl-stdlib/dist/cjs/libraries/svg/enumerateSvgToM0.js +1 -0
- package/node_modules/@m0saic/dsl-stdlib/dist/cjs/libraries/svg/extractGeometry.js +1 -0
- package/node_modules/@m0saic/dsl-stdlib/dist/cjs/libraries/svg/generateMasks.js +1 -0
- package/node_modules/@m0saic/dsl-stdlib/dist/cjs/libraries/svg/generateMasksByStableKey.js +1 -0
- package/node_modules/@m0saic/dsl-stdlib/dist/cjs/libraries/svg/index.js +1 -0
- package/node_modules/@m0saic/dsl-stdlib/dist/cjs/libraries/svg/inferGrid.js +1 -0
- package/node_modules/@m0saic/dsl-stdlib/dist/cjs/libraries/svg/parseSvg.js +1 -0
- package/node_modules/@m0saic/dsl-stdlib/dist/cjs/libraries/svg/rectsToM0.js +1 -0
- package/node_modules/@m0saic/dsl-stdlib/dist/cjs/libraries/svg/svgToM0.js +1 -0
- package/node_modules/@m0saic/dsl-stdlib/dist/cjs/libraries/svg/types.js +1 -0
- package/node_modules/@m0saic/dsl-stdlib/dist/cjs/mirroredTypes.js +1 -0
- package/node_modules/@m0saic/dsl-stdlib/dist/cjs/queries/evaluateM0.js +1 -0
- package/node_modules/@m0saic/dsl-stdlib/dist/cjs/queries/extractNodeByStableId.js +1 -0
- package/node_modules/@m0saic/dsl-stdlib/dist/cjs/queries/findFrames.js +1 -0
- package/node_modules/@m0saic/dsl-stdlib/dist/cjs/queries/getLayerCount.js +1 -0
- package/node_modules/@m0saic/dsl-stdlib/dist/cjs/queries/hasOverlayAtSpan.js +1 -0
- package/node_modules/@m0saic/dsl-stdlib/dist/cjs/queries/index.js +1 -0
- package/node_modules/@m0saic/dsl-stdlib/dist/cjs/queries/quantizationSpread.js +1 -0
- package/node_modules/@m0saic/dsl-stdlib/dist/cjs/queries/queryFrames.js +1 -0
- package/node_modules/@m0saic/dsl-stdlib/dist/cjs/queries/withinBounds.js +1 -0
- package/node_modules/@m0saic/dsl-stdlib/dist/cjs/transforms/_internal/constants.js +1 -0
- package/node_modules/@m0saic/dsl-stdlib/dist/cjs/transforms/_internal/index.js +1 -0
- package/node_modules/@m0saic/dsl-stdlib/dist/cjs/transforms/_internal/lexUtils.js +1 -0
- package/node_modules/@m0saic/dsl-stdlib/dist/cjs/transforms/_internal/output.js +1 -0
- package/node_modules/@m0saic/dsl-stdlib/dist/cjs/transforms/_internal/resolveSpanByStableId.js +1 -0
- package/node_modules/@m0saic/dsl-stdlib/dist/cjs/transforms/_internal/walkByLogicalIndex.js +1 -0
- package/node_modules/@m0saic/dsl-stdlib/dist/cjs/transforms/compose.js +1 -0
- package/node_modules/@m0saic/dsl-stdlib/dist/cjs/transforms/composed/measure/_internal/buildMeasureFragment.js +1 -0
- package/node_modules/@m0saic/dsl-stdlib/dist/cjs/transforms/composed/measure/index.js +1 -0
- package/node_modules/@m0saic/dsl-stdlib/dist/cjs/transforms/composed/measure/measureSplitByLogicalIndex.js +1 -0
- package/node_modules/@m0saic/dsl-stdlib/dist/cjs/transforms/composed/measure/measureSplitBySpan.js +1 -0
- package/node_modules/@m0saic/dsl-stdlib/dist/cjs/transforms/composed/measure/measureSplitByStableId.js +1 -0
- package/node_modules/@m0saic/dsl-stdlib/dist/cjs/transforms/composed/overlay/addOverlayToAllFrames.js +1 -0
- package/node_modules/@m0saic/dsl-stdlib/dist/cjs/transforms/composed/overlay/index.js +1 -0
- package/node_modules/@m0saic/dsl-stdlib/dist/cjs/transforms/composed/swap/index.js +1 -0
- package/node_modules/@m0saic/dsl-stdlib/dist/cjs/transforms/composed/swap/swapFramesByLogicalIndex.js +1 -0
- package/node_modules/@m0saic/dsl-stdlib/dist/cjs/transforms/index.js +1 -0
- package/node_modules/@m0saic/dsl-stdlib/dist/cjs/transforms/pipe.js +1 -0
- package/node_modules/@m0saic/dsl-stdlib/dist/cjs/transforms/primitives/frame/index.js +1 -0
- package/node_modules/@m0saic/dsl-stdlib/dist/cjs/transforms/primitives/frame/setFrameTypeByLogicalIndex.js +1 -0
- package/node_modules/@m0saic/dsl-stdlib/dist/cjs/transforms/primitives/overlay/addOverlayByLogicalIndex.js +1 -0
- package/node_modules/@m0saic/dsl-stdlib/dist/cjs/transforms/primitives/overlay/addOverlayBySpan.js +1 -0
- package/node_modules/@m0saic/dsl-stdlib/dist/cjs/transforms/primitives/overlay/addOverlayByStableId.js +1 -0
- package/node_modules/@m0saic/dsl-stdlib/dist/cjs/transforms/primitives/overlay/addOverlayLayer.js +1 -0
- package/node_modules/@m0saic/dsl-stdlib/dist/cjs/transforms/primitives/overlay/index.js +1 -0
- package/node_modules/@m0saic/dsl-stdlib/dist/cjs/transforms/primitives/overlay/removeOverlayByLogicalIndex.js +1 -0
- package/node_modules/@m0saic/dsl-stdlib/dist/cjs/transforms/primitives/overlay/removeOverlayBySpan.js +1 -0
- package/node_modules/@m0saic/dsl-stdlib/dist/cjs/transforms/primitives/overlay/removeOverlayByStableId.js +1 -0
- package/node_modules/@m0saic/dsl-stdlib/dist/cjs/transforms/primitives/overlay/removePureNullLayers.js +1 -0
- package/node_modules/@m0saic/dsl-stdlib/dist/cjs/transforms/primitives/overlay/wrapBelowByLogicalIndex.js +1 -0
- package/node_modules/@m0saic/dsl-stdlib/dist/cjs/transforms/primitives/replace/index.js +1 -0
- package/node_modules/@m0saic/dsl-stdlib/dist/cjs/transforms/primitives/replace/replaceNodeByLogicalIndex.js +1 -0
- package/node_modules/@m0saic/dsl-stdlib/dist/cjs/transforms/primitives/replace/replaceNodeBySpan.js +1 -0
- package/node_modules/@m0saic/dsl-stdlib/dist/cjs/transforms/primitives/replace/replaceNodeByStableId.js +1 -0
- package/node_modules/@m0saic/dsl-stdlib/dist/cjs/transforms/primitives/split/_internal/buildSplitFragment.js +1 -0
- package/node_modules/@m0saic/dsl-stdlib/dist/cjs/transforms/primitives/split/index.js +1 -0
- package/node_modules/@m0saic/dsl-stdlib/dist/cjs/transforms/primitives/split/reduceSplitCounts.js +1 -0
- package/node_modules/@m0saic/dsl-stdlib/dist/cjs/transforms/primitives/split/splitByLogicalIndex.js +1 -0
- package/node_modules/@m0saic/dsl-stdlib/dist/cjs/transforms/primitives/split/splitBySpan.js +1 -0
- package/node_modules/@m0saic/dsl-stdlib/dist/cjs/transforms/primitives/split/splitByStableId.js +1 -0
- package/node_modules/@m0saic/dsl-stdlib/dist/cjs/transforms/primitives/tile/index.js +1 -0
- package/node_modules/@m0saic/dsl-stdlib/dist/cjs/transforms/primitives/tile/setTileTypeBySpan.js +1 -0
- package/node_modules/@m0saic/dsl-stdlib/dist/cjs/transforms/primitives/tile/setTileTypeByStableId.js +1 -0
- package/node_modules/@m0saic/dsl-stdlib/dist/cjs/transforms/rewriteOverlayChains.js +1 -0
- package/node_modules/@m0saic/dsl-stdlib/dist/cjs/transforms/types.js +1 -0
- package/node_modules/@m0saic/dsl-stdlib/dist/cjs/transforms/unified/addOverlay.js +1 -0
- package/node_modules/@m0saic/dsl-stdlib/dist/cjs/transforms/unified/index.js +1 -0
- package/node_modules/@m0saic/dsl-stdlib/dist/cjs/transforms/unified/measureSplit.js +1 -0
- package/node_modules/@m0saic/dsl-stdlib/dist/cjs/transforms/unified/removeOverlay.js +1 -0
- package/node_modules/@m0saic/dsl-stdlib/dist/cjs/transforms/unified/replace.js +1 -0
- package/node_modules/@m0saic/dsl-stdlib/dist/cjs/transforms/unified/setTileType.js +1 -0
- package/node_modules/@m0saic/dsl-stdlib/dist/cjs/transforms/unified/split.js +1 -0
- package/node_modules/@m0saic/dsl-stdlib/dist/cjs/transforms/unified/swapFrames.js +1 -0
- package/node_modules/@m0saic/dsl-stdlib/dist/cjs/transforms/withHistory.js +1 -0
- package/node_modules/@m0saic/dsl-stdlib/dist/cjs/transforms/withInverse.js +1 -0
- package/node_modules/@m0saic/dsl-stdlib/dist/cjs/types.js +1 -0
- package/node_modules/@m0saic/dsl-stdlib/dist/cjs/vendor/abs-svg-path/index.js +1 -0
- package/node_modules/@m0saic/dsl-stdlib/dist/cjs/vendor/is-svg-path/index.js +1 -0
- package/node_modules/@m0saic/dsl-stdlib/dist/cjs/vendor/normalize-svg-path/index.js +1 -0
- package/node_modules/@m0saic/dsl-stdlib/dist/cjs/vendor/parse-svg-path/index.js +1 -0
- package/node_modules/@m0saic/dsl-stdlib/dist/cjs/vendor/svg-arc-to-cubic-bezier/index.js +1 -0
- package/node_modules/@m0saic/dsl-stdlib/dist/cjs/vendor/svg-path-bounds/index.js +1 -0
- package/node_modules/@m0saic/dsl-stdlib/package.json +14 -0
- package/node_modules/@m0saic/momo-types/LICENSE +201 -0
- package/node_modules/@m0saic/momo-types/NOTICE +13 -0
- package/node_modules/@m0saic/momo-types/dist/agent.js +6 -0
- package/node_modules/@m0saic/momo-types/dist/candidate.js +1 -0
- package/node_modules/@m0saic/momo-types/dist/category.js +1 -0
- package/node_modules/@m0saic/momo-types/dist/context.js +1 -0
- package/node_modules/@m0saic/momo-types/dist/index.js +1 -0
- package/node_modules/@m0saic/momo-types/dist/party.js +1 -0
- package/node_modules/@m0saic/momo-types/dist/region.js +1 -0
- package/node_modules/@m0saic/momo-types/dist/scoring.js +1 -0
- package/node_modules/@m0saic/momo-types/dist/session-summary.js +1 -0
- package/node_modules/@m0saic/momo-types/dist/session.js +1 -0
- package/node_modules/@m0saic/momo-types/package.json +16 -0
- package/node_modules/@m0saic/platform/LICENSE +201 -0
- package/node_modules/@m0saic/platform/NOTICE +13 -0
- package/node_modules/@m0saic/platform/dist/cjs/asset/index.js +1 -0
- package/node_modules/@m0saic/platform/dist/cjs/asset/resolveAsset.js +1 -0
- package/node_modules/@m0saic/platform/dist/cjs/asset/slugifyAssetKey.js +1 -0
- package/node_modules/@m0saic/platform/dist/cjs/bridges/protocol.js +1 -0
- package/node_modules/@m0saic/platform/dist/cjs/communityM/claimOrder.js +1 -0
- package/node_modules/@m0saic/platform/dist/cjs/communityM/index.js +1 -0
- package/node_modules/@m0saic/platform/dist/cjs/communityM/mTiles.generated.js +1 -0
- package/node_modules/@m0saic/platform/dist/cjs/communityM/node/hostCommunityDir.js +1 -0
- package/node_modules/@m0saic/platform/dist/cjs/communityM/node/index.js +1 -0
- package/node_modules/@m0saic/platform/dist/cjs/communityM/node/loadCommunityManifestFromDir.js +1 -0
- package/node_modules/@m0saic/platform/dist/cjs/communityM/node/validateCommunityPiece.js +1 -0
- package/node_modules/@m0saic/platform/dist/cjs/communityM/parseCommunityMManifest.js +1 -0
- package/node_modules/@m0saic/platform/dist/cjs/communityM/placeholderArt.js +1 -0
- package/node_modules/@m0saic/platform/dist/cjs/communityM/tileState.js +1 -0
- package/node_modules/@m0saic/platform/dist/cjs/ffexpr/balance.js +1 -0
- package/node_modules/@m0saic/platform/dist/cjs/ffexpr/compile.js +1 -0
- package/node_modules/@m0saic/platform/dist/cjs/ffexpr/ffmpeg.js +1 -0
- package/node_modules/@m0saic/platform/dist/cjs/ffexpr/guards.js +1 -0
- package/node_modules/@m0saic/platform/dist/cjs/ffexpr/index.js +1 -0
- package/node_modules/@m0saic/platform/dist/cjs/ffexpr/macros.js +1 -0
- package/node_modules/@m0saic/platform/dist/cjs/ffexpr/overlay.js +1 -0
- package/node_modules/@m0saic/platform/dist/cjs/ffexpr/time.js +1 -0
- package/node_modules/@m0saic/platform/dist/cjs/ffexpr/window.js +1 -0
- package/node_modules/@m0saic/platform/dist/cjs/host-connections/fileConnectionResolver.js +1 -0
- package/node_modules/@m0saic/platform/dist/cjs/host-connections/index.js +1 -0
- package/node_modules/@m0saic/platform/dist/cjs/index.js +1 -0
- package/node_modules/@m0saic/platform/dist/cjs/jobs/index.js +1 -0
- package/node_modules/@m0saic/platform/dist/cjs/jobs/types.js +1 -0
- package/node_modules/@m0saic/platform/dist/cjs/language/index.js +1 -0
- package/node_modules/@m0saic/platform/dist/cjs/language/language.js +1 -0
- package/node_modules/@m0saic/platform/dist/cjs/media/expandFolder.js +1 -0
- package/node_modules/@m0saic/platform/dist/cjs/media/index.js +1 -0
- package/node_modules/@m0saic/platform/dist/cjs/mosaic/absolutizeManifestPathsWeb.js +1 -0
- package/node_modules/@m0saic/platform/dist/cjs/mosaic/edit/applyRectEditToMosaicDocument.js +1 -0
- package/node_modules/@m0saic/platform/dist/cjs/mosaic/edit/bakeDocumentInsets.js +1 -0
- package/node_modules/@m0saic/platform/dist/cjs/mosaic/edit/index.js +1 -0
- package/node_modules/@m0saic/platform/dist/cjs/mosaic/edit/rebuildDocumentGeometry.js +1 -0
- package/node_modules/@m0saic/platform/dist/cjs/mosaic/flatten/flattenMosaicDocument.js +1 -0
- package/node_modules/@m0saic/platform/dist/cjs/mosaic/flatten/index.js +1 -0
- package/node_modules/@m0saic/platform/dist/cjs/mosaic/layoutFloors/index.js +1 -0
- package/node_modules/@m0saic/platform/dist/cjs/mosaic/layoutFloors/layoutFloors.js +1 -0
- package/node_modules/@m0saic/platform/dist/cjs/mosaic/loadMosaicDocument.js +1 -0
- package/node_modules/@m0saic/platform/dist/cjs/mosaic/loadMosaicXDocument.js +1 -0
- package/node_modules/@m0saic/platform/dist/cjs/mosaic/outputKind/index.js +1 -0
- package/node_modules/@m0saic/platform/dist/cjs/mosaic/outputKind/outputKind.js +1 -0
- package/node_modules/@m0saic/platform/dist/cjs/mosaic/propBindings/index.js +1 -0
- package/node_modules/@m0saic/platform/dist/cjs/mosaic/propBindings/propBindings.js +1 -0
- package/node_modules/@m0saic/platform/dist/cjs/mosaic/serializeMosaicDocument.js +1 -0
- package/node_modules/@m0saic/platform/dist/cjs/mosaic/validate/index.js +1 -0
- package/node_modules/@m0saic/platform/dist/cjs/mosaic/validate/validateAssetManifest.js +1 -0
- package/node_modules/@m0saic/platform/dist/cjs/mosaic/validate/validateLavfiSource.js +1 -0
- package/node_modules/@m0saic/platform/dist/cjs/mosaic/validate/validateMosaicDocument.js +1 -0
- package/node_modules/@m0saic/platform/dist/cjs/mosaic/validate/validateMosaicOutput.js +1 -0
- package/node_modules/@m0saic/platform/dist/cjs/mosaic/validate/validateMosaicXDocument.js +1 -0
- package/node_modules/@m0saic/platform/dist/cjs/mosaic/validate/validateSerializedMosaicDocument.js +1 -0
- package/node_modules/@m0saic/platform/dist/cjs/mosaic/validate/validateSources.js +1 -0
- package/node_modules/@m0saic/platform/dist/cjs/mosaic/validate/validateVariableSchema.js +1 -0
- package/node_modules/@m0saic/platform/dist/cjs/output/index.js +1 -0
- package/node_modules/@m0saic/platform/dist/cjs/output/validateOutputConfig.js +1 -0
- package/node_modules/@m0saic/platform/dist/cjs/paths/index.js +1 -0
- package/node_modules/@m0saic/platform/dist/cjs/paths/m0saicRoot.js +1 -0
- package/node_modules/@m0saic/platform/dist/cjs/paths/tempPrefix.js +1 -0
- package/node_modules/@m0saic/platform/dist/cjs/secrets/envSecretResolver.js +1 -0
- package/node_modules/@m0saic/platform/dist/cjs/secrets/index.js +1 -0
- package/node_modules/@m0saic/platform/dist/cjs/secrets/keychainSecretResolver.js +1 -0
- package/node_modules/@m0saic/platform/dist/cjs/secrets/schemeSecretResolver.js +1 -0
- package/node_modules/@m0saic/platform/dist/cjs/share/index.js +1 -0
- package/node_modules/@m0saic/platform/dist/cjs/share/mosaicxLink.js +1 -0
- package/node_modules/@m0saic/platform/dist/cjs/share/payloadCodec.js +1 -0
- package/node_modules/@m0saic/platform/dist/cjs/share/portableProps.js +1 -0
- package/node_modules/@m0saic/platform/dist/cjs/share/shareQuery.js +1 -0
- package/node_modules/@m0saic/platform/dist/cjs/system/index.js +1 -0
- package/node_modules/@m0saic/platform/dist/cjs/system/systemInfo.js +1 -0
- package/node_modules/@m0saic/platform/dist/cjs/telemetry/hostFingerprint.js +1 -0
- package/node_modules/@m0saic/platform/dist/cjs/telemetry/index.js +1 -0
- package/node_modules/@m0saic/platform/dist/cjs/telemetry/lifecycle.js +1 -0
- package/node_modules/@m0saic/platform/dist/cjs/telemetry/machineFactor.js +1 -0
- package/node_modules/@m0saic/platform/dist/cjs/telemetry/outbox.js +2 -0
- package/node_modules/@m0saic/platform/dist/cjs/telemetry/paths.js +1 -0
- package/node_modules/@m0saic/platform/dist/cjs/telemetry/preview.js +1 -0
- package/node_modules/@m0saic/platform/dist/cjs/telemetry/recordStore.js +3 -0
- package/node_modules/@m0saic/platform/dist/cjs/telemetry/recorder.js +1 -0
- package/node_modules/@m0saic/platform/dist/cjs/telemetry/redactor.js +1 -0
- package/node_modules/@m0saic/platform/dist/cjs/telemetry/renderRecord.js +1 -0
- package/node_modules/@m0saic/platform/dist/cjs/telemetry/rollup.js +1 -0
- package/node_modules/@m0saic/platform/dist/cjs/telemetry/scrambler.js +1 -0
- package/node_modules/@m0saic/platform/dist/cjs/telemetry/sender.js +1 -0
- package/node_modules/@m0saic/platform/dist/cjs/telemetry/settingsStore.js +2 -0
- package/node_modules/@m0saic/platform/dist/cjs/telemetry/status.js +1 -0
- package/node_modules/@m0saic/platform/dist/cjs/telemetry/summary.js +1 -0
- package/node_modules/@m0saic/platform/dist/cjs/telemetry/upstreamDefaults.js +1 -0
- package/node_modules/@m0saic/platform/dist/cjs/telemetry/usageRecorder.js +1 -0
- package/node_modules/@m0saic/platform/dist/cjs/telemetry/usageStore.js +3 -0
- package/node_modules/@m0saic/platform/dist/cjs/template-repos/depAllowlist.js +1 -0
- package/node_modules/@m0saic/platform/dist/cjs/template-repos/hostFirstResolution.js +1 -0
- package/node_modules/@m0saic/platform/dist/cjs/template-repos/index.js +1 -0
- package/node_modules/@m0saic/platform/dist/cjs/template-repos/loadTemplateRepoFromPath.js +6 -0
- package/node_modules/@m0saic/platform/dist/cjs/template-repos/resolveTemplatePreview.js +1 -0
- package/node_modules/@m0saic/platform/dist/cjs/template-repos/validateTemplateRoles.js +1 -0
- package/node_modules/@m0saic/platform/dist/cjs/templateId/index.js +1 -0
- package/node_modules/@m0saic/platform/dist/cjs/templateId/parseTemplateId.js +1 -0
- package/node_modules/@m0saic/platform/dist/cjs/toolchain/childEnv.js +1 -0
- package/node_modules/@m0saic/platform/dist/cjs/toolchain/defaultBinaries.js +1 -0
- package/node_modules/@m0saic/platform/dist/cjs/toolchain/ffmpeg/baseline.json +211 -0
- package/node_modules/@m0saic/platform/dist/cjs/toolchain/ffmpeg/index.js +1 -0
- package/node_modules/@m0saic/platform/dist/cjs/toolchain/ffmpeg/install.js +2 -0
- package/node_modules/@m0saic/platform/dist/cjs/toolchain/ffmpeg/release-dates.json +387 -0
- package/node_modules/@m0saic/platform/dist/cjs/toolchain/goldenFfmpeg.js +7 -0
- package/node_modules/@m0saic/platform/dist/cjs/toolchain/index.js +1 -0
- package/node_modules/@m0saic/platform/dist/cjs/toolchain/liveChildren.js +1 -0
- package/node_modules/@m0saic/platform/dist/cjs/toolchain/metadata.js +2 -0
- package/node_modules/@m0saic/platform/dist/cjs/toolchain/probe.js +1 -0
- package/node_modules/@m0saic/platform/dist/cjs/toolchain/probeChild.js +3 -0
- package/node_modules/@m0saic/platform/dist/cjs/toolchain/versionCompare.js +1 -0
- package/node_modules/@m0saic/platform/package.json +117 -0
- package/node_modules/@m0saic/product/LICENSE +7 -0
- package/node_modules/@m0saic/product/dist/communityRelease.js +1 -0
- package/node_modules/@m0saic/product/dist/freeTierLicense.js +1 -0
- package/node_modules/@m0saic/product/dist/index.js +1 -0
- package/node_modules/@m0saic/product/dist/licenseToken.js +1 -0
- package/node_modules/@m0saic/product/dist/postRenderWrapper.js +1 -0
- package/node_modules/@m0saic/product/dist/publicKeys.js +1 -0
- package/node_modules/@m0saic/product/dist/revokedKeys.js +1 -0
- package/node_modules/@m0saic/product/dist/upstreamDefaults.js +1 -0
- package/node_modules/@m0saic/product/package.json +6 -0
- package/node_modules/@m0saic/template-utils/LICENSE +201 -0
- package/node_modules/@m0saic/template-utils/NOTICE +13 -0
- package/node_modules/@m0saic/template-utils/README.md +3 -0
- package/node_modules/@m0saic/template-utils/assets/core/m-33_1024x1024.png +0 -0
- package/node_modules/@m0saic/template-utils/assets/core/placeholder-blue.png +0 -0
- package/node_modules/@m0saic/template-utils/assets/core/placeholder-gray.png +0 -0
- package/node_modules/@m0saic/template-utils/assets/core/placeholder-green.png +0 -0
- package/node_modules/@m0saic/template-utils/assets/core/placeholder-red.png +0 -0
- package/node_modules/@m0saic/template-utils/assets/core/placeholder.mp4 +0 -0
- package/node_modules/@m0saic/template-utils/assets/starter/avatar.svg +1 -0
- package/node_modules/@m0saic/template-utils/assets/starter/facecam.svg +1 -0
- package/node_modules/@m0saic/template-utils/assets/starter/landscape.svg +1 -0
- package/node_modules/@m0saic/template-utils/assets/starter/logo.svg +1 -0
- package/node_modules/@m0saic/template-utils/assets/starter/portrait.svg +1 -0
- package/node_modules/@m0saic/template-utils/assets/starter/square.svg +1 -0
- package/node_modules/@m0saic/template-utils/dist/anim/camera.js +1 -0
- package/node_modules/@m0saic/template-utils/dist/anim/index.js +1 -0
- package/node_modules/@m0saic/template-utils/dist/anim/keyframes.js +1 -0
- package/node_modules/@m0saic/template-utils/dist/anim/motion.js +1 -0
- package/node_modules/@m0saic/template-utils/dist/anim/timing.js +1 -0
- package/node_modules/@m0saic/template-utils/dist/anim/tracks.js +1 -0
- package/node_modules/@m0saic/template-utils/dist/assertTiming.js +1 -0
- package/node_modules/@m0saic/template-utils/dist/brand/brandGlyphs.js +1 -0
- package/node_modules/@m0saic/template-utils/dist/brand/hello-world/field-data.js +1 -0
- package/node_modules/@m0saic/template-utils/dist/brand/hello-world/helloWorld.js +1 -0
- package/node_modules/@m0saic/template-utils/dist/brand/hello-world/index.js +1 -0
- package/node_modules/@m0saic/template-utils/dist/brand/hello-world/m-rects.js +1 -0
- package/node_modules/@m0saic/template-utils/dist/brand/hello-world/wordmark.js +1 -0
- package/node_modules/@m0saic/template-utils/dist/brand/index.js +1 -0
- package/node_modules/@m0saic/template-utils/dist/brand/onboarding-cover/index.js +1 -0
- package/node_modules/@m0saic/template-utils/dist/brand/onboarding-cover/onboarding-cover.js +1 -0
- package/node_modules/@m0saic/template-utils/dist/brand/onboarding-cover/screencap-grid-cover-assets.js +1 -0
- package/node_modules/@m0saic/template-utils/dist/brand/onboarding-cover/screencap-grid-cover.js +1 -0
- package/node_modules/@m0saic/template-utils/dist/brand/onboarding-cover/screencap-grid-tutorial.js +1 -0
- package/node_modules/@m0saic/template-utils/dist/brand/onboarding-cover/theme-tokens.js +1 -0
- package/node_modules/@m0saic/template-utils/dist/codes/barcodeToRenderable.js +1 -0
- package/node_modules/@m0saic/template-utils/dist/codes/index.js +1 -0
- package/node_modules/@m0saic/template-utils/dist/codes/makeQrEyeChildDoc.js +1 -0
- package/node_modules/@m0saic/template-utils/dist/codes/qrStampExpressions.js +1 -0
- package/node_modules/@m0saic/template-utils/dist/codes/qrToRenderable.js +1 -0
- package/node_modules/@m0saic/template-utils/dist/codes/stampQr.js +1 -0
- package/node_modules/@m0saic/template-utils/dist/codes/styledQr.js +1 -0
- package/node_modules/@m0saic/template-utils/dist/data/connectionOptionsRegistry.js +1 -0
- package/node_modules/@m0saic/template-utils/dist/data/hostConnectionRegistry.js +1 -0
- package/node_modules/@m0saic/template-utils/dist/data/index.js +1 -0
- package/node_modules/@m0saic/template-utils/dist/data/upstream.js +1 -0
- package/node_modules/@m0saic/template-utils/dist/deprecated/gridCellInset.js +1 -0
- package/node_modules/@m0saic/template-utils/dist/deprecated/index.js +1 -0
- package/node_modules/@m0saic/template-utils/dist/deprecation.js +1 -0
- package/node_modules/@m0saic/template-utils/dist/dev/index.js +1 -0
- package/node_modules/@m0saic/template-utils/dist/dev/layoutFingerprintFs.js +3 -0
- package/node_modules/@m0saic/template-utils/dist/dev/renderTemplatePackToMosaicFiles.js +1 -0
- package/node_modules/@m0saic/template-utils/dist/dev/renderTemplateToMosaicFile.js +2 -0
- package/node_modules/@m0saic/template-utils/dist/ffexpr/index.js +1 -0
- package/node_modules/@m0saic/template-utils/dist/forensic/alphaPerCell.js +1 -0
- package/node_modules/@m0saic/template-utils/dist/forensic/bch.js +1 -0
- package/node_modules/@m0saic/template-utils/dist/forensic/decoder.js +1 -0
- package/node_modules/@m0saic/template-utils/dist/forensic/encoder.js +1 -0
- package/node_modules/@m0saic/template-utils/dist/forensic/gf.js +1 -0
- package/node_modules/@m0saic/template-utils/dist/forensic/index.js +1 -0
- package/node_modules/@m0saic/template-utils/dist/forensic/mask.js +1 -0
- package/node_modules/@m0saic/template-utils/dist/forensic/slotPlanner.js +1 -0
- package/node_modules/@m0saic/template-utils/dist/geometry/index.js +1 -0
- package/node_modules/@m0saic/template-utils/dist/geometry/polyline.js +1 -0
- package/node_modules/@m0saic/template-utils/dist/geometry-contract/assertGeometry.js +3 -0
- package/node_modules/@m0saic/template-utils/dist/geometry-contract/checkDocGeometry.js +1 -0
- package/node_modules/@m0saic/template-utils/dist/geometry-contract/frameResolution.js +1 -0
- package/node_modules/@m0saic/template-utils/dist/geometry-contract/index.js +1 -0
- package/node_modules/@m0saic/template-utils/dist/geometry-contract/latticeRelations.js +1 -0
- package/node_modules/@m0saic/template-utils/dist/geometry-contract/layoutConstraint.js +2 -0
- package/node_modules/@m0saic/template-utils/dist/geometry-contract/types.js +1 -0
- package/node_modules/@m0saic/template-utils/dist/geometry-contract/violationWireframe.js +1 -0
- package/node_modules/@m0saic/template-utils/dist/geometry-contract/withGeometryContract.js +3 -0
- package/node_modules/@m0saic/template-utils/dist/geometry-contract/withLayoutContract.js +5 -0
- package/node_modules/@m0saic/template-utils/dist/index.js +1 -0
- package/node_modules/@m0saic/template-utils/dist/lattice/index.js +1 -0
- package/node_modules/@m0saic/template-utils/dist/lattice/latticeReport.js +1 -0
- package/node_modules/@m0saic/template-utils/dist/lattice/smooth.js +1 -0
- package/node_modules/@m0saic/template-utils/dist/lattice/splitCounts.js +1 -0
- package/node_modules/@m0saic/template-utils/dist/layout/index.js +1 -0
- package/node_modules/@m0saic/template-utils/dist/layout/latticeCellInset.js +1 -0
- package/node_modules/@m0saic/template-utils/dist/layout/parseMosaicLayout.js +1 -0
- package/node_modules/@m0saic/template-utils/dist/layout/placeInsetPieces.js +1 -0
- package/node_modules/@m0saic/template-utils/dist/layout/placeOptimizedPieces.js +1 -0
- package/node_modules/@m0saic/template-utils/dist/m0saic/assetPath.js +1 -0
- package/node_modules/@m0saic/template-utils/dist/m0saic/build-overlay-stack.js +1 -0
- package/node_modules/@m0saic/template-utils/dist/m0saic/index.js +1 -0
- package/node_modules/@m0saic/template-utils/dist/m0saic/loadSession.js +1 -0
- package/node_modules/@m0saic/template-utils/dist/m0saic/readLayoutFile.js +1 -0
- package/node_modules/@m0saic/template-utils/dist/m0saic/utils.js +1 -0
- package/node_modules/@m0saic/template-utils/dist/media/buildStepNames.js +1 -0
- package/node_modules/@m0saic/template-utils/dist/media/canvasRegions.js +1 -0
- package/node_modules/@m0saic/template-utils/dist/media/computeFrameCount.js +1 -0
- package/node_modules/@m0saic/template-utils/dist/media/defaultMedia.js +1 -0
- package/node_modules/@m0saic/template-utils/dist/media/determineMediaType.js +1 -0
- package/node_modules/@m0saic/template-utils/dist/media/index.js +1 -0
- package/node_modules/@m0saic/template-utils/dist/media/timeRanges.js +1 -0
- package/node_modules/@m0saic/template-utils/dist/media/timedCues.js +1 -0
- package/node_modules/@m0saic/template-utils/dist/primitives/girdlines.js +1 -0
- package/node_modules/@m0saic/template-utils/dist/primitives/index.js +1 -0
- package/node_modules/@m0saic/template-utils/dist/primitives/lavfiStrip.js +1 -0
- package/node_modules/@m0saic/template-utils/dist/primitives/transparentSlot.js +1 -0
- package/node_modules/@m0saic/template-utils/dist/print/compliance.js +1 -0
- package/node_modules/@m0saic/template-utils/dist/print/dieline.js +1 -0
- package/node_modules/@m0saic/template-utils/dist/print/dpiCheck.js +1 -0
- package/node_modules/@m0saic/template-utils/dist/print/index.js +1 -0
- package/node_modules/@m0saic/template-utils/dist/print/latticeSnap.js +1 -0
- package/node_modules/@m0saic/template-utils/dist/print/units.js +1 -0
- package/node_modules/@m0saic/template-utils/dist/processRegistry.js +1 -0
- package/node_modules/@m0saic/template-utils/dist/render/autoCompactRenderable.js +1 -0
- package/node_modules/@m0saic/template-utils/dist/render/createDesignContext.js +1 -0
- package/node_modules/@m0saic/template-utils/dist/render/finalizeRenderable.js +1 -0
- package/node_modules/@m0saic/template-utils/dist/render/index.js +1 -0
- package/node_modules/@m0saic/template-utils/dist/render/renderNestedTemplate.js +1 -0
- package/node_modules/@m0saic/template-utils/dist/render/renderTemplateCover.js +1 -0
- package/node_modules/@m0saic/template-utils/dist/render/renderTemplateLite.js +1 -0
- package/node_modules/@m0saic/template-utils/dist/render/renderTemplateToRenderableFile.js +3 -0
- package/node_modules/@m0saic/template-utils/dist/render/renderTemplateTutorial.js +1 -0
- package/node_modules/@m0saic/template-utils/dist/render/stampOutput.js +1 -0
- package/node_modules/@m0saic/template-utils/dist/seededRng.js +1 -0
- package/node_modules/@m0saic/template-utils/dist/sources/index.js +1 -0
- package/node_modules/@m0saic/template-utils/dist/sources/makeColorTile.js +1 -0
- package/node_modules/@m0saic/template-utils/dist/sources/makeErrorMosaic.js +2 -0
- package/node_modules/@m0saic/template-utils/dist/sources/makeStubMosaic.js +1 -0
- package/node_modules/@m0saic/template-utils/dist/sources/solidBackground.js +1 -0
- package/node_modules/@m0saic/template-utils/dist/sources/svgTextSource.js +1 -0
- package/node_modules/@m0saic/template-utils/dist/stamp/index.js +1 -0
- package/node_modules/@m0saic/template-utils/dist/stamp/stampLayout.js +1 -0
- package/node_modules/@m0saic/template-utils/dist/stamp/stampOnMedia.js +1 -0
- package/node_modules/@m0saic/template-utils/dist/stamp/stampWindows.js +1 -0
- package/node_modules/@m0saic/template-utils/dist/template/auditDefaultProps.js +3 -0
- package/node_modules/@m0saic/template-utils/dist/template/auditRenderedTemplate.js +5 -0
- package/node_modules/@m0saic/template-utils/dist/template/auditRepoConventions.js +1 -0
- package/node_modules/@m0saic/template-utils/dist/template/auditSchemaConventions.js +1 -0
- package/node_modules/@m0saic/template-utils/dist/template/defineMosaicTemplate.js +1 -0
- package/node_modules/@m0saic/template-utils/dist/template/definePropsSchema.js +1 -0
- package/node_modules/@m0saic/template-utils/dist/template/index.js +1 -0
- package/node_modules/@m0saic/template-utils/dist/template/layoutFingerprintFile.js +1 -0
- package/node_modules/@m0saic/template-utils/dist/template/resolveTemplateOutputHints.js +1 -0
- package/node_modules/@m0saic/template-utils/dist/template/templateConventions.js +6 -0
- package/node_modules/@m0saic/template-utils/dist/template/templateOriginScope.js +1 -0
- package/node_modules/@m0saic/template-utils/dist/template/templateRegistry.js +3 -0
- package/node_modules/@m0saic/template-utils/dist/template/validateTemplateProps.js +1 -0
- package/node_modules/@m0saic/template-utils/dist/text/fitText.js +10 -0
- package/node_modules/@m0saic/template-utils/dist/text/index.js +1 -0
- package/node_modules/@m0saic/template-utils/dist/text/textToPath.js +1 -0
- package/node_modules/@m0saic/template-utils/dist/text/wrapText.js +1 -0
- package/node_modules/@m0saic/template-utils/dist/theming/index.js +1 -0
- package/node_modules/@m0saic/template-utils/dist/theming/resolveThemeTokens.js +1 -0
- package/node_modules/@m0saic/template-utils/dist/theming/theming.js +1 -0
- package/node_modules/@m0saic/template-utils/dist/transitions.js +1 -0
- package/node_modules/@m0saic/template-utils/package.json +6 -0
- package/node_modules/@m0saic/templates/LICENSE +13 -0
- package/node_modules/@m0saic/templates/dist/freeze.js +8 -0
- package/node_modules/@m0saic/templates/dist/index.js +1 -0
- package/node_modules/@m0saic/templates/dist/m0saic/_shared/onboarding-cover.js +1 -0
- package/node_modules/@m0saic/templates/dist/m0saic/_shared/raster.js +1 -0
- package/node_modules/@m0saic/templates/dist/m0saic/_shared/svgRaster.js +1 -0
- package/node_modules/@m0saic/templates/dist/m0saic/agents/commit-feed/index.js +1 -0
- package/node_modules/@m0saic/templates/dist/m0saic/agents/commit-feed/v1/commit-feed.js +1 -0
- package/node_modules/@m0saic/templates/dist/m0saic/agents/commit-feed/v1/index.js +1 -0
- package/node_modules/@m0saic/templates/dist/m0saic/agents/index.js +1 -0
- package/node_modules/@m0saic/templates/dist/m0saic/agents/trace-timeline/index.js +1 -0
- package/node_modules/@m0saic/templates/dist/m0saic/agents/trace-timeline/v1/index.js +1 -0
- package/node_modules/@m0saic/templates/dist/m0saic/agents/trace-timeline/v1/trace-timeline.js +1 -0
- package/node_modules/@m0saic/templates/dist/m0saic/alpine/_shared/alpine-anim.js +1 -0
- package/node_modules/@m0saic/templates/dist/m0saic/alpine/_shared/alpine-card.js +1 -0
- package/node_modules/@m0saic/templates/dist/m0saic/alpine/_shared/alpine-glyphs.js +1 -0
- package/node_modules/@m0saic/templates/dist/m0saic/alpine/_shared/alpine-theme.js +1 -0
- package/node_modules/@m0saic/templates/dist/m0saic/alpine/bar-graph/v1/bar-graph.js +1 -0
- package/node_modules/@m0saic/templates/dist/m0saic/alpine/bar-graph/v1/index.js +1 -0
- package/node_modules/@m0saic/templates/dist/m0saic/alpine/commit-feed/v1/commit-feed.js +1 -0
- package/node_modules/@m0saic/templates/dist/m0saic/alpine/commit-feed/v1/index.js +1 -0
- package/node_modules/@m0saic/templates/dist/m0saic/alpine/commit-feed/v2/commit-feed.js +1 -0
- package/node_modules/@m0saic/templates/dist/m0saic/alpine/commit-feed/v2/index.js +1 -0
- package/node_modules/@m0saic/templates/dist/m0saic/alpine/contributor-table/v1/assets/layout-lite.m0 +9 -0
- package/node_modules/@m0saic/templates/dist/m0saic/alpine/contributor-table/v1/assets/layout-standard.m0 +9 -0
- package/node_modules/@m0saic/templates/dist/m0saic/alpine/contributor-table/v1/contributor-table.js +1 -0
- package/node_modules/@m0saic/templates/dist/m0saic/alpine/contributor-table/v1/index.js +1 -0
- package/node_modules/@m0saic/templates/dist/m0saic/alpine/donut/v1/donut.js +1 -0
- package/node_modules/@m0saic/templates/dist/m0saic/alpine/donut/v1/index.js +1 -0
- package/node_modules/@m0saic/templates/dist/m0saic/alpine/donut/v2/donut.js +1 -0
- package/node_modules/@m0saic/templates/dist/m0saic/alpine/donut/v2/index.js +1 -0
- package/node_modules/@m0saic/templates/dist/m0saic/alpine/donut/v3/donut.js +1 -0
- package/node_modules/@m0saic/templates/dist/m0saic/alpine/donut/v3/index.js +1 -0
- package/node_modules/@m0saic/templates/dist/m0saic/alpine/heatmap/v1/heatmap.js +1 -0
- package/node_modules/@m0saic/templates/dist/m0saic/alpine/heatmap/v1/index.js +1 -0
- package/node_modules/@m0saic/templates/dist/m0saic/alpine/heatmap/v2/heatmap.js +1 -0
- package/node_modules/@m0saic/templates/dist/m0saic/alpine/heatmap/v2/index.js +1 -0
- package/node_modules/@m0saic/templates/dist/m0saic/alpine/index.js +1 -0
- package/node_modules/@m0saic/templates/dist/m0saic/alpine/kpi-card/v1/index.js +1 -0
- package/node_modules/@m0saic/templates/dist/m0saic/alpine/kpi-card/v1/kpi-card.js +1 -0
- package/node_modules/@m0saic/templates/dist/m0saic/alpine/kpi-card/v2/index.js +1 -0
- package/node_modules/@m0saic/templates/dist/m0saic/alpine/kpi-card/v2/kpi-card.js +1 -0
- package/node_modules/@m0saic/templates/dist/m0saic/alpine/leaderboard/v1/index.js +1 -0
- package/node_modules/@m0saic/templates/dist/m0saic/alpine/leaderboard/v1/leaderboard.js +1 -0
- package/node_modules/@m0saic/templates/dist/m0saic/alpine/line-chart/v1/index.js +1 -0
- package/node_modules/@m0saic/templates/dist/m0saic/alpine/line-chart/v1/line-chart.js +1 -0
- package/node_modules/@m0saic/templates/dist/m0saic/alpine/line-chart/v2/index.js +1 -0
- package/node_modules/@m0saic/templates/dist/m0saic/alpine/line-chart/v2/line-chart.js +1 -0
- package/node_modules/@m0saic/templates/dist/m0saic/alpine/progress-card/v1/index.js +1 -0
- package/node_modules/@m0saic/templates/dist/m0saic/alpine/progress-card/v1/progress-card.js +1 -0
- package/node_modules/@m0saic/templates/dist/m0saic/alpine/stat-card/v1/index.js +1 -0
- package/node_modules/@m0saic/templates/dist/m0saic/alpine/stat-card/v1/stat-card.js +1 -0
- package/node_modules/@m0saic/templates/dist/m0saic/alpine/timeline/v1/index.js +1 -0
- package/node_modules/@m0saic/templates/dist/m0saic/alpine/timeline/v1/timeline.js +1 -0
- package/node_modules/@m0saic/templates/dist/m0saic/alpine/timeline/v2/index.js +1 -0
- package/node_modules/@m0saic/templates/dist/m0saic/alpine/timeline/v2/timeline.js +4 -0
- package/node_modules/@m0saic/templates/dist/m0saic/alpine/treemap/v1/index.js +1 -0
- package/node_modules/@m0saic/templates/dist/m0saic/alpine/treemap/v1/treemap.js +1 -0
- package/node_modules/@m0saic/templates/dist/m0saic/alpine/treemap/v2/index.js +1 -0
- package/node_modules/@m0saic/templates/dist/m0saic/alpine/treemap/v2/treemap.js +1 -0
- package/node_modules/@m0saic/templates/dist/m0saic/benchmark/battery/manifest.js +1 -0
- package/node_modules/@m0saic/templates/dist/m0saic/benchmark/index.js +1 -0
- package/node_modules/@m0saic/templates/dist/m0saic/benchmark/report/v1/assets/m-logo.png +0 -0
- package/node_modules/@m0saic/templates/dist/m0saic/benchmark/report/v1/assets/sample-session/benchmark.json +41 -0
- package/node_modules/@m0saic/templates/dist/m0saic/benchmark/report/v1/index.js +1 -0
- package/node_modules/@m0saic/templates/dist/m0saic/benchmark/report/v1/report.js +1 -0
- package/node_modules/@m0saic/templates/dist/m0saic/benchmark/run/v1/benchmarkRun.js +1 -0
- package/node_modules/@m0saic/templates/dist/m0saic/benchmark/run/v1/confirmation.js +1 -0
- package/node_modules/@m0saic/templates/dist/m0saic/benchmark/run/v1/index.js +1 -0
- package/node_modules/@m0saic/templates/dist/m0saic/benchmark/run/v1/renderScenario.js +1 -0
- package/node_modules/@m0saic/templates/dist/m0saic/benchmark/run/v1/runner.js +4 -0
- package/node_modules/@m0saic/templates/dist/m0saic/brand/business-card/v1/back-catalog.js +1 -0
- package/node_modules/@m0saic/templates/dist/m0saic/brand/business-card/v1/business-card.js +1 -0
- package/node_modules/@m0saic/templates/dist/m0saic/brand/business-card/v1/index.js +1 -0
- package/node_modules/@m0saic/templates/dist/m0saic/brand/business-card/v1/layout.js +1 -0
- package/node_modules/@m0saic/templates/dist/m0saic/brand/community-m/v1/camera.js +1 -0
- package/node_modules/@m0saic/templates/dist/m0saic/brand/community-m/v1/caption.js +1 -0
- package/node_modules/@m0saic/templates/dist/m0saic/brand/community-m/v1/community-m.js +1 -0
- package/node_modules/@m0saic/templates/dist/m0saic/brand/community-m/v1/community-m.web.js +1 -0
- package/node_modules/@m0saic/templates/dist/m0saic/brand/community-m/v1/gen-seed-piece.js +1 -0
- package/node_modules/@m0saic/templates/dist/m0saic/brand/community-m/v1/geometry.js +1 -0
- package/node_modules/@m0saic/templates/dist/m0saic/brand/community-m/v1/imageSize.node.js +1 -0
- package/node_modules/@m0saic/templates/dist/m0saic/brand/community-m/v1/index.js +1 -0
- package/node_modules/@m0saic/templates/dist/m0saic/brand/community-m/v1/loadPiece.node.js +1 -0
- package/node_modules/@m0saic/templates/dist/m0saic/brand/community-m/v1/manifest.js +1 -0
- package/node_modules/@m0saic/templates/dist/m0saic/brand/community-m/v1/mark.js +1 -0
- package/node_modules/@m0saic/templates/dist/m0saic/brand/community-m/v1/paths.js +1 -0
- package/node_modules/@m0saic/templates/dist/m0saic/brand/community-m/v1/piece.js +1 -0
- package/node_modules/@m0saic/templates/dist/m0saic/brand/community-m/v1/pipeline.js +1 -0
- package/node_modules/@m0saic/templates/dist/m0saic/brand/community-m/v1/preview.js +1 -0
- package/node_modules/@m0saic/templates/dist/m0saic/brand/community-m/v1/props.js +1 -0
- package/node_modules/@m0saic/templates/dist/m0saic/brand/community-m/v1/reveal.js +1 -0
- package/node_modules/@m0saic/templates/dist/m0saic/brand/community-m/v1/seedPiece.js +2 -0
- package/node_modules/@m0saic/templates/dist/m0saic/brand/community-m/v1/target.js +1 -0
- package/node_modules/@m0saic/templates/dist/m0saic/brand/community-m/v1/timing.js +1 -0
- package/node_modules/@m0saic/templates/dist/m0saic/brand/community-m/v1/webPiece.js +1 -0
- package/node_modules/@m0saic/templates/dist/m0saic/brand/community-m/v1/wordmark.js +1 -0
- package/node_modules/@m0saic/templates/dist/m0saic/brand/index.js +1 -0
- package/node_modules/@m0saic/templates/dist/m0saic/brand/logo/v1/index.js +1 -0
- package/node_modules/@m0saic/templates/dist/m0saic/brand/logo/v1/logo.js +1 -0
- package/node_modules/@m0saic/templates/dist/m0saic/brand/logo/v2/index.js +1 -0
- package/node_modules/@m0saic/templates/dist/m0saic/brand/logo/v2/logo.js +1 -0
- package/node_modules/@m0saic/templates/dist/m0saic/brand/logo/v3/index.js +1 -0
- package/node_modules/@m0saic/templates/dist/m0saic/brand/logo/v3/logo.js +1 -0
- package/node_modules/@m0saic/templates/dist/m0saic/brand/logo/v3/logo_runner.js +1 -0
- package/node_modules/@m0saic/templates/dist/m0saic/brand/qr-stamp/assets/brand-qr-with-logo.svg +8 -0
- package/node_modules/@m0saic/templates/dist/m0saic/brand/qr-stamp/assets/qr-animate.dark.mp4 +0 -0
- package/node_modules/@m0saic/templates/dist/m0saic/brand/qr-stamp/assets/qr-animate.dark.static.png +0 -0
- package/node_modules/@m0saic/templates/dist/m0saic/brand/qr-stamp/assets/qr-animate.light.mp4 +0 -0
- package/node_modules/@m0saic/templates/dist/m0saic/brand/qr-stamp/assets/qr-animate.light.static.png +0 -0
- package/node_modules/@m0saic/templates/dist/m0saic/brand/qr-stamp/still/v1/index.js +1 -0
- package/node_modules/@m0saic/templates/dist/m0saic/brand/qr-stamp/still/v1/qr-stamp-still.js +1 -0
- package/node_modules/@m0saic/templates/dist/m0saic/brand/qr-stamp/video/v2/index.js +1 -0
- package/node_modules/@m0saic/templates/dist/m0saic/brand/qr-stamp/video/v2/qr-stamp.js +1 -0
- package/node_modules/@m0saic/templates/dist/m0saic/brand/qr-stamp/video/v2/windows.js +1 -0
- package/node_modules/@m0saic/templates/dist/m0saic/charts/_shared/index.js +1 -0
- package/node_modules/@m0saic/templates/dist/m0saic/charts/_shared/line.js +2 -0
- package/node_modules/@m0saic/templates/dist/m0saic/charts/_shared/scale.js +1 -0
- package/node_modules/@m0saic/templates/dist/m0saic/charts/bar-graph/v1/anim.js +1 -0
- package/node_modules/@m0saic/templates/dist/m0saic/charts/bar-graph/v1/axis.js +1 -0
- package/node_modules/@m0saic/templates/dist/m0saic/charts/bar-graph/v1/bar-graph.js +1 -0
- package/node_modules/@m0saic/templates/dist/m0saic/charts/bar-graph/v1/defaults.js +1 -0
- package/node_modules/@m0saic/templates/dist/m0saic/charts/bar-graph/v1/format.js +1 -0
- package/node_modules/@m0saic/templates/dist/m0saic/charts/bar-graph/v1/index.js +1 -0
- package/node_modules/@m0saic/templates/dist/m0saic/charts/bar-graph/v1/internal/bar-cell.js +1 -0
- package/node_modules/@m0saic/templates/dist/m0saic/charts/bar-graph/v1/internal/bar-fill.js +1 -0
- package/node_modules/@m0saic/templates/dist/m0saic/charts/bar-graph/v1/internal/bars-stack.js +1 -0
- package/node_modules/@m0saic/templates/dist/m0saic/charts/bar-graph/v1/internal/chart-frame.js +1 -0
- package/node_modules/@m0saic/templates/dist/m0saic/charts/bar-graph/v1/internal/labels.js +1 -0
- package/node_modules/@m0saic/templates/dist/m0saic/charts/bar-graph/v1/internal/plot-area.js +1 -0
- package/node_modules/@m0saic/templates/dist/m0saic/charts/bar-graph/v1/types.js +1 -0
- package/node_modules/@m0saic/templates/dist/m0saic/charts/bar-graph/v2/bar-graph.js +1 -0
- package/node_modules/@m0saic/templates/dist/m0saic/charts/bar-graph/v2/index.js +1 -0
- package/node_modules/@m0saic/templates/dist/m0saic/charts/donut/v1/anim.js +1 -0
- package/node_modules/@m0saic/templates/dist/m0saic/charts/donut/v1/donut.js +1 -0
- package/node_modules/@m0saic/templates/dist/m0saic/charts/donut/v1/geometry.js +1 -0
- package/node_modules/@m0saic/templates/dist/m0saic/charts/donut/v1/index.js +1 -0
- package/node_modules/@m0saic/templates/dist/m0saic/charts/donut/v2/donut.js +1 -0
- package/node_modules/@m0saic/templates/dist/m0saic/charts/donut/v2/index.js +1 -0
- package/node_modules/@m0saic/templates/dist/m0saic/charts/donut/v3/anim.js +1 -0
- package/node_modules/@m0saic/templates/dist/m0saic/charts/donut/v3/donut.js +1 -0
- package/node_modules/@m0saic/templates/dist/m0saic/charts/donut/v3/geometry.js +1 -0
- package/node_modules/@m0saic/templates/dist/m0saic/charts/donut/v3/index.js +1 -0
- package/node_modules/@m0saic/templates/dist/m0saic/charts/donut/v4/donut.js +1 -0
- package/node_modules/@m0saic/templates/dist/m0saic/charts/donut/v4/index.js +1 -0
- package/node_modules/@m0saic/templates/dist/m0saic/charts/index.js +1 -0
- package/node_modules/@m0saic/templates/dist/m0saic/charts/line-chart/v1/anim.js +1 -0
- package/node_modules/@m0saic/templates/dist/m0saic/charts/line-chart/v1/axis.js +1 -0
- package/node_modules/@m0saic/templates/dist/m0saic/charts/line-chart/v1/card.js +1 -0
- package/node_modules/@m0saic/templates/dist/m0saic/charts/line-chart/v1/chrome-spec.js +1 -0
- package/node_modules/@m0saic/templates/dist/m0saic/charts/line-chart/v1/chrome.js +1 -0
- package/node_modules/@m0saic/templates/dist/m0saic/charts/line-chart/v1/defaults.js +1 -0
- package/node_modules/@m0saic/templates/dist/m0saic/charts/line-chart/v1/format.js +1 -0
- package/node_modules/@m0saic/templates/dist/m0saic/charts/line-chart/v1/frame.js +1 -0
- package/node_modules/@m0saic/templates/dist/m0saic/charts/line-chart/v1/geometry.js +1 -0
- package/node_modules/@m0saic/templates/dist/m0saic/charts/line-chart/v1/index.js +1 -0
- package/node_modules/@m0saic/templates/dist/m0saic/charts/line-chart/v1/line-chart.js +1 -0
- package/node_modules/@m0saic/templates/dist/m0saic/charts/line-chart/v1/line-series.js +1 -0
- package/node_modules/@m0saic/templates/dist/m0saic/charts/line-chart/v1/types.js +1 -0
- package/node_modules/@m0saic/templates/dist/m0saic/charts/stat-card/v1/index.js +1 -0
- package/node_modules/@m0saic/templates/dist/m0saic/charts/stat-card/v1/stat-card.js +1 -0
- package/node_modules/@m0saic/templates/dist/m0saic/code/_shared/code-diff.js +1 -0
- package/node_modules/@m0saic/templates/dist/m0saic/code/_shared/code-lexer.js +3 -0
- package/node_modules/@m0saic/templates/dist/m0saic/code/_shared/code-metrics.js +1 -0
- package/node_modules/@m0saic/templates/dist/m0saic/code/_shared/code-theme.js +1 -0
- package/node_modules/@m0saic/templates/dist/m0saic/code/index.js +1 -0
- package/node_modules/@m0saic/templates/dist/m0saic/code/snippet-morph/v1/internal/chrome.js +1 -0
- package/node_modules/@m0saic/templates/dist/m0saic/code/snippet-morph/v1/internal/plan.js +1 -0
- package/node_modules/@m0saic/templates/dist/m0saic/code/snippet-morph/v1/internal/steps.js +1 -0
- package/node_modules/@m0saic/templates/dist/m0saic/code/snippet-morph/v1/snippet-morph.js +3 -0
- package/node_modules/@m0saic/templates/dist/m0saic/collage/image-collage/v1/demo-fixture.js +1 -0
- package/node_modules/@m0saic/templates/dist/m0saic/collage/image-collage/v1/emit.js +1 -0
- package/node_modules/@m0saic/templates/dist/m0saic/collage/image-collage/v1/image-collage.js +1 -0
- package/node_modules/@m0saic/templates/dist/m0saic/collage/image-collage/v1/index.js +1 -0
- package/node_modules/@m0saic/templates/dist/m0saic/collage/image-collage/v1/packer/candidates.js +1 -0
- package/node_modules/@m0saic/templates/dist/m0saic/collage/image-collage/v1/packer/classify.js +1 -0
- package/node_modules/@m0saic/templates/dist/m0saic/collage/image-collage/v1/packer/index.js +1 -0
- package/node_modules/@m0saic/templates/dist/m0saic/collage/image-collage/v1/packer/paging.js +1 -0
- package/node_modules/@m0saic/templates/dist/m0saic/collage/image-collage/v1/packer/score.js +1 -0
- package/node_modules/@m0saic/templates/dist/m0saic/collage/image-collage/v1/packer/solve.js +1 -0
- package/node_modules/@m0saic/templates/dist/m0saic/collage/image-collage/v1/packer/tiler.js +1 -0
- package/node_modules/@m0saic/templates/dist/m0saic/collage/image-collage/v1/packer/types.js +1 -0
- package/node_modules/@m0saic/templates/dist/m0saic/collage/image-collage/v1/tutorial.js +1 -0
- package/node_modules/@m0saic/templates/dist/m0saic/collage/index.js +1 -0
- package/node_modules/@m0saic/templates/dist/m0saic/collage/spread-grid-mock/v1/grid-fixture.js +1 -0
- package/node_modules/@m0saic/templates/dist/m0saic/collage/spread-grid-mock/v1/index.js +1 -0
- package/node_modules/@m0saic/templates/dist/m0saic/collage/spread-grid-mock/v1/spread-grid-mock.js +1 -0
- package/node_modules/@m0saic/templates/dist/m0saic/dsl-tutorial/index.js +1 -0
- package/node_modules/@m0saic/templates/dist/m0saic/dsl-tutorial/v1/_shared/brand-glyphs.js +1 -0
- package/node_modules/@m0saic/templates/dist/m0saic/dsl-tutorial/v1/_shared/m0saic-logo.js +1 -0
- package/node_modules/@m0saic/templates/dist/m0saic/dsl-tutorial/v1/_shared/node-kit.js +1 -0
- package/node_modules/@m0saic/templates/dist/m0saic/dsl-tutorial/v1/_shared/text-fit.js +1 -0
- package/node_modules/@m0saic/templates/dist/m0saic/dsl-tutorial/v1/dsl-tutorial.js +1 -0
- package/node_modules/@m0saic/templates/dist/m0saic/dsl-tutorial/v1/index.js +1 -0
- package/node_modules/@m0saic/templates/dist/m0saic/dsl-tutorial/v1/panels/canvas/v1/dsl-canvas.js +1 -0
- package/node_modules/@m0saic/templates/dist/m0saic/dsl-tutorial/v1/panels/chrome/v1/dsl-chrome.js +1 -0
- package/node_modules/@m0saic/templates/dist/m0saic/dsl-tutorial/v1/panels/dsl-string/v1/dsl-string.js +1 -0
- package/node_modules/@m0saic/templates/dist/m0saic/dsl-tutorial/v1/panels/inspector/v1/dsl-inspector.js +1 -0
- package/node_modules/@m0saic/templates/dist/m0saic/dsl-tutorial/v1/pipeline/buildSteps.js +2 -0
- package/node_modules/@m0saic/templates/dist/m0saic/dsl-tutorial/v1/pipeline/camera.js +1 -0
- package/node_modules/@m0saic/templates/dist/m0saic/dsl-tutorial/v1/pipeline/cursor.js +1 -0
- package/node_modules/@m0saic/templates/dist/m0saic/dsl-tutorial/v1/pipeline/dslString.js +1 -0
- package/node_modules/@m0saic/templates/dist/m0saic/dsl-tutorial/v1/pipeline/inspector.js +1 -0
- package/node_modules/@m0saic/templates/dist/m0saic/dsl-tutorial/v1/pipeline/timing.js +1 -0
- package/node_modules/@m0saic/templates/dist/m0saic/dsl-tutorial/v1/theme/tokens.js +1 -0
- package/node_modules/@m0saic/templates/dist/m0saic/forensic/index.js +1 -0
- package/node_modules/@m0saic/templates/dist/m0saic/forensic/watermark/_shared/cellLuminance.js +1 -0
- package/node_modules/@m0saic/templates/dist/m0saic/forensic/watermark/index.js +1 -0
- package/node_modules/@m0saic/templates/dist/m0saic/forensic/watermark/verify/index.js +1 -0
- package/node_modules/@m0saic/templates/dist/m0saic/forensic/watermark/verify/v1/decode.js +1 -0
- package/node_modules/@m0saic/templates/dist/m0saic/forensic/watermark/verify/v1/index.js +1 -0
- package/node_modules/@m0saic/templates/dist/m0saic/forensic/watermark/verify/v1/report.js +1 -0
- package/node_modules/@m0saic/templates/dist/m0saic/forensic/watermark/verify/v1/verify.js +1 -0
- package/node_modules/@m0saic/templates/dist/m0saic/forensic/watermark/video/index.js +1 -0
- package/node_modules/@m0saic/templates/dist/m0saic/forensic/watermark/video/v1/forensic-watermark.js +1 -0
- package/node_modules/@m0saic/templates/dist/m0saic/forensic/watermark/video/v1/index.js +1 -0
- package/node_modules/@m0saic/templates/dist/m0saic/forensic/watermark/video/v1/maskAsset.js +1 -0
- package/node_modules/@m0saic/templates/dist/m0saic/forensic/watermark/video/v1/probeHost.js +1 -0
- package/node_modules/@m0saic/templates/dist/m0saic/github/client.js +1 -0
- package/node_modules/@m0saic/templates/dist/m0saic/github/connection.js +1 -0
- package/node_modules/@m0saic/templates/dist/m0saic/github/index.js +1 -0
- package/node_modules/@m0saic/templates/dist/m0saic/github/repo-facts-fetcher/index.js +1 -0
- package/node_modules/@m0saic/templates/dist/m0saic/github/repo-facts-fetcher/v1/build-facts.js +2 -0
- package/node_modules/@m0saic/templates/dist/m0saic/github/repo-facts-fetcher/v1/facts.js +1 -0
- package/node_modules/@m0saic/templates/dist/m0saic/github/repo-facts-fetcher/v1/repo-facts-fetcher.js +1 -0
- package/node_modules/@m0saic/templates/dist/m0saic/github/repo-facts-fetcher/v1/sample-facts.js +1 -0
- package/node_modules/@m0saic/templates/dist/m0saic/github/week-math.js +1 -0
- package/node_modules/@m0saic/templates/dist/m0saic/github/weekly-pulse/index.js +1 -0
- package/node_modules/@m0saic/templates/dist/m0saic/github/weekly-pulse/v1/weekly-pulse.js +1 -0
- package/node_modules/@m0saic/templates/dist/m0saic/github/weekly-pulse-adapter/index.js +1 -0
- package/node_modules/@m0saic/templates/dist/m0saic/github/weekly-pulse-adapter/v1/derive-pulse.js +1 -0
- package/node_modules/@m0saic/templates/dist/m0saic/github/weekly-pulse-adapter/v1/weekly-pulse-adapter.js +1 -0
- package/node_modules/@m0saic/templates/dist/m0saic/github/year-card/index.js +1 -0
- package/node_modules/@m0saic/templates/dist/m0saic/github/year-card/v1/index.js +1 -0
- package/node_modules/@m0saic/templates/dist/m0saic/github/year-card/v1/year-card.js +1 -0
- package/node_modules/@m0saic/templates/dist/m0saic/hello-world/index.js +1 -0
- package/node_modules/@m0saic/templates/dist/m0saic/hello-world/v1/hello-world.js +1 -0
- package/node_modules/@m0saic/templates/dist/m0saic/hello-world/v1/index.js +1 -0
- package/node_modules/@m0saic/templates/dist/m0saic/hero/ffmpeg-pulse/_shared/assets/ffmpeg-logo.png +0 -0
- package/node_modules/@m0saic/templates/dist/m0saic/hero/ffmpeg-pulse/_shared/assets/ffmpeg_logo_480x480.svg +1 -0
- package/node_modules/@m0saic/templates/dist/m0saic/hero/ffmpeg-pulse/_shared/assets/m-hero.png +0 -0
- package/node_modules/@m0saic/templates/dist/m0saic/hero/ffmpeg-pulse/_shared/assets/qr-fin.mp4 +0 -0
- package/node_modules/@m0saic/templates/dist/m0saic/hero/ffmpeg-pulse/_shared/assets/scatter-desktop.mp4 +0 -0
- package/node_modules/@m0saic/templates/dist/m0saic/hero/ffmpeg-pulse/_shared/assets/scatter-layout.m0p +5146 -0
- package/node_modules/@m0saic/templates/dist/m0saic/hero/ffmpeg-pulse/_shared/assets/scatter-mobile.mp4 +0 -0
- package/node_modules/@m0saic/templates/dist/m0saic/hero/ffmpeg-pulse/_shared/assets/scatter-square.mp4 +0 -0
- package/node_modules/@m0saic/templates/dist/m0saic/hero/ffmpeg-pulse/_shared/assets/title-layout.m0p +130 -0
- package/node_modules/@m0saic/templates/dist/m0saic/hero/ffmpeg-pulse/_shared/pulse-chrome.js +1 -0
- package/node_modules/@m0saic/templates/dist/m0saic/hero/ffmpeg-pulse/_shared/pulse-data.js +1 -0
- package/node_modules/@m0saic/templates/dist/m0saic/hero/ffmpeg-pulse/_shared/pulse-glyphs.js +1 -0
- package/node_modules/@m0saic/templates/dist/m0saic/hero/ffmpeg-pulse/_shared/pulse-theme.js +1 -0
- package/node_modules/@m0saic/templates/dist/m0saic/hero/ffmpeg-pulse/_shared/scatter.js +1 -0
- package/node_modules/@m0saic/templates/dist/m0saic/hero/ffmpeg-pulse/activity-trend/v1/activity-trend.js +1 -0
- package/node_modules/@m0saic/templates/dist/m0saic/hero/ffmpeg-pulse/activity-trend/v1/index.js +1 -0
- package/node_modules/@m0saic/templates/dist/m0saic/hero/ffmpeg-pulse/changes-breakdown/v1/changes-breakdown.js +1 -0
- package/node_modules/@m0saic/templates/dist/m0saic/hero/ffmpeg-pulse/changes-breakdown/v1/index.js +1 -0
- package/node_modules/@m0saic/templates/dist/m0saic/hero/ffmpeg-pulse/contributions/v1/contributions.js +1 -0
- package/node_modules/@m0saic/templates/dist/m0saic/hero/ffmpeg-pulse/contributions/v1/index.js +1 -0
- package/node_modules/@m0saic/templates/dist/m0saic/hero/ffmpeg-pulse/fin/v1/fin.js +1 -0
- package/node_modules/@m0saic/templates/dist/m0saic/hero/ffmpeg-pulse/fin/v1/index.js +1 -0
- package/node_modules/@m0saic/templates/dist/m0saic/hero/ffmpeg-pulse/index.js +1 -0
- package/node_modules/@m0saic/templates/dist/m0saic/hero/ffmpeg-pulse/kpi-overview/v1/index.js +1 -0
- package/node_modules/@m0saic/templates/dist/m0saic/hero/ffmpeg-pulse/kpi-overview/v1/kpi-overview.js +1 -0
- package/node_modules/@m0saic/templates/dist/m0saic/hero/ffmpeg-pulse/notable-commits/v1/index.js +1 -0
- package/node_modules/@m0saic/templates/dist/m0saic/hero/ffmpeg-pulse/notable-commits/v1/notable-commits.js +1 -0
- package/node_modules/@m0saic/templates/dist/m0saic/hero/ffmpeg-pulse/runner/v1/index.js +1 -0
- package/node_modules/@m0saic/templates/dist/m0saic/hero/ffmpeg-pulse/runner/v1/runner.js +1 -0
- package/node_modules/@m0saic/templates/dist/m0saic/hero/ffmpeg-pulse/scatter-bake/v1/index.js +1 -0
- package/node_modules/@m0saic/templates/dist/m0saic/hero/ffmpeg-pulse/scatter-bake/v1/scatter-bake.js +1 -0
- package/node_modules/@m0saic/templates/dist/m0saic/hero/ffmpeg-pulse/title/v1/index.js +1 -0
- package/node_modules/@m0saic/templates/dist/m0saic/hero/ffmpeg-pulse/title/v1/title.js +1 -0
- package/node_modules/@m0saic/templates/dist/m0saic/hero/ffmpeg-pulse/top-contributors/v1/index.js +1 -0
- package/node_modules/@m0saic/templates/dist/m0saic/hero/ffmpeg-pulse/top-contributors/v1/top-contributors.js +1 -0
- package/node_modules/@m0saic/templates/dist/m0saic/hero/index.js +1 -0
- package/node_modules/@m0saic/templates/dist/m0saic/index.js +1 -0
- package/node_modules/@m0saic/templates/dist/m0saic/media/barcode/v1/barcode.js +1 -0
- package/node_modules/@m0saic/templates/dist/m0saic/media/barcode/v1/index.js +1 -0
- package/node_modules/@m0saic/templates/dist/m0saic/media/blur-regions/index.js +1 -0
- package/node_modules/@m0saic/templates/dist/m0saic/media/blur-regions/v1/blur-regions.js +1 -0
- package/node_modules/@m0saic/templates/dist/m0saic/media/blur-regions/v1/index.js +1 -0
- package/node_modules/@m0saic/templates/dist/m0saic/media/blur-regions/v1/plan.js +1 -0
- package/node_modules/@m0saic/templates/dist/m0saic/media/blur-regions/v1/tutorial.js +1 -0
- package/node_modules/@m0saic/templates/dist/m0saic/media/highlights/index.js +1 -0
- package/node_modules/@m0saic/templates/dist/m0saic/media/highlights/v1/highlights.js +1 -0
- package/node_modules/@m0saic/templates/dist/m0saic/media/highlights/v1/index.js +1 -0
- package/node_modules/@m0saic/templates/dist/m0saic/media/highlights/v1/pipeline.js +1 -0
- package/node_modules/@m0saic/templates/dist/m0saic/media/highlights/v1/plan.js +1 -0
- package/node_modules/@m0saic/templates/dist/m0saic/media/index.js +1 -0
- package/node_modules/@m0saic/templates/dist/m0saic/media/logo-animate/index.js +1 -0
- package/node_modules/@m0saic/templates/dist/m0saic/media/logo-animate/v1/default-logo.js +35 -0
- package/node_modules/@m0saic/templates/dist/m0saic/media/logo-animate/v1/expressions.js +1 -0
- package/node_modules/@m0saic/templates/dist/m0saic/media/logo-animate/v1/index.js +1 -0
- package/node_modules/@m0saic/templates/dist/m0saic/media/logo-animate/v1/layout.js +1 -0
- package/node_modules/@m0saic/templates/dist/m0saic/media/logo-animate/v1/logo-animate.js +1 -0
- package/node_modules/@m0saic/templates/dist/m0saic/media/logo-animate/v1/svg-source.js +1 -0
- package/node_modules/@m0saic/templates/dist/m0saic/media/logo-animate/v1/tutorial.js +1 -0
- package/node_modules/@m0saic/templates/dist/m0saic/media/metadata-stamp/index.js +1 -0
- package/node_modules/@m0saic/templates/dist/m0saic/media/metadata-stamp/v1/format-date.js +1 -0
- package/node_modules/@m0saic/templates/dist/m0saic/media/metadata-stamp/v1/index.js +1 -0
- package/node_modules/@m0saic/templates/dist/m0saic/media/metadata-stamp/v1/metadata-stamp.js +1 -0
- package/node_modules/@m0saic/templates/dist/m0saic/media/qr/_shared/brandMCenter.js +1 -0
- package/node_modules/@m0saic/templates/dist/m0saic/media/qr/animate/v1/expressions.js +1 -0
- package/node_modules/@m0saic/templates/dist/m0saic/media/qr/animate/v1/index.js +1 -0
- package/node_modules/@m0saic/templates/dist/m0saic/media/qr/animate/v1/qr-animate.js +1 -0
- package/node_modules/@m0saic/templates/dist/m0saic/media/qr/animate/v2/index.js +1 -0
- package/node_modules/@m0saic/templates/dist/m0saic/media/qr/animate/v2/qr-animate.js +1 -0
- package/node_modules/@m0saic/templates/dist/m0saic/media/qr/basic/v1/index.js +1 -0
- package/node_modules/@m0saic/templates/dist/m0saic/media/qr/basic/v1/qr.js +1 -0
- package/node_modules/@m0saic/templates/dist/m0saic/media/qr/code/v1/index.js +1 -0
- package/node_modules/@m0saic/templates/dist/m0saic/media/qr/code/v1/qr-code.js +1 -0
- package/node_modules/@m0saic/templates/dist/m0saic/media/qr/index.js +1 -0
- package/node_modules/@m0saic/templates/dist/m0saic/media/qr/rounded/v1/index.js +1 -0
- package/node_modules/@m0saic/templates/dist/m0saic/media/qr/rounded/v1/qr-rounded.js +1 -0
- package/node_modules/@m0saic/templates/dist/m0saic/media/qr/stamp/v1/qr-stamp-custom.js +1 -0
- package/node_modules/@m0saic/templates/dist/m0saic/media/qr/stamp-video/v1/expressions.js +1 -0
- package/node_modules/@m0saic/templates/dist/m0saic/media/qr/stamp-video/v1/gleamBand.js +19 -0
- package/node_modules/@m0saic/templates/dist/m0saic/media/qr/stamp-video/v1/index.js +1 -0
- package/node_modules/@m0saic/templates/dist/m0saic/media/qr/stamp-video/v1/qr-stamp.js +1 -0
- package/node_modules/@m0saic/templates/dist/m0saic/media/screencap_grid/index.js +1 -0
- package/node_modules/@m0saic/templates/dist/m0saic/media/screencap_grid/internal/index.js +1 -0
- package/node_modules/@m0saic/templates/dist/m0saic/media/screencap_grid/internal/info_pane.js +1 -0
- package/node_modules/@m0saic/templates/dist/m0saic/media/screencap_grid/v1/index.js +1 -0
- package/node_modules/@m0saic/templates/dist/m0saic/media/screencap_grid/v1/screencap-grid.js +3 -0
- package/node_modules/@m0saic/templates/dist/m0saic/media/screencap_grid/v2/assets/tutorial-sheet.jpg +0 -0
- package/node_modules/@m0saic/templates/dist/m0saic/media/screencap_grid/v2/index.js +1 -0
- package/node_modules/@m0saic/templates/dist/m0saic/media/screencap_grid/v2/screencap-grid-cover-assets.js +1 -0
- package/node_modules/@m0saic/templates/dist/m0saic/media/screencap_grid/v2/screencap-grid-cover.js +1 -0
- package/node_modules/@m0saic/templates/dist/m0saic/media/screencap_grid/v2/screencap-grid-tutorial.js +1 -0
- package/node_modules/@m0saic/templates/dist/m0saic/media/screencap_grid/v2/screencap-grid.js +4 -0
- package/node_modules/@m0saic/templates/dist/m0saic/media/screencap_grid_aspect_safe/index.js +1 -0
- package/node_modules/@m0saic/templates/dist/m0saic/media/screencap_grid_aspect_safe/v1/assets/pair-sheet.jpg +0 -0
- package/node_modules/@m0saic/templates/dist/m0saic/media/screencap_grid_aspect_safe/v1/index.js +1 -0
- package/node_modules/@m0saic/templates/dist/m0saic/media/screencap_grid_aspect_safe/v1/screencap-grid-aspect-safe-cover.js +1 -0
- package/node_modules/@m0saic/templates/dist/m0saic/media/screencap_grid_aspect_safe/v1/screencap-grid-aspect-safe-tutorial.js +1 -0
- package/node_modules/@m0saic/templates/dist/m0saic/media/screencap_grid_aspect_safe/v1/screencap-grid-aspect-safe.js +3 -0
- package/node_modules/@m0saic/templates/dist/m0saic/media/scroll_wall/index.js +1 -0
- package/node_modules/@m0saic/templates/dist/m0saic/media/scroll_wall/v1/geometry.js +1 -0
- package/node_modules/@m0saic/templates/dist/m0saic/media/scroll_wall/v1/index.js +1 -0
- package/node_modules/@m0saic/templates/dist/m0saic/media/scroll_wall/v1/motion.js +1 -0
- package/node_modules/@m0saic/templates/dist/m0saic/media/scroll_wall/v1/scroll-wall.js +1 -0
- package/node_modules/@m0saic/templates/dist/m0saic/media/subtitle-burn/index.js +1 -0
- package/node_modules/@m0saic/templates/dist/m0saic/media/subtitle-burn/v1/index.js +1 -0
- package/node_modules/@m0saic/templates/dist/m0saic/media/subtitle-burn/v1/subtitle-burn-cover.js +1 -0
- package/node_modules/@m0saic/templates/dist/m0saic/media/subtitle-burn/v1/subtitle-burn.js +4 -0
- package/node_modules/@m0saic/templates/dist/m0saic/media/trickplay/index.js +1 -0
- package/node_modules/@m0saic/templates/dist/m0saic/media/trickplay/v1/index.js +1 -0
- package/node_modules/@m0saic/templates/dist/m0saic/media/trickplay/v1/pipeline.js +1 -0
- package/node_modules/@m0saic/templates/dist/m0saic/media/trickplay/v1/plan.js +1 -0
- package/node_modules/@m0saic/templates/dist/m0saic/media/trickplay/v1/sidecars.js +7 -0
- package/node_modules/@m0saic/templates/dist/m0saic/media/trickplay/v1/trickplay.js +1 -0
- package/node_modules/@m0saic/templates/dist/m0saic/media/video_to_png_sequence/index.js +1 -0
- package/node_modules/@m0saic/templates/dist/m0saic/media/video_to_png_sequence/v1/index.js +1 -0
- package/node_modules/@m0saic/templates/dist/m0saic/media/video_to_png_sequence/v1/video-to-png-sequence.js +1 -0
- package/node_modules/@m0saic/templates/dist/m0saic/media/watermark/index.js +1 -0
- package/node_modules/@m0saic/templates/dist/m0saic/media/watermark/v1/adaptive.js +1 -0
- package/node_modules/@m0saic/templates/dist/m0saic/media/watermark/v1/content.js +1 -0
- package/node_modules/@m0saic/templates/dist/m0saic/media/watermark/v1/geometry.js +2 -0
- package/node_modules/@m0saic/templates/dist/m0saic/media/watermark/v1/index.js +1 -0
- package/node_modules/@m0saic/templates/dist/m0saic/media/watermark/v1/pageGrid.js +1 -0
- package/node_modules/@m0saic/templates/dist/m0saic/media/watermark/v1/pipeline.js +1 -0
- package/node_modules/@m0saic/templates/dist/m0saic/media/watermark/v1/watermark.js +1 -0
- package/node_modules/@m0saic/templates/dist/m0saic/meta/camera-debug/index.js +1 -0
- package/node_modules/@m0saic/templates/dist/m0saic/meta/camera-debug/v1/camera-debug.js +1 -0
- package/node_modules/@m0saic/templates/dist/m0saic/meta/fixture-fetcher/index.js +1 -0
- package/node_modules/@m0saic/templates/dist/m0saic/meta/fixture-fetcher/v1/fixture-fetcher.js +1 -0
- package/node_modules/@m0saic/templates/dist/m0saic/meta/hot-reload-smoke/index.js +1 -0
- package/node_modules/@m0saic/templates/dist/m0saic/meta/hot-reload-smoke/v1/hot-reload-smoke.js +1 -0
- package/node_modules/@m0saic/templates/dist/m0saic/meta/index.js +1 -0
- package/node_modules/@m0saic/templates/dist/m0saic/meta/post-mortem/index.js +1 -0
- package/node_modules/@m0saic/templates/dist/m0saic/meta/post-mortem/v1/assets/human.png +0 -0
- package/node_modules/@m0saic/templates/dist/m0saic/meta/post-mortem/v1/assets/robot.png +0 -0
- package/node_modules/@m0saic/templates/dist/m0saic/meta/post-mortem/v1/post-mortem.js +1 -0
- package/node_modules/@m0saic/templates/dist/m0saic/meta/upstream-echo/index.js +1 -0
- package/node_modules/@m0saic/templates/dist/m0saic/meta/upstream-echo/v1/upstream-echo.js +1 -0
- package/node_modules/@m0saic/templates/dist/m0saic/primitives/grid/index.js +1 -0
- package/node_modules/@m0saic/templates/dist/m0saic/primitives/grid/v1/grid.js +1 -0
- package/node_modules/@m0saic/templates/dist/m0saic/primitives/grid/v2/grid.js +1 -0
- package/node_modules/@m0saic/templates/dist/m0saic/primitives/index.js +1 -0
- package/node_modules/@m0saic/templates/dist/m0saic/social/index.js +1 -0
- package/node_modules/@m0saic/templates/dist/m0saic/social/quote-card/index.js +1 -0
- package/node_modules/@m0saic/templates/dist/m0saic/social/quote-card/v1/index.js +1 -0
- package/node_modules/@m0saic/templates/dist/m0saic/social/quote-card/v1/layout.js +4 -0
- package/node_modules/@m0saic/templates/dist/m0saic/social/quote-card/v1/quote-card.js +1 -0
- package/node_modules/@m0saic/templates/dist/m0saic/story/index.js +1 -0
- package/node_modules/@m0saic/templates/dist/m0saic/story/narrated-chapters/index.js +1 -0
- package/node_modules/@m0saic/templates/dist/m0saic/story/narrated-chapters/v1/captions.js +5 -0
- package/node_modules/@m0saic/templates/dist/m0saic/story/narrated-chapters/v1/demo-fixture.js +1 -0
- package/node_modules/@m0saic/templates/dist/m0saic/story/narrated-chapters/v1/index.js +1 -0
- package/node_modules/@m0saic/templates/dist/m0saic/story/narrated-chapters/v1/kenburns.js +1 -0
- package/node_modules/@m0saic/templates/dist/m0saic/story/narrated-chapters/v1/layout.js +1 -0
- package/node_modules/@m0saic/templates/dist/m0saic/story/narrated-chapters/v1/narrated-chapters.js +4 -0
- package/node_modules/@m0saic/templates/dist/m0saic/story/narrated-chapters/v1/pipeline.js +2 -0
- package/node_modules/@m0saic/templates/dist/m0saic/story/narrated-chapters/v1/plan.js +2 -0
- package/node_modules/@m0saic/templates/dist/m0saic/story/narrated-chapters/v1/props.js +1 -0
- package/node_modules/@m0saic/templates/dist/m0saic/story/narrated-chapters/v1/scenes/body.js +2 -0
- package/node_modules/@m0saic/templates/dist/m0saic/story/narrated-chapters/v1/scenes/card.js +4 -0
- package/node_modules/@m0saic/templates/dist/m0saic/story/narrated-chapters/v1/theme.js +1 -0
- package/node_modules/@m0saic/templates/dist/m0saic/story/scrapbook/v1/document.js +1 -0
- package/node_modules/@m0saic/templates/dist/m0saic/story/scrapbook/v1/index.js +1 -0
- package/node_modules/@m0saic/templates/dist/m0saic/story/scrapbook/v1/page.js +1 -0
- package/node_modules/@m0saic/templates/dist/m0saic/story/scrapbook/v1/pages.js +1 -0
- package/node_modules/@m0saic/templates/dist/m0saic/story/scrapbook/v1/pipeline.js +1 -0
- package/node_modules/@m0saic/templates/dist/m0saic/story/scrapbook/v1/placeholder.js +1 -0
- package/node_modules/@m0saic/templates/dist/m0saic/story/scrapbook/v1/props.js +1 -0
- package/node_modules/@m0saic/templates/dist/m0saic/story/scrapbook/v1/scrapbook.js +1 -0
- package/node_modules/@m0saic/templates/dist/m0saic/theming/index.js +1 -0
- package/node_modules/@m0saic/templates/dist/m0saic/theming/v1/brand-m-glyph.js +1 -0
- package/node_modules/@m0saic/templates/dist/m0saic/theming/v1/index.js +1 -0
- package/node_modules/@m0saic/templates/dist/m0saic/theming/v1/theme-tokens.js +1 -0
- package/node_modules/@m0saic/templates/dist/m0saic/theming/v1/theming.js +1 -0
- package/node_modules/@m0saic/templates/dist/m0saic/theming/v1/token-sheet.js +1 -0
- package/node_modules/@m0saic/templates/dist/m0saic/web/index.js +1 -0
- package/node_modules/@m0saic/templates/dist/m0saic/web/page-skeleton/v1/capture/capture-snippet-source.js +2 -0
- package/node_modules/@m0saic/templates/dist/m0saic/web/page-skeleton/v1/index.js +1 -0
- package/node_modules/@m0saic/templates/dist/m0saic/web/page-skeleton/v1/layout.js +1 -0
- package/node_modules/@m0saic/templates/dist/m0saic/web/page-skeleton/v1/page-skeleton.js +1 -0
- package/node_modules/@m0saic/templates/dist/m0saic/web/page-skeleton/v1/sample-capture.js +1 -0
- package/node_modules/@m0saic/templates/dist/m0saic/web/page-skeleton/v1/schema.js +1 -0
- package/node_modules/@m0saic/templates/dist/m0saic/wireframe/animated/v1/animated-wireframe.js +2 -0
- package/node_modules/@m0saic/templates/dist/m0saic/wireframe/animated/v1/index.js +1 -0
- package/node_modules/@m0saic/templates/dist/m0saic/wireframe/base/v1/index.js +1 -0
- package/node_modules/@m0saic/templates/dist/m0saic/wireframe/base/v1/wireframe.js +2 -0
- package/node_modules/@m0saic/templates/dist/m0saic/wireframe/base/v2/index.js +1 -0
- package/node_modules/@m0saic/templates/dist/m0saic/wireframe/base/v2/wireframe.js +1 -0
- package/node_modules/@m0saic/templates/dist/m0saic/wireframe/index.js +1 -0
- package/node_modules/@m0saic/templates/dist/m0saic/wireframe/utils/paperGrid.js +1 -0
- package/node_modules/@m0saic/templates/dist/m0saic/wireframe/utils/wireframeCell.js +2 -0
- package/node_modules/@m0saic/templates/dist/registry.js +1 -0
- package/node_modules/@m0saic/templates/dist/repo.js +1 -0
- package/node_modules/@m0saic/templates/dist/template-registry.js +1 -0
- package/node_modules/@m0saic/templates/dist/web.js +1 -0
- package/node_modules/@m0saic/templates/dist/webTemplateIds.js +1 -0
- package/node_modules/@m0saic/templates/package.json +6 -0
- package/node_modules/@m0saic/templates/template-manifest.json +2015 -0
- package/node_modules/@m0saic/templates/web-template-ids.json +84 -0
- package/node_modules/@m0saic/templates-advanced/LICENSE +13 -0
- package/node_modules/@m0saic/templates-advanced/README.md +5 -0
- package/node_modules/@m0saic/templates-advanced/dist/index.js +1 -0
- package/node_modules/@m0saic/templates-advanced/package.json +6 -0
- package/node_modules/@m0saic/text/LICENSE +201 -0
- package/node_modules/@m0saic/text/NOTICE +18 -0
- package/node_modules/@m0saic/text/README.md +34 -0
- package/node_modules/@m0saic/text/assets/fonts/JetBrainsMono-Bold.ttf +0 -0
- package/node_modules/@m0saic/text/assets/fonts/JetBrainsMono-BoldItalic.ttf +0 -0
- package/node_modules/@m0saic/text/assets/fonts/JetBrainsMono-Italic.ttf +0 -0
- package/node_modules/@m0saic/text/assets/fonts/JetBrainsMono-OFL-1.1.txt +93 -0
- package/node_modules/@m0saic/text/assets/fonts/JetBrainsMono-Regular.ttf +0 -0
- package/node_modules/@m0saic/text/assets/fonts/Roboto-Bold.ttf +0 -0
- package/node_modules/@m0saic/text/assets/fonts/Roboto-BoldItalic.ttf +0 -0
- package/node_modules/@m0saic/text/assets/fonts/Roboto-Italic.ttf +0 -0
- package/node_modules/@m0saic/text/assets/fonts/Roboto-Regular.LICENSE.txt +18 -0
- package/node_modules/@m0saic/text/assets/fonts/Roboto-Regular.ttf +0 -0
- package/node_modules/@m0saic/text/dist/bundledFonts.js +1 -0
- package/node_modules/@m0saic/text/dist/fontCache.js +1 -0
- package/node_modules/@m0saic/text/dist/fontRegistry.js +1 -0
- package/node_modules/@m0saic/text/dist/index.js +1 -0
- package/node_modules/@m0saic/text/dist/runsToPaths.js +1 -0
- package/node_modules/@m0saic/text/dist/textToPath.js +3 -0
- package/node_modules/@m0saic/text/package.json +6 -0
- package/node_modules/@m0saic/types/LICENSE +201 -0
- package/node_modules/@m0saic/types/NOTICE +13 -0
- package/node_modules/@m0saic/types/README.md +28 -0
- package/node_modules/@m0saic/types/assets/icons/mosaic.svg +36 -0
- package/node_modules/@m0saic/types/assets/icons/mosaicx.svg +32 -0
- package/node_modules/@m0saic/types/dist/analytics/consent.js +1 -0
- package/node_modules/@m0saic/types/dist/analytics/event.js +1 -0
- package/node_modules/@m0saic/types/dist/analytics/index.js +1 -0
- package/node_modules/@m0saic/types/dist/analytics/redaction.js +1 -0
- package/node_modules/@m0saic/types/dist/analytics/redactor.js +1 -0
- package/node_modules/@m0saic/types/dist/analytics/sink.js +1 -0
- package/node_modules/@m0saic/types/dist/analytics/usageMetrics.js +1 -0
- package/node_modules/@m0saic/types/dist/asset/asset.js +1 -0
- package/node_modules/@m0saic/types/dist/asset/index.js +1 -0
- package/node_modules/@m0saic/types/dist/benchmark/index.js +1 -0
- package/node_modules/@m0saic/types/dist/benchmark/session.js +1 -0
- package/node_modules/@m0saic/types/dist/colors/ffmpegNamedColors.js +1 -0
- package/node_modules/@m0saic/types/dist/colors/index.js +1 -0
- package/node_modules/@m0saic/types/dist/colors/mosaicColor.js +1 -0
- package/node_modules/@m0saic/types/dist/colors/parseMosaicColors.js +1 -0
- package/node_modules/@m0saic/types/dist/community-m/community-m.js +1 -0
- package/node_modules/@m0saic/types/dist/community-m/index.js +1 -0
- package/node_modules/@m0saic/types/dist/defaults/audio.js +1 -0
- package/node_modules/@m0saic/types/dist/defaults/color.js +1 -0
- package/node_modules/@m0saic/types/dist/defaults/effects.js +1 -0
- package/node_modules/@m0saic/types/dist/defaults/index.js +1 -0
- package/node_modules/@m0saic/types/dist/defaults/media.js +1 -0
- package/node_modules/@m0saic/types/dist/defaults/output-target.js +1 -0
- package/node_modules/@m0saic/types/dist/defaults/pipeline.js +1 -0
- package/node_modules/@m0saic/types/dist/defaults/placement.js +1 -0
- package/node_modules/@m0saic/types/dist/defaults/text.js +1 -0
- package/node_modules/@m0saic/types/dist/defaults/timing.js +1 -0
- package/node_modules/@m0saic/types/dist/defaults/visual.js +1 -0
- package/node_modules/@m0saic/types/dist/diagnostic/diagnostic.js +1 -0
- package/node_modules/@m0saic/types/dist/diagnostic/index.js +1 -0
- package/node_modules/@m0saic/types/dist/dictionary/dictionary.js +1 -0
- package/node_modules/@m0saic/types/dist/dictionary/index.js +1 -0
- package/node_modules/@m0saic/types/dist/document/document-pipeline.js +1 -0
- package/node_modules/@m0saic/types/dist/document/document.js +1 -0
- package/node_modules/@m0saic/types/dist/document/index.js +1 -0
- package/node_modules/@m0saic/types/dist/document/mosaicx-document.js +1 -0
- package/node_modules/@m0saic/types/dist/document/pipeline-helpers.js +1 -0
- package/node_modules/@m0saic/types/dist/document/sidecars.js +1 -0
- package/node_modules/@m0saic/types/dist/document/xfadeModes.js +1 -0
- package/node_modules/@m0saic/types/dist/engine-context/engine-context.js +1 -0
- package/node_modules/@m0saic/types/dist/engine-context/index.js +1 -0
- package/node_modules/@m0saic/types/dist/host-connections/host-connections.js +1 -0
- package/node_modules/@m0saic/types/dist/host-connections/index.js +1 -0
- package/node_modules/@m0saic/types/dist/identifiers/identifiers.js +1 -0
- package/node_modules/@m0saic/types/dist/identifiers/index.js +1 -0
- package/node_modules/@m0saic/types/dist/index.js +1 -0
- package/node_modules/@m0saic/types/dist/language/index.js +1 -0
- package/node_modules/@m0saic/types/dist/language/language.js +1 -0
- package/node_modules/@m0saic/types/dist/luminance/LuminanceBucket.js +1 -0
- package/node_modules/@m0saic/types/dist/luminance/index.js +1 -0
- package/node_modules/@m0saic/types/dist/meta/index.js +1 -0
- package/node_modules/@m0saic/types/dist/meta/meta.js +1 -0
- package/node_modules/@m0saic/types/dist/output/audio-config.js +1 -0
- package/node_modules/@m0saic/types/dist/output/color-config.js +1 -0
- package/node_modules/@m0saic/types/dist/output/container-metadata.js +1 -0
- package/node_modules/@m0saic/types/dist/output/encode.js +1 -0
- package/node_modules/@m0saic/types/dist/output/format.js +1 -0
- package/node_modules/@m0saic/types/dist/output/index.js +1 -0
- package/node_modules/@m0saic/types/dist/output/output.js +1 -0
- package/node_modules/@m0saic/types/dist/output/target.js +1 -0
- package/node_modules/@m0saic/types/dist/primitives/index.js +1 -0
- package/node_modules/@m0saic/types/dist/primitives/primitives.js +1 -0
- package/node_modules/@m0saic/types/dist/secrets/index.js +1 -0
- package/node_modules/@m0saic/types/dist/secrets/secrets.js +1 -0
- package/node_modules/@m0saic/types/dist/source/effectKeys.js +1 -0
- package/node_modules/@m0saic/types/dist/source/index.js +1 -0
- package/node_modules/@m0saic/types/dist/source/source.js +1 -0
- package/node_modules/@m0saic/types/dist/telemetry/category.js +1 -0
- package/node_modules/@m0saic/types/dist/telemetry/emit.js +1 -0
- package/node_modules/@m0saic/types/dist/telemetry/event.js +1 -0
- package/node_modules/@m0saic/types/dist/telemetry/ffmpegFailure.js +4 -0
- package/node_modules/@m0saic/types/dist/telemetry/index.js +1 -0
- package/node_modules/@m0saic/types/dist/telemetry/level.js +1 -0
- package/node_modules/@m0saic/types/dist/telemetry/personas.js +1 -0
- package/node_modules/@m0saic/types/dist/telemetry/record.js +1 -0
- package/node_modules/@m0saic/types/dist/telemetry/sink.js +1 -0
- package/node_modules/@m0saic/types/dist/telemetry/usage.js +1 -0
- package/node_modules/@m0saic/types/dist/telemetry-settings/index.js +1 -0
- package/node_modules/@m0saic/types/dist/telemetry-settings/mode.js +1 -0
- package/node_modules/@m0saic/types/dist/telemetry-settings/settings.js +1 -0
- package/node_modules/@m0saic/types/dist/telemetry-settings/upstream.js +1 -0
- package/node_modules/@m0saic/types/dist/template/forensic-watermark-check.js +1 -0
- package/node_modules/@m0saic/types/dist/template/forensic-watermark.js +1 -0
- package/node_modules/@m0saic/types/dist/template/index.js +1 -0
- package/node_modules/@m0saic/types/dist/template/region.js +1 -0
- package/node_modules/@m0saic/types/dist/template/template.js +1 -0
- package/node_modules/@m0saic/types/dist/template/time-range.js +1 -0
- package/node_modules/@m0saic/types/dist/template/time-window.js +1 -0
- package/node_modules/@m0saic/types/dist/template/timed-cue.js +1 -0
- package/node_modules/@m0saic/types/dist/template-repo/index.js +1 -0
- package/node_modules/@m0saic/types/dist/template-repo/template-repo.js +1 -0
- package/node_modules/@m0saic/types/dist/theme/index.js +1 -0
- package/node_modules/@m0saic/types/dist/theme/theme.js +1 -0
- package/node_modules/@m0saic/types/package.json +6 -0
- package/node_modules/@m0saic/types/schemas/mosaic.schema.json +771 -0
- package/node_modules/@m0saic/types-internal/LICENSE +7 -0
- package/node_modules/@m0saic/types-internal/dist/analytics/featureKeys.js +1 -0
- package/node_modules/@m0saic/types-internal/dist/analytics/webEvent.js +1 -0
- package/node_modules/@m0saic/types-internal/dist/index.js +1 -0
- package/node_modules/@m0saic/types-internal/package.json +6 -0
- package/package.json +49 -8
|
@@ -0,0 +1 @@
|
|
|
1
|
+
"use strict";var pe=Object.defineProperty;var d=(e,t)=>pe(e,"name",{value:t,configurable:!0});Object.defineProperty(exports,"__esModule",{value:!0}),exports.StatCard=void 0;const types_1=require("@m0saic/types"),dsl_stdlib_1=require("@m0saic/dsl-stdlib"),template_utils_1=require("@m0saic/template-utils"),onboarding_cover_1=require("../../../_shared/onboarding-cover"),propsSchema=(0,template_utils_1.definePropsSchema)({label:{type:"string",required:!0,description:'Category label (e.g. "Total Commits").',meta:{control:{placeholder:"e.g. Total Commits"},ui:{label:"Label",order:1}}},value:{type:"string",required:!0,description:'The headline KPI value, pre-formatted (e.g. "246", "86%").',meta:{control:{placeholder:"e.g. 246"},ui:{label:"Value",order:2}}},delta:{type:"string",required:!1,description:'Change vs the comparison window, pre-formatted (e.g. "+18 (+7.9%)"). Omit for no-delta cards.',meta:{control:{placeholder:"e.g. +18 (+7.9%)"},ui:{label:"Delta",order:3}}},direction:{type:"string",required:!1,description:"Delta direction \u2014 drives the arrow glyph and color (green up / red down).",meta:{constraints:{oneOf:["up","down","flat"]},ui:{label:"Direction",order:4}}},sublabel:{type:"string",required:!1,description:'Small muted caption under the delta (e.g. "vs last week").',meta:{control:{placeholder:"e.g. vs last week"},ui:{label:"Sublabel",order:5}}},backgroundColor:{type:"string",required:!1,description:'Card surface color. Pass "none" to render transparent when composed under a card-chrome primitive.',meta:{constraints:{isColor:!0},control:{placeholder:"theme surface",colorPicker:!0},ui:{label:"Card Color",order:6}}},debugLayout:{type:"boolean",required:!1,description:"Dev-only: draw the layout contract (label / value / delta / sublabel fit their cells) instead of the card.",meta:{ui:{label:"Debug layout",order:9}}},theme:{type:"group",required:!1,description:"Opt into a theme source. Reads the card's own palette by default; set a producer slug + namespace to pull shared design tokens (self-seeds when nothing is upstream).",meta:{ui:{label:"Theme",order:7,collapsedByDefault:!0}},fields:{slug:{type:"string",required:!1,description:`Producer template to seed tokens from when the namespace isn't already on ctx (e.g. "@m0saic/theming/v1").`,meta:{control:{placeholder:"preset palette (no producer)"},ui:{label:"Producer slug"}}},preset:{type:"string",required:!1,description:"Producer preset/variant to request (e.g. light | dark | high-contrast for @m0saic/theming/v1; producer-defined).",meta:{control:{placeholder:"producer default"},ui:{label:"Preset"}}},namespace:{type:"string",required:!1,description:'Upstream alias to read tokens from. Default "theme".',meta:{control:{placeholder:"theme"},ui:{label:"Namespace"}}},forceFetch:{type:"boolean",required:!1,description:"Re-seed via the slug even if the namespace is already populated (collision escape hatch).",meta:{ui:{label:"Force fetch"}}}}},anim:{type:"group",required:!1,description:"Intro animation: count-up, cascade reveal, easing, duration, reduceMotion.",meta:{ui:{label:"Animation",order:8,collapsedByDefault:!0}},fields:{countUp:{type:"boolean",required:!1,description:"Count the value up on intro.",meta:{ui:{label:"Count up"}}},slideIn:{type:"boolean",required:!1,description:"Cascade-reveal the content in (label \u2192 delta \u2192 sublabel) with a subtle slide-up.",meta:{ui:{label:"Slide in"}}},introFrac:{type:"number",required:!1,description:"Fraction of the output duration the intro fills (the rest holds).",meta:{constraints:{min:.1,max:1},control:{flavor:"slider",step:.05},ui:{label:"Intro length (\xD7 duration)"}}},introMs:{type:"number",required:!1,description:"Absolute intro duration (ms). Overrides Intro length when set.",meta:{control:{placeholder:"from Intro fraction"},constraints:{min:0,max:2e4},ui:{label:"Intro (ms, override)"}}},easing:{type:"string",required:!1,description:"Count-up easing.",meta:{constraints:{oneOf:["easeOut","smoothstep","easeInOut","linear"]},ui:{label:"Easing"}}},reduceMotion:{type:"boolean",required:!1,description:"Disable all motion \u2014 render the static final value.",meta:{ui:{label:"Reduce motion"}}}}}}),LOCAL_THEME={surfaceApp:"#0d1117",surface:"#161b22",surfaceRaised:"#1c2128",surfaceInset:"#010409",border:"#30363d",borderStrong:"#484f58",textPrimary:"#e6edf3",textSecondary:"#8b949e",textMuted:"#6e7681",eyebrow:"#8b949e",accent:"#2f81f7",accentSoft:"#388bfd",accentGlow:"#1f6feb",positive:"#3fb950",negative:"#f85149",grid:"#30363d",gridAlpha:1,axis:"#484f58",axisAlpha:1,radius:0,dataPalette:["#3fb950","#f85149","#2f81f7","#d29922","#a371f7","#db61a2"]},OUTER_WEIGHTS=[12,76,12],CONTENT_WEIGHTS=[3,1],LABEL_FONT_FRAC=.11,VALUE_FONT_FRAC=.46,DELTA_FONT_FRAC=.13,SUBLABEL_FONT_FRAC=.08,LEFT_PAD=.06;function leftText(e,t,o,a=LEFT_PAD){return{type:"text",visual:{backgroundColor:"black@0"},layers:[{content:{kind:"literal",text:e||" "},style:{fontSize:t,fontColor:o},placement:{fit:"contain",hAlign:"left",vAlign:"middle",padding:{left:a}}}]}}d(leftText,"leftText");function exprText(e,t,o,a=LEFT_PAD){return{type:"text",renderMode:{kind:"video"},visual:{backgroundColor:"black@0"},layers:[{content:{kind:"expr",expr:e,eval:"frame"},style:{fontSize:t,fontColor:o},placement:{hAlign:"left",vAlign:"middle",padding:{left:a}}}]}}d(exprText,"exprText");function slideIn(e,t,o,a){var l;if(!a)return e;const n=(l=e.overlay)!==null&&l!==void 0?l:{};return{...e,overlay:{...n,...(0,template_utils_1.entrance)({kind:"slide-up",atSec:t,durationMs:Math.round(o*1e3)})}}}d(slideIn,"slideIn");function triangleSource(e,t,o,a){const l=Math.min(o,a)*.74,n=o/2,b=a/2,h=l/2,C=l*.866,g=b-C/2,v=b+C/2,r=d(M=>Math.round(M*10)/10,"n"),S=e==="up"?`M ${r(n)} ${r(g)} L ${r(n+h)} ${r(v)} L ${r(n-h)} ${r(v)} Z`:`M ${r(n-h)} ${r(g)} L ${r(n+h)} ${r(g)} L ${r(n)} ${r(v)} Z`;return(0,template_utils_1.makeColorTile)(t,{mask:{kind:"inline-mask",localPath:S,bounds:{x:0,y:0,width:o,height:a}}})}d(triangleSource,"triangleSource");function deltaColor(e,t){return e==="up"?t.positive:e==="down"?t.negative:t.textSecondary}d(deltaColor,"deltaColor"),exports.StatCard={id:(0,types_1.asTemplateId)("@m0saic/charts/stat-card/v1"),label:"KPI Stat Card",version:1,description:"Canonical KPI stat card: label, dominant value, delta (arrow + signed change), and sublabel. Building block of the repo-tracker hero.",capabilities:{tier:"core"},primitive:!0,tags:["data-viz","stat-card","kpi","animated","analysts","marketers","metric"],aspectRatio:{ideal:2.6,min:1.6,max:4,mode:"warn"},outputHints:{format:{kind:"video",container:"mp4"},width:768,height:288,fps:30,durationMs:1500,note:"Single KPI tile (8:3)"},propsSchema,defaultProps:{debugLayout:!1,theme:{forceFetch:!1},label:"Total Commits",value:"246",delta:"+18 (+7.9%)",direction:"up",sublabel:"vs last week",anim:{countUp:!0,introFrac:.7,easing:"easeOut",slideIn:!0,reduceMotion:!1}},async render(e,t){var o,a,l,n,b,h,C,g,v,r,S,M,I,A;const y=await(0,template_utils_1.resolveThemeTokens)(LOCAL_THEME,t,e.theme),U=t.target.height,k=t.target.width,p=k*(1-LEFT_PAD-.02),x=d((i,c,u,s,B)=>Math.max(s,Math.min(Math.round(U*i),Math.floor(u/Math.max(1,(0,template_utils_1.textEmUnits)(c||" ")*B)))),"capFont"),_=d((i,c,u,s)=>(0,template_utils_1.fitEmUnits)(i,Math.max(2,c/(u*s))),"fitTo"),H=x(LABEL_FONT_FRAC,e.label,p,10,.7),Y=_(e.label,p,H,.7),L=x(VALUE_FONT_FRAC,e.value,p,16,.66),K=_(e.value,p,L,.66),G=x(SUBLABEL_FONT_FRAC,(o=e.sublabel)!==null&&o!==void 0?o:"",p,9,.7),ee=_((a=e.sublabel)!==null&&a!==void 0?a:"",p,G,.7),m=(l=e.anim)!==null&&l!==void 0?l:{},E=(n=m.reduceMotion)!==null&&n!==void 0?n:!1,te=t.target.durationMs/1e3,w=m.introMs!=null?m.introMs/1e3:te*((b=m.introFrac)!==null&&b!==void 0?b:.7),T=((h=m.slideIn)!==null&&h!==void 0?h:!0)&&!E,ae=((C=m.countUp)!==null&&C!==void 0?C:!0)&&!E&&/\d/.test(e.value)&&e.debugLayout!==!0,oe=((g=m.countUp)!==null&&g!==void 0?g:!0)&&!E&&e.debugLayout!==!0,f=[w*.55,w*.35],V=[w*.85,w*.15],P=(v=e.direction)!==null&&v!==void 0?v:"flat",F=!!(e.delta&&e.delta.trim()!==""),re=F&&(P==="up"||P==="down"),O=deltaColor(P,y),j=d((i,c,u)=>{var s;return oe&&/\d/.test(i)?exprText((0,template_utils_1.animateNumbersInText)(i,{startSec:f[0],durationSec:f[1],ease:(s=m.easing)!==null&&s!==void 0?s:"easeOut"}),c,O,u):leftText(i,c,O,u)},"makeDeltaText"),q=[];let D;if(re){const i=OUTER_WEIGHTS[0]+OUTER_WEIGHTS[1]+OUTER_WEIGHTS[2],c=CONTENT_WEIGHTS[0]+CONTENT_WEIGHTS[1],s=OUTER_WEIGHTS[1]/i*(CONTENT_WEIGHTS[1]/c)*U,B=Math.max(1,Math.round(s/k*100)),R=Math.max(1,Math.round(LEFT_PAD*100)),ce=(100-R-B)/100*k*.94,ue=x(DELTA_FONT_FRAC,e.delta,ce,10,.7),me=Math.min(s,ue*1.5),N=Math.max(1,Math.round(me/k*100)),J=Math.max(1,100-R-N),be=N/100*k,Q=J/100*k*.94,X=x(DELTA_FONT_FRAC,e.delta,Q,10,.7),he=_(e.delta,Q,X,.7);D=(0,dsl_stdlib_1.weightedSplit)([R,N,J],"col",{claimants:["-","1","1"]}),q.push(slideIn(triangleSource(P,O,be,s),f[0],f[1],T)),q.push(slideIn((0,template_utils_1.bindProp)((0,template_utils_1.tag)(j(he,X,.04),"kpi-delta"),"delta"),f[0],f[1],T))}else{D="1";const i=x(DELTA_FONT_FRAC,F?e.delta:" ",p,10,.7),c=_(F?e.delta:"",p,i,.7),u=j(c,i,LEFT_PAD);q.push(slideIn((0,template_utils_1.bindProp)(F?(0,template_utils_1.tag)(u,"kpi-delta"):u,"delta"),f[0],f[1],T))}const ne=(0,dsl_stdlib_1.weightedSplit)(CONTENT_WEIGHTS,"row",{claimants:["1",D]}),Z=(0,dsl_stdlib_1.weightedSplit)(OUTER_WEIGHTS,"row",{claimants:["1",ne,"1"]}),z=((r=e.backgroundColor)!==null&&r!==void 0?r:"").trim(),W=z.toLowerCase()==="none"?void 0:z||y.surface,le=(0,dsl_stdlib_1.toM0String)(W?`1{${Z}}`:Z,"StatCard"),ie=ae?exprText((0,template_utils_1.animateNumbersInText)(K,{durationSec:w,ease:(S=m.easing)!==null&&S!==void 0?S:"easeOut"}),L,y.textPrimary):leftText(K,L,y.textPrimary),$=leftText(ee,G,y.textMuted);((M=e.sublabel)!==null&&M!==void 0?M:"").trim()&&(0,template_utils_1.tag)($,"kpi-sublabel"),(0,template_utils_1.bindProp)($,"sublabel");const se=[...W?[(0,template_utils_1.bindProp)((0,template_utils_1.makeColorTile)(W),"backgroundColor")]:[],slideIn((0,template_utils_1.bindProp)((0,template_utils_1.tag)(leftText(Y,H,y.textSecondary),"kpi-label"),"label"),0,.25,T),(0,template_utils_1.bindProp)((0,template_utils_1.tag)(ie,"kpi-value"),"value"),...q,slideIn($,V[0],V[1],T)],de={kind:"mosaic_document",version:1,assets:{},m0:le,sources:se,backgroundColor:(I=e.backgroundColor)!==null&&I!==void 0?I:y.surface,fps:t.target.fps,durationMs:t.target.durationMs};return(0,template_utils_1.withLayoutContract)(de,t,{templateId:"@m0saic/charts/stat-card/v1",relations:[],constraints:[{label:"kpi-label",textFits:{charWidthEm:.7}},{label:"kpi-value",textFits:{charWidthEm:.66}},...F?[{label:"kpi-delta",textFits:{charWidthEm:.7}}]:[],...((A=e.sublabel)!==null&&A!==void 0?A:"").trim()?[{label:"kpi-sublabel",textFits:{charWidthEm:.7}}]:[]],debug:e.debugLayout===!0})},async renderCover(e,t){var o;const a=(0,onboarding_cover_1.brandedCoverHeroBox)(t,"band"),l={...t,target:{...t.target,width:a.width,height:a.height},output:{...t.output,width:a.width,height:a.height}},n=await exports.StatCard.render({...exports.StatCard.defaultProps,anim:{...(o=exports.StatCard.defaultProps.anim)!==null&&o!==void 0?o:{},reduceMotion:!0}},l);return(0,onboarding_cover_1.buildBrandedCover)({ctx:t,variant:"band",copy:{productName:"KPI Stat Card",title:"A KPI card."},hero:d(b=>(0,onboarding_cover_1.onboardingFrame)((0,onboarding_cover_1.inlineHeroDoc)(n),b.borderStrong),"hero"),heroAssets:n.assets})}},(0,template_utils_1.registerTemplate)(exports.StatCard);
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
"use strict";var f=Object.defineProperty;var a=(s,t)=>f(s,"name",{value:t,configurable:!0});Object.defineProperty(exports,"__esModule",{value:!0}),exports.lcsDiffLines=lcsDiffLines,exports.groupMotionUnits=groupMotionUnits,exports.refineMotionUnits=refineMotionUnits,exports.coalesceFadeUnits=coalesceFadeUnits;function validateLines(s,t){if(!Array.isArray(s))throw new Error(`${t} must be an array`);s.forEach((e,n)=>{if(typeof e!="string")throw new Error(`${t}[${n}] must be a string`)})}a(validateLines,"validateLines");function lcsDiffLines(s,t){validateLines(s,"lcsDiffLines: before"),validateLines(t,"lcsDiffLines: after");const e=s.length+1,n=t.length+1,l=Array.from({length:e},()=>Array(n).fill(0));for(let r=s.length-1;r>=0;r-=1)for(let L=t.length-1;L>=0;L-=1)l[r][L]=s[r]===t[L]?1+l[r+1][L+1]:Math.max(l[r+1][L],l[r][L+1]);const d=[];let i=0,o=0;for(;i<s.length||o<t.length;)i<s.length&&o<t.length&&s[i]===t[o]?(d.push({kind:"same",text:s[i],fromLine:i,toLine:o}),i+=1,o+=1):i<s.length&&(o>=t.length||l[i+1][o]>=l[i][o+1])?(d.push({kind:"del",text:s[i],fromLine:i,toLine:null}),i+=1):(d.push({kind:"add",text:t[o],fromLine:null,toLine:o}),o+=1);return d}a(lcsDiffLines,"lcsDiffLines");function groupMotionUnits(s){if(!Array.isArray(s))throw new Error("groupMotionUnits: ops must be an array");const t=[];for(const e of s){const n=t[t.length-1];if(e.kind==="same"){const i=e.toLine-e.fromLine,o={text:e.text,fromLine:e.fromLine,toLine:e.toLine},r=n?.lines[n.lines.length-1];n?.kind==="move"&&n.deltaLines===i&&r?.fromLine===e.fromLine-1&&r.toLine===e.toLine-1?n.lines.push(o):t.push({kind:"move",fromStartLine:e.fromLine,toStartLine:e.toLine,deltaLines:i,lines:[o]});continue}if(e.kind==="del"){const i={text:e.text,fromLine:e.fromLine,toLine:null},o=n?.lines[n.lines.length-1];n?.kind==="remove"&&o?.fromLine===e.fromLine-1?n.lines.push(i):t.push({kind:"remove",fromStartLine:e.fromLine,lines:[i]});continue}const l={text:e.text,fromLine:null,toLine:e.toLine},d=n?.lines[n.lines.length-1];n?.kind==="add"&&d?.toLine===e.toLine-1?n.lines.push(l):t.push({kind:"add",toStartLine:e.toLine,lines:[l]})}return t}a(groupMotionUnits,"groupMotionUnits");function refineMotionUnits(s,t){if(t==="block")return s.map(n=>({...n,lines:n.lines.map(l=>({...l}))}));const e=[];for(const n of s)for(const l of n.lines)n.kind==="move"?e.push({kind:"move",fromStartLine:l.fromLine,toStartLine:l.toLine,deltaLines:n.deltaLines,lines:[{...l}]}):n.kind==="remove"?e.push({kind:"remove",fromStartLine:l.fromLine,lines:[{...l}]}):e.push({kind:"add",toStartLine:l.toLine,lines:[{...l}]});return e}a(refineMotionUnits,"refineMotionUnits");function coalesceFadeUnits(s,t="block"){if(t!=="block")throw new Error(`coalesceFadeUnits: unsupported grouping ${JSON.stringify(t)}`);const e=[],n=[],l=[],d=[];for(const i of s)i.kind==="remove"?n.push(...i.lines.map(o=>({...o}))):i.kind==="add"?l.push(...i.lines.map(o=>({...o}))):i.deltaLines===0?e.push(...i.lines.map(o=>({...o}))):d.push({...i,lines:i.lines.map(o=>({...o}))});return{...e.length>0?{staticUnderlay:{kind:"static",lines:e}}:{},...n.length>0?{removalRaster:{kind:"remove",lines:n}}:{},...l.length>0?{additionRaster:{kind:"add",lines:l}}:{},moves:d}}a(coalesceFadeUnits,"coalesceFadeUnits");
|
|
@@ -0,0 +1,3 @@
|
|
|
1
|
+
"use strict";var m=Object.defineProperty;var l=(e,n)=>m(e,"name",{value:n,configurable:!0});Object.defineProperty(exports,"__esModule",{value:!0}),exports.normalizeCodeSource=normalizeCodeSource,exports.lexTsJs=lexTsJs;const JS_KEYWORDS=new Set(["async","await","break","case","catch","class","const","continue","debugger","default","delete","do","else","export","extends","false","finally","for","from","function","get","if","import","in","instanceof","let","new","null","of","return","set","static","super","switch","this","throw","true","try","typeof","undefined","var","void","while","with","yield"]),TS_ONLY_KEYWORDS=new Set(["abstract","any","as","asserts","bigint","boolean","declare","enum","global","implements","infer","interface","is","keyof","module","namespace","never","number","object","override","private","protected","public","readonly","require","satisfies","string","symbol","type","unknown"]),PUNCTUATION=new Set(["(",")","{","}","[","]",";",",",":","."]),OPERATOR_CHARS=new Set(Array.from("+-*/%=!<>&|^~?"));function isIdentifierStart(e){return/[A-Za-z_$]/.test(e)}l(isIdentifierStart,"isIdentifierStart");function isIdentifierPart(e){return/[A-Za-z0-9_$]/.test(e)}l(isIdentifierPart,"isIdentifierPart");function isDigit(e){return e>="0"&&e<="9"}l(isDigit,"isDigit");function pushToken(e,n,i,s){if(n.length===0)return;const r=e[e.length-1];r?.kind===i&&r.col+Array.from(r.text).length===s?r.text+=n:e.push({text:n,kind:i,col:s})}l(pushToken,"pushToken");function scanQuoted(e,n,i){let s=n+1;for(;s<e.length;)if(e[s]==="\\")s+=2;else{if(e[s]===i)return s+1;s+=1}return e.length}l(scanQuoted,"scanQuoted");function scanNumber(e,n){const i=e.slice(n).match(/^(?:0[xX][0-9a-fA-F_]+n?|0[bB][01_]+n?|0[oO][0-7_]+n?|(?:\d[\d_]*(?:\.[\d_]*)?|\.[\d_]+)(?:[eE][+-]?[\d_]+)?n?)/);return i==null?n+1:n+i[0].length}l(scanNumber,"scanNumber");function isKeyword(e,n){return JS_KEYWORDS.has(e)||n==="ts"&&TS_ONLY_KEYWORDS.has(e)}l(isKeyword,"isKeyword");function scanTemplateText(e,n,i,s,r){let t=i?n+1:n;for(;t<e.length;){if(e[t]==="\\"){t=Math.min(e.length,t+2);continue}if(e[t]==="`")return t+=1,pushToken(s,e.slice(n,t),"string",n),r.templates.pop(),t;if(e[t]==="$"&&e[t+1]==="{"){t+=2,pushToken(s,e.slice(n,t),"string",n);const u=r.templates[r.templates.length-1];return u.inExpression=!0,u.braceDepth=0,t}t+=1}return pushToken(s,e.slice(n),"string",n),e.length}l(scanTemplateText,"scanTemplateText");function lexLine(e,n,i){var s;const r=[];let t=0;for(;t<e.length;){if(i.inBlockComment){const o=e.indexOf("*/",t),f=o<0?e.length:o+2;if(pushToken(r,e.slice(t,f),"comment",t),t=f,o<0)break;i.inBlockComment=!1;continue}const u=i.templates[i.templates.length-1];if(u&&!u.inExpression){t=scanTemplateText(e,t,!1,r,i);continue}const c=e[t],d=(s=e[t+1])!==null&&s!==void 0?s:"";if(/\s/.test(c)){let o=t+1;for(;o<e.length&&/\s/.test(e[o]);)o+=1;pushToken(r,e.slice(t,o),"plain",t),t=o;continue}if(c==="/"&&d==="/"){pushToken(r,e.slice(t),"comment",t);break}if(c==="/"&&d==="*"){const o=e.indexOf("*/",t+2),f=o<0?e.length:o+2;pushToken(r,e.slice(t,f),"comment",t),t=f,i.inBlockComment=o<0;continue}if(c==="'"||c==='"'){const o=scanQuoted(e,t,c);pushToken(r,e.slice(t,o),"string",t),t=o;continue}if(c==="`"){i.templates.push({inExpression:!1,braceDepth:0}),t=scanTemplateText(e,t,!0,r,i);continue}if(u?.inExpression&&c==="}"){u.braceDepth===0?(pushToken(r,c,"string",t),u.inExpression=!1):(pushToken(r,c,"punct",t),u.braceDepth-=1),t+=1;continue}if(u?.inExpression&&c==="{"){u.braceDepth+=1,pushToken(r,c,"punct",t),t+=1;continue}if(isIdentifierStart(c)){let o=t+1;for(;o<e.length&&isIdentifierPart(e[o]);)o+=1;const f=e.slice(t,o);let a=o;for(;a<e.length&&/\s/.test(e[a]);)a+=1;const p=isKeyword(f,n)?"keyword":e[a]==="("?"fnCall":"ident";pushToken(r,f,p,t),t=o;continue}if(isDigit(c)||c==="."&&isDigit(d)){const o=scanNumber(e,t);pushToken(r,e.slice(t,o),"number",t),t=o;continue}if(OPERATOR_CHARS.has(c)){let o=t+1;for(;o<e.length&&OPERATOR_CHARS.has(e[o]);)o+=1;pushToken(r,e.slice(t,o),"operator",t),t=o;continue}if(PUNCTUATION.has(c)){pushToken(r,c,"punct",t),t+=1;continue}pushToken(r,c,"plain",t),t+=1}return{text:e,tokens:r}}l(lexLine,"lexLine");function normalizeCodeSource(e,n=2){if(typeof e!="string")throw new Error("normalizeCodeSource: code must be a string");if(!Number.isInteger(n)||n<1||n>16)throw new Error(`normalizeCodeSource: tabWidth must be an integer from 1 to 16, got ${n}`);return e.replace(/\r\n?/g,`
|
|
2
|
+
`).replace(/\t/g," ".repeat(n))}l(normalizeCodeSource,"normalizeCodeSource");function lexTsJs(e,n="ts",i={}){var s;if(n!=="ts"&&n!=="js")throw new Error(`lexTsJs: language must be "ts" or "js", got ${JSON.stringify(n)}`);const r=normalizeCodeSource(e,(s=i.tabWidth)!==null&&s!==void 0?s:2),t={inBlockComment:!1,templates:[]};return{code:r,language:n,lines:r.split(`
|
|
3
|
+
`).map(u=>lexLine(u,n,t))}}l(lexTsJs,"lexTsJs");
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
"use strict";var m=Object.defineProperty;var u=(e,t)=>m(e,"name",{value:t,configurable:!0});Object.defineProperty(exports,"__esModule",{value:!0}),exports.MIN_AUTOFIT_FONT_SIZE=exports.JETBRAINS_MONO_ADVANCE_EM=void 0,exports.codeColumnCount=codeColumnCount,exports.measureCodeGrid=measureCodeGrid,exports.codeBlockRect=codeBlockRect,exports.autoFitCodeFont=autoFitCodeFont,exports.JETBRAINS_MONO_ADVANCE_EM=.6,exports.MIN_AUTOFIT_FONT_SIZE=8;function requirePositiveFinite(e,t){if(!Number.isFinite(e)||e<=0)throw new Error(`${t} must be a finite number > 0, got ${e}`)}u(requirePositiveFinite,"requirePositiveFinite");function requireNonNegativeFinite(e,t){if(!Number.isFinite(e)||e<0)throw new Error(`${t} must be a finite number >= 0, got ${e}`)}u(requireNonNegativeFinite,"requireNonNegativeFinite");function codeColumnCount(e){if(typeof e!="string")throw new Error("codeColumnCount: text must be a string");return Array.from(e).length}u(codeColumnCount,"codeColumnCount");function measureCodeGrid(e,t){var i,o;if(!Array.isArray(e))throw new Error("measureCodeGrid: lines must be an array");const r=(i=t.lineHeight)!==null&&i!==void 0?i:1.5,n=(o=t.charWidthEm)!==null&&o!==void 0?o:exports.JETBRAINS_MONO_ADVANCE_EM;requirePositiveFinite(t.fontSize,"measureCodeGrid: fontSize"),requirePositiveFinite(r,"measureCodeGrid: lineHeight"),requirePositiveFinite(n,"measureCodeGrid: charWidthEm");let d=0;e.forEach((h,a)=>{if(h==null||typeof h.text!="string")throw new Error(`measureCodeGrid: lines[${a}].text must be a string`);d=Math.max(d,codeColumnCount(h.text))});const c=t.fontSize*n,l=Math.max(1,Math.round(t.fontSize*r));return{fontSize:t.fontSize,lineHeight:r,charW:c,lineStep:l,lineCount:e.length,maxColumns:d,width:d===0?0:Math.ceil(d*c),height:e.length*l}}u(measureCodeGrid,"measureCodeGrid");function codeBlockRect(e,t){var i;const o=(i=e.originCol)!==null&&i!==void 0?i:0;for(const[l,h]of[["originCol",o],["originLine",e.originLine],["endCol",e.endCol],["endLine",e.endLine]])if(!Number.isInteger(h)||h<0)throw new Error(`codeBlockRect: ${l} must be a non-negative integer, got ${h}`);if(e.endCol<o||e.endLine<e.originLine)throw new Error("codeBlockRect: end coordinates must not precede the origin");requirePositiveFinite(t.charW,"codeBlockRect: charW"),requirePositiveFinite(t.lineStep,"codeBlockRect: lineStep");const r=Math.floor(o*t.charW),n=Math.floor(e.originLine*t.lineStep),d=Math.ceil(e.endCol*t.charW),c=Math.ceil(e.endLine*t.lineStep);return{x:r,y:n,width:Math.max(0,d-r),height:Math.max(0,c-n),originCol:o,originLine:e.originLine,endCol:e.endCol,endLine:e.endLine}}u(codeBlockRect,"codeBlockRect");function autoFitCodeFont(e,t){var i,o,r;const n=(i=t.lineHeight)!==null&&i!==void 0?i:1.5,d=(o=t.minFontSize)!==null&&o!==void 0?o:exports.MIN_AUTOFIT_FONT_SIZE,c=(r=t.charWidthEm)!==null&&r!==void 0?r:exports.JETBRAINS_MONO_ADVANCE_EM;requirePositiveFinite(t.preferredFontSize,"autoFitCodeFont: preferredFontSize"),requirePositiveFinite(d,"autoFitCodeFont: minFontSize"),requirePositiveFinite(n,"autoFitCodeFont: lineHeight"),requirePositiveFinite(c,"autoFitCodeFont: charWidthEm"),requireNonNegativeFinite(t.maxWidth,"autoFitCodeFont: maxWidth"),requireNonNegativeFinite(t.maxHeight,"autoFitCodeFont: maxHeight");const l=Math.max(1,Math.ceil(d)),h=Math.max(l,Math.floor(t.preferredFontSize));let a=measureCodeGrid(e,{fontSize:h,lineHeight:n,charWidthEm:c});for(let f=h;f>=l;f-=1)if(a=measureCodeGrid(e,{fontSize:f,lineHeight:n,charWidthEm:c}),a.width<=t.maxWidth&&a.height<=t.maxHeight)return{fontSize:f,fits:!0,overflowX:!1,overflowY:!1,metrics:a};return a=measureCodeGrid(e,{fontSize:l,lineHeight:n,charWidthEm:c}),{fontSize:l,fits:!1,overflowX:a.width>t.maxWidth,overflowY:a.height>t.maxHeight,metrics:a}}u(autoFitCodeFont,"autoFitCodeFont");
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
"use strict";var i=Object.defineProperty;var o=(e,r)=>i(e,"name",{value:r,configurable:!0});Object.defineProperty(exports,"__esModule",{value:!0}),exports.CODE_THEME_PRESETS=exports.CODE_THEME_PRESET_KEYS=exports.CODE_TOKEN_KINDS=void 0,exports.codeTheme=codeTheme,exports.resolveCodeColor=resolveCodeColor,exports.resolveCodeSyntaxTheme=resolveCodeSyntaxTheme,exports.CODE_TOKEN_KINDS=["keyword","string","comment","number","fnCall","ident","operator","punct","plain"],exports.CODE_THEME_PRESET_KEYS=["dark","light","merge-conflict","rubber-duck"],exports.CODE_THEME_PRESETS={dark:{canvas:"#080B14",editor:"#011627",titleBar:"#0B2942",border:"#1D3B53",title:"#D6DEEB",gutter:"#011627",lineNumber:"#5F7E97",trafficClose:"#FF5F57",trafficMinimize:"#FFBD2E",trafficMaximize:"#28C840",syntax:{keyword:"#C792EA",string:"#ECC48D",comment:"#637777",number:"#F78C6C",fnCall:"#82AAFF",ident:"#D6DEEB",operator:"#7FDBCA",punct:"#89DDFF",plain:"#D6DEEB"}},light:{canvas:"#E9EEF5",editor:"#FBFBFB",titleBar:"#F0F2F5",border:"#D8DEE9",title:"#243447",gutter:"#F4F6F8",lineNumber:"#90A4AE",trafficClose:"#FF5F57",trafficMinimize:"#FFBD2E",trafficMaximize:"#28C840",syntax:{keyword:"#7C3AED",string:"#A15C00",comment:"#6B7C85",number:"#C2410C",fnCall:"#2563EB",ident:"#243447",operator:"#047D75",punct:"#52606D",plain:"#243447"}},"merge-conflict":{canvas:"#0B0D10",editor:"#15181E",titleBar:"#20242C",border:"#3B414D",title:"#F4F1EC",gutter:"#11141A",lineNumber:"#737B8C",trafficClose:"#FF5F57",trafficMinimize:"#FFBD2E",trafficMaximize:"#28C840",syntax:{keyword:"#FF6B81",string:"#A9DC76",comment:"#6C7486",number:"#FFD166",fnCall:"#73D2DE",ident:"#F4F1EC",operator:"#AB9DF2",punct:"#FC9867",plain:"#F4F1EC"}},"rubber-duck":{canvas:"#070A16",editor:"#10162B",titleBar:"#171F3A",border:"#2A3762",title:"#FFF4B8",gutter:"#0D1327",lineNumber:"#63739B",trafficClose:"#FF5F57",trafficMinimize:"#FFBD2E",trafficMaximize:"#28C840",syntax:{keyword:"#FFD166",string:"#7BDFF2",comment:"#63739B",number:"#FF8FAB",fnCall:"#B8F2A1",ident:"#F5F7FF",operator:"#CDB4DB",punct:"#89C2D9",plain:"#F5F7FF"}}};function codeTheme(e){return exports.CODE_THEME_PRESETS[e??"dark"]}o(codeTheme,"codeTheme");const HEX_COLOR_RE=/^#[0-9a-f]{6}(?:[0-9a-f]{2})?$/i;function resolveCodeColor(e,r){const t=(e??"").trim();if(t.length===0||t.toLowerCase()==="none")return r;if(!HEX_COLOR_RE.test(t))throw new Error(`Code theme colors must be #RRGGBB or #RRGGBBAA, got ${JSON.stringify(e)}`);return t.toUpperCase()}o(resolveCodeColor,"resolveCodeColor");function resolveCodeSyntaxTheme(e,r={}){return Object.fromEntries(exports.CODE_TOKEN_KINDS.map(t=>[t,resolveCodeColor(r[t],e.syntax[t])]))}o(resolveCodeSyntaxTheme,"resolveCodeSyntaxTheme");
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
"use strict";var c=Object.defineProperty;var o=(r,e)=>c(r,"name",{value:e,configurable:!0});var __createBinding=this&&this.__createBinding||(Object.create?(function(r,e,t,i){i===void 0&&(i=t);var n=Object.getOwnPropertyDescriptor(e,t);(!n||("get"in n?!e.__esModule:n.writable||n.configurable))&&(n={enumerable:!0,get:o(function(){return e[t]},"get")}),Object.defineProperty(r,i,n)}):(function(r,e,t,i){i===void 0&&(i=t),r[i]=e[t]})),__exportStar=this&&this.__exportStar||function(r,e){for(var t in r)t!=="default"&&!Object.prototype.hasOwnProperty.call(e,t)&&__createBinding(e,r,t)};Object.defineProperty(exports,"__esModule",{value:!0}),__exportStar(require("./snippet-morph/v1/snippet-morph"),exports);
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
"use strict";var S=Object.defineProperty;var s=(t,e)=>S(t,"name",{value:e,configurable:!0});Object.defineProperty(exports,"__esModule",{value:!0}),exports.computeSnippetFrameGeometry=computeSnippetFrameGeometry,exports.codeTextSource=codeTextSource,exports.buildSnippetChromePieces=buildSnippetChromePieces;const template_utils_1=require("@m0saic/template-utils");function clamp(t,e,o){return Math.min(o,Math.max(e,t))}s(clamp,"clamp");function positiveInt(t,e){if(!Number.isFinite(t)||t<=0)throw new Error(`${e} must be a finite number > 0, got ${t}`);return Math.max(1,Math.round(t))}s(positiveInt,"positiveInt");function computeSnippetFrameGeometry(t){const e=positiveInt(t.width,"computeSnippetFrameGeometry: width"),o=positiveInt(t.height,"computeSnippetFrameGeometry: height"),n=positiveInt(t.fontSize,"computeSnippetFrameGeometry: fontSize"),a=t.fullBleed?0:clamp(Math.round(e*.07),8,Math.max(8,Math.floor(e/5))),u=t.fullBleed?0:clamp(Math.round(o*.08),8,Math.max(8,Math.floor(o/5))),r={x:a,y:u,w:Math.max(1,e-a*2),h:Math.max(1,o-u*2)},i=t.showChrome?clamp(Math.round(r.h*.09),Math.min(24,r.h),Math.max(1,Math.floor(r.h/4))):0,l=clamp(Math.round(Math.min(r.w,r.h)*.035),4,Math.max(4,Math.floor(Math.min(r.w,r.h)/8))),c=r.x+l,h=r.x+r.w-l,m=r.y+i+l,d=r.y+r.h-l,M=Math.max(1,h-c),y=t.lineNumbers?Math.max(30,Math.round(n*3.2)):0,f=Math.min(y,Math.max(0,Math.floor(M*.28))),w=f>0?Math.min(Math.max(6,Math.round(n*.8)),Math.max(0,M-f-1)):0,x=c+f+w,b={x,y:m,w:Math.max(1,h-x),h:Math.max(1,d-m)},p=Math.max(8,Math.round(i*.3)),g=t.showChrome?Math.round(i*2.4):0;return{canvas:{x:0,y:0,w:e,h:o},card:r,titleBar:{x:r.x,y:r.y,w:r.w,h:i},gutter:{x:c,y:m,w:f,h:Math.max(1,d-m)},codeArea:b,titleSlot:{x:r.x+p+g,y:r.y,w:Math.max(1,r.w-p*2-g),h:Math.max(1,i)},padding:l}}s(computeSnippetFrameGeometry,"computeSnippetFrameGeometry");function labelSource(t,e,o){const n={type:"text",rasterizer:"svg",renderMode:{kind:"image"},visual:{backgroundColor:"black@0"},layers:[{content:{kind:"literal",text:t.trim()||" "},style:{fontFamily:"JetBrains Mono",fontSize:e,fontColor:o},placement:{hAlign:"left",vAlign:"middle"}}],editor:{owner:"template",label:"title"}};return(0,template_utils_1.bindProp)(n,"chrome.title")}s(labelSource,"labelSource");function labeledSource(t,e){return{...t,editor:{owner:"template",label:e}}}s(labeledSource,"labeledSource");function baseChromePieces(t){const{geometry:e,theme:o}=t,n=[{rect:{...e.canvas,importance:0},source:(0,template_utils_1.makeColorTile)(o.canvas)},{rect:{...e.card,importance:1},source:labeledSource(e.card.x===0&&e.card.y===0&&e.card.w===e.canvas.w&&e.card.h===e.canvas.h?(0,template_utils_1.makeColorTile)(o.editor):(0,template_utils_1.makeColorTile)(o.editor,{effects:{rounding:{cornerStyle:"rounded",borderRadius:.025},stroke:{position:"inner",width:.002,color:o.border,alpha:1}}}),"card")},{rect:{...e.codeArea,importance:2},source:labeledSource((0,template_utils_1.makeColorTile)(o.editor),"code-area")}];return t.showChrome&&e.titleBar.h>0&&(n.push({rect:{...e.titleBar,importance:2},source:(0,template_utils_1.makeColorTile)(o.titleBar)}),n.push({rect:{...e.titleSlot,importance:4},source:labelSource(t.title,t.titleFontSize,o.title)})),t.lineNumbers&&e.gutter.w>0&&n.push({rect:{...e.gutter,importance:2},source:labeledSource((0,template_utils_1.makeColorTile)(o.gutter),"gutter")}),n}s(baseChromePieces,"baseChromePieces");function codeTextSource(t,e,o,n="left",a){return{type:"text",rasterizer:"svg",renderMode:{kind:"image"},visual:{backgroundColor:"black@0"},layers:[{content:{kind:"literal",text:t},style:{fontFamily:"JetBrains Mono",fontSize:e,fontColor:o},placement:{hAlign:n,vAlign:"top"}}],editor:{owner:"template",...a?{label:a}:{}}}}s(codeTextSource,"codeTextSource");function buildSnippetChromePieces(t){var e,o;const n=baseChromePieces(t),{geometry:a,theme:u}=t;if(t.showChrome&&t.trafficLights&&a.titleBar.h>0){const r=Math.max(4,Math.round(a.titleBar.h*.24)),i=Math.max(6,Math.round(r*1.45)),l=i*.6,c=Math.ceil(l*5),h=Math.max(r,Math.round(i*1.2)),m=[u.trafficClose,u.trafficMinimize,u.trafficMaximize];n.push({rect:{x:a.card.x+a.padding,y:a.titleBar.y+Math.floor((a.titleBar.h-h)/2),w:c,h,importance:4},source:{type:"text",rasterizer:"svg",renderMode:{kind:"image"},visual:{backgroundColor:"black@0"},style:{fontFamily:"JetBrains Mono",fontSize:i},layers:m.map((d,M)=>({content:{kind:"literal",text:"\u25CF"},style:{fontColor:d},placement:{hAlign:"left",vAlign:"middle",xExpr:String(Math.round(M*2*l*1e3)/1e3)}})),editor:{owner:"template",label:"traffic-lights"}}})}if(t.lineNumbers&&a.gutter.w>0){const r=(e=t.fontSize)!==null&&e!==void 0?e:Math.max(8,Math.round(t.lineStep/1.5)),i=(o=t.charW)!==null&&o!==void 0?o:r*.6,l=Math.round(i);for(let c=0;c<t.lineCount;c+=1){const h=a.codeArea.y+c*t.lineStep;if(h>=a.codeArea.y+a.codeArea.h)break;const m=Math.min(t.lineStep,a.codeArea.y+a.codeArea.h-h);if(m<2)break;n.push({rect:{x:a.gutter.x,y:h,w:Math.max(1,a.gutter.w-l),h:m,importance:4},source:codeTextSource(String(c+1),r,u.lineNumber,"right")})}}return n}s(buildSnippetChromePieces,"buildSnippetChromePieces");
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
"use strict";var w=Object.defineProperty;var d=(t,r)=>w(t,"name",{value:r,configurable:!0});Object.defineProperty(exports,"__esModule",{value:!0}),exports.MAX_ANIMATED_UNITS=exports.DEFAULT_MORPH_TIMING=void 0,exports.computeMorphTimeline=computeMorphTimeline,exports.buildSnippetMorphPlan=buildSnippetMorphPlan;const code_diff_1=require("../../../_shared/code-diff"),code_lexer_1=require("../../../_shared/code-lexer");exports.DEFAULT_MORPH_TIMING={morphMs:750,holdMs:3e3,leadMs:0,trailMs:0},exports.MAX_ANIMATED_UNITS=16;function normalizeDuration(t,r,o,e){const l=t??r;if(!Number.isFinite(l)||(e?l<0:l<=0))throw new Error(`${o} must be a finite number ${e?">= 0":"> 0"}, got ${l}`);const a=Math.round(l);if(!e&&a<=0)throw new Error(`${o} rounds below 1ms, got ${l}`);return a}d(normalizeDuration,"normalizeDuration");function normalizeTiming(t){return{morphMs:normalizeDuration(t.morphMs,exports.DEFAULT_MORPH_TIMING.morphMs,"computeMorphTimeline: morphMs",!1),holdMs:normalizeDuration(t.holdMs,exports.DEFAULT_MORPH_TIMING.holdMs,"computeMorphTimeline: holdMs",!0),leadMs:normalizeDuration(t.leadMs,exports.DEFAULT_MORPH_TIMING.leadMs,"computeMorphTimeline: leadMs",!0),trailMs:normalizeDuration(t.trailMs,exports.DEFAULT_MORPH_TIMING.trailMs,"computeMorphTimeline: trailMs",!0)}}d(normalizeTiming,"normalizeTiming");function clamp(t,r,o){return Math.min(o,Math.max(r,t))}d(clamp,"clamp");function timeWindow(t,r,o){return{startMs:t,endMs:r,durationMs:r-t,globalStartMs:o+t,globalEndMs:o+r}}d(timeWindow,"timeWindow");function computeMorphTimeline(t,r={},o){if(!Number.isInteger(t)||t<1)throw new Error(`computeMorphTimeline: stateCount must be a positive integer, got ${t}`);const e=normalizeTiming(r),l=e.leadMs+t*(e.morphMs+e.holdMs)+e.trailMs;if(o!=null&&!Number.isFinite(o))throw new Error(`computeMorphTimeline: targetDurationMs must be finite, got ${o}`);const a=o!=null&&o>0,p=a?Math.round(o):l;if(a&&p<t)throw new Error(`computeMorphTimeline: targetDurationMs must provide at least 1ms per state (${t} states, got ${p}ms)`);const u=p/l,b=Array.from({length:t},(n,s)=>e.morphMs+e.holdMs+(s===0?e.leadMs:0)+(s===t-1?e.trailMs:0)),m=[];let i=p;for(let n=0;n<t;n+=1){const s=t-n-1,c=n===t-1?i:clamp(Math.round(b[n]*u),1,i-s);m.push(c),i-=c}const f=[];let M=0;for(let n=0;n<t;n+=1){const s=m[n],c=n===0,T=n===t-1,h=c?clamp(Math.round(e.leadMs*u),0,s):0,_=(c?e.leadMs:0)+e.morphMs,g=clamp(Math.round(_*u),h,s),A=T?clamp(Math.round(e.trailMs*u),0,s):0,E=T?clamp(s-A,g,s):s,I=M+s;f.push({index:n,naturalDurationMs:b[n],durationMs:s,globalStartMs:M,globalEndMs:I,lead:timeWindow(0,h,M),morph:timeWindow(h,g,M),hold:timeWindow(g,E,M),trail:timeWindow(E,s,M)}),M=I}return{stateCount:t,knobs:e,naturalDurationMs:l,durationMs:p,scale:u,pinned:a,steps:f}}d(computeMorphTimeline,"computeMorphTimeline");function validateStates(t){if(!Array.isArray(t)||t.length===0)throw new Error("buildSnippetMorphPlan: states must contain at least one code state");t.forEach((r,o)=>{if(typeof r!="string")throw new Error(`buildSnippetMorphPlan: states[${o}] must be a string`)})}d(validateStates,"validateStates");function animatedUnitCount(t){return t.moves.length+(t.removalRaster?1:0)+(t.additionRaster?1:0)}d(animatedUnitCount,"animatedUnitCount");function wholeSnippetCrossfade(t,r){return{...t.length>0?{removalRaster:{kind:"remove",lines:t.map((o,e)=>({text:o,fromLine:e,toLine:null}))}}:{},...r.length>0?{additionRaster:{kind:"add",lines:r.map((o,e)=>({text:o,fromLine:null,toLine:e}))}}:{},moves:[]}}d(wholeSnippetCrossfade,"wholeSnippetCrossfade");function buildSnippetMorphPlan(t){var r,o;if(t==null||typeof t!="object")throw new Error("buildSnippetMorphPlan: spec must be an object");validateStates(t.states);const e=(r=t.language)!==null&&r!==void 0?r:"ts",l=(o=t.tabWidth)!==null&&o!==void 0?o:2,a=t.states.map(m=>(0,code_lexer_1.lexTsJs)(m,e,{tabWidth:l})),p=computeMorphTimeline(a.length,t.timing,t.targetDurationMs),u=a.map((m,i)=>{const f=i===0?[]:a[i-1].lines.map(_=>_.text),M=m.lines.map(_=>_.text),n=(0,code_diff_1.lcsDiffLines)(f,M),s=(0,code_diff_1.groupMotionUnits)(n),c=(0,code_diff_1.coalesceFadeUnits)(s,"block"),T=animatedUnitCount(c),h=i>0&&T>exports.MAX_ANIMATED_UNITS?"crossfade":"morph";return{index:i,fromStateIndex:i===0?null:i-1,toStateIndex:i,ops:n,units:s,requestedAnimatedUnitCount:T,renderMode:h,coalesced:h==="crossfade"?wholeSnippetCrossfade(f,M):c}}),b=u.map((m,i)=>({index:i,stateIndex:i,durationMs:p.steps[i].durationMs,timing:p.steps[i],transition:m}));return{language:e,tabWidth:l,states:a,transitions:u,timeline:p,steps:b}}d(buildSnippetMorphPlan,"buildSnippetMorphPlan");
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
"use strict";var E=Object.defineProperty;var d=(t,e)=>E(t,"name",{value:e,configurable:!0});Object.defineProperty(exports,"__esModule",{value:!0}),exports.rawLineSpans=rawLineSpans,exports.rawOffsetForColumn=rawOffsetForColumn,exports.buildSnippetDocument=buildSnippetDocument,exports.buildSnippetPipeline=buildSnippetPipeline;const template_utils_1=require("@m0saic/template-utils"),code_metrics_1=require("../../../_shared/code-metrics"),chrome_1=require("./chrome");function rawLineSpans(t){const e=[],i=/\r\n|\r|\n/g;let n=0,o;for(;o=i.exec(t);)e.push({start:n,end:o.index,raw:t.slice(n,o.index)}),n=o.index+o[0].length;return e.push({start:n,end:t.length,raw:t.slice(n)}),e}d(rawLineSpans,"rawLineSpans");function rawOffsetForColumn(t,e,i){let n=0,o=0;for(const u of t){if(n>=e)break;n+=u===" "?i:(0,code_metrics_1.codeColumnCount)(u),o+=u.length}return o}d(rawOffsetForColumn,"rawOffsetForColumn");function codeOffsetX(t,e,i){if(i.codeAlign==="left")return 0;const n=(0,code_metrics_1.measureCodeGrid)(t.lines,{fontSize:i.fontSize,lineHeight:i.lineHeight});return Math.max(0,Math.floor((e.codeArea.w-n.width)/2))}d(codeOffsetX,"codeOffsetX");function seconds(t){return t/1e3}d(seconds,"seconds");function intersectRect(t,e){const i=Math.max(t.x,e.x),n=Math.max(t.y,e.y),o=Math.min(t.x+t.w,e.x+e.w),u=Math.min(t.y+t.h,e.y+e.h);return o<=i||u<=n?null:{x:i,y:n,w:o-i,h:u-n}}d(intersectRect,"intersectRect");function codeLineSource(t,e,i,n,o,u,s,a){var l;const h=[];if(t.tokens.forEach(f=>{var g;for(const x of f.text.matchAll(/\S+/gu)){const S=x[0],v=f.text.slice(0,(g=x.index)!==null&&g!==void 0?g:0),y=(f.col+(0,code_metrics_1.codeColumnCount)(v))*i.charW;y>=e.w||h.push({content:{kind:"literal",text:S},style:{fontColor:n.syntax[f.kind]},placement:{hAlign:"left",vAlign:"top",xExpr:String(Math.round(y*1e3)/1e3)}})}}),h.length===0)return null;const c={type:"text",rasterizer:"svg",renderMode:{kind:"image"},visual:{backgroundColor:"black@0"},style:{fontFamily:(l=o.fontFamily)!==null&&l!==void 0?l:"JetBrains Mono",fontSize:o.fontSize,...o.fontWeight!=null?{fontWeight:o.fontWeight}:{},...o.fontStyle!=null?{fontStyle:o.fontStyle}:{}},layers:h,editor:{owner:"template"}};return u&&(c.overlay=u),s!=null&&(a?(0,template_utils_1.bindPropRange)(c,"states",s,{start:a.start,end:a.end}):(0,template_utils_1.bindProp)(c,"states",s)),c}d(codeLineSource,"codeLineSource");function lineEndCol(t){let e=0;for(const i of t.tokens){const n=i.text.replace(/\s+$/u,"");n.length>0&&(e=Math.max(e,i.col+(0,code_metrics_1.codeColumnCount)(n)))}return e}d(lineEndCol,"lineEndCol");const LINE_BOX_INK_PAD_PX=6;function linePiece(t,e,i,n,o,u,s,a,l,h,c){if(!t)return null;const f=n.codeArea,g=Math.ceil(lineEndCol(t)*o.charW)+LINE_BOX_INK_PAD_PX,x=intersectRect({x:f.x+i,y:f.y+e*o.lineStep,w:Math.max(1,Math.min(g,f.w-i)),h:o.lineStep},f);if(!x||x.h<2)return null;const S=codeLineSource(t,x,o,u,s,l,h,c);return S?{rect:{...x,importance:a},source:S}:null}d(linePiece,"linePiece");function codePieces(t,e,i,n,o,u,s,a){const l=(0,code_metrics_1.measureCodeGrid)(t.lines,{fontSize:n.fontSize,lineHeight:n.lineHeight}),h=codeOffsetX(t,e,n),c=d((r,m)=>r?.[m],"spanAt"),f=[],g=d(r=>{r&&f.push(r)},"push");if(!(o&&!o.motion.reduceMotion&&o.transition.fromStateIndex!=null))return t.lines.forEach((r,m)=>{g(linePiece(r,m,h,e,l,i,n,10,void 0,u,c(a?.current,m)))}),f;const{transition:S,previousState:v,timing:w,motion:y}=o,M=seconds(w.morph.startMs),k=seconds(w.morph.endMs),C=Math.max(1e-4,seconds(w.morph.durationMs)),_=(0,template_utils_1.fadeInExpr)(M,C,"easeInOut"),L=(0,template_utils_1.easingExpr)("easeInOut",(0,template_utils_1.progressExpr)(M,C)),p=Math.max(1,Math.round(l.lineStep*.25)),z=v?codeOffsetX(v,e,n):h;return S.ops.forEach(r=>{if(r.kind==="same"){const m=(r.fromLine-r.toLine)*l.lineStep,P=m!==0?{yExpr:`(1-(${L}))*${m}`,startAtSec:M}:void 0;g(linePiece(t.lines[r.toLine],r.toLine,h,e,l,i,n,P?12:10,P,u,c(a?.current,r.toLine)))}else if(r.kind==="add"){const m={alpha:_,...y.addEntrance==="rise"?{yExpr:`(1-(${L}))*${p}`}:{},startAtSec:M,window:{startSec:M}};g(linePiece(t.lines[r.toLine],r.toLine,h,e,l,i,n,30,m,u,c(a?.current,r.toLine)))}else{const m={alpha:`(1-(${_}))`,startAtSec:M,window:{endSec:k}};g(linePiece(v?.lines[r.fromLine],r.fromLine,z,e,l,i,n,11,m,s,c(a?.previous,r.fromLine)))}}),f}d(codePieces,"codePieces");function buildSnippetDocument(t){const e=(0,code_metrics_1.measureCodeGrid)(t.state.lines,{fontSize:t.visual.fontSize,lineHeight:t.visual.lineHeight}),i=(0,chrome_1.buildSnippetChromePieces)({geometry:t.geometry,theme:t.theme,title:t.visual.title,showChrome:t.visual.showChrome,trafficLights:t.visual.trafficLights,lineNumbers:t.visual.lineNumbers,titleFontSize:Math.max(10,Math.round(t.geometry.titleBar.h*.3)),lineCount:t.state.lines.length,lineStep:e.lineStep,fontSize:t.visual.fontSize,charW:e.charW});i.push(...codePieces(t.state,t.geometry,t.theme,t.visual,t.transition&&t.stepTiming&&t.motion?{transition:t.transition,previousState:t.previousState,timing:t.stepTiming,motion:t.motion}:void 0,t.bindStateIndex,t.bindPreviousStateIndex,t.bindSpans));const n=(0,template_utils_1.placeInsetPieces)({rootW:t.width,rootH:t.height,pieces:i});return{kind:"mosaic_document",version:1,m0:n.m0,sources:n.sources,assets:{},size:{width:t.width,height:t.height},fps:t.fps,durationMs:t.durationMs,backgroundColor:t.theme.canvas,format:{kind:"video",container:"mp4"},audio:{mode:"off"}}}d(buildSnippetDocument,"buildSnippetDocument");function buildSnippetPipeline(t){var e,i;const n=(e=t.rawStates)===null||e===void 0?void 0:e.map(rawLineSpans),o=(i=t.tabWidth)!==null&&i!==void 0?i:2;return{kind:"mosaic_pipeline",version:1,emit:"single",steps:t.plan.steps.map(s=>{const a=t.plan.states[s.stateIndex],l=s.transition.fromStateIndex,h=buildSnippetDocument({state:a,geometry:t.geometry,theme:t.theme,visual:t.visual,width:t.width,height:t.height,fps:t.fps,durationMs:s.durationMs,transition:s.transition,previousState:l==null?void 0:t.plan.states[l],stepTiming:s.timing,motion:t.motion,bindStateIndex:s.stateIndex,bindPreviousStateIndex:l??void 0,...n?{bindSpans:{tabWidth:o,current:n[s.stateIndex],previous:l==null?void 0:n[l]}}:{}});return{name:`state-${s.index+1}`,durationMs:s.durationMs,file:h}}),defaultTransition:{type:"cut"},size:{width:t.width,height:t.height},fps:t.fps,durationMs:t.plan.timeline.durationMs,backgroundColor:t.theme.canvas,format:{kind:"video",container:"mp4"},audio:{mode:"off"}}}d(buildSnippetPipeline,"buildSnippetPipeline");
|
|
@@ -0,0 +1,3 @@
|
|
|
1
|
+
"use strict";var _=Object.defineProperty;var l=(e,t)=>_(e,"name",{value:t,configurable:!0});Object.defineProperty(exports,"__esModule",{value:!0}),exports.SnippetMorphV1=exports.SNIPPET_MORPH_V1_ID=void 0,exports.resolveSnippetVisualLayout=resolveSnippetVisualLayout;const types_1=require("@m0saic/types"),template_utils_1=require("@m0saic/template-utils"),code_theme_1=require("../../_shared/code-theme"),code_metrics_1=require("../../_shared/code-metrics"),chrome_1=require("./internal/chrome"),plan_1=require("./internal/plan"),steps_1=require("./internal/steps");exports.SNIPPET_MORPH_V1_ID="@m0saic/code/snippet-morph/v1";const DEFAULT_STATE=["type Launch = {"," product: string;",' audience: "developers";',"};","","const launch: Launch = {",' product: "m0saic",',' audience: "developers",',"};"].join(`
|
|
2
|
+
`),DEFAULT_STATE_2=["type Launch = {"," product: string;",' audience: "developers";'," date?: string;","};","","const launch: Launch = {",' product: "m0saic",',' audience: "developers",',' date: "2026-09",',"};","","export function announce(l: Launch) {",' console.log(l.product + " ships " + l.date);',"}"].join(`
|
|
3
|
+
`);function fBool(e,t,r){return{type:"boolean",required:!1,description:t,meta:{ui:{label:e,...r?{consumer:r}:{}}}}}l(fBool,"fBool");function fNum(e,t,r,i,o,n){return{type:"number",required:!1,description:t,meta:{constraints:{min:r,max:i},control:{flavor:"slider",step:o,...n?{unit:n}:{}},ui:{label:e}}}}l(fNum,"fNum");function fEnum(e,t,r){return{type:"string",required:!1,description:r,meta:{constraints:{oneOf:[...t]},ui:{label:e}}}}l(fEnum,"fEnum");function fColor(e,t,r){return{type:"string",required:!1,description:t,meta:{constraints:{isColor:!0},control:{colorPicker:!0,...r?{placeholder:r}:{}},ui:{label:e}}}}l(fColor,"fColor");const propsSchema=(0,template_utils_1.definePropsSchema)({states:{type:"string[]",required:!0,description:"Ordered TypeScript/JavaScript source states.",meta:{constraints:{minItems:1},control:{placeholder:"const answer = 42;",multiline:!0,mono:!0},ui:{label:"Code states",order:1}}},language:{type:"string",required:!1,description:"Syntax lexer.",meta:{constraints:{oneOf:["ts","js"]},ui:{label:"Language",order:2}}},typography:{type:"group",required:!1,description:"JetBrains Mono sizing and source normalization.",meta:{ui:{label:"Typography",order:3,collapsedByDefault:!0}},fields:{fontSize:fNum("Font size","Preferred font size; auto-fits down to 8px.",10,48,1,"px"),lineHeight:fNum("Line height","Code line-height multiplier.",1.35,2,.05),tabWidth:fNum("Tab width","Spaces used to expand each tab.",1,8,1)}},timing:{type:"group",required:!1,description:"Per-state morph, hold, lead, and trail timing.",meta:{ui:{label:"Timing",order:4,collapsedByDefault:!0}},fields:{morphMs:fNum("Morph","Morph window per state.",100,2e3,50,"ms"),holdMs:fNum("Hold","Rest window per state.",500,1e4,100,"ms"),leadMs:fNum("Lead","Lead-in before the first reveal.",0,1e4,100,"ms"),trailMs:fNum("Trail","Trail after the final hold.",0,1e4,100,"ms")}},theme:{type:"group",required:!1,description:"Editor preset plus optional syntax-token overrides.",meta:{ui:{label:"Theme",order:5,collapsedByDefault:!0}},fields:{preset:fEnum("Preset",code_theme_1.CODE_THEME_PRESET_KEYS,"Built-in editor colorway."),keyword:fColor("Keywords","Override keyword tokens; clear to use the preset.","preset palette"),string:fColor("Strings","Override string tokens; clear to use the preset.","preset palette"),comment:fColor("Comments","Override comment tokens; clear to use the preset.","preset palette"),number:fColor("Numbers","Override numeric tokens; clear to use the preset.","preset palette"),fnCall:fColor("Function calls","Override function-call tokens; clear to use the preset.","preset palette"),ident:fColor("Identifiers","Override identifier tokens; clear to use the preset.","preset palette"),operator:fColor("Operators","Override operator tokens; clear to use the preset.","preset palette"),punct:fColor("Punctuation","Override punctuation tokens; clear to use the preset.","preset palette"),plain:fColor("Plain text","Override plain tokens; clear to use the preset.","preset palette")}},chrome:{type:"group",required:!1,description:"Editor card, title bar, controls, gutter, and code alignment.",meta:{ui:{label:"Chrome",order:6,collapsedByDefault:!0}},fields:{show:fBool("Show","Show editor chrome."),title:{type:"string",required:!1,description:"Filename shown in the editor title bar.",meta:{ui:{label:"Title"}}},trafficLights:fBool("Traffic lights","Show the three editor window controls."),lineNumbers:fBool("Line numbers","Show a line-number gutter."),codeAlign:fEnum("Code alignment",["left","center"],"Horizontal alignment inside the code area."),fullBleed:fBool("Full bleed","Fill the canvas edge to edge (default). Off restores the framed card with a margin around it.")}},animation:{type:"group",required:!1,description:"Motion accessibility and addition entrance.",meta:{ui:{label:"Animation",order:7,collapsedByDefault:!0}},fields:{reduceMotion:fBool("Reduce motion","Use hard cuts with every code state at rest.","agent"),addEntrance:fEnum("Added code entrance",["fade","rise"],"How newly added code enters during each morph.")}},animate:{type:"boolean",required:!1,description:"Animate code changes.",meta:{control:{syncsTo:[{prop:"animation.reduceMotion",map:{kind:"boolInvert"}}]},ui:{label:"Animate",order:8,consumer:"human",primary:!0}}},debugLayout:{type:"boolean",required:!1,description:"Assert the card/code-area/gutter/title layout contract.",meta:{ui:{label:"Debug layout",order:9,collapsedByDefault:!0}}}});function dimensions(e){var t;return{width:Math.max(1,Math.round(e.target.width)),height:Math.max(1,Math.round(e.target.height)),fps:Math.max(1,Math.round((t=e.target.fps)!==null&&t!==void 0?t:30))}}l(dimensions,"dimensions");function visualOptions(e){var t,r,i,o,n,s,a,d,c,p;const h=(t=e.typography)!==null&&t!==void 0?t:{},u=(r=e.chrome)!==null&&r!==void 0?r:{};return{fontSize:(i=h.fontSize)!==null&&i!==void 0?i:16,lineHeight:(o=h.lineHeight)!==null&&o!==void 0?o:1.5,fontFamily:"JetBrains Mono",fontWeight:"normal",fontStyle:"normal",title:(n=u.title)!==null&&n!==void 0?n:"snippet.ts",showChrome:(s=u.show)!==null&&s!==void 0?s:!0,trafficLights:(a=u.trafficLights)!==null&&a!==void 0?a:!0,lineNumbers:(d=u.lineNumbers)!==null&&d!==void 0?d:!0,codeAlign:(c=u.codeAlign)!==null&&c!==void 0?c:"left",fullBleed:(p=u.fullBleed)!==null&&p!==void 0?p:!0}}l(visualOptions,"visualOptions");function planFor(e,t){var r,i,o,n;const s=(r=e.typography)!==null&&r!==void 0?r:{},a=(i=e.timing)!==null&&i!==void 0?i:{};return(0,plan_1.buildSnippetMorphPlan)({states:e.states,language:(o=e.language)!==null&&o!==void 0?o:"ts",tabWidth:(n=s.tabWidth)!==null&&n!==void 0?n:2,timing:{morphMs:a.morphMs,holdMs:a.holdMs,leadMs:a.leadMs,trailMs:a.trailMs},targetDurationMs:t})}l(planFor,"planFor");function resolvedTheme(e){var t;const r=(t=e.theme)!==null&&t!==void 0?t:{},i=(0,code_theme_1.codeTheme)(r.preset),o=Object.fromEntries(code_theme_1.CODE_TOKEN_KINDS.map(n=>[n,r[n]]));return{...i,syntax:(0,code_theme_1.resolveCodeSyntaxTheme)(i,o)}}l(resolvedTheme,"resolvedTheme");function resolveSnippetVisualLayout(e,t,r){var i;const o=Math.max(code_metrics_1.MIN_AUTOFIT_FONT_SIZE,Math.floor(r.fontSize));let n;for(let s=o;s>=code_metrics_1.MIN_AUTOFIT_FONT_SIZE;s-=1){const a={...r,fontSize:s},d=(0,chrome_1.computeSnippetFrameGeometry)({width:t.width,height:t.height,fontSize:s,showChrome:a.showChrome,lineNumbers:a.lineNumbers,fullBleed:(i=a.fullBleed)!==null&&i!==void 0?i:!1}),c=e.map(m=>(0,code_metrics_1.measureCodeGrid)(m.lines,{fontSize:s,lineHeight:a.lineHeight})),p=c.some(m=>m.width>d.codeArea.w),h=c.some(m=>m.height>d.codeArea.h),u={visual:a,geometry:d,fits:!p&&!h,overflowX:p,overflowY:h};if(u.fits)return u;s===code_metrics_1.MIN_AUTOFIT_FONT_SIZE&&(n=u)}if(n)return n;throw new Error("resolveSnippetVisualLayout: autofit search produced no result")}l(resolveSnippetVisualLayout,"resolveSnippetVisualLayout");function snippetLayoutConstraints(e){const t=[{label:"card",minWidthFrac:.65,maxWidthFrac:1,minHeightFrac:.65,maxHeightFrac:1,within:{xFrac:[0,1],yFrac:[0,1]}},{label:"code-area",minWidthFrac:.4,minHeightFrac:.45,within:{xFrac:[0,1],yFrac:[0,1]}}];return e.lineNumbers&&t.push({label:"gutter",maxWidthFrac:.2,minHeightFrac:.45,within:{xFrac:[0,1],yFrac:[0,1]}}),e.showChrome&&t.push({label:"title",minWidthFrac:.2,maxHeightFrac:.15,within:{xFrac:[0,1],yFrac:[0,1]}}),t}l(snippetLayoutConstraints,"snippetLayoutConstraints");function withSnippetLayoutContract(e,t,r,i,o){const n=o==null?t:{...t,target:{...t.target,durationMs:o}};return(0,template_utils_1.withLayoutContract)(e,n,{templateId:exports.SNIPPET_MORPH_V1_ID,constraints:snippetLayoutConstraints(r),flatten:!1,debug:i})}l(withSnippetLayoutContract,"withSnippetLayoutContract");function prepareSnippetRender(e,t,r){try{const i=planFor(e,(0,template_utils_1.resolvePinnedDurationMs)(t)),o=resolveSnippetVisualLayout(i.states,r,visualOptions(e));if(o.overflowY)throw new Error(`Code exceeds the ${o.geometry.codeArea.h}px code-area height at the ${code_metrics_1.MIN_AUTOFIT_FONT_SIZE}px autofit floor; use fewer lines`);return{ok:!0,plan:i,layout:o}}catch(i){const o=i instanceof Error?i.message:String(i);return{ok:!1,error:(0,template_utils_1.makeErrorMosaic)(o,{width:r.width,height:r.height,title:"Code Snippet Morph",errorCode:"SNIPPET_MORPH_INVALID_INPUT"})}}}l(prepareSnippetRender,"prepareSnippetRender"),exports.SnippetMorphV1={id:(0,types_1.asTemplateId)(exports.SNIPPET_MORPH_V1_ID),label:"Code Snippet Morph",description:"Morphs ordered TypeScript/JavaScript code states into a deterministic editor-frame video with moving, added, and removed lines.",version:1,capabilities:{tier:"core"},tags:["developer","code","snippet","animated","developers","diff","tutorial"],outputHints:{width:1280,height:720,fps:30,durationMs:7500,format:{kind:"video",container:"mp4"}},propsSchema,defaultProps:{states:[DEFAULT_STATE,DEFAULT_STATE_2],language:"ts",typography:{fontSize:16,lineHeight:1.5,tabWidth:2},timing:{morphMs:750,holdMs:3e3,leadMs:0,trailMs:0},theme:{preset:"dark"},chrome:{show:!0,title:"snippet.ts",trafficLights:!0,lineNumbers:!0,codeAlign:"left",fullBleed:!0},animation:{reduceMotion:!1,addEntrance:"rise"},debugLayout:!1},async render(e,t){var r,i,o,n,s,a;const d=dimensions(t),c=prepareSnippetRender(e,t,d);if(!c.ok)return c.error;const{plan:p,layout:{visual:h,geometry:u}}=c,m=resolvedTheme(e),g=(r=e.animation)!==null&&r!==void 0?r:{},y=(0,steps_1.buildSnippetPipeline)({plan:p,rawStates:e.states,tabWidth:(o=(i=e.typography)===null||i===void 0?void 0:i.tabWidth)!==null&&o!==void 0?o:2,geometry:u,theme:m,visual:h,width:d.width,height:d.height,fps:d.fps,motion:{reduceMotion:(n=g.reduceMotion)!==null&&n!==void 0?n:!1,addEntrance:(s=g.addEntrance)!==null&&s!==void 0?s:"rise"}}),v=(a=e.debugLayout)!==null&&a!==void 0?a:!1;return{...y,steps:y.steps.map(f=>!("file"in f)||f.file==null?f:{...f,file:withSnippetLayoutContract(f.file,t,h,v,f.durationMs)})}}},(0,template_utils_1.registerTemplate)(exports.SnippetMorphV1);
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
"use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.DEMO_IMAGES=void 0,exports.DEMO_IMAGES=[{aspect:1.5,color:"#2d4f67"},{aspect:1.33,color:"#5a3e5d"},{aspect:1.78,color:"#3e5c46"},{aspect:.67,color:"#7a5230"},{aspect:1.5,color:"#37556e"},{aspect:1.25,color:"#6e4444"},{aspect:.75,color:"#44606a"},{aspect:1.6,color:"#585a38"},{aspect:1,color:"#4f4668"},{aspect:1.45,color:"#2f5f58"},{aspect:.56,color:"#6a3f52"},{aspect:1.33,color:"#3f5a2f"}];
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
"use strict";var S=Object.defineProperty;var p=(r,s)=>S(r,"name",{value:s,configurable:!0});Object.defineProperty(exports,"__esModule",{value:!0}),exports.emitLatticeM0=emitLatticeM0,exports.emitCollageLayout=emitCollageLayout;const dsl_1=require("@m0saic/dsl"),dsl_stdlib_1=require("@m0saic/dsl-stdlib"),template_utils_1=require("@m0saic/template-utils"),isFiller=p(r=>r.imageIndex<0,"isFiller");function emitLatticeM0(r,s,l){if(r.length===0)throw new Error("emitLatticeM0: no spans");const a=r.reduce((i,f)=>i+f.cs*f.rs,0);if(a!==s*l)throw new Error(`emitLatticeM0: cover area ${a} \u2260 lattice ${s}\xD7${l} = ${s*l}`);const c=r.map(i=>({x0:i.c0,y0:i.r0,x1:i.c0+i.cs,y1:i.r0+i.rs,placed:i})),h=emitRegion(c,0,0,s,l),d=(0,dsl_1.validateM0String)(h);if(!d.ok)throw new Error(`emitLatticeM0: emitted invalid m0 (internal): ${JSON.stringify(d)}`);return h}p(emitLatticeM0,"emitLatticeM0");function emitRegion(r,s,l,a,c){if(r.length===1){const e=r[0];if(e.x0!==s||e.y0!==l||e.x1!==a||e.y1!==c)throw new Error("emitRegion: leaf span does not fill its region (internal)");return isFiller(e.placed)?"-":"1"}const h=[];for(let e=s+1;e<a;e++)r.every(o=>o.x1<=e||o.x0>=e)&&h.push(e);const d=[];for(let e=l+1;e<c;e++)r.every(o=>o.y1<=e||o.y0>=e)&&d.push(e);if(h.length===0&&d.length===0)throw new Error(`emitRegion: region (${s},${l})\u2013(${a},${c}) with ${r.length} spans has no guillotine cut (non-guillotine cover \u2014 tiler bug)`);const i=d.length>=h.length,f=i?d:h,y=i?[l,...f,c]:[s,...f,a],v=[],L=[];for(let e=0;e+1<y.length;e++){const o=y[e],m=y[e+1];v.push(m-o);const x=r.filter(w=>i?w.y0>=o&&w.y1<=m:w.x0>=o&&w.x1<=m);if(x.reduce((w,u)=>w+(u.x1-u.x0)*(u.y1-u.y0),0)!==(i?(m-o)*(a-s):(m-o)*(c-l)))throw new Error("emitRegion: segment subset does not tile its slice (internal)");L.push(i?emitRegion(x,s,o,a,m):emitRegion(x,o,l,m,c))}return String((0,dsl_stdlib_1.weightedSplit)(v,i?"row":"col",{claimants:L}))}p(emitRegion,"emitRegion");function emitCollageLayout(r){const{placed:s,cols:l,rows:a,canvasW:c,canvasH:h,gutterXPx:d,gutterYPx:i,marginPx:f,sourceFor:y}=r,v=emitLatticeM0(s,l,a),L=(0,dsl_1.parseM0StringComplete)(v,c,h);if(!L.ok)throw new Error("emitCollageLayout: emitted m0 failed to parse (internal)");const e=L.ir.renderFrames,o=s.filter(t=>!isFiller(t));if(e.length!==o.length)throw new Error(`emitCollageLayout: ${e.length} parsed frames \u2260 ${o.length} painted spans (internal)`);const m=p((t,n)=>{const $=Math.min(l-1,Math.floor(t/c*l)),b=Math.min(a-1,Math.floor(n/h*a));return o.find(g=>g.c0<=$&&$<g.c0+g.cs&&g.r0<=b&&b<g.r0+g.rs)},"spanAt"),x=[],w=new Set;for(const t of e){const n=m(t.x+t.width/2,t.y+t.height/2);if(!n||w.has(n))throw new Error(`emitCollageLayout: frame\u2194span binding failed at logicalIndex ${t.logicalIndex} (internal)`);w.add(n),x[t.logicalIndex]={frame:t,span:n}}const u=(0,template_utils_1.latticeCellInset)({cols:l,rows:a,canvasW:c,canvasH:h,gutterXPx:d,gutterYPx:i,marginPx:f,cells:x.map(({frame:t,span:n})=>({unit:{c0:n.c0,r0:n.r0,cs:n.cs,rs:n.rs},raw:{x:t.x,y:t.y,w:t.width,h:t.height}}))}),E=[],M=[];x.forEach(({frame:t,span:n},$)=>{const b=y(n.imageIndex),g=b.placement;if(g?.inset!=null)throw new Error(`emitCollageLayout: sourceFor(${n.imageIndex}) already carries placement.inset \u2014 the emitter owns it`);const C=u.insetAt($);E.push({...b,placement:{fit:"cover",...g??{},...C?{inset:C}:{}}}),M.push({imageIndex:n.imageIndex,span:n,stableKey:String(t.meta.stableKey),target:u.targets[$],raw:{x:t.x,y:t.y,w:t.width,h:t.height}})});const I=u.targets.reduce((t,n)=>t+n.w*n.h,0);return{m0:v,sources:E,cells:M,expectedNullFrac:1-I/(c*h),maxClampPx:u.maxClampPx,clampedEdges:u.clampedEdges}}p(emitCollageLayout,"emitCollageLayout");
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
"use strict";var E=Object.defineProperty;var u=(e,n)=>E(e,"name",{value:n,configurable:!0});Object.defineProperty(exports,"__esModule",{value:!0}),exports.ImageCollage=void 0;const types_1=require("@m0saic/types"),template_utils_1=require("@m0saic/template-utils"),paging_1=require("./packer/paging"),emit_1=require("./emit"),demo_fixture_1=require("./demo-fixture"),tutorial_1=require("./tutorial"),TEMPLATE_ID="@m0saic/collage/image-collage/v1",DEFAULT_BACKGROUND="#101014",propsSchema=(0,template_utils_1.definePropsSchema)({sourceIds:{type:"media[]",required:!0,description:"Images to pack \u2014 pick a folder, one or more files, or drag-and-drop. Empty renders a built-in demo set so you can preview the layout before adding photos.",meta:{ui:{label:"Images",order:1},control:{multiple:!0,picker:"folder",accept:["image"]}}},gutter:{type:"number",required:!1,description:"Space between images, as a fraction of the canvas short edge.",meta:{constraints:{min:0,max:.1},control:{flavor:"slider",step:.005},ui:{label:"Gutter",order:1}}},margin:{type:"number",required:!1,description:"Outer margin as a fraction of the gutter \u2014 1 matches the gutter, 0 runs the images to the canvas edge.",meta:{constraints:{min:0,max:1},control:{flavor:"slider",step:.05},ui:{label:"Margin",order:2}}},cropBudget:{type:"number",required:!1,description:"How much of an image the cover-crop may trim. Soft \u2014 exceeded minimally when nothing else fits.",meta:{constraints:{min:0,max:.6},control:{flavor:"slider",step:.05},ui:{label:"Crop budget",order:3}}},seed:{type:"number",required:!0,description:"Seed for the layout search's taste tie-breaks (which images become heroes, band rhythm). Same seed \u2192 same layout.",meta:{constraints:{min:0,max:9999},ui:{label:"Seed",order:4}}},maxImagesPerSheet:{type:"number",required:!0,description:"Images per sheet. Sets larger than this page into a multi-file pipeline (one PNG per page). 30 is a tuned default.",meta:{constraints:{min:1,max:200},ui:{label:"Max per sheet",order:1}}},pageLattice:{type:"string",required:!1,description:'Paged sets: "uniform" shares one mix-fitted lattice across pages (a designed set); "independent" re-searches per page (best per-page crops).',meta:{constraints:{oneOf:["uniform","independent"]},ui:{label:"Page lattice",order:2}}},background:{type:"string",required:!1,description:"Canvas background color (shows in gutters and margins).",meta:{constraints:{isColor:!0},control:{colorPicker:!0},ui:{label:"Background",order:1}}},minCellPx:{type:"number",required:!1,description:"Smallest typical cell scale in px (readability floor). Default 120.",meta:{constraints:{min:16,max:2e3},ui:{label:"Min cell (px)",order:1}}},maxCellPx:{type:"number",required:!1,description:"Largest typical cell scale in px. Default 320.",meta:{constraints:{min:16,max:4e3},ui:{label:"Max cell (px)",order:2}}},gutterPx:{type:"number",required:!1,description:"Explicit gutter in pixels (overrides Gutter; 0 = flush collage).",meta:{control:{placeholder:"from Gutter fraction"},constraints:{min:0,max:200},ui:{label:"Gutter (px)",order:1}}},marginPx:{type:"number",required:!1,description:"Explicit outer margin in pixels (overrides Margin; must not exceed the gutter).",meta:{control:{placeholder:"from Margin fraction"},constraints:{min:0,max:200},ui:{label:"Margin (px)",order:2}}},debugLayout:{type:"boolean",required:!1,description:"Dev-only layout contract: verify per-image aspect, lattice gutters, coverage and equal-size classes; on violation render a LAYOUT_CONTRACT error mosaic and stamp editor.layoutContract. Deterministic default false.",meta:{ui:{label:"Debug layout",order:1,collapsedByDefault:!0}}}});function demoInput(){return{aspects:demo_fixture_1.DEMO_IMAGES.map(e=>e.aspect),sourceFor:u(e=>({type:"lavfi",color:demo_fixture_1.DEMO_IMAGES[e].color,editor:{owner:"template",label:`img:${e}`}}),"sourceFor"),assetEntryFor:u(()=>{},"assetEntryFor")}}u(demoInput,"demoInput");function mediaInput(e,n){var c;const a=[],d=[],o=[],s=[];for(const r of e){const t=n.media[(0,types_1.asAssetId)(r)];if(!t||!(t.width>0)||!(t.height>0)){a.push(`no probed dimensions for "${r}"`);continue}if(t.kind!=="image"){a.push(`"${r}" is ${(c=t.kind)!==null&&c!==void 0?c:"unknown"} - the collage packs images only (for now)`);continue}const i=String((0,types_1.asAssetId)((0,template_utils_1.slugifyAssetKeyFromPath)(r)));d.push(t.width/t.height),o.push(i),s.push([i,{kind:"file",path:r,mediaType:"image"}])}return a.length>0?a.join("; "):{aspects:d,sourceFor:u(r=>({type:"media",mediaType:"image",assetId:o[r],editor:{owner:"template",label:`img:${r}`}}),"sourceFor"),assetEntryFor:u(r=>s[r],"assetEntryFor")}}u(mediaInput,"mediaInput");function collageContract(e,n,c){var a;const d=e.map(t=>({label:`img:${t.imageIndex}`,aspect:t.target.w/t.target.h,aspectTolerance:.02})),o=e.map(t=>`img:${t.imageIndex}`),s=[{label:o,lattice:{gutterXPx:c,gutterYPx:c}},{label:o,coverage:{expectedNullFrac:n}}],r=new Map;for(const t of e){const i=(a=r.get(t.span.span))!==null&&a!==void 0?a:{labels:[],minPx:1/0};i.labels.push(`img:${t.imageIndex}`),i.minPx=Math.min(i.minPx,t.target.w,t.target.h),r.set(t.span.span,i)}for(const{labels:t,minPx:i}of r.values())t.length>=2&&s.push({label:t,equal:"size",tolerance:Math.max(.02,3/Math.max(1,i))});return{constraints:d,relations:s}}u(collageContract,"collageContract");function buildPageDoc(e,n,c,a){const{imageIndexes:d,solve:o}=e,s=(0,emit_1.emitCollageLayout)({placed:o.placed,cols:o.candidate.cols,rows:o.candidate.rows,canvasW:a.W,canvasH:a.H,gutterXPx:a.gutterPx,gutterYPx:a.gutterPx,marginPx:a.marginPx,sourceFor:u(l=>n.sourceFor(d[l]),"sourceFor")}),r=s.cells.map(l=>({...l,imageIndex:d[l.imageIndex]})),t=new Map(o.assignments.map(l=>[l.imageIndex,l.cost])),i={};s.cells.forEach((l,m)=>{var y;const C=(y=t.get(l.imageIndex))!==null&&y!==void 0?y:0;i[l.stableKey]=`img:${r[m].imageIndex} \xB7 ${l.span.span} \xB7 crop ${(C*100).toFixed(0)}%`});const P=(o.metrics.meanCrop*100).toFixed(1),h=`Image Collage${a.pageCount>1?` \u2014 page ${a.page}/${a.pageCount}`:""} \xB7 ${d.length} images \xB7 mean crop ${P}%`,g={};for(const l of d){const m=n.assetEntryFor(l);m&&(g[m[0]]=m[1])}const v={kind:"mosaic_document",version:1,assets:g,m0:s.m0,sources:s.sources,labels:i,fps:c.target.fps,durationMs:c.target.durationMs,size:{width:a.W,height:a.H},backgroundColor:a.background,format:{kind:"image",container:"png"},editor:{label:h}},{constraints:p,relations:x}=collageContract(r,s.expectedNullFrac,a.gutterPx);return(0,template_utils_1.withLayoutContract)(v,c,{templateId:TEMPLATE_ID,constraints:p,relations:x,debug:a.debugLayout})}u(buildPageDoc,"buildPageDoc"),exports.ImageCollage={id:(0,types_1.asTemplateId)(TEMPLATE_ID),label:"Image Collage",version:1,description:"Packs any set of photos into a designed contact sheet: a searched layout with hero, portrait and panorama cells sized to each image's aspect, even pixel gutters, and a soft crop budget so nothing is trimmed too hard. Big sets page into one PNG per sheet. With no images it shows a demo set.",capabilities:{tier:"core"},tags:["media","collage","image","layout-solver","contact-sheet","creators","designers","photos","grid","social"],outputHints:{width:1920,height:1080,format:{kind:"image",container:"png"}},propsSchema,defaultProps:{maxCellPx:320,minCellPx:120,pageLattice:"uniform",gutter:.01,margin:1,cropBudget:.3,maxImagesPerSheet:30,seed:1,background:DEFAULT_BACKGROUND,debugLayout:!1},async render(e,n){var c,a,d,o,s,r,t,i,P,I;const h=Math.max(1,Math.round(n.target.width)),g=Math.max(1,Math.round(n.target.height)),v=u(f=>(0,template_utils_1.makeErrorMosaic)(f,{title:"Image Collage",width:h,height:g}),"fail"),p=e.gutterPx!=null?Math.max(0,Math.round(e.gutterPx)):Math.max(0,Math.round(((c=e.gutter)!==null&&c!==void 0?c:.01)*Math.min(h,g))),x=e.marginPx!=null?Math.max(0,Math.round(e.marginPx)):Math.round(Math.max(0,Math.min(1,(a=e.margin)!==null&&a!==void 0?a:1))*p);if(x>p&&e.marginPx!=null)return v(`marginPx ${x} exceeds the gutter ${p}px - margins beyond the gutter need an m0-level wrapper (not supported yet).`);const l=Math.min(.9,Math.max(0,(d=e.cropBudget)!==null&&d!==void 0?d:.3)),m=Math.max(16,Math.round((o=e.minCellPx)!==null&&o!==void 0?o:120)),y=Math.max(m,Math.round((s=e.maxCellPx)!==null&&s!==void 0?s:320)),C=Math.floor((r=e.seed)!==null&&r!==void 0?r:1),q=Math.max(1,Math.round((t=e.maxImagesPerSheet)!==null&&t!==void 0?t:30)),S=(i=e.background)!==null&&i!==void 0?i:DEFAULT_BACKGROUND,L=e.debugLayout===!0,w=((P=e.sourceIds)!==null&&P!==void 0?P:[]).map(f=>String(f).trim()).filter(f=>f.length>0),b=w.length===0?demoInput():mediaInput(w,n);if(typeof b=="string")return v(b);let M;try{M=(0,paging_1.solvePages)({canvasW:h,canvasH:g,gutterXPx:p,gutterYPx:p,marginPx:x,minCellPx:m,maxCellPx:y,aspects:b.aspects,seed:C,cropBudget:l,maxImagesPerSheet:q,pageLattice:e.pageLattice==="independent"?"independent":"uniform"})}catch{return v(`no lattice fits any sheet of ${b.aspects.length} image(s) on ${h}x${g} within cell bounds [${m}, ${y}]px - lower minCellPx or enlarge the canvas.`)}const $={W:h,H:g,gutterPx:p,marginPx:x,background:S,debugLayout:L,pageCount:M.length};if(M.length===1)return buildPageDoc(M[0],b,n,{...$,page:1});const k=(I=n.target.durationMs)!==null&&I!==void 0?I:40;return{kind:"mosaic_pipeline",version:1,emit:"multi",steps:M.map((f,_)=>({name:`page_${String(_+1).padStart(2,"0")}`,label:`page_${String(_+1).padStart(2,"0")}`,durationMs:k,file:buildPageDoc(f,b,n,{...$,page:_+1})}))}},renderTutorial(e,n){return(0,tutorial_1.renderImageCollageTutorial)(n)}},(0,template_utils_1.registerTemplate)(exports.ImageCollage);
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
"use strict";var a=Object.defineProperty;var e=(r,t)=>a(r,"name",{value:t,configurable:!0});Object.defineProperty(exports,"__esModule",{value:!0}),exports.ImageCollage=void 0;var image_collage_1=require("./image-collage");Object.defineProperty(exports,"ImageCollage",{enumerable:!0,get:e(function(){return image_collage_1.ImageCollage},"get")});
|
package/node_modules/@m0saic/templates/dist/m0saic/collage/image-collage/v1/packer/candidates.js
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
"use strict";var y=Object.defineProperty;var x=(e,s)=>y(e,"name",{value:s,configurable:!0});Object.defineProperty(exports,"__esModule",{value:!0}),exports.unitAspectTargets=unitAspectTargets,exports.coverAchievable=coverAchievable,exports.relaxedMaxCellPx=relaxedMaxCellPx,exports.maxLatticeUnits=maxLatticeUnits,exports.enumerateCandidates=enumerateCandidates;const classify_1=require("./classify"),score_1=require("./score"),median=x(e=>{if(e.length===0)return;const s=[...e].sort((a,n)=>a-n);return s[Math.floor(s.length/2)]},"median"),clamp=x((e,s,a)=>Math.min(a,Math.max(s,e)),"clamp");function unitAspectTargets(e){var s;const a=e.filter(o=>o>1.15),n=e.filter(o=>o<.87),h=e.length-a.length-n.length,r=[],c=x(o=>{if(o==null)return;const l=clamp(o,.6,2);r.some(p=>Math.abs(p-l)<.05)||r.push(l)},"push");c((s=median(a))!==null&&s!==void 0?s:1.27);const f=median(n);return f!=null&&c(2*f),h>=e.length*.3&&c(1),r}x(unitAspectTargets,"unitAspectTargets");function coverAchievable(e,s,a){const n=[...new Set(a.map(classify_1.spanArea))].sort((r,c)=>r-c);if(n.length===0)return!1;const h=n[n.length-1];if(s<e||s>h*e)return!1;if(n[0]===1&&n.length>=2){const r=n[n.length-2];for(let c=0;c<=e;c++){const f=s-c*h,o=e-c;if(f<o*n[0])break;if(f<=o*r)return!0}return!1}return s===e}x(coverAchievable,"coverAchievable");function relaxedMaxCellPx(e,s,a,n){const h=Math.sqrt(s*a/(2*Math.max(1,n)));return Math.max(e,Math.ceil(h*1.25))}x(relaxedMaxCellPx,"relaxedMaxCellPx");function maxLatticeUnits(e){const{canvasW:s,canvasH:a,gutterXPx:n,gutterYPx:h,marginPx:r,minCellPx:c,maxCellPx:f}=e;let o=0;for(let l=1;l<=64;l++){const p=(s-2*r-(l-1)*n)/l;if(p<1)break;for(let g=1;g<=64;g++){const M=(a-2*r-(g-1)*h)/g;if(M<1)break;const b=Math.sqrt(p*M);if(!(b>f)){if(b<c)break;o=Math.max(o,l*g)}}}return o}x(maxLatticeUnits,"maxLatticeUnits");function enumerateCandidates(e){var s,a;const{canvasW:n,canvasH:h,count:r,gutterXPx:c,gutterYPx:f,marginPx:o,minCellPx:l,maxCellPx:p,aspects:g}=e,M=(s=e.maxCandidates)!==null&&s!==void 0?s:64,b=(a=e.cropBudget)!==null&&a!==void 0?a:.3;if(r<=0)throw new Error("enumerateCandidates: count must be \u2265 1");if(g.length<r)throw new Error(`enumerateCandidates: aspects.length ${g.length} < count ${r}`);if(!(l>0)||!(p>=l))throw new Error(`enumerateCandidates: bad cell-scale bounds [${l}, ${p}]`);const S=unitAspectTargets(g),P=[];for(let t=1;t<=64;t++){const i=(n-2*o-(t-1)*c)/t;if(i<1)break;for(let u=1;u<=64;u++){const d=(h-2*o-(u-1)*f)/u;if(d<1)break;const v=Math.sqrt(i*d);if(v>p)continue;if(v<l)break;const w=t*u;if(w>6*r)break;if(!coverAchievable(r,w,(0,classify_1.fittingSpans)(t,u)))continue;const m=i/d,k=Math.min(...S.map(A=>Math.abs(Math.log(m/A)))),_=S.reduce((A,W)=>Math.abs(Math.log(m/W))<Math.abs(Math.log(m/A))?W:A),q=Math.abs(w-2*r)/r;P.push({cols:t,rows:u,unitW:i,unitH:d,target:_,rough:k+.25*q+.03*(0,score_1.roughAxes)(t,u)})}}const H=P.filter(t=>(0,score_1.roughAxes)(t.cols,t.rows)===0),T=H.length>0?H:P;T.sort((t,i)=>t.rough-i.rough||t.cols-i.cols||t.rows-i.rows);const C=[];for(const t of T.slice(0,Math.max(M,96))){const i=(0,classify_1.fittingSpans)(t.cols,t.rows),u={};for(const m of i)u[m]=(0,classify_1.spanVisibleAspect)(m,t.unitW,t.unitH,c,f);const d=(0,classify_1.classifySpans)(g,u,b),v=d.reduce((m,k)=>m+k.options[0].cost,0)/Math.max(1,d.length),w=Math.abs(t.cols*t.rows-2*r)/r;C.push({cols:t.cols,rows:t.rows,unitAspectTarget:t.target,unitW:t.unitW,unitH:t.unitH,visibleAspect:u,canvasW:n,canvasH:h,gutterXPx:c,gutterYPx:f,marginPx:o,preScore:v+.05*w+.03*(0,score_1.roughAxes)(t.cols,t.rows)})}return C.sort((t,i)=>t.preScore-i.preScore||t.cols-i.cols||t.rows-i.rows||t.unitAspectTarget-i.unitAspectTarget),C.slice(0,M)}x(enumerateCandidates,"enumerateCandidates");
|
package/node_modules/@m0saic/templates/dist/m0saic/collage/image-collage/v1/packer/classify.js
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
"use strict";var a=Object.defineProperty;var e=(r,t)=>a(r,"name",{value:t,configurable:!0});Object.defineProperty(exports,"__esModule",{value:!0}),exports.spanArea=exports.SPAN_MENU=exports.SPAN_CLASSES=void 0,exports.fittingSpans=fittingSpans,exports.cropCost=cropCost,exports.spanVisibleAspect=spanVisibleAspect,exports.classifySpans=classifySpans,exports.SPAN_CLASSES=["1x1","2x1","3x1","4x1","1x2","2x2","3x2","1x3"],exports.SPAN_MENU={"1x1":{c:1,r:1},"2x1":{c:2,r:1},"3x1":{c:3,r:1},"4x1":{c:4,r:1},"1x2":{c:1,r:2},"2x2":{c:2,r:2},"3x2":{c:3,r:2},"1x3":{c:1,r:3}};const spanArea=e(r=>exports.SPAN_MENU[r].c*exports.SPAN_MENU[r].r,"spanArea");exports.spanArea=spanArea;function fittingSpans(r,t){return exports.SPAN_CLASSES.filter(n=>exports.SPAN_MENU[n].c<=r&&exports.SPAN_MENU[n].r<=t)}e(fittingSpans,"fittingSpans");function cropCost(r,t){return!(r>0)||!(t>0)?1:1-Math.min(r,t)/Math.max(r,t)}e(cropCost,"cropCost");function spanVisibleAspect(r,t,n,S,s){const{c:x,r:p}=exports.SPAN_MENU[r];return(x*t+(x-1)*S)/(p*n+(p-1)*s)}e(spanVisibleAspect,"spanVisibleAspect");function classifySpans(r,t,n){const S=exports.SPAN_CLASSES.filter(s=>t[s]!=null);return r.map((s,x)=>{if(!Number.isFinite(s)||s<=0)throw new Error(`classifySpans: aspects[${x}] must be a positive finite number, got ${s}`);const p=S.map(o=>({span:o,cost:cropCost(s,t[o])})).sort((o,i)=>o.cost-i.cost||(0,exports.spanArea)(o.span)-(0,exports.spanArea)(i.span)||exports.SPAN_CLASSES.indexOf(o.span)-exports.SPAN_CLASSES.indexOf(i.span));return{imageIndex:x,aspect:s,options:p,withinBudget:p.filter(o=>o.cost<=n).length}})}e(classifySpans,"classifySpans");
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
"use strict";var s=Object.defineProperty;var o=(t,e)=>s(t,"name",{value:e,configurable:!0});var __createBinding=this&&this.__createBinding||(Object.create?(function(t,e,r,i){i===void 0&&(i=r);var n=Object.getOwnPropertyDescriptor(e,r);(!n||("get"in n?!e.__esModule:n.writable||n.configurable))&&(n={enumerable:!0,get:o(function(){return e[r]},"get")}),Object.defineProperty(t,i,n)}):(function(t,e,r,i){i===void 0&&(i=r),t[i]=e[r]})),__exportStar=this&&this.__exportStar||function(t,e){for(var r in t)r!=="default"&&!Object.prototype.hasOwnProperty.call(e,r)&&__createBinding(e,t,r)};Object.defineProperty(exports,"__esModule",{value:!0}),__exportStar(require("./types"),exports),__exportStar(require("./classify"),exports),__exportStar(require("./candidates"),exports),__exportStar(require("./tiler"),exports),__exportStar(require("./score"),exports),__exportStar(require("./solve"),exports),__exportStar(require("./paging"),exports);
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
"use strict";var H=Object.defineProperty;var x=(e,n)=>H(e,"name",{value:n,configurable:!0});Object.defineProperty(exports,"__esModule",{value:!0}),exports.planPages=planPages,exports.solvePages=solvePages;const template_utils_1=require("@m0saic/template-utils"),candidates_1=require("./candidates"),solve_1=require("./solve"),pageSeed=x((e,n)=>Math.floor((0,template_utils_1.splitmix32)((e^n*2654435761)>>>0)()*4294967296),"pageSeed");function planPages(e,n){const r=Math.max(1,Math.ceil(e/n)),d=Math.floor(e/r),v=e%r,o=[];let u=0;for(let l=0;l<r;l++){const g=d+(l<v?1:0);o.push(Array.from({length:g},(_,s)=>u+s)),u+=g}return o}x(planPages,"planPages");function solvePages(e){var n,r,d,v;const{aspects:o}=e,u=o.length,l=(n=e.seed)!==null&&n!==void 0?n:1;if(u===0)throw new Error("solvePages: no images");const g=(0,candidates_1.maxLatticeUnits)(e);if(g===0)throw new Error(`solvePages: no lattice fits ${e.canvasW}\xD7${e.canvasH} within cell bounds [${e.minCellPx}, ${e.maxCellPx}]px`);const _=Math.max(1,Math.min((r=e.maxImagesPerSheet)!==null&&r!==void 0?r:1/0,g)),s=planPages(u,_);if(s.length===1){const[t]=(0,solve_1.solveCollage)({...e,seed:l});return[{imageIndexes:s[0],solve:t}]}const b=(d=e.pageLattice)!==null&&d!==void 0?d:"uniform",m=s.map(t=>t.map(a=>o[a]));if(b==="independent")return s.map((t,a)=>{const[c]=(0,solve_1.solveCollage)({...e,aspects:m[a],seed:pageSeed(l,a)});return{imageIndexes:t,solve:c}});const P=s[0].length,C=(v=e.cropBudget)!==null&&v!==void 0?v:.3,w=(0,candidates_1.enumerateCandidates)({canvasW:e.canvasW,canvasH:e.canvasH,count:P,gutterXPx:e.gutterXPx,gutterYPx:e.gutterYPx,marginPx:e.marginPx,minCellPx:e.minCellPx,maxCellPx:(0,candidates_1.relaxedMaxCellPx)(e.maxCellPx,e.canvasW,e.canvasH,P),aspects:o,maxCandidates:e.maxCandidates,cropBudget:C});if(w.length===0)throw new Error(`solvePages: no shared lattice fits ${P} images per sheet on ${e.canvasW}\xD7${e.canvasH}`);const M=w.map(t=>{try{return{candidate:t,solve:(0,solve_1.solveCandidate)(t,m[0],C,pageSeed(l,0))}}catch{return}}).filter(t=>!!t).sort((t,a)=>(t.solve.metrics.fillerCount>0?1:0)-(a.solve.metrics.fillerCount>0?1:0)||t.solve.score-a.solve.score);if(M.length===0)throw new Error("solvePages: every shared-lattice candidate failed the heaviest page");let i;for(const{candidate:t,solve:a}of M.slice(0,3)){const c=[a];let p=a.score,f=a.metrics.fillerCount>0?1:0,$=!1;for(let h=1;h<s.length;h++)try{const y=(0,solve_1.solveCandidate)(t,m[h],C,pageSeed(l,h));c.push(y),p+=y.score,y.metrics.fillerCount>0&&f++}catch{$=!0;break}$||(!i||f<i.dirty||f===i.dirty&&p<i.total)&&(i={total:p,dirty:f,solves:c})}return i?s.map((t,a)=>({imageIndexes:t,solve:i.solves[a]})):s.map((t,a)=>{const[c]=(0,solve_1.solveCollage)({...e,aspects:m[a],seed:pageSeed(l,a)});return{imageIndexes:t,solve:c}})}x(solvePages,"solvePages");
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
"use strict";var T=Object.defineProperty;var u=(t,o)=>T(t,"name",{value:o,configurable:!0});Object.defineProperty(exports,"__esModule",{value:!0}),exports.DEFAULT_SCORE_WEIGHTS=void 0,exports.computeMetrics=computeMetrics,exports.scoreCandidate=scoreCandidate,exports.roughAxes=roughAxes;const template_utils_1=require("@m0saic/template-utils"),classify_1=require("./classify");exports.DEFAULT_SCORE_WEIGHTS={meanCrop:1,maxCrop:.25,overBudgetTotal:3,overBudgetCount:.05,fillerUnit:.5,sizeDiversity:-.06,stagger:-.04,latticeRough:.03};function computeMetrics(t,o,n,g){const l=n.filter(e=>e.imageIndex>=0),s=l.map(e=>e.cost),p=Math.max(1,s.length),C=s.reduce((e,r)=>e+r,0)/p,x=s.length>0?Math.max(...s):0,a=s.map(e=>Math.max(0,e-g)),f=a.filter(e=>e>0).length,m=a.reduce((e,r)=>e+r,0),v=o.filter(e=>e.imageIndex<0).reduce((e,r)=>e+r.cs*r.rs,0),_=new Set(l.map(e=>e.span)).size/(0,classify_1.fittingSpans)(t.cols,t.rows).length;let i=0;const c=Math.max(0,t.rows-1);for(let e=1;e<t.rows;e++)o.some(r=>r.r0<e&&e<r.r0+r.rs)&&i++;const d=c>0?i/c:0,S=roughAxes(t.cols,t.rows);return{meanCrop:C,maxCrop:x,overBudgetCount:f,overBudgetTotal:m,fillerCount:v,sizeDiversity:_,stagger:d,latticeRough:S}}u(computeMetrics,"computeMetrics");function scoreCandidate(t,o=exports.DEFAULT_SCORE_WEIGHTS){return o.meanCrop*t.meanCrop+o.maxCrop*t.maxCrop+o.overBudgetTotal*t.overBudgetTotal+o.overBudgetCount*t.overBudgetCount+o.fillerUnit*t.fillerCount+o.sizeDiversity*t.sizeDiversity+o.stagger*t.stagger+o.latticeRough*t.latticeRough}u(scoreCandidate,"scoreCandidate");function roughAxes(t,o){return[t,o].filter(n=>n>template_utils_1.LATTICE_SMALL_BASIS&&!(0,template_utils_1.isSmooth)(n)).length}u(roughAxes,"roughAxes");
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
"use strict";var p=Object.defineProperty;var v=(e,l)=>p(e,"name",{value:l,configurable:!0});Object.defineProperty(exports,"__esModule",{value:!0}),exports.solveCandidate=solveCandidate,exports.solveCollage=solveCollage;const template_utils_1=require("@m0saic/template-utils"),classify_1=require("./classify"),candidates_1=require("./candidates"),score_1=require("./score"),tiler_1=require("./tiler");function solveCandidate(e,l,r,o){const a=(0,template_utils_1.mulberry32)(o),i=(0,classify_1.classifySpans)(l,e.visibleAspect,r),m=(0,tiler_1.planUpgrades)(e.cols,e.rows,i,a),t=(0,tiler_1.tileStaggered)(m,e.cols,e.rows,i,a),n=(0,score_1.computeMetrics)(e,t.placed,t.assignments,r);return{candidate:e,placed:t.placed,assignments:t.assignments,metrics:n,repairs:t.repairs,score:(0,score_1.scoreCandidate)(n)}}v(solveCandidate,"solveCandidate");function solveCollage(e){var l,r,o,a;const i=(l=e.cropBudget)!==null&&l!==void 0?l:.3,m=(r=e.seed)!==null&&r!==void 0?r:1,t=Math.max(1,(o=e.keep)!==null&&o!==void 0?o:1),n=e.aspects.length,g=(a=e.maxCandidates)!==null&&a!==void 0?a:n>240?24:n>120?40:64,C=(0,candidates_1.relaxedMaxCellPx)(e.maxCellPx,e.canvasW,e.canvasH,n),x=(0,candidates_1.enumerateCandidates)({...e,count:n,cropBudget:i,maxCandidates:g,maxCellPx:C});if(x.length===0)throw new Error(`solveCollage: no lattice fits ${e.aspects.length} images on ${e.canvasW}\xD7${e.canvasH} within cell bounds [${e.minCellPx}, ${e.maxCellPx}]px`);const d=[];let u;for(const s of x){const c=Math.floor((0,template_utils_1.splitmix32)((m^s.cols*131+s.rows*17)>>>0)()*4294967296);try{d.push(solveCandidate(s,e.aspects,i,c))}catch(f){u=f}}if(d.length===0)throw u??new Error("solveCollage: every candidate failed");return d.sort((s,c)=>(s.metrics.fillerCount>0?1:0)-(c.metrics.fillerCount>0?1:0)||s.score-c.score||s.candidate.cols-c.candidate.cols||s.candidate.rows-c.candidate.rows),d.slice(0,t)}v(solveCollage,"solveCollage");
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
"use strict";var T=Object.defineProperty;var x=(a,i)=>T(a,"name",{value:i,configurable:!0});Object.defineProperty(exports,"__esModule",{value:!0}),exports.bandFeasible=bandFeasible,exports.planUpgrades=planUpgrades,exports.groupPlans=groupPlans,exports.downgradeOf=downgradeOf,exports.tileStaggered=tileStaggered;const classify_1=require("./classify");function heightWidths(a){let i=0,t=0;for(const r of a){const{c:o,r:f}=classify_1.SPAN_MENU[r];f===2?i+=o:f===3&&(t+=o)}return{W2:i,W3:t}}x(heightWidths,"heightWidths");function bandFeasible(a,i,t,r){const o=i>0?Math.ceil(i/t):0,f=a>0?Math.ceil(a/t):0;return 3*o+2*f<=r}x(bandFeasible,"bandFeasible");const heightDelta=x((a,i)=>{const t={dW2:0,dW3:0},r=classify_1.SPAN_MENU[a],o=classify_1.SPAN_MENU[i];return r.r===2&&(t.dW2-=r.c),r.r===3&&(t.dW3-=r.c),o.r===2&&(t.dW2+=o.c),o.r===3&&(t.dW3+=o.c),t},"heightDelta");function makeCostLookup(a){const i=a.map(t=>new Map(t.options.map(r=>[r.span,r.cost])));return(t,r)=>{const o=i[t].get(r);if(o==null)throw new Error(`no cost for image ${t} span ${r} (span does not fit the lattice)`);return o}}x(makeCostLookup,"makeCostLookup");const moveOrder=x((a,i)=>i.gain-a.gain||a.delta-i.delta||a.imageIndex-i.imageIndex||classify_1.SPAN_CLASSES.indexOf(a.span)-classify_1.SPAN_CLASSES.indexOf(i.span),"moveOrder");function upgradesFrom(a,i,t,r){const o=(0,classify_1.spanArea)(i),f=r(a,i),s=[];for(const e of t){const d=(0,classify_1.spanArea)(e)-o;d<=0||s.push({imageIndex:a,span:e,delta:d,gain:(f-r(a,e))/d})}return s.sort(moveOrder)}x(upgradesFrom,"upgradesFrom");const TASTE_GAIN_FLOOR=-.02,TASTE_POOL=4;function planUpgrades(a,i,t,r){const o=t.length,f=(0,classify_1.fittingSpans)(a,i),s=makeCostLookup(t),e=new Array(o).fill("1x1"),d=e.map((p,c)=>upgradesFrom(c,p,f,s));let{W2:A,W3:l}=heightWidths(e),n=a*i-o;if(n<0)throw new Error(`planUpgrades: lattice ${a}\xD7${i} smaller than image count ${o}`);const W=new Set;let P=0;const m=x(p=>{for(const c of d[p]){if(c.delta>n)continue;const{dW2:_,dW3:g}=heightDelta(e[p],c.span);if(bandFeasible(A+_,l+g,a,i))return c}},"admissible"),E=x((p,c,_)=>{const{dW2:g,dW3:M}=heightDelta(e[p],c);A+=g,l+=M,e[p]=c,d[p]=upgradesFrom(p,c,f,s),n-=_},"apply");for(;n>0;){let p;const c=[];for(let g=0;g<o;g++){if(W.has(g))continue;const M=m(g);M&&((!p||moveOrder(M,p)<0)&&(p=M),M.gain>=TASTE_GAIN_FLOOR&&(c.push(M),c.sort(moveOrder),c.length>TASTE_POOL&&c.pop()))}if(!p){let g;for(let u=0;u<o;u++)for(let h=u+1;h<o;h++)for(const I of f){if(I===e[u])continue;const y=(0,classify_1.spanArea)(I)-(0,classify_1.spanArea)(e[u]);for(const O of f){if(O===e[h])continue;const v=(0,classify_1.spanArea)(O)-(0,classify_1.spanArea)(e[h]);if(y+v!==n)continue;const F=heightDelta(e[u],I),w=heightDelta(e[h],O);if(!bandFeasible(A+F.dW2+w.dW2,l+F.dW3+w.dW3,a,i))continue;const S=s(u,e[u])-s(u,I)+(s(h,e[h])-s(h,O));(!g||S>g.gain)&&(g={i:u,si:I,j:h,sj:O,gain:S})}}if(g){E(g.i,g.si,(0,classify_1.spanArea)(g.si)-(0,classify_1.spanArea)(e[g.i])),E(g.j,g.sj,(0,classify_1.spanArea)(g.sj)-(0,classify_1.spanArea)(e[g.j]));continue}if(++P>o)throw new Error(`planUpgrades: cannot spend remaining ${n} units on ${a}\xD7${i} (internal)`);const M=e.map((u,h)=>({i:h,area:(0,classify_1.spanArea)(u)})).filter(({area:u})=>u>1).sort((u,h)=>h.area-u.area||u.i-h.i);if(M.length===0)throw new Error(`planUpgrades: stuck with E=${n} and all images at 1\xD71 (internal)`);const U=M[0],k=downgradeOf(e[U.i],f,u=>s(U.i,u),{feasible:x(u=>{const{dW2:h,dW3:I}=heightDelta(e[U.i],u);return bandFeasible(A+h,l+I,a,i)},"feasible")});if(!k)throw new Error(`planUpgrades: image ${U.i} at ${e[U.i]} cannot shrink (internal)`);E(U.i,k,-(U.area-(0,classify_1.spanArea)(k))),W.add(U.i);continue}let _=p;p.gain<=0&&c.length>1&&(_=c[Math.floor(r()*c.length)]),E(_.imageIndex,_.span,_.delta)}const b=e.map((p,c)=>({imageIndex:c,span:p,cost:s(c,p)}));return{assignments:b,totalArea:b.reduce((p,c)=>p+(0,classify_1.spanArea)(c.span),0)}}x(planUpgrades,"planUpgrades");function groupPlans(a,i,t){const r=[],o=x(f=>{if(f.some(e=>e<1)||Math.max(...f)<i)return;const s=f.join(",");r.some(e=>e.join(",")===s)||r.push(f)},"push");if(a>=2*Math.max(2,i)){const f=Math.ceil(a*.38),s=Math.floor(a*.62),e=Math.min(s,Math.max(f,Math.round(a*(.38+.24*t()))));o([e,a-e])}if(a>=3*Math.max(2,i)){const f=Math.floor(a/3);o([f,f,a-2*f])}return a>=2*Math.max(2,i)&&o([Math.ceil(a/2),Math.floor(a/2)]),o([a]),r}x(groupPlans,"groupPlans");function partitionToGroups(a,i,t){const r=i.map(s=>s*t),o=i.map(()=>[]),f=[...a].sort((s,e)=>(0,classify_1.spanArea)(e.span)-(0,classify_1.spanArea)(s.span)||s.imageIndex-e.imageIndex);for(const s of f){const e=(0,classify_1.spanArea)(s.span),{c:d,r:A}=classify_1.SPAN_MENU[s.span];let l=-1;for(let n=0;n<i.length;n++)d>i[n]||A>t||r[n]<e||(l===-1||r[n]>r[l])&&(l=n);if(l===-1)return null;o[l].push(s),r[l]-=e}return r.every(s=>s===0)?o:null}x(partitionToGroups,"partitionToGroups");function exactFill(a,i){const t=x(l=>classify_1.SPAN_MENU[l.span].c,"widthOf"),r=[...a].sort((l,n)=>t(n)-t(l)||l.imageIndex-n.imageIndex),o=[],f=new Set;let s=i,e=0,d=0;for(;s>0;){if(++e>500)return null;let l=-1;for(let n=d;n<r.length;n++)if(!f.has(n)&&t(r[n])<=s){l=n;break}if(l===-1){const n=o.pop();if(n==null)return null;f.delete(n),s+=t(r[n]),d=n+1;continue}o.push(l),f.add(l),s-=t(r[l]),d=0}const A=o.map(l=>r[l]);for(const l of A)a.splice(a.indexOf(l),1);return A}x(exactFill,"exactFill");function ffd(a,i,t){const r=Array.from({length:i},()=>[]),o=new Array(i).fill(t),f=[...a].sort((s,e)=>classify_1.SPAN_MENU[e.span].c-classify_1.SPAN_MENU[s.span].c||s.imageIndex-e.imageIndex);for(const s of f){const e=classify_1.SPAN_MENU[s.span].c,d=o.findIndex(A=>A>=e);if(d===-1)return null;r[d].push(s),o[d]-=e}return r}x(ffd,"ffd");const shuffled=x((a,i)=>{const t=[...a];for(let r=t.length-1;r>0;r--){const o=Math.floor(i()*(r+1));[t[r],t[o]]=[t[o],t[r]]}return t},"shuffled");function assembleBands(a,i,t,r,o,f,s){const e=shuffled([...a.map(n=>({h:3,chunks:n})),...i.map(n=>({h:2,chunks:n})),...Array.from({length:t},()=>({h:1,chunks:[]}))],s),d=[...r],A=[];let l=0;for(const n of e){const W=n.chunks.reduce((p,c)=>p+classify_1.SPAN_MENU[c.span].c,0),P=f-W,m=[];for(let p=0;p<(P>0?n.h:0);p++){const c=exactFill(d,P);if(!c){for(const _ of m)d.push(..._);return{pool:d}}m.push(c)}const E=n.chunks.map(p=>({w:classify_1.SPAN_MENU[p.span].c,place:x(c=>A.push({imageIndex:p.imageIndex,span:p.span,c0:c,r0:l,cs:classify_1.SPAN_MENU[p.span].c,rs:n.h}),"place")}));P>0&&E.push({w:P,place:x(p=>{m.forEach((c,_)=>{let g=p;for(const M of c)A.push({imageIndex:M.imageIndex,span:M.span,c0:g,r0:l+_,cs:classify_1.SPAN_MENU[M.span].c,rs:1}),g+=classify_1.SPAN_MENU[M.span].c})},"place")});let b=o;for(const p of shuffled(E,s))p.place(b),b+=p.w;l+=n.h}return{placed:A}}x(assembleBands,"assembleBands");function tileGroup(a,i,t,r,o){const f=a.filter(m=>classify_1.SPAN_MENU[m.span].r===1),s=a.filter(m=>classify_1.SPAN_MENU[m.span].r===2),e=a.filter(m=>classify_1.SPAN_MENU[m.span].r===3),d=s.reduce((m,E)=>m+classify_1.SPAN_MENU[E.span].c,0),A=e.reduce((m,E)=>m+classify_1.SPAN_MENU[E.span].c,0),l=A>0?Math.ceil(A/t):0;if(3*l>r)return{failure:"F2",culprit:widest(e)};const n=d>0?Math.ceil(d/t):0;if(3*l+2*n>r)return{failure:"F2",culprit:widest(s.length>0?s:e)};let W={failure:"F1",culprit:widest(e.length>0?e:s)};const P=A>0?Math.floor(r/3):0;for(let m=l;m<=P||m===0&&P===0;m++){const E=m>0?ffd(e,m,t):e.length>0?null:[];if(!E){if(m>=P)break;continue}const b=Math.floor((r-3*m)/2),p=d>0?b:0;for(let c=n;c<=p||c===0&&p===0;c++){const _=c>0?ffd(s,c,t):s.length>0?null:[];if(!_){if(W={failure:"F1",culprit:widest(s)},c>=p)break;continue}const g=r-3*m-2*c;for(let M=0;M<3;M++){const U=assembleBands(E,_,g,f,i,t,o);if("placed"in U)return U;W={failure:"F3",culprit:widest(U.pool)}}if(c>=p)break}if(m>=P)break}return W}x(tileGroup,"tileGroup");const widest=x(a=>{const i=a.filter(t=>t.imageIndex>=0);return[...i.length>0?i:a].sort((t,r)=>classify_1.SPAN_MENU[r.span].c-classify_1.SPAN_MENU[t.span].c||r.cost-t.cost||t.imageIndex-r.imageIndex)[0]},"widest");function downgradeOf(a,i,t,r={}){const o=(0,classify_1.spanArea)(a);for(let f=o-1;f>=1;f--){const s=i.filter(e=>(0,classify_1.spanArea)(e)===f).filter(e=>{var d,A;return(A=(d=r.feasible)===null||d===void 0?void 0:d.call(r,e))!==null&&A!==void 0?A:!0}).sort((e,d)=>r.preferLowHeight&&classify_1.SPAN_MENU[e].r!==classify_1.SPAN_MENU[d].r?classify_1.SPAN_MENU[e].r-classify_1.SPAN_MENU[d].r:t(e)-t(d)||classify_1.SPAN_CLASSES.indexOf(e)-classify_1.SPAN_CLASSES.indexOf(d));if(s.length>0)return s[0]}return null}x(downgradeOf,"downgradeOf");function tileStaggered(a,i,t,r,o){const f=(0,classify_1.fittingSpans)(i,t),s=makeCostLookup(r),e=[],d=Math.max(1,...a.assignments.map(l=>classify_1.SPAN_MENU[l.span].c)),A=groupPlans(i,d,o);for(const l of A){const n=a.assignments.map(c=>({...c})),W=new Set,P=new Set,m=new Map;for(const c of n)m.set(c.imageIndex,new Set([c.span]));let E=0;const b=14*n.length+8;let p=0;n:for(;p++<b;){const c=[...n,...Array.from({length:E},(k,u)=>({imageIndex:-1-u,span:"1x1",cost:0}))],_=partitionToGroups(c,l,t);if(!_)break;const g=[];let M=0;for(let k=0;k<l.length;k++){const u=tileGroup(_[k],M,l[k],t,o);if("failure"in u){const h=u.culprit&&u.culprit.imageIndex>=0?u.culprit:void 0;if(!h)break n;const I=n.findIndex(S=>S.imageIndex===h.imageIndex),y=x(()=>heightWidths(n.map(S=>S.span)),"hw"),O=m.get(h.imageIndex),v=f.filter(S=>S!==n[I].span&&(0,classify_1.spanArea)(S)===(0,classify_1.spanArea)(n[I].span)&&!O.has(S)&&(()=>{const N=y(),{dW2:$,dW3:j}=heightDelta(n[I].span,S);return bandFeasible(N.W2+$,N.W3+j,i,t)})()).sort((S,N)=>u.failure!=="F1"&&classify_1.SPAN_MENU[S].r!==classify_1.SPAN_MENU[N].r?classify_1.SPAN_MENU[S].r-classify_1.SPAN_MENU[N].r:s(h.imageIndex,S)-s(h.imageIndex,N)||classify_1.SPAN_CLASSES.indexOf(S)-classify_1.SPAN_CLASSES.indexOf(N))[0];if(v){e.push({kind:"swap",imageIndex:h.imageIndex,detail:`${u.failure}: ${n[I].span} \u21C4 ${v}`}),n[I].span=v,n[I].cost=s(h.imageIndex,v),O.add(v);continue n}const F=downgradeOf(n[I].span,f,S=>s(h.imageIndex,S),{preferLowHeight:u.failure!=="F1",feasible:x(S=>{const N=y(),{dW2:$,dW3:j}=heightDelta(n[I].span,S);return bandFeasible(N.W2+$,N.W3+j,i,t)},"feasible")});if(!F)break n;let w=(0,classify_1.spanArea)(n[I].span)-(0,classify_1.spanArea)(F);e.push({kind:"downgrade",imageIndex:h.imageIndex,detail:`${u.failure}: ${n[I].span} \u2192 ${F} (freed ${w})`}),n[I].span=F,n[I].cost=s(h.imageIndex,F),W.add(h.imageIndex),O.add(F);e:for(;w>0;){const S=y();let N;for(let $=0;$<n.length;$++)if(!(W.has(n[$].imageIndex)||P.has(n[$].imageIndex)))for(const j of upgradesFrom($,n[$].span,f,(L,C)=>s(n[L].imageIndex,C))){if(j.delta>w)continue;const{dW2:L,dW3:C}=heightDelta(n[$].span,j.span);if(bandFeasible(S.W2+L,S.W3+C,i,t)){(!N||moveOrder(j,N)<0)&&(N=j);break}}if(!N)break e;e.push({kind:"respend",imageIndex:n[N.imageIndex].imageIndex,detail:`${n[N.imageIndex].span} \u2192 ${N.span}`}),n[N.imageIndex].span=N.span,n[N.imageIndex].cost=s(n[N.imageIndex].imageIndex,N.span),P.add(n[N.imageIndex].imageIndex),w-=N.delta}w>0&&(E+=w,e.push({kind:"filler",imageIndex:-1,detail:`minted ${w} filler unit(s)`}));continue n}g.push(...u.placed),M+=l[k]}const U=n.map(k=>({...k})).sort((k,u)=>k.imageIndex-u.imageIndex);return{placed:g,assignments:U,repairs:e,fillerCount:E}}l.length>1&&e.push({kind:"group-collapse",imageIndex:-1,detail:`plan [${l.join(",")}] abandoned`})}throw new Error("tileStaggered: no group plan tiled \u2014 the G1 terminal state should be total (internal)")}x(tileStaggered,"tileStaggered");
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
"use strict";Object.defineProperty(exports,"__esModule",{value:!0});
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
"use strict";var x=Object.defineProperty;var a=(e,o)=>x(e,"name",{value:o,configurable:!0});Object.defineProperty(exports,"__esModule",{value:!0}),exports.renderImageCollageTutorial=renderImageCollageTutorial;const template_utils_1=require("@m0saic/template-utils"),screencap_grid_cover_1=require("../../../media/screencap_grid/v2/screencap-grid-cover"),paging_1=require("./packer/paging"),emit_1=require("./emit"),demo_fixture_1=require("./demo-fixture"),TUTORIAL_FPS=30,P={bg:"#0a0c12",surface:"#141926",raised:"#1d2433",inset:"#10141f",border:"#2a3347",accent:"#f97316",accentSoft:"#fdba74",textHi:"#f5f7fa",textLo:"#9aa5b5",textMute:"#5f6b7d"};function cardTile(e,o={}){var t;return(0,screencap_grid_cover_1.onboardingLeaf)((0,template_utils_1.makeColorTile)(e,{effects:{rounding:{cornerStyle:"rounded",borderRadius:(t=o.radius)!==null&&t!==void 0?t:.08},...o.stroke?{stroke:{position:"inner",width:.004,color:o.stroke,alpha:.9}}:{}},...o.atSec!=null?{overlay:{alpha:(0,template_utils_1.fadeInExpr)(o.atSec,.3)}}:{}}))}a(cardTile,"cardTile");function padded(e,o=5){const t=(0,screencap_grid_cover_1.onboardingSplit)("col",[o,100-2*o,o],[null,e,null]);return(0,screencap_grid_cover_1.onboardingSplit)("row",[o,100-2*o,o],[null,t,null])}a(padded,"padded");function windowCard(e){const o=a(l=>(0,screencap_grid_cover_1.onboardingSplit)("row",[1,2,1],[null,cardTile(l,{radius:.5}),null]),"dot"),t=(0,screencap_grid_cover_1.onboardingSplit)("col",[10,9,5,9,5,9,440],[null,o(P.textMute),null,o(P.textMute),null,o(P.accent),null]),n=(0,screencap_grid_cover_1.onboardingSplit)("row",[8,1,89],[t,null,e]);return(0,screencap_grid_cover_1.onboardingOverlay)(cardTile(P.surface,{radius:.05,stroke:P.border}),padded(n,3))}a(windowCard,"windowCard");function liveCollage(e,o,t={}){var n,l,r;const i=(n=t.aspects)!==null&&n!==void 0?n:demo_fixture_1.DEMO_IMAGES.map(c=>c.aspect),s=(l=t.colors)!==null&&l!==void 0?l:demo_fixture_1.DEMO_IMAGES.map(c=>c.color),u=Math.max(64,Math.round(e)),g=Math.max(64,Math.round(o)),d=Math.max(2,Math.round(Math.min(u,g)*.012));try{const[c]=(0,paging_1.solvePages)({canvasW:u,canvasH:g,gutterXPx:d,gutterYPx:d,marginPx:d,minCellPx:24,maxCellPx:Math.max(48,Math.round(Math.min(u,g)*.6)),aspects:i,seed:(r=t.seed)!==null&&r!==void 0?r:1,cropBudget:.3,maxImagesPerSheet:i.length}),f=(0,emit_1.emitCollageLayout)({placed:c.solve.placed,cols:c.solve.candidate.cols,rows:c.solve.candidate.rows,canvasW:u,canvasH:g,gutterXPx:d,gutterYPx:d,marginPx:d,sourceFor:a(b=>({type:"lavfi",color:s[b%s.length],effects:{rounding:{cornerStyle:"rounded",borderRadius:.06}},editor:{owner:"template",label:`tutorial img:${b}`}}),"sourceFor")});return{m0:f.m0,sources:f.sources}}catch{return cardTile(P.raised,{radius:.04})}}a(liveCollage,"liveCollage");function fileRow(e,o,t,n){const l=(0,screencap_grid_cover_1.onboardingSplit)("row",[1,3,1],[null,cardTile(P.accent,{radius:.3,atSec:n}),null]);return(0,screencap_grid_cover_1.onboardingSplit)("col",[6,2,52,40],[l,null,(0,screencap_grid_cover_1.onboardingLeaf)((0,screencap_grid_cover_1.onboardingTextSource)({text:e,fontSize:t.callout,color:P.textHi,hAlign:"left",fadeDelaySec:n,label:`file ${e}`})),(0,screencap_grid_cover_1.onboardingLeaf)((0,screencap_grid_cover_1.onboardingTextSource)({text:o,fontSize:t.micro,color:P.textMute,hAlign:"right",fadeDelaySec:n,label:`dims ${e}`}))])}a(fileRow,"fileRow");function folderVisual(e){const o=(0,screencap_grid_cover_1.onboardingSplit)("col",[60,40],[(0,screencap_grid_cover_1.onboardingLeaf)((0,screencap_grid_cover_1.onboardingTextSource)({text:"summer-trip/",fontSize:e.body,color:P.accent,hAlign:"left",fadeDelaySec:.1,label:"folder name"})),(0,screencap_grid_cover_1.onboardingLeaf)((0,screencap_grid_cover_1.onboardingTextSource)({text:"or pick files one by one",fontSize:e.micro,color:P.textMute,hAlign:"right",fadeDelaySec:.1,label:"folder hint"}))]),t=[["IMG_0412.jpg","6000 \xD7 4000"],["IMG_0413.jpg","4000 \xD7 6000"],["pano-ridge.jpg","9000 \xD7 3000"],["lake.heic","3024 \xD7 4032"],["square-drone.png","2048 \xD7 2048"],["IMG_0420.jpg","6000 \xD7 4000"]].map(([r,i],s)=>fileRow(r,i,e,.3+s*.22)),n=(0,screencap_grid_cover_1.onboardingGuttered)("row",t,6,1),l=(0,screencap_grid_cover_1.onboardingSplit)("row",[10,2,88],[o,null,n]);return windowCard(padded(l,4))}a(folderVisual,"folderVisual");function sheetVisual(e,o,t){return windowCard(liveCollage(o*.94,t*.89*.94))}a(sheetVisual,"sheetVisual");function pagesVisual(e,o,t){const n=Math.ceil(demo_fixture_1.DEMO_IMAGES.length/2),l=a((s,u,g,d,c)=>{const f=o*.48*.92,b=t*.92*.88,h=liveCollage(f,b,{aspects:u,colors:g,seed:d}),m=(0,screencap_grid_cover_1.onboardingLeaf)((0,screencap_grid_cover_1.onboardingTextSource)({text:s,fontSize:e.micro,color:P.accentSoft,hAlign:"left",fadeDelaySec:c,label:`page label ${s}`})),p=(0,screencap_grid_cover_1.onboardingSplit)("row",[10,2,88],[m,null,h]);return(0,screencap_grid_cover_1.onboardingOverlay)(cardTile(P.surface,{radius:.05,stroke:P.border,atSec:c}),padded(p,4))},"pageCard"),r=demo_fixture_1.DEMO_IMAGES.map(s=>s.aspect),i=demo_fixture_1.DEMO_IMAGES.map(s=>s.color);return(0,screencap_grid_cover_1.onboardingSplit)("col",[48,4,48],[l("page 1 \xB7 6 photos",r.slice(0,n),i.slice(0,n),2,.1),null,l("page 2 \xB7 6 photos",r.slice(n),i.slice(n),3,.5)])}a(pagesVisual,"pagesVisual");const BEATS=[{name:"pick",durationMs:4200,eyebrow:"Step 1 \xB7 Images",title:"Pick photos \u2014 or a whole folder.",body:"Choose image files, drop them in, or point the Images field at a folder. Any sizes, any shapes.",detail:"Images field: files, or a folder",buildVisual:a(e=>folderVisual(e),"buildVisual")},{name:"render",durationMs:4400,eyebrow:"Step 2 \xB7 Render",title:"The sheet lays itself out.",body:"Wide photos get wide cells, tall ones tall, the strongest a hero spot \u2014 with even gutters and nothing cropped too hard.",detail:"Nudge Gutter, Margin and Crop budget if you like",buildVisual:a((e,o,t)=>sheetVisual(e,o,t),"buildVisual")},{name:"pages",durationMs:4200,eyebrow:"Step 3 \xB7 Big sets",title:"More photos? More sheets.",body:"Past the per-sheet cap the collage pages itself \u2014 one PNG per sheet, in the order you gave it.",detail:"Max per sheet \xB7 30 by default",buildVisual:a((e,o,t)=>pagesVisual(e,o,t),"buildVisual")}];function beatProgress(e,o){const t=(0,screencap_grid_cover_1.onboardingGuttered)("col",BEATS.map((l,r)=>cardTile(r===e?P.accent:r<e?"#7c4a12":P.border,{radius:.5,...r===e?{atSec:.04}:{}})),3,2),n=(0,screencap_grid_cover_1.onboardingLeaf)((0,screencap_grid_cover_1.onboardingTextSource)({text:`${e+1} / ${BEATS.length}`,fontSize:o.micro,color:P.textMute,hAlign:"left",label:"tutorial progress"}));return(0,screencap_grid_cover_1.onboardingSplit)("col",[40,8,4,10,38],[null,n,null,t,null])}a(beatProgress,"beatProgress");function buildBeat(e,o,t,n){const l=(0,screencap_grid_cover_1.onboardingTypeRamp)(t,n),r=n>t*.9,i=r?t*.84:t*.4,s=(0,screencap_grid_cover_1.onboardingSplit)("row",[3,4,15,20,3,6,5],[null,(0,screencap_grid_cover_1.onboardingTextBlock)({text:e.eyebrow,fontSize:l.label,color:P.accent,cellWidthPx:i,hAlign:"left",fadeDelaySec:.04,label:"beat eyebrow"}),(0,screencap_grid_cover_1.onboardingTextBlock)({text:e.title,fontSize:l.headline,color:P.textHi,cellWidthPx:i,hAlign:"left",widthFrac:.9,fadeDelaySec:.08,label:"beat title"}),(0,screencap_grid_cover_1.onboardingTextBlock)({text:e.body,fontSize:l.body,color:P.textLo,cellWidthPx:i,hAlign:"left",widthFrac:.91,fadeDelaySec:.12,label:"beat body"}),null,(0,screencap_grid_cover_1.onboardingTextBlock)({text:e.detail,fontSize:l.micro,color:P.accentSoft,cellWidthPx:i,hAlign:"left",fadeDelaySec:.16,label:"beat detail"}),null]),u=beatProgress(o,l),g=a(S=>r?(0,screencap_grid_cover_1.onboardingSplit)("row",[5,33,3,47,3,4,5],[null,(0,screencap_grid_cover_1.onboardingSplit)("col",[7,86,7],[null,s,null]),null,(0,screencap_grid_cover_1.onboardingSplit)("col",[6,88,6],[null,S,null]),null,u,null]):(0,screencap_grid_cover_1.onboardingSplit)("row",[7,83,2,5,3],[null,(0,screencap_grid_cover_1.onboardingSplit)("col",[5,34,4,51,6],[null,s,null,S,null]),null,u,null]),"assemble"),d=(0,template_utils_1.makeColorTile)(P.raised),c=g((0,screencap_grid_cover_1.onboardingLeaf)(d)),b=(0,template_utils_1.resolveDocFrames)({kind:"mosaic_document",version:1,m0:c.m0,sources:c.sources,assets:{}},t,n).framesByLogical[c.sources.indexOf(d)],h=Math.round(b?b.width:t*.42),m=Math.round(b?b.height:n*.7),p=g(e.buildVisual(l,h,m));return{kind:"mosaic_document",version:1,assets:{},size:{width:t,height:n},backgroundColor:P.bg,m0:p.m0,sources:p.sources}}a(buildBeat,"buildBeat");function renderImageCollageTutorial(e){var o;const t=Math.max(1,Math.round(e.target.width)),n=Math.max(1,Math.round(e.target.height)),l=BEATS.map((r,i)=>({name:r.name,durationMs:r.durationMs,file:buildBeat(r,i,t,n)}));return{kind:"mosaic_pipeline",version:1,fps:(o=e.target.fps)!==null&&o!==void 0?o:TUTORIAL_FPS,durationMs:l.reduce((r,i)=>r+i.durationMs,0),defaultTransition:{type:"cut"},backgroundColor:P.bg,steps:l}}a(renderImageCollageTutorial,"renderImageCollageTutorial");
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
"use strict";var a=Object.defineProperty;var o=(t,e)=>a(t,"name",{value:e,configurable:!0});var __createBinding=this&&this.__createBinding||(Object.create?(function(t,e,r,i){i===void 0&&(i=r);var n=Object.getOwnPropertyDescriptor(e,r);(!n||("get"in n?!e.__esModule:n.writable||n.configurable))&&(n={enumerable:!0,get:o(function(){return e[r]},"get")}),Object.defineProperty(t,i,n)}):(function(t,e,r,i){i===void 0&&(i=r),t[i]=e[r]})),__exportStar=this&&this.__exportStar||function(t,e){for(var r in t)r!=="default"&&!Object.prototype.hasOwnProperty.call(e,r)&&__createBinding(e,t,r)};Object.defineProperty(exports,"__esModule",{value:!0}),__exportStar(require("./spread-grid-mock/v1"),exports),__exportStar(require("./image-collage/v1"),exports);
|
package/node_modules/@m0saic/templates/dist/m0saic/collage/spread-grid-mock/v1/grid-fixture.js
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
"use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.SPREAD_GRID_M0=void 0,exports.SPREAD_GRID_M0="221[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,335(0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,-,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,-,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,-,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,-,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,-,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1),0,0,0,0,0,0,-,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,335(0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,-,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,-,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,-,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,-,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,-,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1),0,0,0,0,0,0,-,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,335(0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,-,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,-,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,-,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,-,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,-,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1),0,0,0,0,0,0,-,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,335(0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,-,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,-,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,-,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,-,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,-,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1)]";
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
"use strict";var t=Object.defineProperty;var e=(r,d)=>t(r,"name",{value:d,configurable:!0});Object.defineProperty(exports,"__esModule",{value:!0}),exports.SpreadGridMock=void 0;var spread_grid_mock_1=require("./spread-grid-mock");Object.defineProperty(exports,"SpreadGridMock",{enumerable:!0,get:e(function(){return spread_grid_mock_1.SpreadGridMock},"get")});
|
package/node_modules/@m0saic/templates/dist/m0saic/collage/spread-grid-mock/v1/spread-grid-mock.js
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
"use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.SpreadGridMock=void 0;const types_1=require("@m0saic/types"),template_utils_1=require("@m0saic/template-utils"),grid_fixture_1=require("./grid-fixture"),TEMPLATE_ID="@m0saic/collage/spread-grid-mock/v1",CELL_COUNT=24,propsSchema=(0,template_utils_1.definePropsSchema)({equalTolerance:{type:"number",required:!1,description:"Uniform-size tolerance (fraction of the metric). Default 0.02.",meta:{ui:{label:"Equal tolerance",order:1}}},debugLayout:{type:"boolean",required:!1,description:"Dev-only layout contract view: renders the contract wireframe instead of the grid \u2014 cells GREEN with the measured rule when uniform, offenders RED with the violation when not; stamps editor.layoutContract either way. Deterministic default false; production never sets it.",meta:{ui:{label:"Debug layout",order:2,collapsedByDefault:!0}}}});exports.SpreadGridMock={id:(0,types_1.asTemplateId)(TEMPLATE_ID),label:"Spread Grid (layout-contract mock)",version:1,internal:!0,lattice:{allow:[{count:335,reason:"fixed 1920\xD71080 fixture grid \u2014 the quantizing anti-pattern the layout contract demonstrates catching"},{count:221,reason:"fixed 1920\xD71080 fixture grid \u2014 the quantizing anti-pattern the layout contract demonstrates catching"}]},description:"Mock precursor to the image-collage: a fixed 6\xD74 grid that quantizes, tagged for the layout contract's uniform-thumbnail invariant. The first debugLayout adopter (audit:layout-envelope).",capabilities:{tier:"core"},tags:["developer","collage","mock","layout-contract"],outputHints:{width:1920,height:1080,fps:30,durationMs:2e3},propsSchema,defaultProps:{equalTolerance:.02,debugLayout:!1},async render(a,e){var t;const r=Math.max(1,Math.round(e.target.width)),o=Math.max(1,Math.round(e.target.height)),i={type:"lavfi",color:"#161b22",editor:{label:"cell"}},n=Array.from({length:CELL_COUNT},()=>({...i})),l={kind:"mosaic_document",version:1,assets:{},m0:grid_fixture_1.SPREAD_GRID_M0,sources:n,fps:e.target.fps,durationMs:e.target.durationMs,size:{width:r,height:o}};return(0,template_utils_1.withLayoutContract)(l,e,{templateId:TEMPLATE_ID,relations:[{label:"cell",equal:"size",tolerance:(t=a.equalTolerance)!==null&&t!==void 0?t:.02}],debug:a.debugLayout===!0})}},(0,template_utils_1.registerTemplate)(exports.SpreadGridMock);
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
"use strict";var c=Object.defineProperty;var o=(r,e)=>c(r,"name",{value:e,configurable:!0});var __createBinding=this&&this.__createBinding||(Object.create?(function(r,e,t,i){i===void 0&&(i=t);var n=Object.getOwnPropertyDescriptor(e,t);(!n||("get"in n?!e.__esModule:n.writable||n.configurable))&&(n={enumerable:!0,get:o(function(){return e[t]},"get")}),Object.defineProperty(r,i,n)}):(function(r,e,t,i){i===void 0&&(i=t),r[i]=e[t]})),__exportStar=this&&this.__exportStar||function(r,e){for(var t in r)t!=="default"&&!Object.prototype.hasOwnProperty.call(e,t)&&__createBinding(e,r,t)};Object.defineProperty(exports,"__esModule",{value:!0}),__exportStar(require("./v1"),exports);
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
"use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.STATUS_M0_GLYPH=exports.HEADER_M_GLYPH=void 0,exports.HEADER_M_GLYPH={bounds:{x:0,y:0,width:272,height:272},path:"M19.7296 0.010376H0.0599976V48.117H19.7296V0.010376Z M34.9327 55.9604H0V104.067H34.9327V55.9604Z M62.2438 111.931H34.9327V160.038H62.2438V111.931Z M27.3212 111.931H0V160.038H27.3212V111.931Z M34.9327 167.912H0V216.019H34.9327V167.912Z M62.1336 223.893H27.3712V272H62.1336V223.893Z M19.7197 223.893H0.0100098V272H19.7197V223.893Z M131.799 111.931H103.496V160.038H131.799V111.931Z M174.503 56.0122L163.737 55.9915L139.49 89.6651V104.088L174.503 104.119V56.0122Z M118.248 104.067H131.799V89.52L107.582 55.9604H69.675V104.067H115.614H118.248Z M91.3477 33.9223L69.675 3.38805V48.1067H101.924L91.3477 33.9223Z M180.422 32.8758L169.886 48.1067H180.051H181.574H201.754V3.34662L180.422 32.9172V32.8758Z M139.49 160.069H165.81L200.512 111.962H139.49V160.069Z M95.8845 148.278L95.8946 111.931H69.675L95.8845 148.278Z M135.054 202.612L160.151 167.912L110.036 167.902L135.054 202.612Z M62.1738 55.9604H42.5742V75.6776H62.1738V55.9604Z M62.1738 83.5313H42.5742V104.057H62.1738V83.5313Z M182.185 104.088L201.714 104.067V55.9604L182.185 55.9915V104.088Z M62.1837 0.010376H27.3312V48.117H62.1837V0.010376Z M62.0736 167.912H42.5141V187.629H62.0736V167.912Z M62.0736 195.494H42.5141V216.019H62.0736V195.494Z M271.95 223.883H252.28V271.99H271.95V223.883Z M272 167.933H237.067V216.04H272V167.933Z M237.067 111.952H209.756V160.059H237.067V111.952Z M272 111.952H244.679V160.059H272V111.952Z M272 55.9707H237.067V104.077H272V55.9707Z M244.629 0H209.866V48.1067H244.629V0Z M271.99 0H252.28V48.1067H271.99V0Z M229.426 196.322H209.826V216.04H229.426V196.322Z M229.426 167.933H209.826V188.458H229.426V167.933Z M244.679 223.883H209.826V271.99H244.679V223.883Z M229.486 84.3602H209.926V104.077H229.486V84.3602Z M229.486 55.9707H209.926V76.4961H229.486V55.9707Z"},exports.STATUS_M0_GLYPH={bounds:{x:0,y:0,width:1024,height:1024},path:"M623.553 598.302C623.571 612.203 625.962 625.507 630.009 638.06L681.826 638.111V596.255L623.571 596.204V598.302H623.553Z M693.952 713.773C704.318 719.146 715.556 722.967 727.306 725.406V650.75H634.655C646.678 677.887 667.685 700.162 693.952 713.773Z M727.204 596.204V638.043L694.481 638.111V596.272L727.204 596.204Z M831.383 650.767H798.541V728.322H831.383V650.767Z M785.834 650.767H740.013V728.322H785.834V650.767Z M773.145 294H740.303V371.555H773.145V294Z M831.673 294H785.852V371.555H831.673V294Z M623.656 423.731V426.05L681.894 426.101V384.245L630.043 384.194C626.013 396.679 623.707 409.932 623.673 423.731H623.656Z M694.652 384.262V426.153L727.374 426.101V384.194L694.652 384.262Z M727.392 371.538V296.832C698.648 302.784 673.355 318.084 654.944 339.541C646.746 349.092 640.017 359.889 634.859 371.538H727.392Z M831.656 384.228H740.013V426.118H831.656V384.228Z M831.486 596.204H740.03V638.094H831.486V596.204Z M948.44 598.166C948.423 612.066 946.032 625.37 941.984 637.924L890.168 637.975V596.119L948.423 596.068V598.166H948.44Z M878.025 713.637C867.658 719.01 856.42 722.83 844.67 725.269V650.614H937.322C925.298 677.75 904.292 700.026 878.025 713.637Z M844.773 596.068V637.924L877.513 637.975V596.136L844.773 596.068Z M948.321 423.611V425.931L890.083 425.982V384.126L941.933 384.074C945.964 396.56 948.269 409.812 948.303 423.611H948.321Z M877.325 384.126V426.016L844.602 425.965V384.074L877.325 384.126Z M844.585 371.402V296.695C873.328 302.648 898.622 317.947 917.032 339.404C925.23 348.956 931.959 359.752 937.117 371.402H844.585Z M948.44 438.621H902.806V504.799H948.44V438.621Z M948.44 517.438H890.031V583.344H948.44V517.438Z M890.1 438.621H844.482V504.799H890.1V438.621Z M844.482 517.421V583.327L877.325 583.378V517.472L844.482 517.421Z M681.894 517.421H623.553V583.463H681.894V517.421Z M669.188 438.74H623.553V504.782H669.188V438.74Z M727.494 438.74H681.877V504.782H727.494V438.74Z M727.494 517.421H694.583V583.463H727.494V517.421Z M76.0171 378.556H143.2V419.868C143.2 427.631 153.084 430.64 157.564 424.314C177.228 396.51 209.101 374.008 245.522 374.008C293.52 374.008 326.539 397.211 342.219 435.394H345.964C363.285 398.118 402.152 374.008 453.894 374.008C518.974 374.008 564.869 413.798 564.869 493.583V727.741H494.847V499.944C494.847 452.664 464.41 432.658 427.425 432.658C381.787 432.658 355.317 463.129 355.317 505.176V727.741H285.535V495.618C285.535 457.657 258.62 432.658 219.754 432.658C180.887 432.658 146.004 465.386 146.004 512.443V727.741H76V378.556H76.0171Z"};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
"use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.M0SAIC_LOGO_DATA_URI=void 0,exports.M0SAIC_LOGO_DATA_URI="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAIAAAACACAYAAADDPmHLAAAABGdBTUEAALGPC/xhBQAAACBjSFJNAAB6JgAAgIQAAPoAAACA6AAAdTAAAOpgAAA6mAAAF3CculE8AAAAimVYSWZNTQAqAAAACAAFARoABQAAAAEAAABKARsABQAAAAEAAABSASgAAwAAAAEAAgAAATEAAgAAAAYAAABah2kABAAAAAEAAABgAAAAAAAAAEgAAAABAAAASAAAAAFGaWdtYQAAA6ABAAMAAAABAAEAAKACAAQAAAABAAAAgKADAAQAAAABAAAAgAAAAAALXz+oAAAACXBIWXMAAAsTAAALEwEAmpwYAAABWWlUWHRYTUw6Y29tLmFkb2JlLnhtcAAAAAAAPHg6eG1wbWV0YSB4bWxuczp4PSJhZG9iZTpuczptZXRhLyIgeDp4bXB0az0iWE1QIENvcmUgNi4wLjAiPgogICA8cmRmOlJERiB4bWxuczpyZGY9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkvMDIvMjItcmRmLXN5bnRheC1ucyMiPgogICAgICA8cmRmOkRlc2NyaXB0aW9uIHJkZjphYm91dD0iIgogICAgICAgICAgICB4bWxuczp4bXA9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC8iPgogICAgICAgICA8eG1wOkNyZWF0b3JUb29sPkZpZ21hPC94bXA6Q3JlYXRvclRvb2w+CiAgICAgIDwvcmRmOkRlc2NyaXB0aW9uPgogICA8L3JkZjpSREY+CjwveDp4bXBtZXRhPgoE/1zIAAAXwklEQVR4Ae2dCZQcxXnHa2dn70NCQhzCAgmQ0cFhg4jABzYQEnEYjLHxQRw7sYiJX44XAijomRw+YsDEIS8OBsdOiPGLYw473JhwGAPmsBBIAiRuSQhhkLSSdld7H/n/aqZGPb09s7OzM62eUdd7PV1dVV31XfVV1fdV19SY0obGtra2g4eHhw9TtXNqamrO0P0kXW2lbWavqa1LmP5qdHT0Ht3fSCaTr3Z2dr6peF+pKFAz2YrE8OkC8GRdZ6quxbpm62rSFYfSU6BXVa7X9aQ61726Hurq6to2mWaKFoDW1tYFYvqFavyTut4zGSDid4umANrgNgnCD7q7u18oppYJC0BjY+NsqaLL1NjnJQCtxTQav1NaCogP3YlE4sdDQ0NX9fX1rZ9I7bUTKFyjXv+nkrab9M7Juuon8G5ctIwUEE/gxSIJwWfq6uq6BwcHVxbaXEEaQIzfT1L2r6r0/EIrjsvtUQrcLKH4cw0L744HxbgCIObPF/N/ooqOGa+yOD9SFFglIfishGBtPqjyCkBzc/OxquTnquDgfJXEeZGlwAZ13k/09PTkHBJyCkC6598XMz+yzC0UsI3qxEtyaYJAARDzZ0hyHlQLRxXaSlwu0hRYLSH4XQnBFj+UCX+CnhMjIyPX6R4zP4A4FZp0dJqnY/g9Zhkoy95SIbmsQhGNwc5BAWmABVoivq0l4jPeIllDQFNT08FaS65QgRneQnG8aiiwRZpgUW9v70aHUZZKqK2tXa6MmPmOOtV3nyEeX+5FK6MBpPrnSTpQD83eAnG86ijQIy1/nJxI68AsowHE/Iv0HDO/6vg9BqHmNK9thtUA7e3t0+TDX6OUmWOKxwnVSIHNGgqO0t6CDqsBJBGnxMyvRj7nxGlmmuepIUBGHzZzxGEvooDjORqgQdeJexHuMaopCsDzxhqN/3M1/q/mIabMXkWBPq0GjkloF8nhMfP3KsY7ZBvZvCshSBzqUuL73kUBeJ/QZICt23HYCymglcAZNS0tLTuFe/teiH+MsjFdybCYPzxiTP/IqMnYntPkb0zW2LS+oVEzmocl5Kmoqa/115DnpT2QNTA8aoTKGDy9oIABeIMTeHsDT/WJGpO0FhpvTlnibWiAbAjK0A7MP2yfpPngQfVG9MkEiHXv632WCEsObTL7NNYYyUhggO8bO4fNI2/223yIWBMRWQBmQBGa5iOzGswh7bVZeFqA0z/irenoGzH3Ce8mCcHphzZmCTV4PrF5wLzSMWRqQxACNEDZw4AotHhmvblhyTTTn5Z4R4jHN71r+oeHzVdPbDdHzagzgzkkoEHE+t9Xes3/re8zM5prrdBQ756WAcBtrU9psW29I+bCY1rNeUc0ZfD0E7dOiK96d8AKQHt9wnz75KlmWmMiI/jg+eVfdJgXtg6aJohU5hCCjKUwsEOAmN/rubxqv1/awJvnj1MWjUE979+/ToRuseXLTJ+81aOshkdHzbLF7WZma6rXAyOw+uH3PoMrgV9/WToIOIYVQhOAUiIEgZYtbjMnSqs4Ypay/kLr6h0cNZ+Z32K+cGSLFc5C34tSuYoUgBH1uraGhLn6o1PNFN3THSpUutLTF+5bZ77+oXap7/wT2FABm2BjFSkA4EjPP/7AerP8hHYzGLIEMO4zi7/6o1PMAVL90toVGypWAKA44ypzgbPnNoU6H2Ccvvj4NnPKIY12DK9Y7gvwihYAaV7DRPkfT5piZmvpNRjC5AmhO21Oo/nLRW17dP5RKqGraAGACDB9zpSk+eZJU600l1MbD6mtg6Tyr9Lco0GSl2PFWirehFJPxQsAVKJXfvy9TeZLLA01My9HSNU6ar7+4Slm/rSkwQZRDaEqBABGMBHEmHRCmZaGCNYfLGwx589rNj0SuGoJVSMALARYEn7nlJRlrZTGFJZ8C7Tku+ID7ZrxVw/zEeLQBIDJGo4cTKH2SsedsTNJujfflUvfedc5SPABBJVFKy+e2WCu/MhU6ycoBavgd3NdjblGJttZbUkRzIODB+bdePjw9OEB3OBK4NdLC+Lgmc62Zcr9E4ovAIRwgDzz2wHTl16zk9bZP5Kx/a/bNmjV+GCOHtYgwry+Y8gSp3tg1DyrutJVZdEIotJbP/yeBvPwxr4sR0tWwQIfGOtPl6Nq36aEnDT9YzyW4NGj4QG7BHFgBM9cFso6Se8r2wdt6/g9Vm8ZMO3SXG5K0Sg88SlQVxghFG+gQySoRzrEHcLcwZ10f3kvTfx5rg3ulKMeVgiuPm9+oXFkkZVlnfQk7VEvdwezopmQDzYHj/ddV4fDO1ORIt66vOnliIeiAUAcycZrRtwb/MjulFYYGNYOlYYaQ6935SnHWNyp3o+/nHyX563PxSnPtU2aZ0RcnKjrGAbV69tpPHa0g9Nml3o6MLXLbU0gnRiCskNwo5HahKMfbrRBZ/+ohi1jPX+86wJ1eAP1oeHQlKlWvLmlj4ciAFjOPqFl2lUam90Q4EcFZGHSBXd2mCc29ZlrT51uzjysMaNKIeov3ugzS+/tMMfPqjf/dea0wCHAWy/v/OeaXebvH9tpTbfevHxxGAos3z1tH3OShpJaPdz4wi5zxS93mFNldfze703LLAPpwTDs3J9vNa9tHzL/pLnCxw6XOxhpUAAGfP8XCu5j9683P/7YdCswfsY7eOgoyx7ZYX7yYs+EYHbvT/QeigCALIjt15zIabJ1AuDULT2c8vQ8ArZ32+v1qE6pPQFyAqGf8wSY+BfHtZoVbw+YO1/rtRsw8hTPZPWKeRfL0vepI5qt1mmmbbSX2oahwOUYjAA01KbGfyANgntKWlsxyZuhuQT1UDYosEkEWuXKD3pnMmmhCAAAghCdIt0xxsBsBSBdjkxUsLc8cTdujldXpnIVhOhXymmzZuuA2dQ1bJ8z+QERBO5DBzWYZSekTL0OjlxtA4vLozpX3uEZBHc+AaA8dYYVQlsGhoWQvx1m2piKvyVTMao8H3Eh/nT1UHbptEoVeRnrr7daniMrAKyHUfuoRKsWdSetmICpGI/hl9+X31Q8JI7/7Qen2B1HTsVPtL1Swj3RtospH9oQUChwsLhWavvGNd3mEa3jnSqF9+s7ZQcoUmRZQVyuvQO/0XzgSW26RLi8gbX8Zxc0my9qd0+x/gRgfFSbVpn0Os8kc5qV7wyEtq734lRIPHICANBMrO5+VSejazmYFbSMShapBVDnbelNmOf8bKvp0szdVYVwzJ+eNN+Qo4e9PfmGiSx4PA+IExa+f3u223x3RXYNNUp3VkzPK5GIRlIAYNbZc5vtVvLh9ECMVsDKdieCUWRArR93QL216V/84A5TKy1A9czscfGysZPhotjA5O5IWSG9u3wR5u2yRbyoXb5RDJETAMgP0/9Qqvi8eU1mQKqZUC97/O0v99rLJhT5g3r/o6NazFMaBn66rscaW/5aQ8Npsxsnx3zBg9mYzaqf1PLRu3y9Q9vZz799W5EQl/e1IkfU8gJF7fTWPjEL1ysX8WInZl5oESdWAxe9v9UuCQ9sTZqlR5duV29KXL0thrusy255/KfIaYDxQZ58CdQ+c0DUM5M07kGMK7Yl6nL1uXuxdZX7vVAFQHTOad8OyvOmEfcGb543vZA47zrGeJlVyLveMrlg8KYT9wb/szeP+Hj5/vKTfQ5NACxR9IN5Nii4fJdHOXeRlhX3Pbt3Cr1TF73eBVYDXJ4kl2Xv5LnylHHlER5/XQ5O7gT3nHpKPbt40N2WD8ooU1oo7mBU7v4tCXPY1OS41rUXtS9gpzxnR2jfHVY5ZtYECNMhP/k6fTQ5Vbb1+dPrUhlF/MIbPHvPa2aO4eaY/epSy7R0W/4qE2p8c/eweVV+fL5LnKe2+RhE0xQrNNzXbBm0k8h8cOMTWDAO3Ajaa1rtvLMrnD0BoQgABGcCN5hniVUrRoA8wgIfRlzEyw0VaNVqAIL3YmmhYEBIpo08Q3naQ6Ja5OChmd6BcbxKtKHyGKEon/rZ3XBCsGOtJCBY/nykJCHYKeFwHAaJHKFOdbE0zV0ix4tFJIciANjjPyAHywWytDkLmRdWln3//Jsu85Z6Gfvt0RR++jBZW61edsNz3fqMPGEuOb5dn4dlb81mSYNf/ttPd1lP4aVakqFFLNM8DYq21jH0HbXJbpxLfqfN4PGbKMHRTjD+Lnka75J9AuZe+L5Wc7T9ytnToKK0Sc/+lxVd1t7AhyXYNvwBPP9bruDH3+of13Hlf7eY51DmAOynRzUuFXH66SGegGrHEoff/k156846rMlu5/Iv+RrU8+/Sevp6WdoYCrb1DZtLFk81A+rlrkaIjBBBZMwun57fbOYEfDDChpLntBULAYDxn1/YrGFlrKB4wAyMMny83DFovvlEp5iPMI6a35c94Uz5Hfx40qMf3dRvBR0B/qJsEbzvhjjXAHiu0JYyzkFAGModQhEAkEAIIIrf0uYEwPVSGM+6H6HwBp7Io89gcr12RbfG7npzruezMAQAA4x7kzh10bY3DImwzlBDWWDCp+9g8JbNFafzou7/7IEdZv3OIetbGJHpGhixWbj63fug44SadmiTNL8AUN4Pr6ujHPcQZKz0YCM0EHG5ds6gVvH5hx3o0QxbD27oG+NYChuWybRXkQIAwqjHDToy5vJHdtq9+ghFWIFxn5NKrtVQw+6dSg4VKwAQ3U3ArlvZbZpCYgRePZaEl2l/ICp9DyifkspbRQsAlEAVX/1Ul3lMs2a/j7+klFJl9HUWc199dKdZt22o6A0qpYZrMvVVvADQA7u1trzk4R1mq1YHQUuryRDI+26TZug3arVys7yIfC1UDaHiBQAmoAWee2fQ/MPjO62TpxyMoY2VWp597ddqo9L1vodAoS0DPW2WJUrv/NHzPTqjL2kFgv19pQrwu0vWQrQMH5pU+sTPS5eq0AAg5BTyNbICbpc1sJSrAgw2Vz7ZZX79lvYSKl5NoWoEAKbQUzHA8GlZqdjESoNtaNfLBE282kJoQwDLJ8yc/kBPpVO5YZWxFvOsv6PxLnnjBeqrSWt/VgXU5fc/YAp2KwZqhLFc/lGDsR4PILYGrHaFmGaBsVGw+iEl3cEPrrSXyxQc5gbSUAQAhF6WG/cH6kWD/p2+IgbOIDZOQhgcK2vlEvZ/9sWHlTiDKDNeoAjm1J+u7Uk5g3ymYM7g5SshAqbim17QrF4M8ZtlafPWl3ozpl77Qp4fYLtfBqK3dw2PwZM2sVpSZodwZTVhVyy+qQptviRahSUEoXgDYQhGk0EcQTwEBNzB9F6YAE3GuINJVJmWAC0SUJ1NYjigV4/6u3b6BdzGtBfomhUwuH9hxERMzbE7OIAb0P+AllozVyeG4zHLGSQAz6uX79CGkAXap79vU22mPN62Lb3D1gBTiBagDVpC7fJVLsI1potTyBd4h1M83pSZmR6raMEB1N4rr+c030YWDnygV0dxQ0goQwC9/9TZDeZ7+tza7w101IXOMOnMW7fqi6B++xXPOfL0Oa8aY/YtL/WYL9zdkRlL3bv57rT3KZ3evVQniPH1z3gBtdypJd+5+ngEYWUHcaGBfQ/LdY7QOfo83Av3bdrO/rnbt5rFBzaaO87bN6PlguplbvCV+7eb/9AQQbzcQQounGBVrejPZCrf5ViE1vCXy6HJcyLgyPd3Oh8AHzuTOn+d3mfqhyCcJ/CUPiGbiOp3QIBn0DVeftY7rnAI99AEIARcAptAhWMivlRGnG717HzDBz3uf2TmZXPKZHofQuy9vIB503PFveXLHY+0ANCDvVexxGD4eGzTgLlKTiO3FPPXxZKM1ccVcvSwiHPaw1+u2p4jKwBBDAhKK5Qh9OjrtJ0Mo46/d6MVGLMv/eVO6+qdzBIMAcMOwLKSizjCFdUQyiRwIshDKhjwDe2z40tbN+7DJI6aK2Zcpn3mcvgHMOocpW3gnPnrtl7BtGue7jQPaA0/GS8fE8gfru62u4ScHYP1Px+1ltNLORH6+stGTgAcs9hn71+/14hR9KpiA8LzuvbvLZcQ3HjGNKvmGR5gPNu7nHWw2PoB7U5tXA36rJ2lZRRD5ASAiRG9h+3hx+q/gZwZFzPs05qZf39Vd9FaAAag/m8Xk254bpc9859DJ9zunsmqalYUZ2npOlseSeIE+P6GhI6TwqIYIicAEAm1z9+vcQI4p20Q+DctLpwykw30xiuf6jSL9I8jnESyVrt7JqP6HTwMMV86utV8nG3hHrgxJ9sDL1zBCN0jKQDQh23hTMycQQUx8G8VL5aO9MpdOiHkgju3WT9/KZjvYCkn3K6NUt4jKwClRDKoLiZnOKCYHEZzdA6CuvRpoQkARKbncQUFkr3MYNbvLU+ctFKGUtcHbPngBnzwQJulBjbeyA7klxjN7AZ8T6EIAAhxROy7PSP5j4pVOezpCAJfCFPefU3DUo3zdsMkjo9WBT0CYy64wW2LcMonAOw4CuucYBAKxR0MwiBWyGHRfNzJngGOXIXprqfAeISB072iKgTAypGydqOH4gQHN4LB4dP8qYU3OPxcGuXDPCw6FAFwyPmRJZ0ZP8GpY+4QgXR/edIrIQTBDV6kO3zd3eHtxStMPEMZAui5Z8tFykGN7rRwEOcPI/7kvu32k+7rdQI3n4Xn+8OIhzb0myse22GPi/cSLCpxVDz/XsYS1g1dftj4wwj2GVx0f4f9Ivn7S/axn6g7gUBTfuvJTnOHTNZowHKHUAQA5PhOnzP6nE+e3Tbb5aVzpl1O3TiS7+olLEGBbd98hYvbNKoB2A6dWmvxzHXaKDYIZxUE96Nn1Jt9OMMgvW2NJWnQmQblwjkUAQB4hIA1Mr2EkNCNeOopZaeH+S7fFvL81Gpe4Gz3nuTIRYHRi2cQgO6bBXAHX/BOk0Xv7h4mgt4tdVr2jKTUtcf1RZ4CsQBEnkXlBTAWgPLSN/K1xwIQeRaVF8BYAMpL38jXHgtA5FlUXgBjASgvfSNfeywAkWdReQGMBaC89I187aFZAtmAwZYuF/AF9OrZpWD3Zr9e0vclryvPu5Pds+fqKucdGNlc6vDyt4X519n4KUNZ8HaWQPCEVmGFULyBbPKcq48mT5xZn9ksCYKYTO/VZkm2fS05tNGeAewI4ScAfhHOBeQIVeJRDMCOI+hgHU8r1AIDgs9OJDaJwvzThbdXsMHtCf2dzSv6mDQMQQhFAKCEtZGLQn7eud6CEOSgmSUkeaJXFrFsRsR+EGr2g/rx9IJJHniDk9vz6PJJ4wCLyXyc4uoq5I4AdKpgWyGF4zJVR4FORptHqw6tGKFCKfCYzl2ouafQ0nG56qIAvE+MjIy8Xl1oxdgUSgF4n6itrX1NL0Tzu6VCMYnLFUOBvmQy+Wqiq6tro97eUEwN8TsVTYENnZ2dG5kE0vufqGhUYuCLoQA877c2J00G7i6mhvidyqWA47kVgEQi8ZBQ2Vy56MSQT5ACm9M8t4diGY0FHarglglWEhevXArckuZ5SgDAQxJxvW49lYtTDHmBFOhJ89oWt0MAMa0G1mlc+FGBlcTFKpQCo6OjN8FrB36Wz6KpqelgSccKZc5wBeJ7VVFgi4w/i3p7ezc6rPS96u4wNDS0s6GhAefQWbtT41i1UEC9/6/E/Ie9+GQJABkDAwPP1tXVLdRwsMBbMI5XNgXE/Ft7enqWCws8zpmQmQNkUvRpmoaBr+h5jSctjlY2BdakeTpmv1WQAJju7u4t0gCfFs6ZsaKy8d+rod8IL+FpEBUCBYCCemGt1Ma5isZ+giDKVUbaRngIL3OBm1MAeEFjxkpJz+mKrspVQZweWQqsEu+WwMN8EI6ZBPoLa1K4VSuDnyn9EF0L/fnxcyQpcLOY/zn1/HG197gCAHoSgl2Dg4O3aXXwtipepKTWSKIdA/VbqfzL1Ov/Bp4VQo6CBMBVJCF4RhtIbtPVKEGYp/R6lxff9xwFxHTOz/2hjDx/rHX+AxOBJMsSOJEXW1tbF6rhpXrnPF2zJvJuXLZkFNikmm5VZ/x3qfsXi6m1aAFwjbW1tU2XIJys6wylnaBrtq4mXXEoPQV0Fr1Zr+spMf0eXQ/Jrr9tMs1MWgB8jTe2t7fPkkn5cKXPEYAIxUm64u8OfIQq8LFL5X6lzsXO7TfYv5newscurpKE/wcIDbdRyNqRrgAAAABJRU5ErkJggg==";
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
"use strict";var u=Object.defineProperty;var i=(t,e)=>u(t,"name",{value:e,configurable:!0});Object.defineProperty(exports,"__esModule",{value:!0}),exports.colSplit=exports.rowSplit=exports.paint=exports.EMPTY=void 0,exports.split=split,exports.overlay=overlay,exports.insetNode=insetNode,exports.textCell=textCell,exports.colorTile=colorTile,exports.mosaicRef=mosaicRef;const template_utils_1=require("@m0saic/template-utils"),dsl_stdlib_1=require("@m0saic/dsl-stdlib");exports.EMPTY={m0:"-",sources:[]};const paint=i(t=>({m0:"F",sources:[t]}),"paint");exports.paint=paint;const SPLIT_BASIS_CAP=120;function split(t,e){const r=e.filter(n=>n.weight>0);if(r.length===0||r.every(n=>n.node.sources.length===0))return exports.EMPTY;if(r.length===1)return r[0].node;const o=r.map(n=>Math.max(1,Math.round(n.weight)));return{m0:String((0,dsl_stdlib_1.weightedSplit)((0,template_utils_1.latticeWeights)(o,{cap:SPLIT_BASIS_CAP}),t,{claimants:r.map(n=>n.node.m0)})),sources:r.flatMap(n=>n.node.sources)}}i(split,"split");const rowSplit=i(t=>split("row",t),"rowSplit");exports.rowSplit=rowSplit;const colSplit=i(t=>split("col",t),"colSplit");exports.colSplit=colSplit;function rootBodyEnd(t){let e=0;for(;e<t.length&&t[e]>="0"&&t[e]<="9";)e++;if(e<t.length&&(t[e]==="("||t[e]==="[")){let r=0;for(;e<t.length;e++){const o=t[e];if(o==="("||o==="[")r++;else if((o===")"||o==="]")&&(r--,r===0))return e+1}return e}return Math.max(1,e)}i(rootBodyEnd,"rootBodyEnd");function nestOverlayM0(t,e){const r=rootBodyEnd(t);if(r<t.length&&t[r]==="{"){const o=t.slice(r+1,t.length-1);return t.slice(0,r)+"{"+nestOverlayM0(o,e)+"}"}return t+"{"+e+"}"}i(nestOverlayM0,"nestOverlayM0");function overlay(t){const e=t.filter(o=>o.sources.length>0||o.m0!=="-");if(e.length===0)return exports.EMPTY;if(e.length===1)return e[0];let r=e[e.length-1].m0;for(let o=e.length-2;o>=0;o--)r=nestOverlayM0(e[o].m0,r);return{m0:r,sources:e.flatMap(o=>o.sources)}}i(overlay,"overlay");function insetNode(t,e,r,o,l,n,s){const c=(0,exports.colSplit)([{weight:l,node:exports.EMPTY},{weight:n-l-r,node:t},{weight:r,node:exports.EMPTY}]);return(0,exports.rowSplit)([{weight:e,node:exports.EMPTY},{weight:s-e-o,node:c},{weight:o,node:exports.EMPTY}])}i(insetNode,"insetNode");function textCell(t,e,r,o="center",l="middle",n){const s={fit:"contain",hAlign:o,vAlign:l};return n&&(s.padding=n),{type:"text",visual:{backgroundColor:"black@0"},layers:[{content:{kind:"literal",text:t||" "},style:{fontSize:e,fontColor:r},placement:s}]}}i(textCell,"textCell");function colorTile(t,e){var r,o,l;const n={};return e?.cornerRadius!=null&&(n.rounding={cornerStyle:(r=e.cornerStyle)!==null&&r!==void 0?r:"rounded",borderRadius:e.cornerRadius}),e?.border&&(n.stroke={position:"inner",width:(o=e.border.width)!==null&&o!==void 0?o:.002,color:e.border.color,alpha:(l=e.border.alpha)!==null&&l!==void 0?l:1}),(0,template_utils_1.makeColorTile)(t,Object.keys(n).length?{effects:n}:void 0)}i(colorTile,"colorTile");function mosaicRef(t,e="contain"){return{type:"mosaic",ref:t,placement:{fit:e}}}i(mosaicRef,"mosaicRef");
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
"use strict";var p=Object.defineProperty;var o=(t,e)=>p(t,"name",{value:e,configurable:!0});Object.defineProperty(exports,"__esModule",{value:!0}),exports.FIT_QUANT_PX=exports.FIT_SLACK=exports.CAPS_EM=exports.DIGIT_EM=exports.PROSE_EM=void 0,exports.fitBudget=fitBudget,exports.textWidthPx=textWidthPx,exports.textEm=textEm,exports.m0GlyphEm=m0GlyphEm,exports.widestM0GlyphEm=widestM0GlyphEm,exports.fitFontPx=fitFontPx,exports.fitFontPxAll=fitFontPxAll,exports.fitLine=fitLine;const template_utils_1=require("@m0saic/template-utils");exports.PROSE_EM=.62,exports.DIGIT_EM=.68,exports.CAPS_EM=.76,exports.FIT_SLACK=.94,exports.FIT_QUANT_PX=2;function fitBudget(t){return Math.max(1,t*exports.FIT_SLACK-exports.FIT_QUANT_PX)}o(fitBudget,"fitBudget");function textWidthPx(t,e,r=exports.PROSE_EM){return(0,template_utils_1.textEmUnits)(t)*e*r}o(textWidthPx,"textWidthPx");function textEm(t,e=exports.PROSE_EM){return(0,template_utils_1.textEmUnits)(t)*e}o(textEm,"textEm");function m0GlyphEm(t){return t===">"?.86:t==="{"||t==="}"?.66:t==="F"?.62:t>="0"&&t<="9"?.66:t===","||t==="-"||t===" "||t==="("||t===")"||t==="["||t==="]"||t==="\xB7"?.42:(0,template_utils_1.textEmUnits)(t)*.72}o(m0GlyphEm,"m0GlyphEm");function widestM0GlyphEm(t){let e=0;for(const r of t)e=Math.max(e,m0GlyphEm(r));return e||.62}o(widestM0GlyphEm,"widestM0GlyphEm");function fitFontPx(t,e,r,i,n=exports.PROSE_EM){const s=Math.max(1,Math.round(r)),x=Math.max(1,Math.min(s,Math.round(i))),u=(0,template_utils_1.textEmUnits)(t||" ");if(u<=0||e<=0)return x;const f=Math.floor(e/(u*n));return Math.max(x,Math.min(s,f))}o(fitFontPx,"fitFontPx");function fitFontPxAll(t,e,r){let i=Math.max(1,Math.round(e));for(const n of t)i=Math.min(i,fitFontPx(n.text,n.availW,e,r,n.em));return Math.max(Math.max(1,Math.round(r)),i)}o(fitFontPxAll,"fitFontPxAll");function fitLine(t,e,r,i,n=exports.PROSE_EM){const s=fitFontPx(t,e,r,i,n);if(textWidthPx(t,s,n)<=e)return{text:t,fontSize:s};const x=Math.max(1,e/(s*n));return{text:(0,template_utils_1.fitEmUnits)(t,x),fontSize:s}}o(fitLine,"fitLine");
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
"use strict";var St=Object.defineProperty;var g=(i,s)=>St(i,"name",{value:s,configurable:!0});Object.defineProperty(exports,"__esModule",{value:!0}),exports.DslTutorial=void 0,exports.chromeUnitPx=chromeUnitPx,exports.dslTutorialLayoutConstraints=dslTutorialLayoutConstraints,exports.dslTutorialCeiling=dslTutorialCeiling;const types_1=require("@m0saic/types"),dsl_1=require("@m0saic/dsl"),dsl_stdlib_1=require("@m0saic/dsl-stdlib"),template_utils_1=require("@m0saic/template-utils"),node_kit_1=require("./_shared/node-kit"),tokens_1=require("./theme/tokens"),buildSteps_1=require("./pipeline/buildSteps"),timing_1=require("./pipeline/timing"),camera_1=require("./pipeline/camera"),inspector_1=require("./pipeline/inspector"),cursor_1=require("./pipeline/cursor"),dslString_1=require("./pipeline/dslString"),text_fit_1=require("./_shared/text-fit"),CHROME_ID="@m0saic/dsl-tutorial/chrome/v1",CANVAS_ID="@m0saic/dsl-tutorial/canvas/v1",INSPECTOR_ID="@m0saic/dsl-tutorial/inspector/v1",STRING_ID="@m0saic/dsl-tutorial/string/v1",propsSchema=(0,template_utils_1.definePropsSchema)({M0String:{type:"m0",required:!0,description:"The m0 layout whose parse + geometry walk is taught (up to 16,000 characters and 6,000 frames \u2014 a layout past either is refused at any output size; open it in Layout instead).",meta:{ui:{label:"m0 layout"}}},speedMultiplier:{type:"number",required:!1,description:"Animation speed (>1 = faster). Unset = auto by pace tier: teach runs the natural length (up to 2\xD7 for bigger lessons), summarize fits the whole walk in ~30 s, sloth in ~20 s. The Speed pill always shows the effective speed.",meta:{constraints:{min:.1,max:32},control:{placeholder:"auto (by tier)"},ui:{label:"Speed"}}},tier:{type:"string",required:!1,description:"Pacing tier. auto = by the layout's character count: teach (\u2264 400 chars \u2014 show everything, read it at 1\xD7), summarize (\u2264 8,000 \u2014 the whole walk in ~30 s, passthrough visuals light, camera on the full layout), sloth (beyond, up to the 16,000-char ceiling \u2014 ~20 s, passthroughs not drawn). Tile labels are size-driven in every tier: the frame number wherever it fits, dims when they fit too. Force one to preview it.",meta:{constraints:{oneOf:["auto","teach","summarize","sloth"]},ui:{label:"Pace tier"}}},preset:{type:"string",required:!1,description:"Theme preset.",meta:{constraints:{oneOf:["light","dark"]},control:{options:[{value:"dark",label:"Dark"},{value:"light",label:"Light"}]},ui:{label:"Preset"}}},title:{type:"string",required:!1,description:"Header title text.",meta:{ui:{label:"Title"},control:{placeholder:"DSL Tutorial"}}},stepEvents:{type:"string",required:!1,description:'Step granularity. "enter+leaf" (default, ~one per node) or "all" (includes exits).',meta:{constraints:{oneOf:["enter+leaf","all"]},ui:{label:"Step granularity"}}},cameraZoom:{type:"number",required:!1,description:"Camera zoom override. Leave empty for AUTO (zoom only when tiles are too small to label). 1 = fit-to-panel; >1 = manual zoom + follow.",meta:{constraints:{min:1,max:4},control:{placeholder:"auto"},ui:{label:"Camera zoom"}}},canvasWidth:{type:"number",required:!1,description:"Target width the layout is PARSED at (default 1920). Sets the canvas aspect so vertical/square layouts preview un-stretched.",meta:{constraints:{min:1,max:16384},control:{placeholder:"1920"},ui:{label:"Canvas width"}}},canvasHeight:{type:"number",required:!1,description:"Target height the layout is PARSED at (default 1080). With canvas width, sets the canvas aspect.",meta:{constraints:{min:1,max:16384},control:{placeholder:"1080"},ui:{label:"Canvas height"}}},showCanvas:{type:"boolean",required:!1,description:"Show the canvas panel.",meta:{ui:{label:"Show canvas"}}},showInspector:{type:"boolean",required:!1,description:"Show the inspector panel.",meta:{ui:{label:"Show inspector"}}},showDslString:{type:"boolean",required:!1,description:"Show the DSL string panel.",meta:{ui:{label:"Show DSL string"}}},showChrome:{type:"boolean",required:!1,description:"Show the IDE chrome.",meta:{ui:{label:"Show chrome"}}},debugLayout:{type:"boolean",required:!1,description:"Debug: check the layout contract (every fitted string must fit its cell under the CLI width model, through the nested panels) and render the contract wireframe instead of the tutorial.",meta:{ui:{label:"Debug layout",collapsedByDefault:!0}}}}),HEADER_FRAC=.09,STRIP_FRAC=.09,NARRATION_FRAC=.06,STATUS_FRAC=.06;function chromeUnitPx(i,s){return Math.min(s,i*.75)}g(chromeUnitPx,"chromeUnitPx");const INSPECTOR_MIN_SLOT_PX=140;function dslTutorialLayoutConstraints(i){const s=g((h,f)=>({label:h,textFits:{charWidthEm:f,padPx:0}}),"fits"),c=[];return i.chrome&&(c.push(s("header-title",text_fit_1.PROSE_EM),s("header-pill",text_fit_1.PROSE_EM),s("status-label",text_fit_1.PROSE_EM)),c.push(s("metric-label",text_fit_1.PROSE_EM),s("metric-value",text_fit_1.DIGIT_EM))),i.dslString&&c.push(s("narration",text_fit_1.PROSE_EM)),i.inspector&&(c.push(s("inspector-title",text_fit_1.CAPS_EM),s("chip",text_fit_1.PROSE_EM),s("field-label",text_fit_1.CAPS_EM)),c.push(s("field-value",text_fit_1.DIGIT_EM),s("section-title",text_fit_1.CAPS_EM))),c}g(dslTutorialLayoutConstraints,"dslTutorialLayoutConstraints");function dslTutorialCeiling(i){const{chars:s,frames:c,feas:h,parse:f,panel:C,output:v}=i;if(s>timing_1.MAX_CHARS)return`dsl-tutorial: this layout is ${s.toLocaleString("en-US")} characters; the tutorial teaches layouts up to ${timing_1.MAX_CHARS.toLocaleString("en-US")} (a layout this size takes the better part of an hour to walk at any output size, and is not what this template is for). Open it in Layout instead.`;if(c>timing_1.MAX_FRAMES)return`dsl-tutorial: this layout has ${c.toLocaleString("en-US")} frames; the tutorial teaches layouts up to ${timing_1.MAX_FRAMES.toLocaleString("en-US")} (past that the tiles cannot be revealed one by one, which is the lesson). Open it in Layout instead.`;const y=`${h.minWidthPx} x ${h.minHeightPx} px`;return h.minWidthPx>f.width||h.minHeightPx>f.height?`dsl-tutorial: this layout needs at least ${y} to parse (its feasibility floor), but it is parsed at ${f.width} x ${f.height} (canvasWidth x canvasHeight).`:C&&(h.minWidthPx>C.width||h.minHeightPx>C.height)?`dsl-tutorial: this layout is too fine for the tutorial canvas - it needs at least ${y} to draw (its feasibility floor), but the canvas panel is ${C.width} x ${C.height} px at a ${v.width} x ${v.height} output. The tutorial teaches layouts that fit its canvas; open a layout this dense in Layout instead.`:null}g(dslTutorialCeiling,"dslTutorialCeiling");function speedLabel(i){return`${(Math.round(i*10)/10).toFixed(1)}x`}g(speedLabel,"speedLabel"),exports.DslTutorial={id:(0,types_1.asTemplateId)("@m0saic/dsl-tutorial/v1"),label:"DSL Tutorial",version:1,description:"Animated, IDE/debugger-style tutorial that walks the m0 DSL parse + geometry step by step \u2014 animated canvas, an inspector showing the live rect (X/Y/W/H/Z) over the hidden engine state (split arity, quantization remainder, passthrough carry), and a live DSL string. Light/dark, speed-controlled.",capabilities:{tier:"core"},tags:["dsl-tutorial","tutorial","wireframe","docs","animated","developers","onboarding"],outputHints:{width:1920,height:1080,fps:30,durationMs:12e3,note:"A hint only: the walk authors its NATURAL length (scales with the layout's step count, ~0.9s per character at 1\xD7; an unset speed auto-paces \u2014 1\xD7 for small layouts, up to 15\xD7 for huge ones). An explicit duration ask (CLI --durationMs, the Make Duration field) is fit exactly \u2014 the walk speeds up/stretches to fill it.",format:{kind:"video",container:"mp4"}},propsSchema,defaultProps:{M0String:"4[4(F,F,F,F),4(>,F,>,F),3(2[F,F],3[F,F,F],2[F,F]),4(F,F,F,F)]",tier:"auto",preset:"light",title:"DSL Tutorial",stepEvents:"enter+leaf",canvasWidth:1920,canvasHeight:1080,showCanvas:!0,showInspector:!0,showDslString:!0,showChrome:!0,debugLayout:!1},async render(i,s){var c,h,f;const C=(0,tokens_1.dslTutorialTheme)(i.preset),v=s.target.width,y=s.target.height,S=Math.max(1,Math.round((c=i.canvasWidth)!==null&&c!==void 0?c:1920)),w=Math.max(1,Math.round((h=i.canvasHeight)!==null&&h!==void 0?h:1080)),k=(0,dsl_1.toPrettyM0String)(String(i.M0String));let P;try{P=(0,dsl_1.computeFeasibility)(String(k))}catch(t){throw new Error(`dsl-tutorial: m0 parse failed - ${t instanceof Error?t.message:String(t)}`)}const H=String(k).length,M=(0,dsl_1.getComplexityMetricsFast)(String(k)),z=dslTutorialCeiling({chars:H,frames:M.frameCount,feas:P,parse:{width:S,height:w},output:{width:v,height:y}});if(z)throw new Error(z);const{m0:st,steps:d}=(0,buildSteps_1.buildSteps)(k,S,w,{stepEvents:i.stepEvents}),D=(0,timing_1.resolveTier)(H,i.tier),at={canvas:`${S}\xD7${w}`,chars:H,frames:M.frameCount,passthroughs:M.passthroughCount,nulls:M.nullCount,groups:M.groupCount,precision:`${M.precision.maxSplitX}\xD7${M.precision.maxSplitY}`,minFeasible:`${P.minWidthPx}\xD7${P.minHeightPx} px`},U=s.target.fps,O=(0,template_utils_1.resolvePinnedDurationMs)(s),n=(0,timing_1.tierTiming)({stepCount:d.length,tier:D,fps:U,speedMultiplier:i.speedMultiplier,pinnedMs:O??void 0}),rt=(0,timing_1.computeTiming)(d.length,1,void 0,U).durationMs,nt=n.durationMs>0?rt/n.durationMs:1,$=(0,node_kit_1.mosaicRef)("canvas"),r={chrome:i.showChrome!==!1,canvas:i.showCanvas!==!1,inspector:i.showInspector!==!1,dslString:i.showDslString!==!1};r.inspector&&r.canvas&&v*.2<INSPECTOR_MIN_SLOT_PX&&(r.inspector=!1);const ot=(0,node_kit_1.mosaicRef)("inspector"),lt=chromeUnitPx(v,y),X=r.chrome?HEADER_FRAC*100:0,j=r.dslString?STRIP_FRAC*100:0,K=r.dslString?NARRATION_FRAC*100:0,Z=r.chrome?STATUS_FRAC*100:0,ct=Math.max(1,y/lt*100-X-j-K-Z),B=g(t=>{const e=[];r.canvas&&e.push({weight:80,node:t}),r.inspector&&e.push({weight:20,node:(0,node_kit_1.paint)(ot)});const a=[];return r.chrome&&a.push({weight:X,node:(0,node_kit_1.paint)((0,node_kit_1.mosaicRef)("chrome-header"))}),r.dslString&&(a.push({weight:j,node:(0,node_kit_1.paint)((0,node_kit_1.mosaicRef)("dsl-string"))}),a.push({weight:K,node:(0,node_kit_1.paint)((0,node_kit_1.mosaicRef)("dsl-narration"))})),e.length>0&&a.push({weight:ct,node:e.length===1?e[0].node:(0,node_kit_1.colSplit)(e)}),r.chrome&&a.push({weight:Z,node:(0,node_kit_1.paint)((0,node_kit_1.mosaicRef)("chrome-status"))}),a.length>0?(0,node_kit_1.rowSplit)(a):(0,node_kit_1.paint)($)},"buildShell"),T=[];r.chrome&&T.push("header"),r.dslString&&(T.push("dslStrip"),T.push("narration")),r.canvas&&T.push("canvas"),r.inspector&&T.push("inspector"),r.chrome&&T.push("status");const _=g(t=>T.indexOf(t),"leafIdx"),G=g(t=>{var e,a;const o=(0,dsl_1.parseM0StringComplete)(t,v,y);if(!o.ok)throw new Error(`dsl-tutorial: shell m0 invalid \u2014 ${(a=(e=o.error)===null||e===void 0?void 0:e.message)!==null&&a!==void 0?a:"unknown"}`);return o.ir.renderFrames.slice().sort((u,l)=>u.logicalIndex-l.logicalIndex)},"parseShell");let A=B((0,node_kit_1.paint)($)),b=G(A.m0);if(r.canvas){const t=b[_("canvas")],e=S/w,a=t.width/t.height,o=e>=a?t.width:t.height*e,u=e>=a?t.width/e:t.height,l=Math.max(0,(t.width-o)/2),x=Math.max(0,(t.height-u)/2);(l>.5||x>.5)&&(A=B((0,node_kit_1.insetNode)((0,node_kit_1.paint)($),x,l,x,l,t.width,t.height)),b=G(A.m0))}const Y=b[_("header")],V=b[_("dslStrip")],J=b[_("narration")],L=b[_("canvas")],Q=b[_("inspector")],tt=b[_("status")];if(r.canvas){const t=dslTutorialCeiling({chars:H,frames:M.frameCount,feas:P,parse:{width:S,height:w},panel:{width:Math.round(L.width),height:Math.round(L.height)},output:{width:v,height:y}});if(t)throw new Error(t)}if(r.canvas){const t=i.cameraZoom!=null?i.cameraZoom:D==="teach"?(0,camera_1.autoCanvasZoom)(d,S,w,L.width,L.height):1,e=t>1?(0,camera_1.buildCanvasCamera)(d,n,S,w,t):void 0;e&&($.effects={camera:e})}const ht=d.filter(t=>t.eventType==="emitLeaf"&&t.leafIndex!=null).sort((t,e)=>t.leafIndex-e.leafIndex).map(t=>{const e=n.stepStartSec(t.index);return{order:t.leafIndex+1,w:t.rect.width,h:t.rect.height,revealAtSec:e,activeStartSec:e,activeEndSec:e+n.stepDurSec}}),R={},et=new Map;for(const t of d)t.eventType==="exit"&&t.stableKey&&et.set(t.stableKey,n.stepStartSec(t.index));const it=d.filter(t=>t.eventType==="emitLeaf").map(t=>({rect:t.rect,sec:n.stepStartSec(t.index)})),dt=g((t,e,a,o)=>{const u=e==="col"?t.x+a*t.width:t.y+a*t.height,l=e==="col"?t.y:t.x,x=l+(e==="col"?t.height:t.width);let E=-1;for(const p of it){const m=p.rect,F=e==="col"?m.x:m.y,I=F+(e==="col"?m.width:m.height),q=e==="col"?m.y:m.x,W=q+(e==="col"?m.height:m.width),N=q>=l-2&&W<=x+2,ft=F<=u+1&&u-1<=I;N&&ft&&p.sec>E&&(E=p.sec)}return E<0?o:Math.min(o,E+n.transitionSec)},"dividerClearSec"),ut=g((t,e,a)=>{const o=e==="col"?t.x+a*t.width:t.y+a*t.height,u=e==="col"?t.y:t.x,l=u+(e==="col"?t.height:t.width),x=[];for(const E of it){const p=E.rect,m=e==="col"?p.x:p.y,F=m+(e==="col"?p.width:p.height),I=e==="col"?p.y:p.x,q=I+(e==="col"?p.height:p.width),W=I>=u-2&&q<=l+2,N=m<=o+1&&o-1<=F;!W||!N||x.push({lo:I,hi:q,sec:E.sec+n.transitionSec,interior:m+1<o&&o<F-1})}return x},"dividerCovers"),pt=d.filter(t=>t.eventType==="enter"&&t.split&&t.splitRegion&&t.split.dividers.length>0).map(t=>{var e;const a=t.splitRegion,o=t.split.axis,u=(e=et.get(t.stableKey))!==null&&e!==void 0?e:n.durationMs/1e3;return{xFrac:a.x/S,yFrac:a.y/w,wFrac:a.width/S,hFrac:a.height/w,axis:o,dividers:t.split.dividers.map(l=>({frac:l,clearSec:dt(a,o,l,u),covers:ut(a,o,l)})),activeStartSec:n.stepStartSec(t.index),clearAtSec:u}}),mt=(0,cursor_1.buildCursorRects)(D==="sloth"?d.filter(t=>t.eventType!=="passthrough"&&t.eventType!=="null"):d,n,S,w);if(r.canvas&&(R.canvas=await(0,template_utils_1.renderNestedTemplate)(CANVAS_ID,{M0String:i.M0String,preset:i.preset,tiles:ht,introSec:.3,splits:D==="sloth"?[]:pt,cursorRects:mt,tier:D},s,{slot:{width:Math.round(L.width),height:Math.round(L.height),durationMs:n.durationMs}})),r.inspector){const t=(0,inspector_1.buildInspectorProjection)(d,n);R.inspector=await(0,template_utils_1.renderNestedTemplate)(INSPECTOR_ID,{preset:i.preset,...t},s,{slot:{width:Math.round(Q.width),height:Math.round(Q.height),durationMs:n.durationMs}})}if(r.dslString){const t=(0,dslString_1.buildDslStringProjection)(d,n,st);R["dsl-string"]=await(0,template_utils_1.renderNestedTemplate)(STRING_ID,{part:"strip",preset:i.preset,glyphs:t.glyphs,caretEnable:t.caretEnable,caretSteps:t.caretSteps},s,{slot:{width:Math.round(V.width),height:Math.round(V.height),durationMs:n.durationMs}}),R["dsl-narration"]=await(0,template_utils_1.renderNestedTemplate)(STRING_ID,{part:"narration",preset:i.preset,narration:t.narration},s,{slot:{width:Math.round(J.width),height:Math.round(J.height),durationMs:n.durationMs}})}r.chrome&&(R["chrome-header"]=await(0,template_utils_1.renderNestedTemplate)(CHROME_ID,{part:"header",preset:i.preset,title:(f=i.title)!==null&&f!==void 0?f:"DSL Tutorial",speedLabel:speedLabel(nt),stepExpr:(0,timing_1.stepNumberExpr)(n),stepTotal:n.stepCount,divider:!r.dslString},s,{slot:{width:Math.round(Y.width),height:Math.round(Y.height),durationMs:n.durationMs}}),R["chrome-status"]=await(0,template_utils_1.renderNestedTemplate)(CHROME_ID,{part:"status",preset:i.preset,statusLabel:"Parsing",metrics:at},s,{slot:{width:Math.round(tt.width),height:Math.round(tt.height),durationMs:n.durationMs}}));const gt={kind:"mosaic_document",version:1,assets:{},m0:(0,dsl_stdlib_1.toM0String)(A.m0,"DslTutorial"),sources:A.sources,backgroundColor:C.canvas,durationMs:n.durationMs,format:{kind:"video",container:"mp4"},audio:{mode:"off"},children:R};return(0,template_utils_1.withLayoutContract)(gt,{...s,target:{...s.target,durationMs:n.durationMs}},{templateId:String(exports.DslTutorial.id),constraints:dslTutorialLayoutConstraints(r),debug:i.debugLayout})}},(0,template_utils_1.registerTemplate)(exports.DslTutorial);
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
"use strict";var n=Object.defineProperty;var e=(r,t)=>n(r,"name",{value:t,configurable:!0});Object.defineProperty(exports,"__esModule",{value:!0}),exports.resolveColor=exports.DSL_TUTORIAL_PRESETS=exports.dslTutorialTheme=exports.buildCursorRects=exports.autoCanvasZoom=exports.focusExpr=exports.buildCanvasCamera=exports.stepNumberExpr=exports.computeTiming=exports.countTokens=exports.buildSteps=exports.classifyGlyphs=exports.buildDslStringProjection=exports.buildInspectorProjection=exports.DslString=exports.DslInspector=exports.DslCanvas=exports.DslChrome=exports.DslTutorial=void 0;var dsl_tutorial_1=require("./dsl-tutorial");Object.defineProperty(exports,"DslTutorial",{enumerable:!0,get:e(function(){return dsl_tutorial_1.DslTutorial},"get")});var dsl_chrome_1=require("./panels/chrome/v1/dsl-chrome");Object.defineProperty(exports,"DslChrome",{enumerable:!0,get:e(function(){return dsl_chrome_1.DslChrome},"get")});var dsl_canvas_1=require("./panels/canvas/v1/dsl-canvas");Object.defineProperty(exports,"DslCanvas",{enumerable:!0,get:e(function(){return dsl_canvas_1.DslCanvas},"get")});var dsl_inspector_1=require("./panels/inspector/v1/dsl-inspector");Object.defineProperty(exports,"DslInspector",{enumerable:!0,get:e(function(){return dsl_inspector_1.DslInspector},"get")});var dsl_string_1=require("./panels/dsl-string/v1/dsl-string");Object.defineProperty(exports,"DslString",{enumerable:!0,get:e(function(){return dsl_string_1.DslString},"get")});var inspector_1=require("./pipeline/inspector");Object.defineProperty(exports,"buildInspectorProjection",{enumerable:!0,get:e(function(){return inspector_1.buildInspectorProjection},"get")});var dslString_1=require("./pipeline/dslString");Object.defineProperty(exports,"buildDslStringProjection",{enumerable:!0,get:e(function(){return dslString_1.buildDslStringProjection},"get")}),Object.defineProperty(exports,"classifyGlyphs",{enumerable:!0,get:e(function(){return dslString_1.classifyGlyphs},"get")});var buildSteps_1=require("./pipeline/buildSteps");Object.defineProperty(exports,"buildSteps",{enumerable:!0,get:e(function(){return buildSteps_1.buildSteps},"get")}),Object.defineProperty(exports,"countTokens",{enumerable:!0,get:e(function(){return buildSteps_1.countTokens},"get")});var timing_1=require("./pipeline/timing");Object.defineProperty(exports,"computeTiming",{enumerable:!0,get:e(function(){return timing_1.computeTiming},"get")}),Object.defineProperty(exports,"stepNumberExpr",{enumerable:!0,get:e(function(){return timing_1.stepNumberExpr},"get")});var camera_1=require("./pipeline/camera");Object.defineProperty(exports,"buildCanvasCamera",{enumerable:!0,get:e(function(){return camera_1.buildCanvasCamera},"get")}),Object.defineProperty(exports,"focusExpr",{enumerable:!0,get:e(function(){return camera_1.focusExpr},"get")}),Object.defineProperty(exports,"autoCanvasZoom",{enumerable:!0,get:e(function(){return camera_1.autoCanvasZoom},"get")});var cursor_1=require("./pipeline/cursor");Object.defineProperty(exports,"buildCursorRects",{enumerable:!0,get:e(function(){return cursor_1.buildCursorRects},"get")});var tokens_1=require("./theme/tokens");Object.defineProperty(exports,"dslTutorialTheme",{enumerable:!0,get:e(function(){return tokens_1.dslTutorialTheme},"get")}),Object.defineProperty(exports,"DSL_TUTORIAL_PRESETS",{enumerable:!0,get:e(function(){return tokens_1.DSL_TUTORIAL_PRESETS},"get")}),Object.defineProperty(exports,"resolveColor",{enumerable:!0,get:e(function(){return tokens_1.resolveColor},"get")});
|
package/node_modules/@m0saic/templates/dist/m0saic/dsl-tutorial/v1/panels/canvas/v1/dsl-canvas.js
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
"use strict";var z=Object.defineProperty;var g=(t,n)=>z(t,"name",{value:n,configurable:!0});Object.defineProperty(exports,"__esModule",{value:!0}),exports.DslCanvas=exports.CURTAIN_BOX_BUDGET=void 0,exports.tileLabelType=tileLabelType;const types_1=require("@m0saic/types"),dsl_1=require("@m0saic/dsl"),dsl_stdlib_1=require("@m0saic/dsl-stdlib"),template_utils_1=require("@m0saic/template-utils"),node_kit_1=require("../../../_shared/node-kit"),text_fit_1=require("../../../_shared/text-fit"),tokens_1=require("../../../theme/tokens"),propsSchema=(0,template_utils_1.definePropsSchema)({M0String:{type:"m0",required:!0,description:"The layout to walk."},preset:{type:"string",required:!1,description:"Theme preset."},tiles:{type:"json",required:!1,description:"Per-leaf timing + true dims (logical order)."},introSec:{type:"number",required:!1,description:"Per-tile fade-in seconds."},showFrame:{type:"boolean",required:!1,description:"Outline the whole canvas Frame."},splits:{type:"json",required:!1,description:"Split steps to visualize as dotted subdivisions."},cursorRects:{type:"json",required:!1,description:"Geometry-cursor positions (one per step)."},tier:{type:"string",required:!1,description:"Pacing tier: teach (everything), summarize (split scaffolding at 35% \u2014 watch it paint), sloth (the parent sends no splits). Tile labels are size-driven in every tier.",meta:{constraints:{oneOf:["teach","summarize","sloth"]},ui:{label:"Pace tier"}}}}),clamp=g((t,n,s)=>Math.max(n,Math.min(s,t)),"clamp"),TILE_RADIUS=.04,MASK_SUBPATH_BUDGET=12e3,LABEL_BUDGET=2e3;exports.CURTAIN_BOX_BUDGET=6e3;const OVERLAP_CELL_BUDGET=24;function tileLabelType(t,n,s,a){const o=(0,text_fit_1.fitBudget)(s*.96),e=Math.round(clamp(Math.min(s,a)*.24,12,84)),l=(0,text_fit_1.fitFontPx)(String(t),o,e,8,text_fit_1.DIGIT_EM),r=Math.max(9,Math.round(l*.4)),c=(0,text_fit_1.fitFontPx)(n,o,r,9,text_fit_1.DIGIT_EM);return{numFont:l,dimFont:(0,text_fit_1.textWidthPx)(n,c,text_fit_1.DIGIT_EM)<=o?c:null}}g(tileLabelType,"tileLabelType");function tileRadiusPx(t,n,s){const a=Math.min(t,n);if(a<=0)return 0;const o=Math.max(0,Math.min(1,s));if(o<=0)return 0;const e=Math.floor(o*(a/2));return Math.max(1,Math.min(e,Math.floor(a/2)))}g(tileRadiusPx,"tileRadiusPx");function roundedRectAt(t,n,s,a,o){const e=Math.max(0,Math.min(o,Math.floor(s/2),Math.floor(a/2))),l=t+s,r=n+a;return e<=0?`M${t} ${n} H${l} V${r} H${t} Z`:[`M${t+e} ${n}`,`H${l-e}`,`A${e} ${e} 0 0 1 ${l} ${n+e}`,`V${r-e}`,`A${e} ${e} 0 0 1 ${l-e} ${r}`,`H${t+e}`,`A${e} ${e} 0 0 1 ${t} ${r-e}`,`V${n+e}`,`A${e} ${e} 0 0 1 ${t+e} ${n}`,"Z"].join(" ")}g(roundedRectAt,"roundedRectAt");function tileBorderFillSource(t,n,s,a){const o=t.map(e=>{const l=Math.round(e.width),r=Math.round(e.height);return l<=0||r<=0?"":roundedRectAt(Math.round(e.x),Math.round(e.y),l,r,tileRadiusPx(l,r,TILE_RADIUS))}).filter(Boolean).join(" ");return(0,template_utils_1.makeColorTile)(n.tileBorder,{mask:{kind:"inline-mask",localPath:o,bounds:{x:0,y:0,width:s,height:a}}})}g(tileBorderFillSource,"tileBorderFillSource");function tileFillSource(t,n,s,a,o){const e=t.map(l=>{const r=Math.round(l.width),c=Math.round(l.height);if(r<=0||c<=0)return"";const u=tileRadiusPx(r,c,TILE_RADIUS),p=o?Math.max(1,Math.floor(.004*Math.min(r,c))):0,h=r-2*p,f=c-2*p;if(h<=0||f<=0)return"";const x=o?Math.max(u-p,0):u;return roundedRectAt(Math.round(l.x)+p,Math.round(l.y)+p,h,f,x)}).filter(Boolean).join(" ");return(0,template_utils_1.makeColorTile)(n.tile,{mask:{kind:"inline-mask",localPath:e,bounds:{x:0,y:0,width:s,height:a}}})}g(tileFillSource,"tileFillSource");function tileAtlasSource(t,n,s){const a=t.flatMap((o,e)=>{var l,r,c;const u=n[e],p=(l=u?.order)!==null&&l!==void 0?l:e+1,h=(r=u?.w)!==null&&r!==void 0?r:Math.round(o.width),f=(c=u?.h)!==null&&c!==void 0?c:Math.round(o.height),x=`${h}\xD7${f}`,{numFont:y,dimFont:b}=tileLabelType(p,x,o.width,o.height);if((0,text_fit_1.textWidthPx)(String(p),y,text_fit_1.DIGIT_EM)>(0,text_fit_1.fitBudget)(o.width*.96)||y*1.12>o.height)return[];const w=y*1.12+(b??0)*1.5,C=o.y+(o.height-w)/2,i=o.x+o.width/2,m={content:{kind:"literal",text:String(p)},style:{fontSize:y,fontColor:s.tileText},placement:{xExpr:`${i.toFixed(1)}-text_w/2`,yExpr:`${C.toFixed(1)}`}};return b==null?[m]:[m,{content:{kind:"literal",text:x},style:{fontSize:b,fontColor:s.tileMuted},placement:{xExpr:`${i.toFixed(1)}-text_w/2`,yExpr:`${(C+y*1.12).toFixed(1)}`}}]});return{type:"text",visual:{backgroundColor:"black@0"},layers:a}}g(tileAtlasSource,"tileAtlasSource");function revealCurtainSource(t,n,s){var a,o;const e=typeof s.surface=="string"?s.surface:"#111726",l=[];for(let r=0;r<t.length;r++){const c=(o=(a=n[r])===null||a===void 0?void 0:a.revealAtSec)!==null&&o!==void 0?o:0;if(!(c>0))continue;const u=t[r],p=Math.round(u.x),h=Math.round(u.y),f=Math.max(1,Math.round(u.width)),x=Math.max(1,Math.round(u.height));l.push(`drawbox=x=${p}:y=${h}:w=${f}:h=${x}:color=${e}:t=fill:replace=1:enable=lt(t\\,${c.toFixed(3)})`)}return l.length===0?null:{type:"lavfi",lavfi:["color=black@0",...l].join(",")}}g(revealCurtainSource,"revealCurtainSource");function anyTilesOverlap(t){for(let n=0;n<t.length;n++){const s=t[n];for(let a=n+1;a<t.length;a++){const o=t[a];if(s.x<o.x+o.width-1&&o.x<s.x+s.width-1&&s.y<o.y+o.height-1&&o.y<s.y+s.height-1)return!0}}return!1}g(anyTilesOverlap,"anyTilesOverlap");function revealCellSource(t,n,s,a,o,e,l){const r=`${n}\xD7${s}`,{numFont:c,dimFont:u}=tileLabelType(t,r,a,o),h=`(h-${`(${c}*1.12+${u??0}*1.5)`})/2`,f={content:{kind:"literal",text:String(t)},style:{fontSize:c,fontColor:e.tileText},placement:{hAlign:"center",vAlign:"top",yExpr:h}};return{type:"text",visual:{backgroundColor:e.tile},effects:{rounding:{cornerStyle:"rounded",borderRadius:TILE_RADIUS},stroke:{position:"inner",width:.004,color:e.tileBorder,alpha:1}},layers:u==null?[f]:[f,{content:{kind:"literal",text:r},style:{fontSize:u,fontColor:e.tileMuted},placement:{hAlign:"center",vAlign:"top",yExpr:`${h}+${c}*1.12`}}],overlay:{startAtSec:l,enable:`gte(t,${l.toFixed(3)})`}}}g(revealCellSource,"revealCellSource");function cursorTrackSource(t,n,s,a){const o=Math.max(2,Math.round(Math.min(t,n)*.005)),e=typeof a.cursor=="string"?a.cursor:"#FF8A3D";return{type:"lavfi",lavfi:["color=black@0",...s.map(r=>{const c=o,u=clamp(Math.round(r.xFrac*t)+c,0,t),p=clamp(Math.round(r.yFrac*n)+c,0,n),h=Math.max(2*o,Math.round(r.wFrac*t)-2*c),f=Math.max(2*o,Math.round(r.hFrac*n)-2*c),x=r.activeStartSec.toFixed(3),y=r.activeEndSec.toFixed(3);return`drawbox=x=${u}:y=${p}:w=${h}:h=${f}:color=${e}:t=${o}:replace=1:enable=between(t\\,${x}\\,${y})`})].join(",")}}g(cursorTrackSource,"cursorTrackSource");function frameOutlineSource(t,n,s){const a=Math.max(2,Math.round(Math.min(t,n)*.004)),o=`M0 0 H${t} V${n} H0 Z`,e=`M${a} ${a} V${n-a} H${t-a} V${a} Z`;return(0,template_utils_1.makeColorTile)(s.frameOutline,{mask:{kind:"inline-mask",localPath:`${o} ${e}`,bounds:{x:0,y:0,width:t,height:n}}})}g(frameOutlineSource,"frameOutlineSource");const DASH_SEGMENT_BUDGET=700;function splitTrackSource(t,n,s,a,o=.9){const e=Math.max(2,Math.round(Math.min(t,n)*.003)),l=typeof a.accent=="string"?a.accent:"#7C5CFF",r=[];for(const i of s){const m=i.xFrac*t,d=i.yFrac*n,M=i.wFrac*t,_=i.hFrac*n,v=i.activeStartSec;if(i.wFrac<.99||i.hFrac<.99){const $=i.clearAtSec;r.push({vertical:!1,fixed:d,from:m,to:m+M,a:v,b:$}),r.push({vertical:!1,fixed:d+_,from:m,to:m+M,a:v,b:$}),r.push({vertical:!0,fixed:m,from:d,to:d+_,a:v,b:$}),r.push({vertical:!0,fixed:m+M,from:d,to:d+_,a:v,b:$})}for(const $ of i.dividers)i.axis==="col"?r.push({vertical:!0,fixed:m+$.frac*M,from:d,to:d+_,a:v,b:$.clearSec,covers:$.covers}):r.push({vertical:!1,fixed:d+$.frac*_,from:m,to:m+M,a:v,b:$.clearSec,covers:$.covers})}const c=Math.max(6,Math.round(Math.min(t,n)*.016)),u=Math.max(4,Math.round(c*.7)),h=r.reduce((i,m)=>i+Math.max(0,m.to-m.from),0)/(c+u),f=h>DASH_SEGMENT_BUDGET?h/DASH_SEGMENT_BUDGET:1,x=(c+u)*f,y=Math.max(2,Math.round(c*f)),b=e/2,w=[],C=g((i,m)=>{if(!i.covers||i.covers.length===0)return i.b;const d=i.covers.filter(v=>v.lo-1<=m&&m<=v.hi+1);if(d.length===0)return i.b;const M=d.filter(v=>v.interior),_=M.length>0?Math.min(...M.map(v=>v.sec)):Math.max(...d.map(v=>v.sec));return Math.min(i.b,_)},"dashClearSec");for(const i of r)if(i.to-i.from>0)for(let d=i.from;d<i.to;d+=x){const M=Math.min(y,i.to-d);if(M<1)break;const _=C(i,d+M/2);if(!(_>i.a))continue;const v=`enable=between(t\\,${i.a.toFixed(3)}\\,${_.toFixed(3)})`,$=Math.round(i.vertical?i.fixed-b:d),D=Math.round(i.vertical?d:i.fixed-b),E=Math.round(i.vertical?e:M),A=Math.round(i.vertical?M:e);w.push(`drawbox=x=${$}:y=${D}:w=${E}:h=${A}:color=${l}@${o}:t=fill:replace=1:${v}`)}return{type:"lavfi",lavfi:["color=black@0",...w].join(",")}}g(splitTrackSource,"splitTrackSource"),exports.DslCanvas={id:(0,types_1.asTemplateId)("@m0saic/dsl-tutorial/canvas/v1"),label:"DSL Tutorial \u2014 Canvas",version:1,description:"Internal: animated geometry-walk canvas (numbered tiles reveal in order + active highlight) for dsl-tutorial.",capabilities:{tier:"core"},tags:["developer","dsl-tutorial","internal","canvas","animated"],internal:!0,outputHints:{width:1280,height:768,fps:30,durationMs:12e3,note:"Animated geometry-walk canvas."},propsSchema,defaultProps:{M0String:"2(2[1,1],2[1,1])",preset:"dark",introSec:.3,showFrame:!0,tier:"teach"},render(t,n){var s,a,o,e,l,r,c,u,p;const h=(0,tokens_1.dslTutorialTheme)(t.preset),f=n.target.width,x=n.target.height,y=t.M0String,b=(0,dsl_1.parseM0StringComplete)(y,f,x);if(!b.ok){const k=((s=b.error)===null||s===void 0?void 0:s.code)==="SPLIT_EXCEEDS_AXIS"?(()=>{const T=(0,dsl_1.computeFeasibility)(y);return` (the layout needs at least ${T.minWidthPx} x ${T.minHeightPx} px; this canvas slot is ${f} x ${x} px)`})():"";throw new Error(`dsl-tutorial/canvas: m0 parse failed - ${(o=(a=b.error)===null||a===void 0?void 0:a.message)!==null&&o!==void 0?o:"unknown"}${k}`)}const w=b.ir.renderFrames.slice().sort((k,T)=>k.logicalIndex-T.logicalIndex),C=(e=t.tiles)!==null&&e!==void 0?e:[],i=C.length===w.length,m=i?C:[],d=w.length,M=d>0&&2*d<=MASK_SUBPATH_BUDGET,_=d>0&&d<=MASK_SUBPATH_BUDGET,v=(l=t.tier)!==null&&l!==void 0?l:"teach",$=_&&d<=LABEL_BUDGET,D=t.showFrame!==!1,E=(r=t.splits)!==null&&r!==void 0?r:[],A=(c=t.cursorRects)!==null&&c!==void 0?c:[],L=anyTilesOverlap(w),S=[];if(L&&d<=OVERLAP_CELL_BUDGET){const k=w.map((T,G)=>{var P,B,I;const F=C[G],R=(P=F?.order)!==null&&P!==void 0?P:G+1,j=(B=F?.w)!==null&&B!==void 0?B:Math.round(T.width),U=(I=F?.h)!==null&&I!==void 0?I:Math.round(T.height),O=i?F.revealAtSec:0;return revealCellSource(R,j,U,T.width,T.height,h,O)});S.push({m0:y,sources:k})}else{if(M&&S.push({m0:"1",sources:[tileBorderFillSource(w,h,f,x)]}),_?S.push({m0:"1",sources:[tileFillSource(w,h,f,x,M)]}):d>0&&S.push({m0:"1",sources:[(0,template_utils_1.makeColorTile)(h.tile)]}),$){const k=tileAtlasSource(w,m,h);((p=(u=k.layers)===null||u===void 0?void 0:u.length)!==null&&p!==void 0?p:0)>0&&S.push({m0:"1",sources:[k]})}if(i&&d<=exports.CURTAIN_BOX_BUDGET){const k=revealCurtainSource(w,m,h);k&&S.push({m0:"1",sources:[k]})}}E.length>0&&S.push({m0:"1",sources:[splitTrackSource(f,x,E,h,v==="summarize"?.35:.9)]}),A.length>0&&S.push({m0:"1",sources:[cursorTrackSource(f,x,A,h)]}),D&&S.push({m0:"1",sources:[frameOutlineSource(f,x,h)]}),S.length===0&&S.push({m0:"1",sources:[(0,template_utils_1.makeColorTile)(h.surface)]});const q=(0,node_kit_1.overlay)(S);return Promise.resolve({kind:"mosaic_document",version:1,assets:{},m0:(0,dsl_stdlib_1.toM0String)(q.m0,"DslCanvas"),sources:q.sources,backgroundColor:h.surface})}},(0,template_utils_1.registerTemplate)(exports.DslCanvas);
|
package/node_modules/@m0saic/templates/dist/m0saic/dsl-tutorial/v1/panels/chrome/v1/dsl-chrome.js
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
"use strict";var O=Object.defineProperty;var o=(e,t)=>O(e,"name",{value:t,configurable:!0});Object.defineProperty(exports,"__esModule",{value:!0}),exports.DslChrome=void 0,exports.stepPillModelText=stepPillModelText,exports.speedPillText=speedPillText,exports.fitHeaderPills=fitHeaderPills,exports.fitStatusMetrics=fitStatusMetrics;const types_1=require("@m0saic/types"),dsl_stdlib_1=require("@m0saic/dsl-stdlib"),template_utils_1=require("@m0saic/template-utils"),node_kit_1=require("../../../_shared/node-kit"),brand_glyphs_1=require("../../../_shared/brand-glyphs"),tokens_1=require("../../../theme/tokens"),text_fit_1=require("../../../_shared/text-fit"),BRAND_ORANGE="#EF7525";function glyphLogo(e,t){return(0,node_kit_1.paint)((0,template_utils_1.makeColorTile)(t,{mask:{kind:"inline-mask",localPath:e.path,bounds:e.bounds}}))}o(glyphLogo,"glyphLogo");function squareCell(e,t,i){if(t>=i){const s=Math.max(0,(t-i)/2);return(0,node_kit_1.colSplit)([{weight:s,node:node_kit_1.EMPTY},{weight:i,node:e},{weight:s,node:node_kit_1.EMPTY}])}const n=Math.max(0,(i-t)/2);return(0,node_kit_1.rowSplit)([{weight:n,node:node_kit_1.EMPTY},{weight:t,node:e},{weight:n,node:node_kit_1.EMPTY}])}o(squareCell,"squareCell");const propsSchema=(0,template_utils_1.definePropsSchema)({part:{type:"string",required:!1,description:'Which chrome bar to render: "header" or "status".',meta:{constraints:{oneOf:["header","status"]}}},preset:{type:"string",required:!1,description:"Theme preset (light/dark)."},title:{type:"string",required:!1,description:"Header title text."},speedLabel:{type:"string",required:!1,description:"Speed pill text (e.g. 1.25x)."},stepExpr:{type:"string",required:!1,description:"Drawtext expr for the live step number (bare \u2014 the pill adds its own `Step \u2026 / N` wording). Unset = a static `Step 1 / N`.",meta:{control:{placeholder:"static (the parent injects the live counter)"}}},stepTotal:{type:"number",required:!1,description:"Total step count."},statusLabel:{type:"string",required:!1,description:"Status label (e.g. Parsing)."},metrics:{type:"json",required:!1,description:"DSL metrics for the status info bar."},divider:{type:"boolean",required:!1,description:"Hairline divider under the header (when the DSL strip below is hidden)."}});function exprTextCell(e,t,i){return{type:"text",renderMode:{kind:"video"},visual:{backgroundColor:"black@0"},layers:[{content:{kind:"expr",expr:e,eval:"frame"},style:{fontSize:t,fontColor:i},placement:{hAlign:"center",vAlign:"middle"}}]}}o(exprTextCell,"exprTextCell");function pill(e,t,i=.3){return(0,node_kit_1.overlay)([(0,node_kit_1.paint)((0,node_kit_1.colorTile)(t.surfaceRaised,{cornerRadius:i,cornerStyle:"rounded",border:{color:t.border,width:.004,alpha:t.borderAlpha}})),e])}o(pill,"pill");function hpad(e,t,i,n){return(0,node_kit_1.colSplit)([{weight:t,node:node_kit_1.EMPTY},{weight:i,node:e},{weight:n,node:node_kit_1.EMPTY}])}o(hpad,"hpad");function fixedText(e,t,i){return{type:"text",visual:{backgroundColor:"black@0"},layers:[{content:{kind:"literal",text:e||" "},style:{fontSize:t,fontColor:i},placement:{hAlign:"left",vAlign:"middle"}}]}}o(fixedText,"fixedText");function vDivider(e){return(0,node_kit_1.rowSplit)([{weight:3,node:node_kit_1.EMPTY},{weight:8,node:(0,node_kit_1.paint)((0,node_kit_1.colorTile)(e.border))},{weight:3,node:node_kit_1.EMPTY}])}o(vDivider,"vDivider");function metricCell(e,t,i,n){return(0,node_kit_1.colSplit)([{weight:metricLabelWeight(e),node:(0,node_kit_1.paint)((0,template_utils_1.tag)(fixedText(e,n,i.muted),"metric-label"))},{weight:1,node:node_kit_1.EMPTY},{weight:metricValueWeight(t),node:(0,node_kit_1.paint)((0,template_utils_1.tag)(fixedText(t,n,i.title),"metric-value"))},{weight:3,node:node_kit_1.EMPTY}])}o(metricCell,"metricCell");const metricLabelWeight=o(e=>Math.max(3,e.length),"metricLabelWeight"),metricValueWeight=o(e=>Math.max(2,e.length),"metricValueWeight"),metricTotalWeight=o((e,t)=>metricLabelWeight(e)+1+metricValueWeight(t)+3,"metricTotalWeight"),HEADER_COLS={lead:3,logo:6,gap1:4,title:26,spacer:33,speed:14,gap2:2,step:22,trail:3},HEADER_TOTAL=Object.values(HEADER_COLS).reduce((e,t)=>e+t,0),PILL_INNER_FRAC=.8,TITLE_MIN_PX=11,TITLE_MIN_OF_DESIGN=.7,PILL_MIN_PX=9,METRIC_MIN_PX=9,STEP_PREFIX="Step ",STEP_PREFIX_COMPACT="",stepSuffix=o(e=>` / ${Math.max(1,Math.round(e))}`,"stepSuffix");function stepPillModelText(e,t=!1){const i=String(Math.max(1,Math.round(e)));return`${t?STEP_PREFIX_COMPACT:STEP_PREFIX}${i} / ${i}`}o(stepPillModelText,"stepPillModelText");function speedPillText(e,t=!1){return t?e:`Speed ${e}`}o(speedPillText,"speedPillText");function fitHeaderPills(e,t,i,n){const s=(0,text_fit_1.fitBudget)(HEADER_COLS.speed/HEADER_TOTAL*i*PILL_INNER_FRAC),c=(0,text_fit_1.fitBudget)(HEADER_COLS.step/HEADER_TOTAL*i*PILL_INNER_FRAC);for(const a of[!1,!0]){const u=[{text:speedPillText(e,a),availW:s,em:text_fit_1.PROSE_EM},{text:stepPillModelText(t,a),availW:c,em:text_fit_1.DIGIT_EM}],p=(0,text_fit_1.fitFontPxAll)(u,n,PILL_MIN_PX);if(u.every(l=>(0,text_fit_1.textWidthPx)(l.text,p,l.em)<=l.availW))return{font:p,compact:a}}return{font:PILL_MIN_PX,compact:!0}}o(fitHeaderPills,"fitHeaderPills");function fitStatusMetrics(e,t,i){let n=e.slice();for(;n.length>0;){const s=statusBasis(n.length),c=STATUS_METRIC_W/s*t,a=n.flatMap(l=>{const h=metricTotalWeight(l.label,l.value);return[{text:l.label,availW:(0,text_fit_1.fitBudget)(metricLabelWeight(l.label)/h*c),em:text_fit_1.PROSE_EM},{text:l.value,availW:(0,text_fit_1.fitBudget)(metricValueWeight(l.value)/h*c),em:text_fit_1.DIGIT_EM}]}),u=(0,text_fit_1.fitFontPxAll)(a,i,METRIC_MIN_PX);if(a.every(l=>(0,text_fit_1.textWidthPx)(l.text,u,l.em)<=l.availW))return{items:n,font:u,metricW:c};n=n.slice(0,-1)}return{items:[],font:Math.max(METRIC_MIN_PX,Math.round(i)),metricW:0}}o(fitStatusMetrics,"fitStatusMetrics");const STATUS_METRIC_W=13,STATUS_LOGO_W=3,STATUS_PARSE_W=7,statusBasis=o(e=>1+STATUS_LOGO_W+2+STATUS_PARSE_W+1+1+e*STATUS_METRIC_W+1,"statusBasis");function bar(e){return(0,node_kit_1.rowSplit)([{weight:2,node:node_kit_1.EMPTY},{weight:11,node:e},{weight:2,node:node_kit_1.EMPTY}])}o(bar,"bar"),exports.DslChrome={id:(0,types_1.asTemplateId)("@m0saic/dsl-tutorial/chrome/v1"),label:"DSL Tutorial \u2014 Chrome",version:1,description:"Internal: IDE header / status bar chrome for the dsl-tutorial template.",capabilities:{tier:"core"},tags:["developer","dsl-tutorial","internal","chrome"],internal:!0,outputHints:{width:1600,height:90,fps:30,durationMs:1e3,note:"IDE chrome bar (header or status) for dsl-tutorial."},propsSchema,defaultProps:{part:"header",preset:"dark",title:"DSL Tutorial",speedLabel:"1.0x",stepTotal:1,statusLabel:"Parsing",divider:!1},render(e,t){var i,n,s,c,a,u,p,l,h,E,S,w,L,C,I;const r=(0,tokens_1.dslTutorialTheme)(e.preset),g=t.target.width,y=t.target.height,A=(i=e.part)!==null&&i!==void 0?i:"header",D=Math.max(12,Math.round(y*.3)),Y=Math.max(10,Math.round(y*.24)),W=11/15*y;let f;if(A==="header"){const d=HEADER_COLS.title/HEADER_TOTAL*g,k=Math.max(TITLE_MIN_PX,Math.round(D*TITLE_MIN_OF_DESIGN)),x=(0,text_fit_1.fitLine)((n=e.title)!==null&&n!==void 0?n:"DSL Tutorial",(0,text_fit_1.fitBudget)(d),D,k,text_fit_1.PROSE_EM),_=(0,node_kit_1.paint)((0,template_utils_1.bindProp)((0,template_utils_1.tag)((0,node_kit_1.textCell)(x.text,x.fontSize,r.title,"left","middle"),"header-title"),"title")),m=(s=e.stepTotal)!==null&&s!==void 0?s:1,{font:M,compact:v}=fitHeaderPills((c=e.speedLabel)!==null&&c!==void 0?c:"1x",m,g,Y),b=speedPillText((a=e.speedLabel)!==null&&a!==void 0?a:"1x",v),T=v?STEP_PREFIX_COMPACT:STEP_PREFIX,P=pill(hpad((0,node_kit_1.paint)((0,template_utils_1.bindProp)((0,template_utils_1.tag)((0,node_kit_1.textCell)(b,M,r.label,"center","middle"),"header-pill"),"speedLabel")),1,8,1),r),q=e.stepExpr?(0,node_kit_1.paint)(exprTextCell(`${T}${e.stepExpr}${stepSuffix(m)}`,M,r.title)):(0,node_kit_1.paint)((0,template_utils_1.tag)((0,node_kit_1.textCell)(`${T}1 / ${m}`,M,r.title,"center","middle"),"header-pill")),R=pill(hpad(q,1,8,1),r),N=HEADER_COLS.logo/HEADER_TOTAL*g;f=bar((0,node_kit_1.colSplit)([{weight:HEADER_COLS.lead,node:node_kit_1.EMPTY},{weight:HEADER_COLS.logo,node:squareCell(glyphLogo(brand_glyphs_1.HEADER_M_GLYPH,BRAND_ORANGE),N,W)},{weight:HEADER_COLS.gap1,node:node_kit_1.EMPTY},{weight:HEADER_COLS.title,node:_},{weight:HEADER_COLS.spacer,node:node_kit_1.EMPTY},{weight:HEADER_COLS.speed,node:P},{weight:HEADER_COLS.gap2,node:node_kit_1.EMPTY},{weight:HEADER_COLS.step,node:R},{weight:HEADER_COLS.trail,node:node_kit_1.EMPTY}])),e.divider&&(f=(0,node_kit_1.rowSplit)([{weight:100,node:f},{weight:3,node:(0,node_kit_1.paint)((0,node_kit_1.colorTile)(r.border))}]))}else{const d=(u=e.metrics)!==null&&u!==void 0?u:{},k=[{label:"canvas",value:(p=d.canvas)!==null&&p!==void 0?p:"\u2014"},{label:"chars",value:String((l=d.chars)!==null&&l!==void 0?l:0)},{label:"frames",value:String((h=d.frames)!==null&&h!==void 0?h:0)},{label:"passthroughs",value:String((E=d.passthroughs)!==null&&E!==void 0?E:0)},{label:"nulls",value:String((S=d.nulls)!==null&&S!==void 0?S:0)},{label:"groups",value:String((w=d.groups)!==null&&w!==void 0?w:0)},{label:"precision",value:(L=d.precision)!==null&&L!==void 0?L:"\u2014"},{label:"min feasible",value:(C=d.minFeasible)!==null&&C!==void 0?C:"\u2014"}],x=Math.max(METRIC_MIN_PX,Math.round(Y*.82)),_=fitStatusMetrics(k,g,x),m=statusBasis(_.items.length),M=STATUS_LOGO_W/m*g,v=STATUS_PARSE_W/m*g,b=(0,text_fit_1.fitLine)((I=e.statusLabel)!==null&&I!==void 0?I:"Parsing",(0,text_fit_1.fitBudget)(v),Y,METRIC_MIN_PX,text_fit_1.PROSE_EM),T=[{weight:1,node:node_kit_1.EMPTY},{weight:STATUS_LOGO_W,node:squareCell(glyphLogo(brand_glyphs_1.STATUS_M0_GLYPH,BRAND_ORANGE),M,W)},{weight:2,node:node_kit_1.EMPTY},{weight:STATUS_PARSE_W,node:(0,node_kit_1.paint)((0,template_utils_1.tag)((0,node_kit_1.textCell)(b.text,b.fontSize,r.label,"left","middle"),"status-label"))},{weight:1,node:vDivider(r)},{weight:1,node:node_kit_1.EMPTY}];for(const P of _.items)T.push({weight:STATUS_METRIC_W,node:metricCell(P.label,P.value,r,_.font)});T.push({weight:1,node:node_kit_1.EMPTY}),f=bar((0,node_kit_1.colSplit)(T))}return Promise.resolve({kind:"mosaic_document",version:1,assets:{},m0:(0,dsl_stdlib_1.toM0String)(f.m0,"DslChrome"),sources:f.sources,backgroundColor:A==="header"?r.canvas:r.surface})}},(0,template_utils_1.registerTemplate)(exports.DslChrome);
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
"use strict";var E=Object.defineProperty;var u=(t,e)=>E(t,"name",{value:e,configurable:!0});Object.defineProperty(exports,"__esModule",{value:!0}),exports.DslString=void 0,exports.fitNarrationLines=fitNarrationLines;const types_1=require("@m0saic/types"),dsl_stdlib_1=require("@m0saic/dsl-stdlib"),template_utils_1=require("@m0saic/template-utils"),node_kit_1=require("../../../_shared/node-kit"),tokens_1=require("../../../theme/tokens"),text_fit_1=require("../../../_shared/text-fit"),propsSchema=(0,template_utils_1.definePropsSchema)({part:{type:"string",required:!1,description:'Which part to render: "strip" (glyph strip + caret + ruler) or "narration".',meta:{constraints:{oneOf:["strip","narration"]}}},preset:{type:"string",required:!1,description:"Theme preset."},glyphs:{type:"json",required:!1,description:"Classified m0 glyphs."},caretEnable:{type:"json",required:!1,description:"Per-glyph caret enable exprs."},caretSteps:{type:"json",required:!1,description:"Raw per-step caret timeline (scroll math)."},narration:{type:"json",required:!1,description:"Enable-gated narration lines."}}),TARGET_CHAR_PX=18,GLYPH_FILL=.96,NARRATION_MIN_PX=10,NARRATION_TEXT_FRAC=.94;function glyphColumnFont(t,e){return e*GLYPH_FILL/(0,text_fit_1.widestM0GlyphEm)(t)}u(glyphColumnFont,"glyphColumnFont");function rulerFontBound(t,e){let o=.42;for(const a of t){let r=0;for(const s of a)r+=(0,text_fit_1.m0GlyphEm)(s);o=Math.max(o,r)}return e*GLYPH_FILL/o}u(rulerFontBound,"rulerFontBound");const RULER_BAND=3,GAP_BAND=1,GLYPH_BAND=19,CARET_BAND=1,BAND_TOTAL=RULER_BAND+GAP_BAND+GLYPH_BAND+CARET_BAND,f3=u(t=>t.toFixed(3),"f3"),clamp=u((t,e,o)=>Math.max(e,Math.min(o,t)),"clamp");function glyphStripSource(t,e){const o=(e*.32).toFixed(1);return{type:"text",visual:{backgroundColor:"black@0"},layers:t.map(a=>({content:{kind:"literal",text:a.text.trim()===""?" ":a.text},style:{fontSize:e,fontColor:a.color},placement:{xExpr:`${a.cx.toFixed(1)}-text_w/2`,yExpr:a.text===","?`(h-text_h)/2+${o}`:"(h-text_h)/2"}}))}}u(glyphStripSource,"glyphStripSource");function caretTrackSource(t,e,o,a){const r=typeof e=="string"?e:"#7C5CFF",s=o.toFixed(2),n=[];for(let i=0;i<t.length;i++){const h=t[i];if(!h)continue;const c=a(i);n.push(`drawbox=x=${Math.round(c.x)}:y=${Math.round(c.y)}:w=${Math.max(1,Math.round(c.w))}:h=${Math.max(1,Math.round(c.h))}:color=${r}@${s}:t=fill:replace=1:enable=${h.replace(/,/g,"\\,")}`)}return n.length===0?null:{type:"lavfi",lavfi:["color=black@0",...n].join(",")}}u(caretTrackSource,"caretTrackSource");function buildStrip(t,e,o,a,r,s){const n=Math.max(8,Math.floor(r/TARGET_CHAR_PX));return t.length<=n?buildFixedStrip(t,e,a,r,s):buildPagedStrip(t,e,o,a,r,s,n)}u(buildStrip,"buildStrip");function buildFixedStrip(t,e,o,a,r){const s=Math.max(1,t.length),n=a/s,i=o.syntax,h=u(m=>(m+.5)*n,"cx"),c=GLYPH_BAND/BAND_TOTAL*r,y=CARET_BAND/BAND_TOTAL*r,w=t.map(m=>m.ch),d=clamp(Math.min(glyphColumnFont(w,n),c*.9),9,220),p=t.map((m,l)=>l%5===0?String(l):"\xB7"),g=clamp(Math.min(n*.5,rulerFontBound(p,n),r*.11),7,60),f=(0,node_kit_1.paint)(glyphStripSource(p.map((m,l)=>({text:m,color:o.muted,cx:h(l)})),g)),M=(0,node_kit_1.paint)(glyphStripSource(t.map((m,l)=>({text:m.ch,color:i[m.type],cx:h(l)})),d)),_=caretTrackSource(e,o.accent,.2,m=>({x:m*n,y:0,w:n,h:c})),b=_?(0,node_kit_1.overlay)([(0,node_kit_1.paint)(_),M]):M,S=caretTrackSource(e,o.accent,1,m=>{const l=n*.6,x=Math.max(2,y*.4);return{x:m*n+(n-l)/2,y:(y-x)/2,w:l,h:x}}),v=S?(0,node_kit_1.paint)(S):node_kit_1.EMPTY;return(0,node_kit_1.rowSplit)([{weight:RULER_BAND,node:f},{weight:GAP_BAND,node:node_kit_1.EMPTY},{weight:GLYPH_BAND,node:b},{weight:CARET_BAND,node:v}])}u(buildFixedStrip,"buildFixedStrip");function gateNode(t,e){var o,a;for(const r of t.sources){const s=(o=(a=r).overlay)!==null&&o!==void 0?o:a.overlay={};s.enable=s.enable?`(${s.enable})*(${e})`:e}return t}u(gateNode,"gateNode");function buildPageStrip(t,e,o,a,r,s,n){const i=s/a,h=r.syntax,c=u(l=>(l+.5)*i,"cx"),y=t.map(l=>l.ch),w=clamp(Math.min(i*.82,glyphColumnFont(y,i),n*.34),9,220),d=t.map((l,x)=>(o+x)%5===0?String(o+x):"\xB7"),p=clamp(Math.min(i*.5,rulerFontBound(d,i),n*.12),7,60),g=13/24*n,f=3/24*n,M=(0,node_kit_1.paint)(glyphStripSource(d.map((l,x)=>({text:l,color:r.muted,cx:c(x)})),p)),_=(0,node_kit_1.paint)(glyphStripSource(t.map((l,x)=>({text:l.ch,color:h[l.type],cx:c(x)})),w)),b=caretTrackSource(e,r.accent,.2,l=>({x:l*i,y:0,w:i,h:g})),S=b?(0,node_kit_1.overlay)([(0,node_kit_1.paint)(b),_]):_,v=caretTrackSource(e,r.accent,1,l=>{const x=i*.6,P=Math.max(2,f*.4);return{x:l*i+(i-x)/2,y:(f-P)/2,w:x,h:P}}),m=v?(0,node_kit_1.paint)(v):node_kit_1.EMPTY;return(0,node_kit_1.rowSplit)([{weight:4,node:M},{weight:1,node:node_kit_1.EMPTY},{weight:13,node:S},{weight:3,node:m},{weight:3,node:node_kit_1.EMPTY}])}u(buildPageStrip,"buildPageStrip");function buildPagedStrip(t,e,o,a,r,s,n){const i=t.length,h=Math.ceil(i/n),c=Array.from({length:h},()=>[]);for(const d of o){const p=Math.floor(d.charIndex/n);if(p<0||p>=h)continue;const g=c[p],f=g[g.length-1];f&&Math.abs(f.b-d.startSec)<1e-6?f.b=d.endSec:g.push({a:d.startSec,b:d.endSec})}c[0].length>0&&(c[0][0].a=0);const y=c.map(d=>d.length?d.map(p=>`(gte(t,${f3(p.a)})*lt(t,${f3(p.b)}))`).join("+"):"0"),w=Array.from({length:h},(d,p)=>{const g=p*n,f=Math.min(i,g+n),M=buildPageStrip(t.slice(g,f),e.slice(g,f),g,n,a,r,s);return gateNode(M,y[p])});return(0,node_kit_1.overlay)(w)}u(buildPagedStrip,"buildPagedStrip");function fitNarrationLines(t,e,o){const a=clamp(Math.round(o*.34),12,60),r=(0,text_fit_1.fitBudget)(e*NARRATION_TEXT_FRAC);let s=a;for(const i of t)s=Math.min(s,(0,text_fit_1.fitFontPx)(i,r,a,NARRATION_MIN_PX,text_fit_1.PROSE_EM));return{texts:t.map(i=>(0,text_fit_1.textWidthPx)(i,s,text_fit_1.PROSE_EM)<=r?i:(0,text_fit_1.fitLine)(i,r,s,s,text_fit_1.PROSE_EM).text),fontSize:s}}u(fitNarrationLines,"fitNarrationLines");function buildNarration(t,e,o,a){const r=t??[],s=fitNarrationLines(r.map(h=>h.label||" "),o,a),n=r.length?(0,node_kit_1.paint)((0,template_utils_1.tag)({type:"text",renderMode:{kind:"video"},visual:{backgroundColor:"black@0"},layers:r.map((h,c)=>({content:{kind:"literal",text:s.texts[c]},style:{fontSize:s.fontSize,fontColor:e.label},placement:{fit:"contain",hAlign:"left",vAlign:"middle"},overlay:{enable:h.enableExpr}}))},"narration")):node_kit_1.EMPTY,i=(0,node_kit_1.colSplit)([{weight:3,node:node_kit_1.EMPTY},{weight:94,node:n},{weight:3,node:node_kit_1.EMPTY}]);return(0,node_kit_1.rowSplit)([{weight:5,node:i},{weight:1,node:node_kit_1.EMPTY}])}u(buildNarration,"buildNarration"),exports.DslString={id:(0,types_1.asTemplateId)("@m0saic/dsl-tutorial/string/v1"),label:"DSL Tutorial \u2014 String",version:1,description:"Internal: live syntax-highlighted m0 string with a stepping caret + ruler, or the narration banner, for dsl-tutorial.",capabilities:{tier:"core"},tags:["developer","dsl-tutorial","internal","string"],internal:!0,outputHints:{width:1280,height:150,fps:30,durationMs:12e3,note:"Live DSL string strip / narration banner."},propsSchema,defaultProps:{part:"strip",preset:"dark"},render(t,e){var o,a,r,s,n,i,h;const c=(0,tokens_1.dslTutorialTheme)(t.preset),y=e.target.width,w=e.target.height,d=(o=t.part)!==null&&o!==void 0?o:"strip";if(!(d==="narration"?((a=t.narration)!==null&&a!==void 0?a:[]).length>0:((r=t.glyphs)!==null&&r!==void 0?r:[]).length>0))return Promise.resolve((0,template_utils_1.makeErrorMosaic)(`${d==="narration"?"narration[]":"glyphs[]"} is required \u2014 injected by the dsl-tutorial parent template`,{title:`${this.id} props`,width:Math.max(1,Math.round(y)),height:Math.max(1,Math.round(w))}));const g=d==="narration"?buildNarration((s=t.narration)!==null&&s!==void 0?s:[],c,y,w):buildStrip((n=t.glyphs)!==null&&n!==void 0?n:[],(i=t.caretEnable)!==null&&i!==void 0?i:[],(h=t.caretSteps)!==null&&h!==void 0?h:[],c,y,w);return Promise.resolve({kind:"mosaic_document",version:1,assets:{},m0:(0,dsl_stdlib_1.toM0String)(g.m0,"DslString"),sources:g.sources,backgroundColor:c.surface})}},(0,template_utils_1.registerTemplate)(exports.DslString);
|