m0saic 0.3.0 → 0.3.1
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/dist/browseE2e.js +1 -1
- package/dist/connectionsFromEnv.js +1 -1
- package/dist/e2eTemplateVariants.js +1 -1
- package/dist/frontDoor.js +1 -1
- package/dist/index.js +1 -1
- package/dist/inlineDsl.js +1 -1
- package/dist/mcp/bridgeClient.js +1 -1
- package/dist/mcp/server.js +1 -1
- package/dist/mcp/tools.js +1 -1
- package/dist/mosaicxRunner.js +1 -1
- package/dist/outputPattern.js +1 -1
- package/dist/showcaseFeed.js +1 -1
- package/dist/templateDoctor.js +1 -1
- package/dist/utils/checkFeasibility.js +1 -1
- package/dist/utils/collectRenderErrors.js +1 -1
- package/dist/utils/enrichImageAlphaFromDoc.js +1 -1
- package/dist/utils/ensureFfmpeg.js +1 -1
- package/dist/utils/extractLayoutMeta.js +1 -1
- package/dist/utils/failureHints.js +1 -1
- package/dist/utils/ffmpegProbe.js +1 -1
- package/dist/utils/formatM0saicForCli.js +1 -1
- package/dist/utils/hashFile.js +1 -1
- package/dist/utils/helpGroups.js +1 -1
- package/dist/utils/installContext.js +1 -1
- package/dist/utils/invocation.js +1 -1
- package/dist/utils/licenseActivation.js +1 -1
- package/dist/utils/licenseActivationWorker.js +1 -1
- package/dist/utils/mosaicSpinner.js +1 -1
- package/dist/utils/parseDimensions.js +1 -1
- package/dist/utils/pathInfo.js +1 -1
- package/dist/utils/readJsonArg.js +1 -1
- package/dist/utils/renderOutcome.js +1 -1
- package/dist/utils/renderReport.js +1 -1
- package/dist/utils/renderSignals.js +1 -1
- package/dist/utils/renderWorkspace.js +1 -1
- package/dist/utils/reportOutputFormat.js +1 -1
- package/dist/utils/setupFfmpeg.js +1 -1
- package/dist/utils/telemetry.js +1 -1
- package/dist/utils/telemetryFlushWorker.js +1 -1
- package/dist/utils/telemetryUpstream.js +1 -1
- package/dist/utils/telemetryUsage.js +1 -1
- package/dist/utils/toolchainConfig.js +1 -1
- package/dist/utils/tutorialDuration.js +1 -1
- package/dist/utils/updateCheck.js +1 -1
- package/dist/utils/updateCheckWorker.js +1 -1
- package/dist/utils/validateSourceCounts.js +1 -1
- package/dist/utils/versions.js +1 -1
- package/dist/webCustomizeLink.js +1 -1
- package/node_modules/@m0saic/community-m/release.json +2 -2
- package/node_modules/@m0saic/core/dist/core/buildChildMosaicSource.js +1 -1
- package/node_modules/@m0saic/core/dist/core/buildChunkCommands.js +1 -1
- package/node_modules/@m0saic/core/dist/core/buildEncodeCommands.js +1 -1
- package/node_modules/@m0saic/core/dist/core/buildLavfiSource.js +1 -1
- package/node_modules/@m0saic/core/dist/core/buildMediaSource.js +1 -1
- package/node_modules/@m0saic/core/dist/core/buildMosaicNode.js +1 -1
- package/node_modules/@m0saic/core/dist/core/buildMosaicPlanFromFile.js +1 -1
- package/node_modules/@m0saic/core/dist/core/buildSvgTextSource.js +1 -1
- package/node_modules/@m0saic/core/dist/core/buildTextRenderCommand.js +1 -1
- package/node_modules/@m0saic/core/dist/core/collectRefTargets.js +1 -1
- package/node_modules/@m0saic/core/dist/core/index.js +1 -1
- package/node_modules/@m0saic/core/dist/core/maskCacheDir.js +1 -1
- package/node_modules/@m0saic/core/dist/core/maskWorkerBridge.js +1 -1
- package/node_modules/@m0saic/core/dist/core/playbackPlaySpeed.js +1 -1
- package/node_modules/@m0saic/core/dist/core/prepareProps.js +1 -1
- package/node_modules/@m0saic/core/dist/core/primaryOutput.js +1 -1
- package/node_modules/@m0saic/core/dist/core/rasterizeMaskPng.js +1 -1
- package/node_modules/@m0saic/core/dist/core/rasterizeSvgMediaPng.js +1 -1
- package/node_modules/@m0saic/core/dist/core/refTargetTap.js +1 -1
- package/node_modules/@m0saic/core/dist/core/resolveMasks.js +1 -1
- package/node_modules/@m0saic/core/dist/core/resolveMasksSync.js +1 -1
- package/node_modules/@m0saic/core/dist/core/resolveStrokeRingsSync.js +1 -1
- package/node_modules/@m0saic/core/dist/core/roundedRectMask.js +1 -1
- package/node_modules/@m0saic/core/dist/core/strokeRing.js +1 -1
- package/node_modules/@m0saic/core/dist/core/svgRaster.js +1 -1
- package/node_modules/@m0saic/core/dist/defaults.js +1 -1
- package/node_modules/@m0saic/core/dist/ffmpeg/backgroundImageInput.js +1 -1
- package/node_modules/@m0saic/core/dist/ffmpeg/bufferGuard.js +1 -1
- package/node_modules/@m0saic/core/dist/ffmpeg/ffmpegCommands.js +1 -1
- package/node_modules/@m0saic/core/dist/ffmpeg/filters/applyBackdropBlur.js +1 -1
- package/node_modules/@m0saic/core/dist/ffmpeg/filters/applyBlur.js +1 -1
- package/node_modules/@m0saic/core/dist/ffmpeg/filters/applyBorderRadius.js +1 -1
- package/node_modules/@m0saic/core/dist/ffmpeg/filters/applyCamera.js +1 -1
- package/node_modules/@m0saic/core/dist/ffmpeg/filters/applyChromaKey.js +1 -1
- package/node_modules/@m0saic/core/dist/ffmpeg/filters/applyFade.js +1 -1
- package/node_modules/@m0saic/core/dist/ffmpeg/filters/applyGrade.js +1 -1
- package/node_modules/@m0saic/core/dist/ffmpeg/filters/applyMask.js +1 -1
- package/node_modules/@m0saic/core/dist/ffmpeg/filters/applyNoise.js +1 -1
- package/node_modules/@m0saic/core/dist/ffmpeg/filters/applyPixelize.js +1 -1
- package/node_modules/@m0saic/core/dist/ffmpeg/filters/applyRotate.js +1 -1
- package/node_modules/@m0saic/core/dist/ffmpeg/filters/applyStroke.js +1 -1
- package/node_modules/@m0saic/core/dist/ffmpeg/filters/applyTileEffects.js +1 -1
- package/node_modules/@m0saic/core/dist/ffmpeg/filters/coverCrop.js +1 -1
- package/node_modules/@m0saic/core/dist/ffmpeg/filters/index.js +1 -1
- package/node_modules/@m0saic/core/dist/ffmpeg/filters/sourceRectCrop.js +1 -1
- package/node_modules/@m0saic/core/dist/ffmpeg/gridLowering.js +1 -1
- package/node_modules/@m0saic/core/dist/ffmpeg/index.js +1 -1
- package/node_modules/@m0saic/core/dist/ffmpeg/splitAvMux.js +1 -1
- package/node_modules/@m0saic/core/dist/ffmpeg/threadGuard.js +1 -1
- package/node_modules/@m0saic/core/dist/flatten/index.js +1 -1
- package/node_modules/@m0saic/core/dist/fs/index.js +1 -1
- package/node_modules/@m0saic/core/dist/fs/tempWorkspace.js +1 -1
- package/node_modules/@m0saic/core/dist/index.js +1 -1
- package/node_modules/@m0saic/core/dist/media/buildAssetManifestFromInputs.js +1 -1
- package/node_modules/@m0saic/core/dist/media/buildMediaRegistryFromInput.js +1 -1
- package/node_modules/@m0saic/core/dist/media/collectMediaInputsFromInvocationProps.js +1 -1
- package/node_modules/@m0saic/core/dist/media/collectMediaInputsFromMosaicRenderableFile.js +1 -1
- package/node_modules/@m0saic/core/dist/media/collectMediaInputsFromProps.js +1 -1
- package/node_modules/@m0saic/core/dist/media/index.js +1 -1
- package/node_modules/@m0saic/core/dist/media/internalMintAsset.js +1 -1
- package/node_modules/@m0saic/core/dist/media/remoteUrl.js +1 -1
- package/node_modules/@m0saic/core/dist/media/stageUnsafeFilenames.js +1 -1
- package/node_modules/@m0saic/core/dist/media/types.js +1 -1
- package/node_modules/@m0saic/core/dist/output/index.js +1 -1
- package/node_modules/@m0saic/core/dist/output/resolveOutputFormat.js +1 -1
- package/node_modules/@m0saic/core/dist/output/types.js +1 -1
- package/node_modules/@m0saic/core/dist/probe/cellLuminanceProbe.js +1 -1
- package/node_modules/@m0saic/core/dist/probe/extractSubtitleCues.js +1 -1
- package/node_modules/@m0saic/core/dist/probe/helpers.js +1 -1
- package/node_modules/@m0saic/core/dist/probe/index.js +1 -1
- package/node_modules/@m0saic/core/dist/probe/luminanceProbe.js +1 -1
- package/node_modules/@m0saic/core/dist/probe/probeMedia.js +1 -1
- package/node_modules/@m0saic/core/dist/probe/runFFprobe.js +1 -1
- package/node_modules/@m0saic/core/dist/probe/types.js +1 -1
- package/node_modules/@m0saic/core/dist/runtime/engineRedaction.js +1 -1
- package/node_modules/@m0saic/core/dist/runtime/ffmpegFailure.js +1 -1
- package/node_modules/@m0saic/core/dist/runtime/filterPreflight.js +1 -1
- package/node_modules/@m0saic/core/dist/runtime/hashFile.js +1 -1
- package/node_modules/@m0saic/core/dist/runtime/index.js +1 -1
- package/node_modules/@m0saic/core/dist/runtime/pathInfo.js +1 -1
- package/node_modules/@m0saic/core/dist/runtime/perfHeatmap.js +1 -1
- package/node_modules/@m0saic/core/dist/runtime/perfReport.js +1 -1
- package/node_modules/@m0saic/core/dist/runtime/pipelineM0p.js +1 -1
- package/node_modules/@m0saic/core/dist/runtime/renderCostModel.constants.js +1 -1
- package/node_modules/@m0saic/core/dist/runtime/renderCostModel.js +1 -1
- package/node_modules/@m0saic/core/dist/runtime/renderReport.js +1 -1
- package/node_modules/@m0saic/core/dist/runtime/renderSidecars.js +1 -1
- package/node_modules/@m0saic/core/dist/runtime/resolveMosaicx.js +1 -1
- package/node_modules/@m0saic/core/dist/runtime/runPlan.js +1 -1
- package/node_modules/@m0saic/core/dist/runtime/types.js +1 -1
- package/node_modules/@m0saic/core/dist/runtime/upstream.js +1 -1
- package/node_modules/@m0saic/core/dist/runtime/writeSidecars.js +1 -1
- package/node_modules/@m0saic/core/dist/types/chunk.js +1 -1
- package/node_modules/@m0saic/core/dist/types/index.js +1 -1
- package/node_modules/@m0saic/core/dist/types/mosaic-plan.js +1 -1
- package/node_modules/@m0saic/core/dist/utils/assertTiming.js +1 -1
- package/node_modules/@m0saic/core/dist/utils/command.js +1 -1
- package/node_modules/@m0saic/core/dist/utils/createEngineContext.js +1 -1
- package/node_modules/@m0saic/core/dist/utils/createTemplateRenderCache.js +1 -1
- package/node_modules/@m0saic/core/dist/utils/ffmpegColor.js +1 -1
- package/node_modules/@m0saic/core/dist/utils/formatDuration.js +1 -1
- package/node_modules/@m0saic/core/dist/utils/fsSafeId.js +1 -1
- package/node_modules/@m0saic/core/dist/utils/index.js +1 -1
- package/node_modules/@m0saic/core/dist/utils/lowerRenderableToMosaicDocument.js +1 -1
- package/node_modules/@m0saic/core/dist/utils/movSafeCodec.js +1 -1
- package/node_modules/@m0saic/core/dist/utils/resolveBoxFrac.js +1 -1
- package/node_modules/@m0saic/core/dist/validate/index.js +1 -1
- package/node_modules/@m0saic/core/scripts/mask-rasterize-core.js +1 -1
- package/node_modules/@m0saic/core/scripts/mask-rasterize-worker.js +1 -1
- package/node_modules/@m0saic/core/scripts/mask-worker-thread.js +1 -1
- package/node_modules/@m0saic/dictionary/package.json +1 -1
- package/node_modules/@m0saic/knowledge/docs/runtime/README.md +8 -1
- package/node_modules/@m0saic/knowledge/docs/runtime/agent-at-the-canvas.md +108 -0
- package/node_modules/@m0saic/knowledge/docs/runtime/cli-usage.md +35 -7
- package/node_modules/@m0saic/knowledge/docs/templates/output-resolution-tree.md +8 -0
- package/node_modules/@m0saic/knowledge/docs/templates/reference/prop-bindings.md +24 -10
- package/node_modules/@m0saic/knowledge/docs/templates/reference/template-flags.md +18 -6
- package/node_modules/@m0saic/knowledge/docs/templates/standalone-pack-authoring.md +20 -10
- package/node_modules/@m0saic/knowledge/package.json +1 -1
- package/node_modules/@m0saic/platform/dist/cjs/index.js +1 -1
- package/node_modules/@m0saic/platform/dist/cjs/mosaic/propBindings/index.js +1 -1
- package/node_modules/@m0saic/platform/dist/cjs/mosaic/propBindings/propBindings.js +1 -1
- package/node_modules/@m0saic/platform/dist/cjs/template-repos/index.js +1 -1
- package/node_modules/@m0saic/platform/dist/cjs/template-repos/loadTemplateRepoFromPath.js +4 -4
- package/node_modules/@m0saic/platform/dist/cjs/template-repos/templateCatalogSidecars.js +2 -0
- package/node_modules/@m0saic/platform/dist/cjs/templateCatalog/index.js +1 -0
- package/node_modules/@m0saic/platform/dist/cjs/templateCatalog/templateCatalog.js +1 -0
- package/node_modules/@m0saic/platform/package.json +1 -1
- package/node_modules/@m0saic/product/dist/communityRelease.js +1 -1
- package/node_modules/@m0saic/product/dist/freeTierLicense.js +1 -1
- package/node_modules/@m0saic/product/dist/index.js +1 -1
- package/node_modules/@m0saic/product/dist/licenseActivationNotice.js +1 -1
- package/node_modules/@m0saic/product/dist/licenseFile.js +1 -1
- package/node_modules/@m0saic/product/dist/licenseToken.js +1 -1
- package/node_modules/@m0saic/product/dist/makeScratchPath.js +1 -1
- package/node_modules/@m0saic/product/dist/postRenderWrapper.js +1 -1
- package/node_modules/@m0saic/product/dist/publicKeys.js +1 -1
- package/node_modules/@m0saic/product/dist/revokedKeys.js +1 -1
- package/node_modules/@m0saic/product/dist/upstreamDefaults.js +1 -1
- package/node_modules/@m0saic/product/dist/workspaceScaffold.js +1 -1
- package/node_modules/@m0saic/template-utils/dist/brand/hello-world/helloWorld.js +1 -1
- package/node_modules/@m0saic/template-utils/dist/geometry-contract/frameResolution.js +1 -1
- package/node_modules/@m0saic/template-utils/dist/geometry-contract/layoutConstraint.js +1 -1
- package/node_modules/@m0saic/template-utils/dist/template/auditRenderedTemplate.js +5 -5
- package/node_modules/@m0saic/template-utils/dist/template/auditSchemaConventions.js +1 -1
- package/node_modules/@m0saic/template-utils/dist/template/defineMosaicTemplate.js +1 -1
- package/node_modules/@m0saic/template-utils/dist/template/resolveTemplateOutputHints.js +1 -1
- package/node_modules/@m0saic/template-utils/dist/template/templateCatalogStore.js +1 -0
- package/node_modules/@m0saic/template-utils/dist/template/templateConventions.js +4 -4
- package/node_modules/@m0saic/template-utils/dist/template/templateRegistry.js +3 -3
- package/node_modules/@m0saic/template-utils/package.json +1 -1
- package/node_modules/@m0saic/templates/dist/catalog.js +1 -0
- package/node_modules/@m0saic/templates/dist/freeze.js +8 -8
- package/node_modules/@m0saic/templates/dist/index.js +1 -1
- package/node_modules/@m0saic/templates/dist/m0saic/_shared/canvas-handles.js +1 -0
- package/node_modules/@m0saic/templates/dist/m0saic/_shared/stand-in.js +1 -0
- package/node_modules/@m0saic/templates/dist/m0saic/agents/commit-feed/index.js +1 -1
- package/node_modules/@m0saic/templates/dist/m0saic/agents/commit-feed/v2/commit-feed.js +1 -0
- package/node_modules/@m0saic/templates/dist/m0saic/agents/commit-feed/v2/index.js +1 -0
- package/node_modules/@m0saic/templates/dist/m0saic/agents/trace-timeline/index.js +1 -1
- package/node_modules/@m0saic/templates/dist/m0saic/agents/trace-timeline/v2/index.js +1 -0
- package/node_modules/@m0saic/templates/dist/m0saic/agents/trace-timeline/v2/trace-timeline.js +1 -0
- package/node_modules/@m0saic/templates/dist/m0saic/alpine/_shared/alpine-conventions.js +1 -0
- package/node_modules/@m0saic/templates/dist/m0saic/alpine/bar-graph/v2/bar-graph.js +1 -0
- package/node_modules/@m0saic/templates/dist/m0saic/alpine/bar-graph/v2/index.js +1 -0
- package/node_modules/@m0saic/templates/dist/m0saic/alpine/commit-feed/v3/commit-feed.js +1 -0
- package/node_modules/@m0saic/templates/dist/m0saic/alpine/commit-feed/v3/index.js +1 -0
- package/node_modules/@m0saic/templates/dist/m0saic/alpine/contributor-table/v2/contributor-table.js +1 -0
- package/node_modules/@m0saic/templates/dist/m0saic/alpine/contributor-table/v2/index.js +1 -0
- package/node_modules/@m0saic/templates/dist/m0saic/alpine/donut/v4/donut.js +1 -0
- package/node_modules/@m0saic/templates/dist/m0saic/alpine/donut/v4/index.js +1 -0
- package/node_modules/@m0saic/templates/dist/m0saic/alpine/heatmap/v3/heatmap.js +1 -0
- package/node_modules/@m0saic/templates/dist/m0saic/alpine/heatmap/v3/index.js +1 -0
- package/node_modules/@m0saic/templates/dist/m0saic/alpine/index.js +1 -1
- package/node_modules/@m0saic/templates/dist/m0saic/alpine/kpi-card/v3/index.js +1 -0
- package/node_modules/@m0saic/templates/dist/m0saic/alpine/kpi-card/v3/kpi-card.js +1 -0
- package/node_modules/@m0saic/templates/dist/m0saic/alpine/leaderboard/v2/index.js +1 -0
- package/node_modules/@m0saic/templates/dist/m0saic/alpine/leaderboard/v2/leaderboard.js +1 -0
- package/node_modules/@m0saic/templates/dist/m0saic/alpine/line-chart/v3/index.js +1 -0
- package/node_modules/@m0saic/templates/dist/m0saic/alpine/line-chart/v3/line-chart.js +1 -0
- package/node_modules/@m0saic/templates/dist/m0saic/alpine/progress-card/v2/index.js +1 -0
- package/node_modules/@m0saic/templates/dist/m0saic/alpine/progress-card/v2/progress-card.js +1 -0
- package/node_modules/@m0saic/templates/dist/m0saic/alpine/stat-card/v2/index.js +1 -0
- package/node_modules/@m0saic/templates/dist/m0saic/alpine/stat-card/v2/stat-card.js +1 -0
- package/node_modules/@m0saic/templates/dist/m0saic/alpine/timeline/v3/index.js +1 -0
- package/node_modules/@m0saic/templates/dist/m0saic/alpine/timeline/v3/timeline.js +4 -0
- package/node_modules/@m0saic/templates/dist/m0saic/alpine/treemap/v3/index.js +1 -0
- package/node_modules/@m0saic/templates/dist/m0saic/alpine/treemap/v3/treemap.js +1 -0
- package/node_modules/@m0saic/templates/dist/m0saic/benchmark/index.js +1 -1
- package/node_modules/@m0saic/templates/dist/m0saic/benchmark/report/v2/index.js +1 -0
- package/node_modules/@m0saic/templates/dist/m0saic/benchmark/report/v2/report.js +1 -0
- package/node_modules/@m0saic/templates/dist/m0saic/brand/business-card/v2/business-card.js +1 -0
- package/node_modules/@m0saic/templates/dist/m0saic/brand/business-card/v2/index.js +1 -0
- package/node_modules/@m0saic/templates/dist/m0saic/brand/index.js +1 -1
- package/node_modules/@m0saic/templates/dist/m0saic/brand/logo/v4/index.js +1 -0
- package/node_modules/@m0saic/templates/dist/m0saic/brand/logo/v4/logo_runner.js +1 -0
- package/node_modules/@m0saic/templates/dist/m0saic/charts/bar-graph/v3/bar-graph.js +1 -0
- package/node_modules/@m0saic/templates/dist/m0saic/charts/bar-graph/v3/index.js +1 -0
- package/node_modules/@m0saic/templates/dist/m0saic/charts/donut/v5/donut.js +1 -0
- package/node_modules/@m0saic/templates/dist/m0saic/charts/donut/v5/index.js +1 -0
- package/node_modules/@m0saic/templates/dist/m0saic/charts/index.js +1 -1
- package/node_modules/@m0saic/templates/dist/m0saic/charts/line-chart/v2/index.js +1 -0
- package/node_modules/@m0saic/templates/dist/m0saic/charts/line-chart/v2/line-chart.js +1 -0
- package/node_modules/@m0saic/templates/dist/m0saic/charts/stat-card/v2/index.js +1 -0
- package/node_modules/@m0saic/templates/dist/m0saic/charts/stat-card/v2/stat-card.js +1 -0
- package/node_modules/@m0saic/templates/dist/m0saic/code/index.js +1 -1
- package/node_modules/@m0saic/templates/dist/m0saic/code/snippet-morph/v2/snippet-morph.js +3 -0
- package/node_modules/@m0saic/templates/dist/m0saic/collage/image-collage/v2/image-collage.js +1 -0
- package/node_modules/@m0saic/templates/dist/m0saic/collage/image-collage/v2/index.js +1 -0
- package/node_modules/@m0saic/templates/dist/m0saic/collage/index.js +1 -1
- package/node_modules/@m0saic/templates/dist/m0saic/dsl-tutorial/index.js +1 -1
- package/node_modules/@m0saic/templates/dist/m0saic/dsl-tutorial/v2/dsl-tutorial.js +1 -0
- package/node_modules/@m0saic/templates/dist/m0saic/dsl-tutorial/v2/index.js +1 -0
- package/node_modules/@m0saic/templates/dist/m0saic/github/year-card/index.js +1 -1
- package/node_modules/@m0saic/templates/dist/m0saic/github/year-card/v2/index.js +1 -0
- package/node_modules/@m0saic/templates/dist/m0saic/github/year-card/v2/year-card.js +1 -0
- package/node_modules/@m0saic/templates/dist/m0saic/hero/ffmpeg-pulse/index.js +1 -1
- package/node_modules/@m0saic/templates/dist/m0saic/hero/ffmpeg-pulse/runner/v2/index.js +1 -0
- package/node_modules/@m0saic/templates/dist/m0saic/hero/ffmpeg-pulse/runner/v2/runner.js +1 -0
- package/node_modules/@m0saic/templates/dist/m0saic/media/barcode/v2/barcode.js +1 -0
- package/node_modules/@m0saic/templates/dist/m0saic/media/barcode/v2/index.js +1 -0
- package/node_modules/@m0saic/templates/dist/m0saic/media/blur-regions/index.js +1 -1
- package/node_modules/@m0saic/templates/dist/m0saic/media/blur-regions/v2/blur-regions.js +1 -0
- package/node_modules/@m0saic/templates/dist/m0saic/media/blur-regions/v2/index.js +1 -0
- package/node_modules/@m0saic/templates/dist/m0saic/media/highlights/index.js +1 -1
- package/node_modules/@m0saic/templates/dist/m0saic/media/highlights/v2/highlights.js +1 -0
- package/node_modules/@m0saic/templates/dist/m0saic/media/highlights/v2/index.js +1 -0
- package/node_modules/@m0saic/templates/dist/m0saic/media/index.js +1 -1
- package/node_modules/@m0saic/templates/dist/m0saic/media/logo-animate/index.js +1 -1
- package/node_modules/@m0saic/templates/dist/m0saic/media/logo-animate/v2/index.js +1 -0
- package/node_modules/@m0saic/templates/dist/m0saic/media/logo-animate/v2/logo-animate.js +1 -0
- package/node_modules/@m0saic/templates/dist/m0saic/media/metadata-stamp/index.js +1 -1
- package/node_modules/@m0saic/templates/dist/m0saic/media/metadata-stamp/v2/index.js +1 -0
- package/node_modules/@m0saic/templates/dist/m0saic/media/metadata-stamp/v2/metadata-stamp.js +1 -0
- package/node_modules/@m0saic/templates/dist/m0saic/media/qr/code/v2/index.js +1 -0
- package/node_modules/@m0saic/templates/dist/m0saic/media/qr/code/v2/qr-code.js +1 -0
- package/node_modules/@m0saic/templates/dist/m0saic/media/qr/index.js +1 -1
- package/node_modules/@m0saic/templates/dist/m0saic/media/qr/stamp/v2/qr-stamp-custom.js +1 -0
- package/node_modules/@m0saic/templates/dist/m0saic/media/screencap_grid/index.js +1 -1
- package/node_modules/@m0saic/templates/dist/m0saic/media/screencap_grid/v3/index.js +1 -0
- package/node_modules/@m0saic/templates/dist/m0saic/media/screencap_grid/v3/screencap-grid.js +4 -0
- package/node_modules/@m0saic/templates/dist/m0saic/media/screencap_grid_aspect_safe/index.js +1 -1
- package/node_modules/@m0saic/templates/dist/m0saic/media/screencap_grid_aspect_safe/v2/index.js +1 -0
- package/node_modules/@m0saic/templates/dist/m0saic/media/screencap_grid_aspect_safe/v2/screencap-grid-aspect-safe.js +3 -0
- package/node_modules/@m0saic/templates/dist/m0saic/media/scroll_wall/index.js +1 -1
- package/node_modules/@m0saic/templates/dist/m0saic/media/scroll_wall/v2/index.js +1 -0
- package/node_modules/@m0saic/templates/dist/m0saic/media/scroll_wall/v2/scroll-wall.js +1 -0
- package/node_modules/@m0saic/templates/dist/m0saic/media/subtitle-burn/index.js +1 -1
- package/node_modules/@m0saic/templates/dist/m0saic/media/subtitle-burn/v2/index.js +1 -0
- package/node_modules/@m0saic/templates/dist/m0saic/media/subtitle-burn/v2/subtitle-burn.js +4 -0
- package/node_modules/@m0saic/templates/dist/m0saic/media/trickplay/index.js +1 -1
- package/node_modules/@m0saic/templates/dist/m0saic/media/trickplay/v2/index.js +1 -0
- package/node_modules/@m0saic/templates/dist/m0saic/media/trickplay/v2/trickplay.js +1 -0
- package/node_modules/@m0saic/templates/dist/m0saic/media/video_to_png_sequence/index.js +1 -1
- package/node_modules/@m0saic/templates/dist/m0saic/media/video_to_png_sequence/v2/index.js +1 -0
- package/node_modules/@m0saic/templates/dist/m0saic/media/video_to_png_sequence/v2/video-to-png-sequence.js +1 -0
- package/node_modules/@m0saic/templates/dist/m0saic/media/watermark/index.js +1 -1
- package/node_modules/@m0saic/templates/dist/m0saic/media/watermark/v2/index.js +1 -0
- package/node_modules/@m0saic/templates/dist/m0saic/media/watermark/v2/watermark.js +1 -0
- package/node_modules/@m0saic/templates/dist/m0saic/primitives/grid/index.js +1 -1
- package/node_modules/@m0saic/templates/dist/m0saic/primitives/grid/v3/grid.js +1 -0
- package/node_modules/@m0saic/templates/dist/m0saic/social/quote-card/index.js +1 -1
- package/node_modules/@m0saic/templates/dist/m0saic/social/quote-card/v2/index.js +1 -0
- package/node_modules/@m0saic/templates/dist/m0saic/social/quote-card/v2/quote-card.js +1 -0
- package/node_modules/@m0saic/templates/dist/m0saic/story/index.js +1 -1
- package/node_modules/@m0saic/templates/dist/m0saic/story/narrated-chapters/index.js +1 -1
- package/node_modules/@m0saic/templates/dist/m0saic/story/narrated-chapters/v2/index.js +1 -0
- package/node_modules/@m0saic/templates/dist/m0saic/story/narrated-chapters/v2/narrated-chapters.js +4 -0
- package/node_modules/@m0saic/templates/dist/m0saic/story/scrapbook/v2/index.js +1 -0
- package/node_modules/@m0saic/templates/dist/m0saic/story/scrapbook/v2/props.js +1 -0
- package/node_modules/@m0saic/templates/dist/m0saic/story/scrapbook/v2/scrapbook.js +1 -0
- package/node_modules/@m0saic/templates/dist/m0saic/theming/index.js +1 -1
- package/node_modules/@m0saic/templates/dist/m0saic/theming/v2/index.js +1 -0
- package/node_modules/@m0saic/templates/dist/m0saic/theming/v2/theming.js +1 -0
- package/node_modules/@m0saic/templates/dist/m0saic/web/index.js +1 -1
- package/node_modules/@m0saic/templates/dist/m0saic/web/page-skeleton/v2/index.js +1 -0
- package/node_modules/@m0saic/templates/dist/m0saic/web/page-skeleton/v2/page-skeleton.js +1 -0
- package/node_modules/@m0saic/templates/dist/m0saic/wireframe/base/v3/index.js +1 -0
- package/node_modules/@m0saic/templates/dist/m0saic/wireframe/base/v3/wireframe.js +1 -0
- package/node_modules/@m0saic/templates/dist/m0saic/wireframe/index.js +1 -1
- package/node_modules/@m0saic/templates/dist/repo.js +1 -1
- package/node_modules/@m0saic/templates/dist/template-catalog.json +5429 -0
- package/node_modules/@m0saic/templates/dist/template-registry.js +1 -1
- package/node_modules/@m0saic/templates/dist/web.js +1 -1
- package/node_modules/@m0saic/templates/package.json +1 -1
- package/node_modules/@m0saic/templates/template-catalog.json +5429 -0
- package/node_modules/@m0saic/templates/template-manifest.json +1030 -286
- package/node_modules/@m0saic/templates/web-template-ids.json +38 -0
- package/node_modules/@m0saic/text/package.json +1 -1
- package/node_modules/@m0saic/types/dist/template/template.js +1 -1
- package/node_modules/@m0saic/types/package.json +1 -1
- package/node_modules/@m0saic/types-internal/dist/analytics/featureKeys.js +1 -1
- package/package.json +8 -8
- package/resources/starter-base/starter-base.json +5 -5
- package/resources/starter-base/starter-base.tgz +0 -0
|
@@ -9,7 +9,8 @@
|
|
|
9
9
|
"assets": {
|
|
10
10
|
"templatesDir": "assets/templates"
|
|
11
11
|
},
|
|
12
|
-
"helloWorld": "@m0saic/hello-world/v1"
|
|
12
|
+
"helloWorld": "@m0saic/hello-world/v1",
|
|
13
|
+
"conventions": "0.3.1"
|
|
13
14
|
},
|
|
14
15
|
"entryModule": "./dist/index.js",
|
|
15
16
|
"templates": [
|
|
@@ -33,6 +34,30 @@
|
|
|
33
34
|
},
|
|
34
35
|
{
|
|
35
36
|
"slug": "page-skeleton",
|
|
37
|
+
"templateKey": "@m0saic/web/page-skeleton/v2",
|
|
38
|
+
"title": "Page Skeleton",
|
|
39
|
+
"description": "Turns anonymous browser geometry into an editable skeleton-loading still or looping shimmer/pulse video.",
|
|
40
|
+
"tags": [
|
|
41
|
+
"web",
|
|
42
|
+
"skeleton",
|
|
43
|
+
"loading",
|
|
44
|
+
"capture",
|
|
45
|
+
"wireframe",
|
|
46
|
+
"animated",
|
|
47
|
+
"designers",
|
|
48
|
+
"developers",
|
|
49
|
+
"landing-page",
|
|
50
|
+
"mockup"
|
|
51
|
+
],
|
|
52
|
+
"pack": "web",
|
|
53
|
+
"preview": {
|
|
54
|
+
"image": "assets/templates/@m0saic__web__page-skeleton__v2/preview.png",
|
|
55
|
+
"video": "assets/templates/@m0saic__web__page-skeleton__v2/preview.mp4",
|
|
56
|
+
"poster": "assets/templates/@m0saic__web__page-skeleton__v2/poster.png"
|
|
57
|
+
}
|
|
58
|
+
},
|
|
59
|
+
{
|
|
60
|
+
"slug": "page-skeleton-v1",
|
|
36
61
|
"templateKey": "@m0saic/web/page-skeleton/v1",
|
|
37
62
|
"title": "Page Skeleton",
|
|
38
63
|
"description": "Paste anonymous geometry captured from any webpage and render an editable skeleton-loading still or looping shimmer/pulse video.",
|
|
@@ -48,11 +73,24 @@
|
|
|
48
73
|
"landing-page",
|
|
49
74
|
"mockup"
|
|
50
75
|
],
|
|
51
|
-
"pack": "web"
|
|
76
|
+
"pack": "web"
|
|
77
|
+
},
|
|
78
|
+
{
|
|
79
|
+
"slug": "wireframe-v3",
|
|
80
|
+
"templateKey": "@m0saic/wireframe/base/v3",
|
|
81
|
+
"title": "Wireframe",
|
|
82
|
+
"description": "Wireframe of any m0 layout string: every cell drawn as an outlined rectangle with its number, pixel size and aspect ratio on a white canvas. Switch the background to transparent to composite over anything or trace a reference screenshot, or pick the thumb, heatmap or paper presets for clean tiles.",
|
|
83
|
+
"tags": [
|
|
84
|
+
"wireframe",
|
|
85
|
+
"docs-only",
|
|
86
|
+
"designers",
|
|
87
|
+
"developers",
|
|
88
|
+
"layout",
|
|
89
|
+
"blueprint"
|
|
90
|
+
],
|
|
91
|
+
"pack": "wireframe",
|
|
52
92
|
"preview": {
|
|
53
|
-
"image": "assets/templates/@
|
|
54
|
-
"video": "assets/templates/@m0saic__web__page-skeleton__v1/preview.mp4",
|
|
55
|
-
"poster": "assets/templates/@m0saic__web__page-skeleton__v1/poster.png"
|
|
93
|
+
"image": "assets/templates/@m0saic__wireframe__base__v3/preview.png"
|
|
56
94
|
}
|
|
57
95
|
},
|
|
58
96
|
{
|
|
@@ -68,10 +106,7 @@
|
|
|
68
106
|
"layout",
|
|
69
107
|
"blueprint"
|
|
70
108
|
],
|
|
71
|
-
"pack": "wireframe"
|
|
72
|
-
"preview": {
|
|
73
|
-
"image": "assets/templates/@m0saic__wireframe__base__v2/preview.png"
|
|
74
|
-
}
|
|
109
|
+
"pack": "wireframe"
|
|
75
110
|
},
|
|
76
111
|
{
|
|
77
112
|
"slug": "wireframe",
|
|
@@ -82,10 +117,7 @@
|
|
|
82
117
|
"wireframe",
|
|
83
118
|
"docs-only"
|
|
84
119
|
],
|
|
85
|
-
"pack": "wireframe"
|
|
86
|
-
"preview": {
|
|
87
|
-
"image": "assets/templates/@m0saic__wireframe__base__v1/preview.png"
|
|
88
|
-
}
|
|
120
|
+
"pack": "wireframe"
|
|
89
121
|
},
|
|
90
122
|
{
|
|
91
123
|
"slug": "wireframe-animated",
|
|
@@ -97,11 +129,7 @@
|
|
|
97
129
|
"animated",
|
|
98
130
|
"docs-only"
|
|
99
131
|
],
|
|
100
|
-
"pack": "wireframe"
|
|
101
|
-
"preview": {
|
|
102
|
-
"video": "assets/templates/@m0saic__wireframe__animated__v1/preview.mp4",
|
|
103
|
-
"poster": "assets/templates/@m0saic__wireframe__animated__v1/poster.png"
|
|
104
|
-
}
|
|
132
|
+
"pack": "wireframe"
|
|
105
133
|
},
|
|
106
134
|
{
|
|
107
135
|
"slug": "wireframe-cell",
|
|
@@ -123,11 +151,7 @@
|
|
|
123
151
|
"brand",
|
|
124
152
|
"logo"
|
|
125
153
|
],
|
|
126
|
-
"pack": "brand"
|
|
127
|
-
"preview": {
|
|
128
|
-
"video": "assets/templates/@m0saic__brand__logo__v1/preview.mp4",
|
|
129
|
-
"poster": "assets/templates/@m0saic__brand__logo__v1/poster.png"
|
|
130
|
-
}
|
|
154
|
+
"pack": "brand"
|
|
131
155
|
},
|
|
132
156
|
{
|
|
133
157
|
"slug": "brand-logo-v2",
|
|
@@ -138,10 +162,27 @@
|
|
|
138
162
|
"brand",
|
|
139
163
|
"logo"
|
|
140
164
|
],
|
|
165
|
+
"pack": "brand"
|
|
166
|
+
},
|
|
167
|
+
{
|
|
168
|
+
"slug": "brand-logo",
|
|
169
|
+
"templateKey": "@m0saic/brand/logo/v4",
|
|
170
|
+
"title": "M0saic Brand Marks",
|
|
171
|
+
"description": "Renders any m0saic brand mark — the M (as rects or bitmap), the m0 logotype, or the m0saic pattern — with an animated reveal, each at its official dictionary resolution. Default 'm-33' is the fast rect M; 'composite' (bitmap + rects blend) is the deliberate heavy render. Supersedes the earlier brand-logo templates.",
|
|
172
|
+
"tags": [
|
|
173
|
+
"brand",
|
|
174
|
+
"logo",
|
|
175
|
+
"marks",
|
|
176
|
+
"animated",
|
|
177
|
+
"designers",
|
|
178
|
+
"marketers",
|
|
179
|
+
"intro",
|
|
180
|
+
"sting"
|
|
181
|
+
],
|
|
141
182
|
"pack": "brand",
|
|
142
183
|
"preview": {
|
|
143
|
-
"video": "assets/templates/@
|
|
144
|
-
"poster": "assets/templates/@
|
|
184
|
+
"video": "assets/templates/@m0saic__brand__logo__v4/preview.mp4",
|
|
185
|
+
"poster": "assets/templates/@m0saic__brand__logo__v4/poster.png"
|
|
145
186
|
}
|
|
146
187
|
},
|
|
147
188
|
{
|
|
@@ -158,11 +199,7 @@
|
|
|
158
199
|
"intro",
|
|
159
200
|
"sting"
|
|
160
201
|
],
|
|
161
|
-
"pack": "brand"
|
|
162
|
-
"preview": {
|
|
163
|
-
"video": "assets/templates/@m0saic__brand__logo__v3/preview.mp4",
|
|
164
|
-
"poster": "assets/templates/@m0saic__brand__logo__v3/poster.png"
|
|
165
|
-
}
|
|
202
|
+
"pack": "brand"
|
|
166
203
|
},
|
|
167
204
|
{
|
|
168
205
|
"slug": "brand-community-m-v1",
|
|
@@ -188,9 +225,9 @@
|
|
|
188
225
|
},
|
|
189
226
|
{
|
|
190
227
|
"slug": "business-card",
|
|
191
|
-
"templateKey": "@m0saic/brand/business-card/
|
|
228
|
+
"templateKey": "@m0saic/brand/business-card/v2",
|
|
192
229
|
"title": "Business Card",
|
|
193
|
-
"description": "The m0saic business card, print-ready: US 3.5 x 2 in at 300 DPI on MOO's bleed box (1098 x 648 px; Vistaprint / FedEx presets too)
|
|
230
|
+
"description": "The m0saic business card, print-ready: US 3.5 x 2 in at 300 DPI on MOO's bleed box (1098 x 648 px; Vistaprint / FedEx presets too), the brand field + M lockup and your contact on the front, a live-rendered shipped template with a QR to Mosaic Web on the back. One render, two PNGs (front + back). Every line on the front is editable on the canvas.",
|
|
194
231
|
"tags": [
|
|
195
232
|
"brand",
|
|
196
233
|
"print",
|
|
@@ -204,13 +241,31 @@
|
|
|
204
241
|
],
|
|
205
242
|
"pack": "brand",
|
|
206
243
|
"preview": {
|
|
207
|
-
"image": "assets/templates/@m0saic__brand__business-
|
|
208
|
-
"poster": "assets/templates/@m0saic__brand__business-
|
|
244
|
+
"image": "assets/templates/@m0saic__brand__business-card__v2/preview.png",
|
|
245
|
+
"poster": "assets/templates/@m0saic__brand__business-card__v2/poster.png"
|
|
209
246
|
}
|
|
210
247
|
},
|
|
248
|
+
{
|
|
249
|
+
"slug": "business-card-v1",
|
|
250
|
+
"templateKey": "@m0saic/brand/business-card/v1",
|
|
251
|
+
"title": "Business Card",
|
|
252
|
+
"description": "The m0saic business card, print-ready: US 3.5 x 2 in at 300 DPI on MOO's bleed box (1098 x 648 px; Vistaprint / FedEx presets too) — brand field + M lockup and your contact on the front, a live-rendered shipped template with a QR to Mosaic Web on the back. One render, two PNGs.",
|
|
253
|
+
"tags": [
|
|
254
|
+
"brand",
|
|
255
|
+
"print",
|
|
256
|
+
"card",
|
|
257
|
+
"business-card",
|
|
258
|
+
"still",
|
|
259
|
+
"qr",
|
|
260
|
+
"founders",
|
|
261
|
+
"marketers",
|
|
262
|
+
"developers"
|
|
263
|
+
],
|
|
264
|
+
"pack": "brand"
|
|
265
|
+
},
|
|
211
266
|
{
|
|
212
267
|
"slug": "qr-code",
|
|
213
|
-
"templateKey": "@m0saic/media/qr/code/
|
|
268
|
+
"templateKey": "@m0saic/media/qr/code/v2",
|
|
214
269
|
"title": "QR Code",
|
|
215
270
|
"description": "Scannable QR from any text (URL, plain string, or structured payload). Defaults to the branded look — circle modules on a light card with the m0saic M carved in the centre; swap the centre asset and URL to make it yours. Square/rounded/circle module styles, light/dark/transparent card, optional spawn animation (Output mp4). The one standalone QR template.",
|
|
216
271
|
"tags": [
|
|
@@ -222,9 +277,23 @@
|
|
|
222
277
|
],
|
|
223
278
|
"pack": "media",
|
|
224
279
|
"preview": {
|
|
225
|
-
"image": "assets/templates/@
|
|
280
|
+
"image": "assets/templates/@m0saic__media__qr__code__v2/preview.png"
|
|
226
281
|
}
|
|
227
282
|
},
|
|
283
|
+
{
|
|
284
|
+
"slug": "qr-code-v1",
|
|
285
|
+
"templateKey": "@m0saic/media/qr/code/v1",
|
|
286
|
+
"title": "QR Code",
|
|
287
|
+
"description": "Scannable QR from any text (URL, plain string, or structured payload). Defaults to the branded look — circle modules on a light card with the m0saic M carved in the centre; swap the centre asset and URL to make it yours. Square/rounded/circle module styles, light/dark/transparent card, optional spawn animation (Output mp4). The one standalone QR template.",
|
|
288
|
+
"tags": [
|
|
289
|
+
"brand",
|
|
290
|
+
"qr",
|
|
291
|
+
"marketers",
|
|
292
|
+
"designers",
|
|
293
|
+
"link"
|
|
294
|
+
],
|
|
295
|
+
"pack": "media"
|
|
296
|
+
},
|
|
228
297
|
{
|
|
229
298
|
"slug": "brand-qr",
|
|
230
299
|
"templateKey": "@m0saic/media/qr/basic/v1",
|
|
@@ -234,13 +303,28 @@
|
|
|
234
303
|
"brand",
|
|
235
304
|
"qr"
|
|
236
305
|
],
|
|
306
|
+
"pack": "media"
|
|
307
|
+
},
|
|
308
|
+
{
|
|
309
|
+
"slug": "barcode",
|
|
310
|
+
"templateKey": "@m0saic/media/barcode/v2",
|
|
311
|
+
"title": "Barcode",
|
|
312
|
+
"description": "Scannable 1D barcode (Code 128, EAN-13, UPC-A). Orange bars on light, dark, or transparent backgrounds, with an optional human-readable caption underneath. Double-click the barcode to change what it encodes.",
|
|
313
|
+
"tags": [
|
|
314
|
+
"media",
|
|
315
|
+
"barcode",
|
|
316
|
+
"designers",
|
|
317
|
+
"marketers",
|
|
318
|
+
"print",
|
|
319
|
+
"label"
|
|
320
|
+
],
|
|
237
321
|
"pack": "media",
|
|
238
322
|
"preview": {
|
|
239
|
-
"image": "assets/templates/@
|
|
323
|
+
"image": "assets/templates/@m0saic__media__barcode__v2/preview.png"
|
|
240
324
|
}
|
|
241
325
|
},
|
|
242
326
|
{
|
|
243
|
-
"slug": "barcode",
|
|
327
|
+
"slug": "barcode-v1",
|
|
244
328
|
"templateKey": "@m0saic/media/barcode/v1",
|
|
245
329
|
"title": "Barcode",
|
|
246
330
|
"description": "Scannable 1D barcode (Code 128, EAN-13, UPC-A). Orange bars on light, dark, or transparent backgrounds. Optional human-readable digit caption underneath.",
|
|
@@ -252,10 +336,7 @@
|
|
|
252
336
|
"print",
|
|
253
337
|
"label"
|
|
254
338
|
],
|
|
255
|
-
"pack": "media"
|
|
256
|
-
"preview": {
|
|
257
|
-
"image": "assets/templates/@m0saic__media__barcode__v1/preview.png"
|
|
258
|
-
}
|
|
339
|
+
"pack": "media"
|
|
259
340
|
},
|
|
260
341
|
{
|
|
261
342
|
"slug": "qr-rounded",
|
|
@@ -266,10 +347,7 @@
|
|
|
266
347
|
"brand",
|
|
267
348
|
"qr"
|
|
268
349
|
],
|
|
269
|
-
"pack": "media"
|
|
270
|
-
"preview": {
|
|
271
|
-
"image": "assets/templates/@m0saic__media__qr__rounded__v1/preview.png"
|
|
272
|
-
}
|
|
350
|
+
"pack": "media"
|
|
273
351
|
},
|
|
274
352
|
{
|
|
275
353
|
"slug": "qr-animate-tile-spawn",
|
|
@@ -298,14 +376,32 @@
|
|
|
298
376
|
"qr",
|
|
299
377
|
"animated"
|
|
300
378
|
],
|
|
379
|
+
"pack": "media"
|
|
380
|
+
},
|
|
381
|
+
{
|
|
382
|
+
"slug": "qr-stamp-custom",
|
|
383
|
+
"templateKey": "@m0saic/media/qr/stamp/v2",
|
|
384
|
+
"title": "QR Stamp",
|
|
385
|
+
"description": "Drop a QR onto any image or video. Same engine as the auto post-render watermark, exposed for direct use.",
|
|
386
|
+
"tags": [
|
|
387
|
+
"brand",
|
|
388
|
+
"qr",
|
|
389
|
+
"stamp",
|
|
390
|
+
"custom",
|
|
391
|
+
"marketers",
|
|
392
|
+
"creators",
|
|
393
|
+
"animated",
|
|
394
|
+
"link",
|
|
395
|
+
"video"
|
|
396
|
+
],
|
|
301
397
|
"pack": "media",
|
|
302
398
|
"preview": {
|
|
303
|
-
"video": "assets/templates/@
|
|
304
|
-
"poster": "assets/templates/@
|
|
399
|
+
"video": "assets/templates/@m0saic__media__qr__stamp__v2/preview.mp4",
|
|
400
|
+
"poster": "assets/templates/@m0saic__media__qr__stamp__v2/poster.png"
|
|
305
401
|
}
|
|
306
402
|
},
|
|
307
403
|
{
|
|
308
|
-
"slug": "qr-stamp-custom",
|
|
404
|
+
"slug": "qr-stamp-custom-v1",
|
|
309
405
|
"templateKey": "@m0saic/media/qr/stamp/v1",
|
|
310
406
|
"title": "QR Stamp",
|
|
311
407
|
"description": "Drop a QR onto any image or video. Same engine as the auto post-render attribution watermark, exposed for direct use — adaptive light/dark card, entrance fade, corner/size/margin knobs.",
|
|
@@ -320,11 +416,7 @@
|
|
|
320
416
|
"link",
|
|
321
417
|
"video"
|
|
322
418
|
],
|
|
323
|
-
"pack": "media"
|
|
324
|
-
"preview": {
|
|
325
|
-
"video": "assets/templates/@m0saic__media__qr__stamp__v1/preview.mp4",
|
|
326
|
-
"poster": "assets/templates/@m0saic__media__qr__stamp__v1/poster.png"
|
|
327
|
-
}
|
|
419
|
+
"pack": "media"
|
|
328
420
|
},
|
|
329
421
|
{
|
|
330
422
|
"slug": "qr-stamp-still",
|
|
@@ -354,11 +446,7 @@
|
|
|
354
446
|
"watermark",
|
|
355
447
|
"adaptive"
|
|
356
448
|
],
|
|
357
|
-
"pack": "media"
|
|
358
|
-
"preview": {
|
|
359
|
-
"video": "assets/templates/@m0saic__media__qr__stamp-video__v1/preview.mp4",
|
|
360
|
-
"poster": "assets/templates/@m0saic__media__qr__stamp-video__v1/poster.png"
|
|
361
|
-
}
|
|
449
|
+
"pack": "media"
|
|
362
450
|
},
|
|
363
451
|
{
|
|
364
452
|
"slug": "qr-stamp-video-animated",
|
|
@@ -389,11 +477,7 @@
|
|
|
389
477
|
"chart",
|
|
390
478
|
"data-viz"
|
|
391
479
|
],
|
|
392
|
-
"pack": "charts"
|
|
393
|
-
"preview": {
|
|
394
|
-
"video": "assets/templates/@m0saic__charts__bar-graph__v1/preview.mp4",
|
|
395
|
-
"poster": "assets/templates/@m0saic__charts__bar-graph__v1/poster.png"
|
|
396
|
-
}
|
|
480
|
+
"pack": "charts"
|
|
397
481
|
},
|
|
398
482
|
{
|
|
399
483
|
"slug": "donut-v2",
|
|
@@ -406,11 +490,7 @@
|
|
|
406
490
|
"distribution",
|
|
407
491
|
"data-viz"
|
|
408
492
|
],
|
|
409
|
-
"pack": "charts"
|
|
410
|
-
"preview": {
|
|
411
|
-
"video": "assets/templates/@m0saic__charts__donut__v2/preview.mp4",
|
|
412
|
-
"poster": "assets/templates/@m0saic__charts__donut__v2/poster.png"
|
|
413
|
-
}
|
|
493
|
+
"pack": "charts"
|
|
414
494
|
},
|
|
415
495
|
{
|
|
416
496
|
"slug": "benchmark-run",
|
|
@@ -432,6 +512,22 @@
|
|
|
432
512
|
},
|
|
433
513
|
{
|
|
434
514
|
"slug": "benchmark-report",
|
|
515
|
+
"templateKey": "@m0saic/benchmark/report/v2",
|
|
516
|
+
"title": "Benchmark — Report",
|
|
517
|
+
"description": "Renders the standard shareable benchmark results video from a session's benchmark.json: machine-specs header, score / total-time / scenarios KPIs (stat-card), and a per-scenario render-time bar chart (bar-graph). Pair with the benchmark runner.",
|
|
518
|
+
"tags": [
|
|
519
|
+
"developer",
|
|
520
|
+
"benchmark",
|
|
521
|
+
"report",
|
|
522
|
+
"dashboard",
|
|
523
|
+
"performance",
|
|
524
|
+
"developers",
|
|
525
|
+
"animated"
|
|
526
|
+
],
|
|
527
|
+
"pack": "benchmark"
|
|
528
|
+
},
|
|
529
|
+
{
|
|
530
|
+
"slug": "benchmark-report-v1",
|
|
435
531
|
"templateKey": "@m0saic/benchmark/report/v1",
|
|
436
532
|
"title": "Benchmark — Report",
|
|
437
533
|
"description": "Packages a benchmark session's benchmark.json (written by @m0saic/benchmark/run/v1) into the standard shareable results video: machine-specs header, three headline KPIs, and a per-scenario render-time bar chart composed from the charts pack.",
|
|
@@ -592,14 +688,16 @@
|
|
|
592
688
|
},
|
|
593
689
|
{
|
|
594
690
|
"slug": "ffmpeg-pulse-runner",
|
|
595
|
-
"templateKey": "@m0saic/hero/ffmpeg-pulse/runner/
|
|
691
|
+
"templateKey": "@m0saic/hero/ffmpeg-pulse/runner/v2",
|
|
596
692
|
"title": "Weekly Pulse · Runner",
|
|
597
|
-
"description": "FFmpeg Weekly Pulse — the runner. Sequences all eight beats into one cross-faded MosaicDocumentPipeline. Aspect-adaptive; per-beat durations as props.",
|
|
693
|
+
"description": "FFmpeg Weekly Pulse — the runner. Sequences all eight beats (title → kpi-overview → activity-trend → contributions → top-contributors → changes-breakdown → notable-commits → fin) into one cross-faded MosaicDocumentPipeline. Aspect-adaptive; per-beat durations as props.",
|
|
598
694
|
"tags": [
|
|
695
|
+
"data-viz",
|
|
599
696
|
"hero",
|
|
600
697
|
"ffmpeg-pulse",
|
|
601
698
|
"runner",
|
|
602
699
|
"pipeline",
|
|
700
|
+
"animated",
|
|
603
701
|
"developers",
|
|
604
702
|
"marketers",
|
|
605
703
|
"github",
|
|
@@ -608,10 +706,28 @@
|
|
|
608
706
|
],
|
|
609
707
|
"pack": "hero",
|
|
610
708
|
"preview": {
|
|
611
|
-
"video": "assets/templates/@m0saic__hero__ffmpeg-
|
|
612
|
-
"poster": "assets/templates/@m0saic__hero__ffmpeg-
|
|
709
|
+
"video": "assets/templates/@m0saic__hero__ffmpeg-pulse__runner__v2/preview.mp4",
|
|
710
|
+
"poster": "assets/templates/@m0saic__hero__ffmpeg-pulse__runner__v2/poster.png"
|
|
613
711
|
}
|
|
614
712
|
},
|
|
713
|
+
{
|
|
714
|
+
"slug": "ffmpeg-pulse-runner-v1",
|
|
715
|
+
"templateKey": "@m0saic/hero/ffmpeg-pulse/runner/v1",
|
|
716
|
+
"title": "Weekly Pulse · Runner",
|
|
717
|
+
"description": "FFmpeg Weekly Pulse — the runner. Sequences all eight beats into one cross-faded MosaicDocumentPipeline. Aspect-adaptive; per-beat durations as props.",
|
|
718
|
+
"tags": [
|
|
719
|
+
"hero",
|
|
720
|
+
"ffmpeg-pulse",
|
|
721
|
+
"runner",
|
|
722
|
+
"pipeline",
|
|
723
|
+
"developers",
|
|
724
|
+
"marketers",
|
|
725
|
+
"github",
|
|
726
|
+
"changelog",
|
|
727
|
+
"showcase"
|
|
728
|
+
],
|
|
729
|
+
"pack": "hero"
|
|
730
|
+
},
|
|
615
731
|
{
|
|
616
732
|
"slug": "ffmpeg-pulse-scatter-bake",
|
|
617
733
|
"templateKey": "@m0saic/hero/ffmpeg-pulse/scatter-bake/v1",
|
|
@@ -632,6 +748,27 @@
|
|
|
632
748
|
},
|
|
633
749
|
{
|
|
634
750
|
"slug": "bar-graph",
|
|
751
|
+
"templateKey": "@m0saic/charts/bar-graph/v3",
|
|
752
|
+
"title": "Bar Graph",
|
|
753
|
+
"description": "Canonical bar graph data-viz primitive (tight-rect geometry): vertical/horizontal, labels, presets, intro animation.",
|
|
754
|
+
"tags": [
|
|
755
|
+
"data-viz",
|
|
756
|
+
"bar-graph",
|
|
757
|
+
"animated",
|
|
758
|
+
"analysts",
|
|
759
|
+
"marketers",
|
|
760
|
+
"report",
|
|
761
|
+
"charts",
|
|
762
|
+
"chart"
|
|
763
|
+
],
|
|
764
|
+
"pack": "charts",
|
|
765
|
+
"preview": {
|
|
766
|
+
"video": "assets/templates/@m0saic__charts__bar-graph__v3/preview.mp4",
|
|
767
|
+
"poster": "assets/templates/@m0saic__charts__bar-graph__v3/poster.png"
|
|
768
|
+
}
|
|
769
|
+
},
|
|
770
|
+
{
|
|
771
|
+
"slug": "bar-graph-v2",
|
|
635
772
|
"templateKey": "@m0saic/charts/bar-graph/v2",
|
|
636
773
|
"title": "Bar Graph",
|
|
637
774
|
"description": "Canonical bar graph: vertical/horizontal, grid + L-axes, value + category labels, presets, grow-in animation. Tight-rect geometry — each bar a rect that hugs its drawn height (flat single doc, no nested composition).",
|
|
@@ -644,14 +781,31 @@
|
|
|
644
781
|
"marketers",
|
|
645
782
|
"report"
|
|
646
783
|
],
|
|
784
|
+
"pack": "charts"
|
|
785
|
+
},
|
|
786
|
+
{
|
|
787
|
+
"slug": "stat-card",
|
|
788
|
+
"templateKey": "@m0saic/charts/stat-card/v2",
|
|
789
|
+
"title": "KPI Stat Card",
|
|
790
|
+
"description": "Canonical KPI stat card: label, dominant value, delta (arrow + signed change), and sublabel. Building block of the repo-tracker hero.",
|
|
791
|
+
"tags": [
|
|
792
|
+
"data-viz",
|
|
793
|
+
"stat-card",
|
|
794
|
+
"kpi",
|
|
795
|
+
"animated",
|
|
796
|
+
"analysts",
|
|
797
|
+
"marketers",
|
|
798
|
+
"metric",
|
|
799
|
+
"charts"
|
|
800
|
+
],
|
|
647
801
|
"pack": "charts",
|
|
648
802
|
"preview": {
|
|
649
|
-
"video": "assets/templates/@
|
|
650
|
-
"poster": "assets/templates/@
|
|
803
|
+
"video": "assets/templates/@m0saic__charts__stat-card__v2/preview.mp4",
|
|
804
|
+
"poster": "assets/templates/@m0saic__charts__stat-card__v2/poster.png"
|
|
651
805
|
}
|
|
652
806
|
},
|
|
653
807
|
{
|
|
654
|
-
"slug": "stat-card",
|
|
808
|
+
"slug": "stat-card-v1",
|
|
655
809
|
"templateKey": "@m0saic/charts/stat-card/v1",
|
|
656
810
|
"title": "KPI Stat Card",
|
|
657
811
|
"description": "Canonical KPI stat card: label, dominant value, delta (arrow + signed change), and sublabel. Building block of the repo-tracker hero.",
|
|
@@ -664,14 +818,32 @@
|
|
|
664
818
|
"marketers",
|
|
665
819
|
"metric"
|
|
666
820
|
],
|
|
821
|
+
"pack": "charts"
|
|
822
|
+
},
|
|
823
|
+
{
|
|
824
|
+
"slug": "donut",
|
|
825
|
+
"templateKey": "@m0saic/charts/donut/v5",
|
|
826
|
+
"title": "Donut Chart",
|
|
827
|
+
"description": "Canonical donut chart: proportional ring + center total. v4 makes the premium sliver sweep RATIO via a self-framed coarse-quantize (a P-divisible S×S frame lets placeRects GCD-collapse on any canvas), so it composes at any size while keeping the smooth sweep + tight rasters. Building block of the repo-tracker hero.",
|
|
828
|
+
"tags": [
|
|
829
|
+
"data-viz",
|
|
830
|
+
"donut",
|
|
831
|
+
"distribution",
|
|
832
|
+
"animated",
|
|
833
|
+
"analysts",
|
|
834
|
+
"marketers",
|
|
835
|
+
"share",
|
|
836
|
+
"charts"
|
|
837
|
+
],
|
|
667
838
|
"pack": "charts",
|
|
668
839
|
"preview": {
|
|
669
|
-
"
|
|
670
|
-
"
|
|
840
|
+
"image": "assets/templates/@m0saic__charts__donut__v5/preview.png",
|
|
841
|
+
"video": "assets/templates/@m0saic__charts__donut__v5/preview.mp4",
|
|
842
|
+
"poster": "assets/templates/@m0saic__charts__donut__v5/poster.png"
|
|
671
843
|
}
|
|
672
844
|
},
|
|
673
845
|
{
|
|
674
|
-
"slug": "donut",
|
|
846
|
+
"slug": "donut-v4",
|
|
675
847
|
"templateKey": "@m0saic/charts/donut/v4",
|
|
676
848
|
"title": "Donut Chart",
|
|
677
849
|
"description": "Canonical donut chart: proportional ring + dominant center total. v4 makes the premium sliver sweep ratio via a self-framed coarse-quantize, so it composes at any canvas while keeping the smooth sweep + tight rasters.",
|
|
@@ -684,12 +856,7 @@
|
|
|
684
856
|
"marketers",
|
|
685
857
|
"share"
|
|
686
858
|
],
|
|
687
|
-
"pack": "charts"
|
|
688
|
-
"preview": {
|
|
689
|
-
"image": "assets/templates/@m0saic__charts__donut__v4/preview.png",
|
|
690
|
-
"video": "assets/templates/@m0saic__charts__donut__v4/preview.mp4",
|
|
691
|
-
"poster": "assets/templates/@m0saic__charts__donut__v4/poster.png"
|
|
692
|
-
}
|
|
859
|
+
"pack": "charts"
|
|
693
860
|
},
|
|
694
861
|
{
|
|
695
862
|
"slug": "donut-v3",
|
|
@@ -702,11 +869,7 @@
|
|
|
702
869
|
"distribution",
|
|
703
870
|
"data-viz"
|
|
704
871
|
],
|
|
705
|
-
"pack": "charts"
|
|
706
|
-
"preview": {
|
|
707
|
-
"video": "assets/templates/@m0saic__charts__donut__v3/preview.mp4",
|
|
708
|
-
"poster": "assets/templates/@m0saic__charts__donut__v3/poster.png"
|
|
709
|
-
}
|
|
872
|
+
"pack": "charts"
|
|
710
873
|
},
|
|
711
874
|
{
|
|
712
875
|
"slug": "donut-v1",
|
|
@@ -719,15 +882,31 @@
|
|
|
719
882
|
"distribution",
|
|
720
883
|
"data-viz"
|
|
721
884
|
],
|
|
885
|
+
"pack": "charts"
|
|
886
|
+
},
|
|
887
|
+
{
|
|
888
|
+
"slug": "line-chart",
|
|
889
|
+
"templateKey": "@m0saic/charts/line-chart/v2",
|
|
890
|
+
"title": "Line Chart",
|
|
891
|
+
"description": "Canonical line-chart data-viz primitive: multi-series, full axis/line/point control, transparent/solid/image backgrounds.",
|
|
892
|
+
"tags": [
|
|
893
|
+
"data-viz",
|
|
894
|
+
"line-chart",
|
|
895
|
+
"animated",
|
|
896
|
+
"analysts",
|
|
897
|
+
"marketers",
|
|
898
|
+
"trend",
|
|
899
|
+
"charts"
|
|
900
|
+
],
|
|
722
901
|
"pack": "charts",
|
|
723
902
|
"preview": {
|
|
724
|
-
"image": "assets/templates/@
|
|
725
|
-
"video": "assets/templates/@
|
|
726
|
-
"poster": "assets/templates/@
|
|
903
|
+
"image": "assets/templates/@m0saic__charts__line-chart__v2/preview.png",
|
|
904
|
+
"video": "assets/templates/@m0saic__charts__line-chart__v2/preview.mp4",
|
|
905
|
+
"poster": "assets/templates/@m0saic__charts__line-chart__v2/poster.png"
|
|
727
906
|
}
|
|
728
907
|
},
|
|
729
908
|
{
|
|
730
|
-
"slug": "line-chart",
|
|
909
|
+
"slug": "line-chart-v1",
|
|
731
910
|
"templateKey": "@m0saic/charts/line-chart/v1",
|
|
732
911
|
"title": "Line Chart",
|
|
733
912
|
"description": "Canonical line-chart data-viz primitive: multi-series, full axis/line/point control, and transparent/solid/image backgrounds. The base every dashboard/report composes.",
|
|
@@ -739,12 +918,7 @@
|
|
|
739
918
|
"marketers",
|
|
740
919
|
"trend"
|
|
741
920
|
],
|
|
742
|
-
"pack": "charts"
|
|
743
|
-
"preview": {
|
|
744
|
-
"image": "assets/templates/@m0saic__charts__line-chart__v1/preview.png",
|
|
745
|
-
"video": "assets/templates/@m0saic__charts__line-chart__v1/preview.mp4",
|
|
746
|
-
"poster": "assets/templates/@m0saic__charts__line-chart__v1/poster.png"
|
|
747
|
-
}
|
|
921
|
+
"pack": "charts"
|
|
748
922
|
},
|
|
749
923
|
{
|
|
750
924
|
"slug": "line-chart-chrome",
|
|
@@ -841,7 +1015,30 @@
|
|
|
841
1015
|
},
|
|
842
1016
|
{
|
|
843
1017
|
"slug": "bar-graph",
|
|
844
|
-
"templateKey": "@m0saic/alpine/bar-graph/
|
|
1018
|
+
"templateKey": "@m0saic/alpine/bar-graph/v2",
|
|
1019
|
+
"title": "Alpine Bar Chart",
|
|
1020
|
+
"description": "Alpine horizontal bar chart — friendly mobile-marketing card: rounded bars, category rail, inline values, value ticks.",
|
|
1021
|
+
"tags": [
|
|
1022
|
+
"data-viz",
|
|
1023
|
+
"alpine",
|
|
1024
|
+
"bar-graph",
|
|
1025
|
+
"animated",
|
|
1026
|
+
"analysts",
|
|
1027
|
+
"developers",
|
|
1028
|
+
"dashboard",
|
|
1029
|
+
"report",
|
|
1030
|
+
"chart"
|
|
1031
|
+
],
|
|
1032
|
+
"pack": "alpine",
|
|
1033
|
+
"preview": {
|
|
1034
|
+
"image": "assets/templates/@m0saic__alpine__bar-graph__v2/preview.png",
|
|
1035
|
+
"video": "assets/templates/@m0saic__alpine__bar-graph__v2/preview.mp4",
|
|
1036
|
+
"poster": "assets/templates/@m0saic__alpine__bar-graph__v2/poster.png"
|
|
1037
|
+
}
|
|
1038
|
+
},
|
|
1039
|
+
{
|
|
1040
|
+
"slug": "bar-graph-v1",
|
|
1041
|
+
"templateKey": "@m0saic/alpine/bar-graph/v1",
|
|
845
1042
|
"title": "Alpine Bar Chart",
|
|
846
1043
|
"description": "Alpine horizontal bar chart — friendly mobile-marketing card: white rounded surface, category rail, rounded bars, inline values, value-tick band. Standalone Alpine brand flavor (not a re-skin of charts/bar-graph).",
|
|
847
1044
|
"tags": [
|
|
@@ -854,15 +1051,33 @@
|
|
|
854
1051
|
"dashboard",
|
|
855
1052
|
"report"
|
|
856
1053
|
],
|
|
1054
|
+
"pack": "alpine"
|
|
1055
|
+
},
|
|
1056
|
+
{
|
|
1057
|
+
"slug": "donut",
|
|
1058
|
+
"templateKey": "@m0saic/alpine/donut/v4",
|
|
1059
|
+
"title": "Alpine Donut Chart",
|
|
1060
|
+
"description": "Alpine donut chart — friendly mobile-marketing card: proportional ring, center value + label, side legend. v3's premium mode does the full clockwise radial SWEEP (self-framed coarse-quantize) — smooth draw-on that still composes at any canvas; light mode stays the composable per-segment path.",
|
|
1061
|
+
"tags": [
|
|
1062
|
+
"data-viz",
|
|
1063
|
+
"alpine",
|
|
1064
|
+
"donut",
|
|
1065
|
+
"distribution",
|
|
1066
|
+
"animated",
|
|
1067
|
+
"analysts",
|
|
1068
|
+
"marketers",
|
|
1069
|
+
"dashboard",
|
|
1070
|
+
"share"
|
|
1071
|
+
],
|
|
857
1072
|
"pack": "alpine",
|
|
858
1073
|
"preview": {
|
|
859
|
-
"image": "assets/templates/@
|
|
860
|
-
"video": "assets/templates/@
|
|
861
|
-
"poster": "assets/templates/@
|
|
1074
|
+
"image": "assets/templates/@m0saic__alpine__donut__v4/preview.png",
|
|
1075
|
+
"video": "assets/templates/@m0saic__alpine__donut__v4/preview.mp4",
|
|
1076
|
+
"poster": "assets/templates/@m0saic__alpine__donut__v4/poster.png"
|
|
862
1077
|
}
|
|
863
1078
|
},
|
|
864
1079
|
{
|
|
865
|
-
"slug": "donut",
|
|
1080
|
+
"slug": "donut-v3",
|
|
866
1081
|
"templateKey": "@m0saic/alpine/donut/v3",
|
|
867
1082
|
"title": "Alpine Donut Chart",
|
|
868
1083
|
"description": "Alpine donut chart — friendly mobile-marketing card: proportional ring, center value + label, side legend. v3's premium mode does the full clockwise radial SWEEP (self-framed coarse-quantize — a smooth draw-on that still composes at any canvas); light mode stays the composable per-segment path.",
|
|
@@ -876,12 +1091,7 @@
|
|
|
876
1091
|
"dashboard",
|
|
877
1092
|
"share"
|
|
878
1093
|
],
|
|
879
|
-
"pack": "alpine"
|
|
880
|
-
"preview": {
|
|
881
|
-
"image": "assets/templates/@m0saic__alpine__donut__v3/preview.png",
|
|
882
|
-
"video": "assets/templates/@m0saic__alpine__donut__v3/preview.mp4",
|
|
883
|
-
"poster": "assets/templates/@m0saic__alpine__donut__v3/poster.png"
|
|
884
|
-
}
|
|
1094
|
+
"pack": "alpine"
|
|
885
1095
|
},
|
|
886
1096
|
{
|
|
887
1097
|
"slug": "donut-v1",
|
|
@@ -894,12 +1104,7 @@
|
|
|
894
1104
|
"distribution",
|
|
895
1105
|
"data-viz"
|
|
896
1106
|
],
|
|
897
|
-
"pack": "alpine"
|
|
898
|
-
"preview": {
|
|
899
|
-
"image": "assets/templates/@m0saic__alpine__donut__v1/preview.png",
|
|
900
|
-
"video": "assets/templates/@m0saic__alpine__donut__v1/preview.mp4",
|
|
901
|
-
"poster": "assets/templates/@m0saic__alpine__donut__v1/poster.png"
|
|
902
|
-
}
|
|
1107
|
+
"pack": "alpine"
|
|
903
1108
|
},
|
|
904
1109
|
{
|
|
905
1110
|
"slug": "donut-v2",
|
|
@@ -912,15 +1117,33 @@
|
|
|
912
1117
|
"distribution",
|
|
913
1118
|
"data-viz"
|
|
914
1119
|
],
|
|
1120
|
+
"pack": "alpine"
|
|
1121
|
+
},
|
|
1122
|
+
{
|
|
1123
|
+
"slug": "line-chart",
|
|
1124
|
+
"templateKey": "@m0saic/alpine/line-chart/v3",
|
|
1125
|
+
"title": "Alpine Line Chart",
|
|
1126
|
+
"description": "Alpine line/area chart — friendly mobile-marketing card: soft area fill, rounded line, point markers, value rail, left→right draw-on. Standalone Alpine brand flavor. v2 rebuilds the geometry as a ratio layout (plot marks are masks filling a ratio plot cell in plot-local coords) so it composes at any canvas without the absolute-placement precision blowup.",
|
|
1127
|
+
"tags": [
|
|
1128
|
+
"data-viz",
|
|
1129
|
+
"alpine",
|
|
1130
|
+
"line-chart",
|
|
1131
|
+
"animated",
|
|
1132
|
+
"analysts",
|
|
1133
|
+
"developers",
|
|
1134
|
+
"trend",
|
|
1135
|
+
"dashboard",
|
|
1136
|
+
"chart"
|
|
1137
|
+
],
|
|
915
1138
|
"pack": "alpine",
|
|
916
1139
|
"preview": {
|
|
917
|
-
"image": "assets/templates/@
|
|
918
|
-
"video": "assets/templates/@
|
|
919
|
-
"poster": "assets/templates/@
|
|
1140
|
+
"image": "assets/templates/@m0saic__alpine__line-chart__v3/preview.png",
|
|
1141
|
+
"video": "assets/templates/@m0saic__alpine__line-chart__v3/preview.mp4",
|
|
1142
|
+
"poster": "assets/templates/@m0saic__alpine__line-chart__v3/poster.png"
|
|
920
1143
|
}
|
|
921
1144
|
},
|
|
922
1145
|
{
|
|
923
|
-
"slug": "line-chart",
|
|
1146
|
+
"slug": "line-chart-v2",
|
|
924
1147
|
"templateKey": "@m0saic/alpine/line-chart/v2",
|
|
925
1148
|
"title": "Alpine Line Chart",
|
|
926
1149
|
"description": "Alpine line/area chart — friendly mobile-marketing card: soft area fill, rounded line, point markers, value rail, left→right draw-on. Standalone Alpine brand flavor. v2 rebuilds the geometry as a ratio layout (plot marks are masks filling a ratio plot cell) so it composes at any canvas without the absolute-placement precision blowup.",
|
|
@@ -934,12 +1157,7 @@
|
|
|
934
1157
|
"trend",
|
|
935
1158
|
"dashboard"
|
|
936
1159
|
],
|
|
937
|
-
"pack": "alpine"
|
|
938
|
-
"preview": {
|
|
939
|
-
"image": "assets/templates/@m0saic__alpine__line-chart__v2/preview.png",
|
|
940
|
-
"video": "assets/templates/@m0saic__alpine__line-chart__v2/preview.mp4",
|
|
941
|
-
"poster": "assets/templates/@m0saic__alpine__line-chart__v2/poster.png"
|
|
942
|
-
}
|
|
1160
|
+
"pack": "alpine"
|
|
943
1161
|
},
|
|
944
1162
|
{
|
|
945
1163
|
"slug": "line-chart-v1",
|
|
@@ -952,15 +1170,33 @@
|
|
|
952
1170
|
"chart",
|
|
953
1171
|
"data-viz"
|
|
954
1172
|
],
|
|
1173
|
+
"pack": "alpine"
|
|
1174
|
+
},
|
|
1175
|
+
{
|
|
1176
|
+
"slug": "kpi-card",
|
|
1177
|
+
"templateKey": "@m0saic/alpine/kpi-card/v3",
|
|
1178
|
+
"title": "Alpine KPI Card",
|
|
1179
|
+
"description": "Alpine KPI / stat card — friendly mobile-marketing card: muted label, count-up value, soft delta pill (arrow + change), sublabel, optional sparkline. Every line is editable on the canvas, and the card composes at any size.",
|
|
1180
|
+
"tags": [
|
|
1181
|
+
"data-viz",
|
|
1182
|
+
"alpine",
|
|
1183
|
+
"kpi",
|
|
1184
|
+
"stat-card",
|
|
1185
|
+
"animated",
|
|
1186
|
+
"analysts",
|
|
1187
|
+
"marketers",
|
|
1188
|
+
"metric",
|
|
1189
|
+
"dashboard"
|
|
1190
|
+
],
|
|
955
1191
|
"pack": "alpine",
|
|
956
1192
|
"preview": {
|
|
957
|
-
"image": "assets/templates/@
|
|
958
|
-
"video": "assets/templates/@
|
|
959
|
-
"poster": "assets/templates/@
|
|
1193
|
+
"image": "assets/templates/@m0saic__alpine__kpi-card__v3/preview.png",
|
|
1194
|
+
"video": "assets/templates/@m0saic__alpine__kpi-card__v3/preview.mp4",
|
|
1195
|
+
"poster": "assets/templates/@m0saic__alpine__kpi-card__v3/poster.png"
|
|
960
1196
|
}
|
|
961
1197
|
},
|
|
962
1198
|
{
|
|
963
|
-
"slug": "kpi-card",
|
|
1199
|
+
"slug": "kpi-card-v2",
|
|
964
1200
|
"templateKey": "@m0saic/alpine/kpi-card/v2",
|
|
965
1201
|
"title": "Alpine KPI Card",
|
|
966
1202
|
"description": "Alpine KPI / stat card — friendly mobile-marketing card: muted label, count-up value, soft delta pill (arrow + change), sublabel, optional sparkline. Standalone Alpine brand flavor. v2 rebuilds the sparkline as a ratio band so the whole card composes at any canvas without the absolute-placement precision blowup.",
|
|
@@ -974,12 +1210,7 @@
|
|
|
974
1210
|
"metric",
|
|
975
1211
|
"dashboard"
|
|
976
1212
|
],
|
|
977
|
-
"pack": "alpine"
|
|
978
|
-
"preview": {
|
|
979
|
-
"image": "assets/templates/@m0saic__alpine__kpi-card__v2/preview.png",
|
|
980
|
-
"video": "assets/templates/@m0saic__alpine__kpi-card__v2/preview.mp4",
|
|
981
|
-
"poster": "assets/templates/@m0saic__alpine__kpi-card__v2/poster.png"
|
|
982
|
-
}
|
|
1213
|
+
"pack": "alpine"
|
|
983
1214
|
},
|
|
984
1215
|
{
|
|
985
1216
|
"slug": "kpi-card-v1",
|
|
@@ -992,15 +1223,35 @@
|
|
|
992
1223
|
"stat-card",
|
|
993
1224
|
"data-viz"
|
|
994
1225
|
],
|
|
1226
|
+
"pack": "alpine"
|
|
1227
|
+
},
|
|
1228
|
+
{
|
|
1229
|
+
"slug": "stat-card",
|
|
1230
|
+
"templateKey": "@m0saic/alpine/stat-card/v2",
|
|
1231
|
+
"title": "Alpine Stat Card",
|
|
1232
|
+
"description": "Alpine KPI stat card — friendly mobile-marketing card: accent icon + muted label, dominant count-up value, SVG-triangle delta (green up / red down) + sublabel. Light by default; \"dark\" preset for the night look (the FFmpeg Weekly Pulse hero passes preset:\"dark\" + its own accent/card).",
|
|
1233
|
+
"tags": [
|
|
1234
|
+
"data-viz",
|
|
1235
|
+
"alpine",
|
|
1236
|
+
"stat-card",
|
|
1237
|
+
"kpi",
|
|
1238
|
+
"animated",
|
|
1239
|
+
"analysts",
|
|
1240
|
+
"marketers",
|
|
1241
|
+
"metric",
|
|
1242
|
+
"number",
|
|
1243
|
+
"hero",
|
|
1244
|
+
"dark"
|
|
1245
|
+
],
|
|
995
1246
|
"pack": "alpine",
|
|
996
1247
|
"preview": {
|
|
997
|
-
"image": "assets/templates/@
|
|
998
|
-
"video": "assets/templates/@
|
|
999
|
-
"poster": "assets/templates/@
|
|
1248
|
+
"image": "assets/templates/@m0saic__alpine__stat-card__v2/preview.png",
|
|
1249
|
+
"video": "assets/templates/@m0saic__alpine__stat-card__v2/preview.mp4",
|
|
1250
|
+
"poster": "assets/templates/@m0saic__alpine__stat-card__v2/poster.png"
|
|
1000
1251
|
}
|
|
1001
1252
|
},
|
|
1002
1253
|
{
|
|
1003
|
-
"slug": "stat-card",
|
|
1254
|
+
"slug": "stat-card-v1",
|
|
1004
1255
|
"templateKey": "@m0saic/alpine/stat-card/v1",
|
|
1005
1256
|
"title": "Hero KPI Stat Card",
|
|
1006
1257
|
"description": "Hero-styled KPI stat card (Alpine pack): rounded dark card, green accent icon + label, dominant count-up value, SVG-triangle delta (green up / red down) + sublabel. The KPI tile for the FFmpeg Weekly Pulse beats.",
|
|
@@ -1015,15 +1266,34 @@
|
|
|
1015
1266
|
"metric",
|
|
1016
1267
|
"number"
|
|
1017
1268
|
],
|
|
1269
|
+
"pack": "alpine"
|
|
1270
|
+
},
|
|
1271
|
+
{
|
|
1272
|
+
"slug": "contributor-table",
|
|
1273
|
+
"templateKey": "@m0saic/alpine/contributor-table/v2",
|
|
1274
|
+
"title": "Alpine Contributor Table",
|
|
1275
|
+
"description": "Alpine contributor table — friendly mobile-marketing card: a ranked multi-column table (rank · avatar · name + arbitrary right-aligned value columns), icon + title header, top-N accent wash, count-up values. Alpine-light by default; the FFmpeg Weekly Pulse uses preset:\"dark\".",
|
|
1276
|
+
"tags": [
|
|
1277
|
+
"data-viz",
|
|
1278
|
+
"alpine",
|
|
1279
|
+
"contributor-table",
|
|
1280
|
+
"ranking",
|
|
1281
|
+
"table",
|
|
1282
|
+
"animated",
|
|
1283
|
+
"developers",
|
|
1284
|
+
"analysts",
|
|
1285
|
+
"team",
|
|
1286
|
+
"open-source"
|
|
1287
|
+
],
|
|
1018
1288
|
"pack": "alpine",
|
|
1019
1289
|
"preview": {
|
|
1020
|
-
"image": "assets/templates/@
|
|
1021
|
-
"video": "assets/templates/@
|
|
1022
|
-
"poster": "assets/templates/@
|
|
1290
|
+
"image": "assets/templates/@m0saic__alpine__contributor-table__v2/preview.png",
|
|
1291
|
+
"video": "assets/templates/@m0saic__alpine__contributor-table__v2/preview.mp4",
|
|
1292
|
+
"poster": "assets/templates/@m0saic__alpine__contributor-table__v2/poster.png"
|
|
1023
1293
|
}
|
|
1024
1294
|
},
|
|
1025
1295
|
{
|
|
1026
|
-
"slug": "contributor-table",
|
|
1296
|
+
"slug": "contributor-table-v1",
|
|
1027
1297
|
"templateKey": "@m0saic/alpine/contributor-table/v1",
|
|
1028
1298
|
"title": "Alpine Contributor Table",
|
|
1029
1299
|
"description": "Alpine contributor table — friendly mobile-marketing card: a ranked multi-column table (rank · avatar · name + arbitrary value columns), icon + title header, top-N accent wash, count-up values. Alpine-light by default; the FFmpeg hero uses preset:\"dark\".",
|
|
@@ -1038,15 +1308,34 @@
|
|
|
1038
1308
|
"team",
|
|
1039
1309
|
"open-source"
|
|
1040
1310
|
],
|
|
1311
|
+
"pack": "alpine"
|
|
1312
|
+
},
|
|
1313
|
+
{
|
|
1314
|
+
"slug": "commit-feed",
|
|
1315
|
+
"templateKey": "@m0saic/alpine/commit-feed/v3",
|
|
1316
|
+
"title": "Alpine Commit Feed",
|
|
1317
|
+
"description": "Alpine commit feed — friendly mobile-marketing card: a scannable list of notable commits (kind icon + title + PR, area chip + author + reviewers + date) with a signal status bar (green win / amber warn / neutral). Alpine-light by default; the FFmpeg Weekly Pulse uses preset:\"dark\". v2 rebuilds the geometry as a RATIO layout (nested row/col splits with proportional weights) so it composes at any canvas without the absolute-placement precision blowup.",
|
|
1318
|
+
"tags": [
|
|
1319
|
+
"data-viz",
|
|
1320
|
+
"alpine",
|
|
1321
|
+
"commit-feed",
|
|
1322
|
+
"feed",
|
|
1323
|
+
"list",
|
|
1324
|
+
"animated",
|
|
1325
|
+
"developers",
|
|
1326
|
+
"analysts",
|
|
1327
|
+
"git",
|
|
1328
|
+
"changelog"
|
|
1329
|
+
],
|
|
1041
1330
|
"pack": "alpine",
|
|
1042
1331
|
"preview": {
|
|
1043
|
-
"image": "assets/templates/@
|
|
1044
|
-
"video": "assets/templates/@
|
|
1045
|
-
"poster": "assets/templates/@
|
|
1332
|
+
"image": "assets/templates/@m0saic__alpine__commit-feed__v3/preview.png",
|
|
1333
|
+
"video": "assets/templates/@m0saic__alpine__commit-feed__v3/preview.mp4",
|
|
1334
|
+
"poster": "assets/templates/@m0saic__alpine__commit-feed__v3/poster.png"
|
|
1046
1335
|
}
|
|
1047
1336
|
},
|
|
1048
1337
|
{
|
|
1049
|
-
"slug": "commit-feed",
|
|
1338
|
+
"slug": "commit-feed-v2",
|
|
1050
1339
|
"templateKey": "@m0saic/alpine/commit-feed/v2",
|
|
1051
1340
|
"title": "Alpine Commit Feed",
|
|
1052
1341
|
"description": "Alpine commit feed — friendly mobile-marketing card: a scannable list of notable commits (kind icon + title + PR, area chip + author + reviewers + date) with a signal status bar. Alpine-light by default; the FFmpeg hero uses preset:\"dark\". v2 rebuilds the geometry as a ratio layout (nested proportional splits) so it composes at any canvas without the absolute-placement precision blowup.",
|
|
@@ -1061,12 +1350,7 @@
|
|
|
1061
1350
|
"git",
|
|
1062
1351
|
"changelog"
|
|
1063
1352
|
],
|
|
1064
|
-
"pack": "alpine"
|
|
1065
|
-
"preview": {
|
|
1066
|
-
"image": "assets/templates/@m0saic__alpine__commit-feed__v2/preview.png",
|
|
1067
|
-
"video": "assets/templates/@m0saic__alpine__commit-feed__v2/preview.mp4",
|
|
1068
|
-
"poster": "assets/templates/@m0saic__alpine__commit-feed__v2/poster.png"
|
|
1069
|
-
}
|
|
1353
|
+
"pack": "alpine"
|
|
1070
1354
|
},
|
|
1071
1355
|
{
|
|
1072
1356
|
"slug": "commit-feed-v1",
|
|
@@ -1080,15 +1364,33 @@
|
|
|
1080
1364
|
"list",
|
|
1081
1365
|
"data-viz"
|
|
1082
1366
|
],
|
|
1367
|
+
"pack": "alpine"
|
|
1368
|
+
},
|
|
1369
|
+
{
|
|
1370
|
+
"slug": "progress-card",
|
|
1371
|
+
"templateKey": "@m0saic/alpine/progress-card/v2",
|
|
1372
|
+
"title": "Alpine Progress Card",
|
|
1373
|
+
"description": "Alpine progress card — friendly mobile-marketing card: a list of goal rows, each a label + value over a rounded track with a colored fill grown to its fraction. Standalone Alpine brand flavor.",
|
|
1374
|
+
"tags": [
|
|
1375
|
+
"data-viz",
|
|
1376
|
+
"alpine",
|
|
1377
|
+
"progress",
|
|
1378
|
+
"goals",
|
|
1379
|
+
"animated",
|
|
1380
|
+
"analysts",
|
|
1381
|
+
"marketers",
|
|
1382
|
+
"goal",
|
|
1383
|
+
"milestone"
|
|
1384
|
+
],
|
|
1083
1385
|
"pack": "alpine",
|
|
1084
1386
|
"preview": {
|
|
1085
|
-
"image": "assets/templates/@
|
|
1086
|
-
"video": "assets/templates/@
|
|
1087
|
-
"poster": "assets/templates/@
|
|
1387
|
+
"image": "assets/templates/@m0saic__alpine__progress-card__v2/preview.png",
|
|
1388
|
+
"video": "assets/templates/@m0saic__alpine__progress-card__v2/preview.mp4",
|
|
1389
|
+
"poster": "assets/templates/@m0saic__alpine__progress-card__v2/poster.png"
|
|
1088
1390
|
}
|
|
1089
1391
|
},
|
|
1090
1392
|
{
|
|
1091
|
-
"slug": "progress-card",
|
|
1393
|
+
"slug": "progress-card-v1",
|
|
1092
1394
|
"templateKey": "@m0saic/alpine/progress-card/v1",
|
|
1093
1395
|
"title": "Alpine Progress Card",
|
|
1094
1396
|
"description": "Alpine progress card — friendly mobile-marketing card: a list of goal rows, each a label + value over a rounded track with a colored fill grown to its fraction. Standalone Alpine brand flavor.",
|
|
@@ -1102,15 +1404,32 @@
|
|
|
1102
1404
|
"goal",
|
|
1103
1405
|
"milestone"
|
|
1104
1406
|
],
|
|
1407
|
+
"pack": "alpine"
|
|
1408
|
+
},
|
|
1409
|
+
{
|
|
1410
|
+
"slug": "leaderboard",
|
|
1411
|
+
"templateKey": "@m0saic/alpine/leaderboard/v2",
|
|
1412
|
+
"title": "Alpine Leaderboard",
|
|
1413
|
+
"description": "Alpine leaderboard — friendly mobile-marketing card: a ranked list with gold/silver/bronze rank badges, names, count-up values, and a soft podium tint. Standalone Alpine brand flavor.",
|
|
1414
|
+
"tags": [
|
|
1415
|
+
"data-viz",
|
|
1416
|
+
"alpine",
|
|
1417
|
+
"leaderboard",
|
|
1418
|
+
"ranking",
|
|
1419
|
+
"animated",
|
|
1420
|
+
"analysts",
|
|
1421
|
+
"creators",
|
|
1422
|
+
"top-10"
|
|
1423
|
+
],
|
|
1105
1424
|
"pack": "alpine",
|
|
1106
1425
|
"preview": {
|
|
1107
|
-
"image": "assets/templates/@
|
|
1108
|
-
"video": "assets/templates/@
|
|
1109
|
-
"poster": "assets/templates/@
|
|
1426
|
+
"image": "assets/templates/@m0saic__alpine__leaderboard__v2/preview.png",
|
|
1427
|
+
"video": "assets/templates/@m0saic__alpine__leaderboard__v2/preview.mp4",
|
|
1428
|
+
"poster": "assets/templates/@m0saic__alpine__leaderboard__v2/poster.png"
|
|
1110
1429
|
}
|
|
1111
1430
|
},
|
|
1112
1431
|
{
|
|
1113
|
-
"slug": "leaderboard",
|
|
1432
|
+
"slug": "leaderboard-v1",
|
|
1114
1433
|
"templateKey": "@m0saic/alpine/leaderboard/v1",
|
|
1115
1434
|
"title": "Alpine Leaderboard",
|
|
1116
1435
|
"description": "Alpine leaderboard — friendly mobile-marketing card: a ranked list with gold/silver/bronze rank badges, names, count-up values, and a soft podium tint. Standalone Alpine brand flavor.",
|
|
@@ -1123,15 +1442,33 @@
|
|
|
1123
1442
|
"creators",
|
|
1124
1443
|
"top-10"
|
|
1125
1444
|
],
|
|
1445
|
+
"pack": "alpine"
|
|
1446
|
+
},
|
|
1447
|
+
{
|
|
1448
|
+
"slug": "heatmap",
|
|
1449
|
+
"templateKey": "@m0saic/alpine/heatmap/v3",
|
|
1450
|
+
"title": "Alpine Heatmap",
|
|
1451
|
+
"description": "Alpine heatmap — friendly mobile-marketing card: a rows×cols grid of rounded cells colored on a single-hue intensity scale, with row/column labels and a Less→More legend. v2 rebuilds the geometry as a RATIO layout (clean grid() cells; gaps applied as lattice-retargeted source insets, exact at every canvas), so it composes anywhere without the coprime-pixel precision blowup. Generalizes the GitHub contribution calendar.",
|
|
1452
|
+
"tags": [
|
|
1453
|
+
"data-viz",
|
|
1454
|
+
"alpine",
|
|
1455
|
+
"heatmap",
|
|
1456
|
+
"matrix",
|
|
1457
|
+
"animated",
|
|
1458
|
+
"analysts",
|
|
1459
|
+
"developers",
|
|
1460
|
+
"activity",
|
|
1461
|
+
"calendar"
|
|
1462
|
+
],
|
|
1126
1463
|
"pack": "alpine",
|
|
1127
1464
|
"preview": {
|
|
1128
|
-
"image": "assets/templates/@
|
|
1129
|
-
"video": "assets/templates/@
|
|
1130
|
-
"poster": "assets/templates/@
|
|
1465
|
+
"image": "assets/templates/@m0saic__alpine__heatmap__v3/preview.png",
|
|
1466
|
+
"video": "assets/templates/@m0saic__alpine__heatmap__v3/preview.mp4",
|
|
1467
|
+
"poster": "assets/templates/@m0saic__alpine__heatmap__v3/poster.png"
|
|
1131
1468
|
}
|
|
1132
1469
|
},
|
|
1133
1470
|
{
|
|
1134
|
-
"slug": "heatmap",
|
|
1471
|
+
"slug": "heatmap-v2",
|
|
1135
1472
|
"templateKey": "@m0saic/alpine/heatmap/v2",
|
|
1136
1473
|
"title": "Alpine Heatmap",
|
|
1137
1474
|
"description": "Alpine heatmap — friendly mobile-marketing card: a rows×cols grid of rounded cells on a single-hue intensity scale, with row/column labels and a Less→More legend. Generalizes the GitHub contribution calendar. Standalone Alpine brand flavor. v2 rebuilds the geometry as a ratio layout (gutterless grid + gaps as source insets) so it composes at any canvas without the absolute-placement precision blowup.",
|
|
@@ -1145,12 +1482,7 @@
|
|
|
1145
1482
|
"activity",
|
|
1146
1483
|
"calendar"
|
|
1147
1484
|
],
|
|
1148
|
-
"pack": "alpine"
|
|
1149
|
-
"preview": {
|
|
1150
|
-
"image": "assets/templates/@m0saic__alpine__heatmap__v2/preview.png",
|
|
1151
|
-
"video": "assets/templates/@m0saic__alpine__heatmap__v2/preview.mp4",
|
|
1152
|
-
"poster": "assets/templates/@m0saic__alpine__heatmap__v2/poster.png"
|
|
1153
|
-
}
|
|
1485
|
+
"pack": "alpine"
|
|
1154
1486
|
},
|
|
1155
1487
|
{
|
|
1156
1488
|
"slug": "heatmap-v1",
|
|
@@ -1163,15 +1495,32 @@
|
|
|
1163
1495
|
"matrix",
|
|
1164
1496
|
"data-viz"
|
|
1165
1497
|
],
|
|
1498
|
+
"pack": "alpine"
|
|
1499
|
+
},
|
|
1500
|
+
{
|
|
1501
|
+
"slug": "timeline",
|
|
1502
|
+
"templateKey": "@m0saic/alpine/timeline/v3",
|
|
1503
|
+
"title": "Alpine Timeline",
|
|
1504
|
+
"description": "Alpine timeline — friendly mobile-marketing card: a milestone timeline with a spine + dots that draw down/across, each event a date + title + description. Standalone Alpine brand flavor. v2 rebuilds the geometry as a RATIO layout (nested proportional splits with insetNode-centered dots) so it composes at any canvas without the absolute-placement precision blowup.",
|
|
1505
|
+
"tags": [
|
|
1506
|
+
"data-viz",
|
|
1507
|
+
"alpine",
|
|
1508
|
+
"timeline",
|
|
1509
|
+
"milestones",
|
|
1510
|
+
"animated",
|
|
1511
|
+
"analysts",
|
|
1512
|
+
"marketers",
|
|
1513
|
+
"roadmap"
|
|
1514
|
+
],
|
|
1166
1515
|
"pack": "alpine",
|
|
1167
1516
|
"preview": {
|
|
1168
|
-
"image": "assets/templates/@
|
|
1169
|
-
"video": "assets/templates/@
|
|
1170
|
-
"poster": "assets/templates/@
|
|
1517
|
+
"image": "assets/templates/@m0saic__alpine__timeline__v3/preview.png",
|
|
1518
|
+
"video": "assets/templates/@m0saic__alpine__timeline__v3/preview.mp4",
|
|
1519
|
+
"poster": "assets/templates/@m0saic__alpine__timeline__v3/poster.png"
|
|
1171
1520
|
}
|
|
1172
1521
|
},
|
|
1173
1522
|
{
|
|
1174
|
-
"slug": "timeline",
|
|
1523
|
+
"slug": "timeline-v2",
|
|
1175
1524
|
"templateKey": "@m0saic/alpine/timeline/v2",
|
|
1176
1525
|
"title": "Alpine Timeline",
|
|
1177
1526
|
"description": "Alpine timeline — friendly mobile-marketing card: a milestone timeline with a spine + dots, each event a date + title + description. Standalone Alpine brand flavor. v2 rebuilds the geometry as a ratio layout (nested proportional splits) so it composes at any canvas without the absolute-placement precision blowup.",
|
|
@@ -1184,12 +1533,7 @@
|
|
|
1184
1533
|
"marketers",
|
|
1185
1534
|
"roadmap"
|
|
1186
1535
|
],
|
|
1187
|
-
"pack": "alpine"
|
|
1188
|
-
"preview": {
|
|
1189
|
-
"image": "assets/templates/@m0saic__alpine__timeline__v2/preview.png",
|
|
1190
|
-
"video": "assets/templates/@m0saic__alpine__timeline__v2/preview.mp4",
|
|
1191
|
-
"poster": "assets/templates/@m0saic__alpine__timeline__v2/poster.png"
|
|
1192
|
-
}
|
|
1536
|
+
"pack": "alpine"
|
|
1193
1537
|
},
|
|
1194
1538
|
{
|
|
1195
1539
|
"slug": "timeline-v1",
|
|
@@ -1202,15 +1546,33 @@
|
|
|
1202
1546
|
"milestones",
|
|
1203
1547
|
"data-viz"
|
|
1204
1548
|
],
|
|
1549
|
+
"pack": "alpine"
|
|
1550
|
+
},
|
|
1551
|
+
{
|
|
1552
|
+
"slug": "treemap",
|
|
1553
|
+
"templateKey": "@m0saic/alpine/treemap/v3",
|
|
1554
|
+
"title": "Alpine Treemap",
|
|
1555
|
+
"description": "Alpine treemap — friendly mobile-marketing card: value-sized rounded tiles (squarified) filling the card, each labelled with its name + share, tiles fading in biggest→smallest. Standalone Alpine brand flavor. v2 rebuilds the geometry as a ratio layout (squarified nested splits + gap-as-inset) so it composes at any canvas without the absolute-placement precision blowup.",
|
|
1556
|
+
"tags": [
|
|
1557
|
+
"data-viz",
|
|
1558
|
+
"alpine",
|
|
1559
|
+
"treemap",
|
|
1560
|
+
"proportion",
|
|
1561
|
+
"animated",
|
|
1562
|
+
"analysts",
|
|
1563
|
+
"developers",
|
|
1564
|
+
"breakdown",
|
|
1565
|
+
"composition"
|
|
1566
|
+
],
|
|
1205
1567
|
"pack": "alpine",
|
|
1206
1568
|
"preview": {
|
|
1207
|
-
"image": "assets/templates/@
|
|
1208
|
-
"video": "assets/templates/@
|
|
1209
|
-
"poster": "assets/templates/@
|
|
1569
|
+
"image": "assets/templates/@m0saic__alpine__treemap__v3/preview.png",
|
|
1570
|
+
"video": "assets/templates/@m0saic__alpine__treemap__v3/preview.mp4",
|
|
1571
|
+
"poster": "assets/templates/@m0saic__alpine__treemap__v3/poster.png"
|
|
1210
1572
|
}
|
|
1211
1573
|
},
|
|
1212
1574
|
{
|
|
1213
|
-
"slug": "treemap",
|
|
1575
|
+
"slug": "treemap-v2",
|
|
1214
1576
|
"templateKey": "@m0saic/alpine/treemap/v2",
|
|
1215
1577
|
"title": "Alpine Treemap",
|
|
1216
1578
|
"description": "Alpine treemap — friendly mobile-marketing card: value-sized rounded tiles (squarified) filling the card, each labelled with its name + share, tiles fading in biggest→smallest. Standalone Alpine brand flavor. v2 rebuilds the geometry as a ratio layout (squarified nested splits + gap-as-inset) so it composes at any canvas without the absolute-placement precision blowup.",
|
|
@@ -1224,12 +1586,7 @@
|
|
|
1224
1586
|
"breakdown",
|
|
1225
1587
|
"composition"
|
|
1226
1588
|
],
|
|
1227
|
-
"pack": "alpine"
|
|
1228
|
-
"preview": {
|
|
1229
|
-
"image": "assets/templates/@m0saic__alpine__treemap__v2/preview.png",
|
|
1230
|
-
"video": "assets/templates/@m0saic__alpine__treemap__v2/preview.mp4",
|
|
1231
|
-
"poster": "assets/templates/@m0saic__alpine__treemap__v2/poster.png"
|
|
1232
|
-
}
|
|
1589
|
+
"pack": "alpine"
|
|
1233
1590
|
},
|
|
1234
1591
|
{
|
|
1235
1592
|
"slug": "treemap-v1",
|
|
@@ -1242,16 +1599,11 @@
|
|
|
1242
1599
|
"proportion",
|
|
1243
1600
|
"data-viz"
|
|
1244
1601
|
],
|
|
1245
|
-
"pack": "alpine"
|
|
1246
|
-
"preview": {
|
|
1247
|
-
"image": "assets/templates/@m0saic__alpine__treemap__v1/preview.png",
|
|
1248
|
-
"video": "assets/templates/@m0saic__alpine__treemap__v1/preview.mp4",
|
|
1249
|
-
"poster": "assets/templates/@m0saic__alpine__treemap__v1/poster.png"
|
|
1250
|
-
}
|
|
1602
|
+
"pack": "alpine"
|
|
1251
1603
|
},
|
|
1252
1604
|
{
|
|
1253
1605
|
"slug": "grid",
|
|
1254
|
-
"templateKey": "@m0saic/primitives/grid/
|
|
1606
|
+
"templateKey": "@m0saic/primitives/grid/v3",
|
|
1255
1607
|
"title": "Primitive — Grid",
|
|
1256
1608
|
"description": "Composable gridline overlay primitive (horizontal/vertical/both) — thin fixed-px strips at proportional offsets; nests cleanly at any canvas.",
|
|
1257
1609
|
"tags": [
|
|
@@ -1262,9 +1614,22 @@
|
|
|
1262
1614
|
],
|
|
1263
1615
|
"pack": "primitives",
|
|
1264
1616
|
"preview": {
|
|
1265
|
-
"image": "assets/templates/@
|
|
1617
|
+
"image": "assets/templates/@m0saic__primitives__grid__v3/preview.png"
|
|
1266
1618
|
}
|
|
1267
1619
|
},
|
|
1620
|
+
{
|
|
1621
|
+
"slug": "grid-v2",
|
|
1622
|
+
"templateKey": "@m0saic/primitives/grid/v2",
|
|
1623
|
+
"title": "Primitive — Grid",
|
|
1624
|
+
"description": "Composable gridline overlay primitive (horizontal/vertical/both) — thin fixed-px strips at proportional offsets; nests cleanly at any canvas.",
|
|
1625
|
+
"tags": [
|
|
1626
|
+
"primitive",
|
|
1627
|
+
"grid",
|
|
1628
|
+
"developers",
|
|
1629
|
+
"layout"
|
|
1630
|
+
],
|
|
1631
|
+
"pack": "primitives"
|
|
1632
|
+
},
|
|
1268
1633
|
{
|
|
1269
1634
|
"slug": "grid-v1",
|
|
1270
1635
|
"templateKey": "@m0saic/primitives/grid/v1",
|
|
@@ -1274,13 +1639,34 @@
|
|
|
1274
1639
|
"primitive",
|
|
1275
1640
|
"grid"
|
|
1276
1641
|
],
|
|
1277
|
-
"pack": "primitives"
|
|
1642
|
+
"pack": "primitives"
|
|
1643
|
+
},
|
|
1644
|
+
{
|
|
1645
|
+
"slug": "image-collage",
|
|
1646
|
+
"templateKey": "@m0saic/collage/image-collage/v2",
|
|
1647
|
+
"title": "Image Collage",
|
|
1648
|
+
"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.",
|
|
1649
|
+
"tags": [
|
|
1650
|
+
"media",
|
|
1651
|
+
"collage",
|
|
1652
|
+
"image",
|
|
1653
|
+
"layout-solver",
|
|
1654
|
+
"contact-sheet",
|
|
1655
|
+
"creators",
|
|
1656
|
+
"designers",
|
|
1657
|
+
"photos",
|
|
1658
|
+
"grid",
|
|
1659
|
+
"social",
|
|
1660
|
+
"images"
|
|
1661
|
+
],
|
|
1662
|
+
"pack": "collage",
|
|
1278
1663
|
"preview": {
|
|
1279
|
-
"image": "assets/templates/@
|
|
1664
|
+
"image": "assets/templates/@m0saic__collage__image-collage__v2/preview.png",
|
|
1665
|
+
"poster": "assets/templates/@m0saic__collage__image-collage__v2/poster.png"
|
|
1280
1666
|
}
|
|
1281
1667
|
},
|
|
1282
1668
|
{
|
|
1283
|
-
"slug": "image-collage",
|
|
1669
|
+
"slug": "image-collage-v1",
|
|
1284
1670
|
"templateKey": "@m0saic/collage/image-collage/v1",
|
|
1285
1671
|
"title": "Image Collage",
|
|
1286
1672
|
"description": "Packs any set of photos into a designed contact sheet: searched layout, hero / portrait / panorama cells sized to each image, even pixel gutters, soft crop budget; big sets page into one PNG per sheet.",
|
|
@@ -1295,11 +1681,7 @@
|
|
|
1295
1681
|
"grid",
|
|
1296
1682
|
"social"
|
|
1297
1683
|
],
|
|
1298
|
-
"pack": "collage"
|
|
1299
|
-
"preview": {
|
|
1300
|
-
"image": "assets/templates/@m0saic__collage__image-collage__v1/preview.png",
|
|
1301
|
-
"poster": "assets/templates/@m0saic__collage__image-collage__v1/poster.png"
|
|
1302
|
-
}
|
|
1684
|
+
"pack": "collage"
|
|
1303
1685
|
},
|
|
1304
1686
|
{
|
|
1305
1687
|
"slug": "spread-grid-mock",
|
|
@@ -1316,9 +1698,9 @@
|
|
|
1316
1698
|
},
|
|
1317
1699
|
{
|
|
1318
1700
|
"slug": "quote-card",
|
|
1319
|
-
"templateKey": "@m0saic/social/quote-card/
|
|
1701
|
+
"templateKey": "@m0saic/social/quote-card/v2",
|
|
1320
1702
|
"title": "Quote Card",
|
|
1321
|
-
"description": "Pull-quote social card — auto-wrapped quote, accent bar, attribution with an optional circular avatar; hand-tuned light/dark presets; lossless PNG still, aspect-safe from square to stories.",
|
|
1703
|
+
"description": "Pull-quote social card — auto-wrapped quote, accent bar, attribution with an optional circular avatar; hand-tuned light/dark presets; lossless PNG still, aspect-safe from square to stories. Every line is editable on the canvas.",
|
|
1322
1704
|
"tags": [
|
|
1323
1705
|
"social",
|
|
1324
1706
|
"quote",
|
|
@@ -1331,12 +1713,51 @@
|
|
|
1331
1713
|
],
|
|
1332
1714
|
"pack": "social",
|
|
1333
1715
|
"preview": {
|
|
1334
|
-
"image": "assets/templates/@m0saic__social__quote-
|
|
1335
|
-
"poster": "assets/templates/@m0saic__social__quote-
|
|
1716
|
+
"image": "assets/templates/@m0saic__social__quote-card__v2/preview.png",
|
|
1717
|
+
"poster": "assets/templates/@m0saic__social__quote-card__v2/poster.png"
|
|
1336
1718
|
}
|
|
1337
1719
|
},
|
|
1720
|
+
{
|
|
1721
|
+
"slug": "quote-card-v1",
|
|
1722
|
+
"templateKey": "@m0saic/social/quote-card/v1",
|
|
1723
|
+
"title": "Quote Card",
|
|
1724
|
+
"description": "Pull-quote social card — auto-wrapped quote, accent bar, attribution with an optional circular avatar; hand-tuned light/dark presets; lossless PNG still, aspect-safe from square to stories.",
|
|
1725
|
+
"tags": [
|
|
1726
|
+
"social",
|
|
1727
|
+
"quote",
|
|
1728
|
+
"card",
|
|
1729
|
+
"pull-quote",
|
|
1730
|
+
"promo",
|
|
1731
|
+
"creators",
|
|
1732
|
+
"marketers",
|
|
1733
|
+
"testimonial"
|
|
1734
|
+
],
|
|
1735
|
+
"pack": "social"
|
|
1736
|
+
},
|
|
1338
1737
|
{
|
|
1339
1738
|
"slug": "code-snippet-morph",
|
|
1739
|
+
"templateKey": "@m0saic/code/snippet-morph/v2",
|
|
1740
|
+
"title": "Code Snippet Morph",
|
|
1741
|
+
"description": "Morphs ordered TypeScript/JavaScript code states into a deterministic editor-frame video with moving, added, and removed lines.",
|
|
1742
|
+
"tags": [
|
|
1743
|
+
"developer",
|
|
1744
|
+
"code",
|
|
1745
|
+
"snippet",
|
|
1746
|
+
"animated",
|
|
1747
|
+
"developers",
|
|
1748
|
+
"diff",
|
|
1749
|
+
"tutorial",
|
|
1750
|
+
"animation"
|
|
1751
|
+
],
|
|
1752
|
+
"pack": "code",
|
|
1753
|
+
"preview": {
|
|
1754
|
+
"image": "assets/templates/@m0saic__code__snippet-morph__v2/preview.png",
|
|
1755
|
+
"video": "assets/templates/@m0saic__code__snippet-morph__v2/preview.mp4",
|
|
1756
|
+
"poster": "assets/templates/@m0saic__code__snippet-morph__v2/poster.png"
|
|
1757
|
+
}
|
|
1758
|
+
},
|
|
1759
|
+
{
|
|
1760
|
+
"slug": "code-snippet-morph-v1",
|
|
1340
1761
|
"templateKey": "@m0saic/code/snippet-morph/v1",
|
|
1341
1762
|
"title": "Code Snippet Morph",
|
|
1342
1763
|
"description": "Turn ordered TypeScript or JavaScript states into a deterministic editor-frame video with syntax highlighting and line-aware morphs — CodeSlides polish as a real deliverable, without screen recording.",
|
|
@@ -1349,12 +1770,7 @@
|
|
|
1349
1770
|
"diff",
|
|
1350
1771
|
"tutorial"
|
|
1351
1772
|
],
|
|
1352
|
-
"pack": "code"
|
|
1353
|
-
"preview": {
|
|
1354
|
-
"image": "assets/templates/@m0saic__code__snippet-morph__v1/preview.png",
|
|
1355
|
-
"video": "assets/templates/@m0saic__code__snippet-morph__v1/preview.mp4",
|
|
1356
|
-
"poster": "assets/templates/@m0saic__code__snippet-morph__v1/poster.png"
|
|
1357
|
-
}
|
|
1773
|
+
"pack": "code"
|
|
1358
1774
|
},
|
|
1359
1775
|
{
|
|
1360
1776
|
"slug": "screencap-grid-info-pane",
|
|
@@ -1370,6 +1786,28 @@
|
|
|
1370
1786
|
},
|
|
1371
1787
|
{
|
|
1372
1788
|
"slug": "screencap-grid",
|
|
1789
|
+
"templateKey": "@m0saic/media/screencap_grid/v3",
|
|
1790
|
+
"title": "Screencap Grid",
|
|
1791
|
+
"description": "Displays formatted ffprobe info in a top pane with a rows x cols grid of the same media below. Renders a static PNG contact sheet or an animated MP4 grid via the Output knob. v2 lays the pane and tiles out as exact pixel rects via inset-recovery placement, so tile gaps are pixel-exact at every canvas.",
|
|
1792
|
+
"tags": [
|
|
1793
|
+
"media",
|
|
1794
|
+
"screencap",
|
|
1795
|
+
"creators",
|
|
1796
|
+
"developers",
|
|
1797
|
+
"contact-sheet",
|
|
1798
|
+
"thumbnails",
|
|
1799
|
+
"video",
|
|
1800
|
+
"grid"
|
|
1801
|
+
],
|
|
1802
|
+
"pack": "media",
|
|
1803
|
+
"preview": {
|
|
1804
|
+
"image": "assets/templates/@m0saic__media__screencap_grid__v3/preview.png",
|
|
1805
|
+
"video": "assets/templates/@m0saic__media__screencap_grid__v3/preview.mp4",
|
|
1806
|
+
"poster": "assets/templates/@m0saic__media__screencap_grid__v3/preview.mp4"
|
|
1807
|
+
}
|
|
1808
|
+
},
|
|
1809
|
+
{
|
|
1810
|
+
"slug": "screencap-grid-v2",
|
|
1373
1811
|
"templateKey": "@m0saic/media/screencap_grid/v2",
|
|
1374
1812
|
"title": "Screencap Grid",
|
|
1375
1813
|
"description": "Displays formatted ffprobe info in a top pane with a rows x cols grid of the same media below. Renders a static PNG contact sheet or an animated MP4 grid via the Output knob. v2 lays the pane and tiles out as exact pixel rects via inset-recovery placement (placeInsetPieces), so tile gaps are pixel-exact at every canvas.",
|
|
@@ -1385,9 +1823,7 @@
|
|
|
1385
1823
|
],
|
|
1386
1824
|
"pack": "media",
|
|
1387
1825
|
"preview": {
|
|
1388
|
-
"image": "assets/templates/@m0saic__media__screencap_grid__v2/preview.png"
|
|
1389
|
-
"video": "assets/templates/@m0saic__media__screencap_grid__v2/preview.mp4",
|
|
1390
|
-
"poster": "assets/templates/@m0saic__media__screencap_grid__v2/preview.mp4"
|
|
1826
|
+
"image": "assets/templates/@m0saic__media__screencap_grid__v2/preview.png"
|
|
1391
1827
|
}
|
|
1392
1828
|
},
|
|
1393
1829
|
{
|
|
@@ -1400,15 +1836,30 @@
|
|
|
1400
1836
|
"screencap",
|
|
1401
1837
|
"grid"
|
|
1402
1838
|
],
|
|
1839
|
+
"pack": "media"
|
|
1840
|
+
},
|
|
1841
|
+
{
|
|
1842
|
+
"slug": "subtitle-burn",
|
|
1843
|
+
"templateKey": "@m0saic/media/subtitle-burn/v2",
|
|
1844
|
+
"title": "Subtitle Burn",
|
|
1845
|
+
"description": "Reads subtitle cues from an MKV/MP4's embedded subtitle stream (text-based codecs) and burns them onto the video as m0saic text overlays. Opt-in cue emission via MosaicDataSource + doc.sidecars.cues.",
|
|
1846
|
+
"tags": [
|
|
1847
|
+
"media",
|
|
1848
|
+
"subtitles",
|
|
1849
|
+
"captions",
|
|
1850
|
+
"creators",
|
|
1851
|
+
"educators",
|
|
1852
|
+
"animated",
|
|
1853
|
+
"accessibility",
|
|
1854
|
+
"video"
|
|
1855
|
+
],
|
|
1403
1856
|
"pack": "media",
|
|
1404
1857
|
"preview": {
|
|
1405
|
-
"image": "assets/templates/@
|
|
1406
|
-
"video": "assets/templates/@m0saic__media__screencap_grid__v1/preview.mp4",
|
|
1407
|
-
"poster": "assets/templates/@m0saic__media__screencap_grid__v1/preview.mp4"
|
|
1858
|
+
"image": "assets/templates/@m0saic__media__subtitle-burn__v2/preview.png"
|
|
1408
1859
|
}
|
|
1409
1860
|
},
|
|
1410
1861
|
{
|
|
1411
|
-
"slug": "subtitle-burn",
|
|
1862
|
+
"slug": "subtitle-burn-v1",
|
|
1412
1863
|
"templateKey": "@m0saic/media/subtitle-burn/v1",
|
|
1413
1864
|
"title": "Subtitle Burn",
|
|
1414
1865
|
"description": "Reads subtitle cues from an MKV/MP4's embedded subtitle stream and burns them onto the video as m0saic text overlays.",
|
|
@@ -1422,13 +1873,34 @@
|
|
|
1422
1873
|
"accessibility",
|
|
1423
1874
|
"video"
|
|
1424
1875
|
],
|
|
1876
|
+
"pack": "media"
|
|
1877
|
+
},
|
|
1878
|
+
{
|
|
1879
|
+
"slug": "screencap-grid-aspect-safe",
|
|
1880
|
+
"templateKey": "@m0saic/media/screencap_grid_aspect_safe/v2",
|
|
1881
|
+
"title": "Screencap Grid — Aspect Safe",
|
|
1882
|
+
"description": "Per source video, renders a coordinated landscape + portrait grid pair (same cell count, cells steered to the wanted shape — landscape/square/portrait presets or an exact ratio, default landscape 16:9). Multi-input renders 2 outputs per file. Renders static PNG contact sheets or animated MP4 grids via the Output knob.",
|
|
1883
|
+
"tags": [
|
|
1884
|
+
"media",
|
|
1885
|
+
"screencap",
|
|
1886
|
+
"aspect-safe",
|
|
1887
|
+
"multi-orientation",
|
|
1888
|
+
"creators",
|
|
1889
|
+
"developers",
|
|
1890
|
+
"contact-sheet",
|
|
1891
|
+
"thumbnails",
|
|
1892
|
+
"video",
|
|
1893
|
+
"grid"
|
|
1894
|
+
],
|
|
1425
1895
|
"pack": "media",
|
|
1426
1896
|
"preview": {
|
|
1427
|
-
"image": "assets/templates/@
|
|
1897
|
+
"image": "assets/templates/@m0saic__media__screencap_grid_aspect_safe__v2/preview.png",
|
|
1898
|
+
"video": "assets/templates/@m0saic__media__screencap_grid_aspect_safe__v2/preview.mp4",
|
|
1899
|
+
"poster": "assets/templates/@m0saic__media__screencap_grid_aspect_safe__v2/preview.mp4"
|
|
1428
1900
|
}
|
|
1429
1901
|
},
|
|
1430
1902
|
{
|
|
1431
|
-
"slug": "screencap-grid-aspect-safe",
|
|
1903
|
+
"slug": "screencap-grid-aspect-safe-v1",
|
|
1432
1904
|
"templateKey": "@m0saic/media/screencap_grid_aspect_safe/v1",
|
|
1433
1905
|
"title": "Screencap Grid — Aspect Safe",
|
|
1434
1906
|
"description": "Per source video, picks a coordinated landscape + portrait grid pair (same cell count, cells steered to the wanted shape — landscape/square/portrait presets or an exact ratio, default landscape 16:9) via aspectSafeGrid and emits both as a 2-step multi-output pipeline. Renders static PNG contact sheets or animated MP4 grids via the Output knob; tile gaps are pixel-exact via inset-recovery placement.",
|
|
@@ -1446,13 +1918,34 @@
|
|
|
1446
1918
|
],
|
|
1447
1919
|
"pack": "media",
|
|
1448
1920
|
"preview": {
|
|
1449
|
-
"image": "assets/templates/@m0saic__media__screencap_grid_aspect_safe__v1/preview.png"
|
|
1450
|
-
|
|
1451
|
-
|
|
1921
|
+
"image": "assets/templates/@m0saic__media__screencap_grid_aspect_safe__v1/preview.png"
|
|
1922
|
+
}
|
|
1923
|
+
},
|
|
1924
|
+
{
|
|
1925
|
+
"slug": "scroll-wall",
|
|
1926
|
+
"templateKey": "@m0saic/media/scroll_wall/v2",
|
|
1927
|
+
"title": "Scroll Wall",
|
|
1928
|
+
"description": "An endless scrolling wall of clips: 1-4 rows of video/image tiles slide sideways forever (optionally alternating direction) and loop seamlessly at whole cycles. Every tile is a real DSL cell at full native resolution; the pan is per-tile overlay motion, not a camera crop. Empty clips render a demo wall of colored tiles.",
|
|
1929
|
+
"tags": [
|
|
1930
|
+
"media",
|
|
1931
|
+
"wall",
|
|
1932
|
+
"scroll",
|
|
1933
|
+
"loop",
|
|
1934
|
+
"montage",
|
|
1935
|
+
"animated",
|
|
1936
|
+
"creators",
|
|
1937
|
+
"marketers",
|
|
1938
|
+
"video"
|
|
1939
|
+
],
|
|
1940
|
+
"pack": "media",
|
|
1941
|
+
"preview": {
|
|
1942
|
+
"image": "assets/templates/@m0saic__media__scroll_wall__v2/preview.png",
|
|
1943
|
+
"video": "assets/templates/@m0saic__media__scroll_wall__v2/preview.mp4",
|
|
1944
|
+
"poster": "assets/templates/@m0saic__media__scroll_wall__v2/poster.png"
|
|
1452
1945
|
}
|
|
1453
1946
|
},
|
|
1454
1947
|
{
|
|
1455
|
-
"slug": "scroll-wall",
|
|
1948
|
+
"slug": "scroll-wall-v1",
|
|
1456
1949
|
"templateKey": "@m0saic/media/scroll_wall/v1",
|
|
1457
1950
|
"title": "Scroll Wall",
|
|
1458
1951
|
"description": "An endless scrolling wall of clips: 1-4 rows of video/image tiles slide sideways forever (optionally alternating direction) and loop seamlessly at whole cycles. Every tile is a real DSL cell at full native resolution; the pan is per-tile overlay motion, not a camera crop.",
|
|
@@ -1467,15 +1960,29 @@
|
|
|
1467
1960
|
"animated",
|
|
1468
1961
|
"video"
|
|
1469
1962
|
],
|
|
1963
|
+
"pack": "media"
|
|
1964
|
+
},
|
|
1965
|
+
{
|
|
1966
|
+
"slug": "frame-stripper",
|
|
1967
|
+
"templateKey": "@m0saic/media/video_to_png_sequence/v2",
|
|
1968
|
+
"title": "Frame Stripper",
|
|
1969
|
+
"description": "Drop one or more videos, get every frame as a separate numbered PNG. Multi-input renders prefix each frame with the source basename so files don't collide. One ffmpeg invocation per frame — use maxFrames to cap long inputs.",
|
|
1970
|
+
"tags": [
|
|
1971
|
+
"media",
|
|
1972
|
+
"frames",
|
|
1973
|
+
"png-sequence",
|
|
1974
|
+
"extract",
|
|
1975
|
+
"developers",
|
|
1976
|
+
"creators",
|
|
1977
|
+
"video"
|
|
1978
|
+
],
|
|
1470
1979
|
"pack": "media",
|
|
1471
1980
|
"preview": {
|
|
1472
|
-
"image": "assets/templates/@
|
|
1473
|
-
"video": "assets/templates/@m0saic__media__scroll_wall__v1/preview.mp4",
|
|
1474
|
-
"poster": "assets/templates/@m0saic__media__scroll_wall__v1/poster.png"
|
|
1981
|
+
"image": "assets/templates/@m0saic__media__video_to_png_sequence__v2/preview.png"
|
|
1475
1982
|
}
|
|
1476
1983
|
},
|
|
1477
1984
|
{
|
|
1478
|
-
"slug": "frame-stripper",
|
|
1985
|
+
"slug": "frame-stripper-v1",
|
|
1479
1986
|
"templateKey": "@m0saic/media/video_to_png_sequence/v1",
|
|
1480
1987
|
"title": "Frame Stripper",
|
|
1481
1988
|
"description": "Drop a video, get every frame as a numbered PNG sequence (frame_0001.png, frame_0002.png, ...).",
|
|
@@ -1488,13 +1995,34 @@
|
|
|
1488
1995
|
"creators",
|
|
1489
1996
|
"video"
|
|
1490
1997
|
],
|
|
1998
|
+
"pack": "media"
|
|
1999
|
+
},
|
|
2000
|
+
{
|
|
2001
|
+
"slug": "media-watermark",
|
|
2002
|
+
"templateKey": "@m0saic/media/watermark/v2",
|
|
2003
|
+
"title": "Watermark",
|
|
2004
|
+
"description": "Stamp your logo or wordmark onto any image or video — 9 positions or an exact m0 rect, ratio-true sizing, opacity control. Point it at a folder for one watermarked output per input. (Free tier adds the m0saic QR at bottom-right — pick a different corner to avoid overlap.)",
|
|
2005
|
+
"tags": [
|
|
2006
|
+
"media",
|
|
2007
|
+
"watermark",
|
|
2008
|
+
"brand",
|
|
2009
|
+
"batch",
|
|
2010
|
+
"creators",
|
|
2011
|
+
"marketers",
|
|
2012
|
+
"animated",
|
|
2013
|
+
"logo",
|
|
2014
|
+
"overlay",
|
|
2015
|
+
"video"
|
|
2016
|
+
],
|
|
1491
2017
|
"pack": "media",
|
|
1492
2018
|
"preview": {
|
|
1493
|
-
"image": "assets/templates/@
|
|
2019
|
+
"image": "assets/templates/@m0saic__media__watermark__v2/preview.png",
|
|
2020
|
+
"video": "assets/templates/@m0saic__media__watermark__v2/preview.mp4",
|
|
2021
|
+
"poster": "assets/templates/@m0saic__media__watermark__v2/poster.png"
|
|
1494
2022
|
}
|
|
1495
2023
|
},
|
|
1496
2024
|
{
|
|
1497
|
-
"slug": "media-watermark",
|
|
2025
|
+
"slug": "media-watermark-v1",
|
|
1498
2026
|
"templateKey": "@m0saic/media/watermark/v1",
|
|
1499
2027
|
"title": "Watermark",
|
|
1500
2028
|
"description": "Stamp your logo or wordmark onto any image or video — 9 positions or an exact m0 rect, ratio-true sizing, opacity control. Point it at a folder for one watermarked output per input.",
|
|
@@ -1510,15 +2038,35 @@
|
|
|
1510
2038
|
"overlay",
|
|
1511
2039
|
"video"
|
|
1512
2040
|
],
|
|
2041
|
+
"pack": "media"
|
|
2042
|
+
},
|
|
2043
|
+
{
|
|
2044
|
+
"slug": "metadata-stamp",
|
|
2045
|
+
"templateKey": "@m0saic/media/metadata-stamp/v2",
|
|
2046
|
+
"title": "Metadata Stamp",
|
|
2047
|
+
"description": "Stamp each video's creation date (read from its metadata) onto the video as a small chip — 9 positions, deterministic date formats. Point it at a folder for one stamped output per input; files without metadata use your fallback text or pass through clean. (Defaults to bottom-left: the free tier's m0saic QR occupies bottom-right.)",
|
|
2048
|
+
"tags": [
|
|
2049
|
+
"media",
|
|
2050
|
+
"stamp",
|
|
2051
|
+
"date",
|
|
2052
|
+
"metadata",
|
|
2053
|
+
"batch",
|
|
2054
|
+
"utility",
|
|
2055
|
+
"creators",
|
|
2056
|
+
"animated",
|
|
2057
|
+
"timestamp",
|
|
2058
|
+
"overlay",
|
|
2059
|
+
"video"
|
|
2060
|
+
],
|
|
1513
2061
|
"pack": "media",
|
|
1514
2062
|
"preview": {
|
|
1515
|
-
"image": "assets/templates/@
|
|
1516
|
-
"video": "assets/templates/@
|
|
1517
|
-
"poster": "assets/templates/@
|
|
2063
|
+
"image": "assets/templates/@m0saic__media__metadata-stamp__v2/preview.png",
|
|
2064
|
+
"video": "assets/templates/@m0saic__media__metadata-stamp__v2/preview.mp4",
|
|
2065
|
+
"poster": "assets/templates/@m0saic__media__metadata-stamp__v2/poster.png"
|
|
1518
2066
|
}
|
|
1519
2067
|
},
|
|
1520
2068
|
{
|
|
1521
|
-
"slug": "metadata-stamp",
|
|
2069
|
+
"slug": "metadata-stamp-v1",
|
|
1522
2070
|
"templateKey": "@m0saic/media/metadata-stamp/v1",
|
|
1523
2071
|
"title": "Metadata Stamp",
|
|
1524
2072
|
"description": "Stamp each video's creation date (read from its metadata) onto the video as a small chip — 9 positions, deterministic date formats. Point it at a folder for one stamped output per input; files without metadata use your fallback text or pass through clean.",
|
|
@@ -1535,15 +2083,34 @@
|
|
|
1535
2083
|
"overlay",
|
|
1536
2084
|
"video"
|
|
1537
2085
|
],
|
|
2086
|
+
"pack": "media"
|
|
2087
|
+
},
|
|
2088
|
+
{
|
|
2089
|
+
"slug": "highlights",
|
|
2090
|
+
"templateKey": "@m0saic/media/highlights/v2",
|
|
2091
|
+
"title": "Highlight Clips",
|
|
2092
|
+
"description": "Pick a video, mark one or more time ranges, and get each range as its own clip — mp4 or webm, audio intact, one render for the whole batch.",
|
|
2093
|
+
"tags": [
|
|
2094
|
+
"media",
|
|
2095
|
+
"clips",
|
|
2096
|
+
"highlights",
|
|
2097
|
+
"promo",
|
|
2098
|
+
"multi-output",
|
|
2099
|
+
"creators",
|
|
2100
|
+
"marketers",
|
|
2101
|
+
"animated",
|
|
2102
|
+
"trailer",
|
|
2103
|
+
"teaser",
|
|
2104
|
+
"video"
|
|
2105
|
+
],
|
|
1538
2106
|
"pack": "media",
|
|
1539
2107
|
"preview": {
|
|
1540
|
-
"image": "assets/templates/@
|
|
1541
|
-
"
|
|
1542
|
-
"poster": "assets/templates/@m0saic__media__metadata-stamp__v1/poster.png"
|
|
2108
|
+
"image": "assets/templates/@m0saic__media__highlights__v2/preview.png",
|
|
2109
|
+
"poster": "assets/templates/@m0saic__media__highlights__v2/poster.png"
|
|
1543
2110
|
}
|
|
1544
2111
|
},
|
|
1545
2112
|
{
|
|
1546
|
-
"slug": "highlights",
|
|
2113
|
+
"slug": "highlights-v1",
|
|
1547
2114
|
"templateKey": "@m0saic/media/highlights/v1",
|
|
1548
2115
|
"title": "Highlight Clips",
|
|
1549
2116
|
"description": "Pick a video, mark one or more time ranges, and get each range as its own clip — mp4 or webm, audio intact, one render for the whole batch.",
|
|
@@ -1560,14 +2127,34 @@
|
|
|
1560
2127
|
"teaser",
|
|
1561
2128
|
"video"
|
|
1562
2129
|
],
|
|
2130
|
+
"pack": "media"
|
|
2131
|
+
},
|
|
2132
|
+
{
|
|
2133
|
+
"slug": "blur-regions",
|
|
2134
|
+
"templateKey": "@m0saic/media/blur-regions/v2",
|
|
2135
|
+
"title": "Easy Blur",
|
|
2136
|
+
"description": "Pick a video or image, draw boxes over what should stay hidden — faces, plates, names — and get the same media back with those regions blurred or pixelated. Audio untouched.",
|
|
2137
|
+
"tags": [
|
|
2138
|
+
"media",
|
|
2139
|
+
"blur",
|
|
2140
|
+
"privacy",
|
|
2141
|
+
"redact",
|
|
2142
|
+
"pixelate",
|
|
2143
|
+
"creators",
|
|
2144
|
+
"animated",
|
|
2145
|
+
"face-blur",
|
|
2146
|
+
"anonymize",
|
|
2147
|
+
"video"
|
|
2148
|
+
],
|
|
1563
2149
|
"pack": "media",
|
|
1564
2150
|
"preview": {
|
|
1565
|
-
"image": "assets/templates/@
|
|
1566
|
-
"
|
|
2151
|
+
"image": "assets/templates/@m0saic__media__blur-regions__v2/preview.png",
|
|
2152
|
+
"video": "assets/templates/@m0saic__media__blur-regions__v2/preview.mp4",
|
|
2153
|
+
"poster": "assets/templates/@m0saic__media__blur-regions__v2/poster.png"
|
|
1567
2154
|
}
|
|
1568
2155
|
},
|
|
1569
2156
|
{
|
|
1570
|
-
"slug": "blur-regions",
|
|
2157
|
+
"slug": "blur-regions-v1",
|
|
1571
2158
|
"templateKey": "@m0saic/media/blur-regions/v1",
|
|
1572
2159
|
"title": "Easy Blur",
|
|
1573
2160
|
"description": "Pick a video or image, draw boxes over what should stay hidden — faces, plates, names — and get the same media back with those regions blurred or pixelated. Audio untouched.",
|
|
@@ -1583,15 +2170,33 @@
|
|
|
1583
2170
|
"anonymize",
|
|
1584
2171
|
"video"
|
|
1585
2172
|
],
|
|
2173
|
+
"pack": "media"
|
|
2174
|
+
},
|
|
2175
|
+
{
|
|
2176
|
+
"slug": "trickplay",
|
|
2177
|
+
"templateKey": "@m0saic/media/trickplay/v2",
|
|
2178
|
+
"title": "Trickplay Sheets",
|
|
2179
|
+
"description": "Generate the seek-preview thumbnails video players use while scrubbing: sprite sheets at a fixed interval with a WebVTT storyboard and a Jellyfin/DASH-compatible JSON manifest. Batch a folder for one sheet set per video.",
|
|
2180
|
+
"tags": [
|
|
2181
|
+
"media",
|
|
2182
|
+
"trickplay",
|
|
2183
|
+
"storyboard",
|
|
2184
|
+
"batch",
|
|
2185
|
+
"developers",
|
|
2186
|
+
"creators",
|
|
2187
|
+
"video-player",
|
|
2188
|
+
"sprite",
|
|
2189
|
+
"streaming"
|
|
2190
|
+
],
|
|
1586
2191
|
"pack": "media",
|
|
1587
2192
|
"preview": {
|
|
1588
|
-
"image": "assets/templates/@
|
|
1589
|
-
"video": "assets/templates/@
|
|
1590
|
-
"poster": "assets/templates/@
|
|
2193
|
+
"image": "assets/templates/@m0saic__media__trickplay__v2/preview.png",
|
|
2194
|
+
"video": "assets/templates/@m0saic__media__trickplay__v2/preview.mp4",
|
|
2195
|
+
"poster": "assets/templates/@m0saic__media__trickplay__v2/poster.png"
|
|
1591
2196
|
}
|
|
1592
2197
|
},
|
|
1593
2198
|
{
|
|
1594
|
-
"slug": "trickplay",
|
|
2199
|
+
"slug": "trickplay-v1",
|
|
1595
2200
|
"templateKey": "@m0saic/media/trickplay/v1",
|
|
1596
2201
|
"title": "Trickplay Sheets",
|
|
1597
2202
|
"description": "The seek-preview thumbnails players show while scrubbing: sprite sheets at a fixed interval, plus a WebVTT storyboard and a Jellyfin/DASH-compatible JSON manifest. Point it at a folder for one sheet set per video.",
|
|
@@ -1606,15 +2211,33 @@
|
|
|
1606
2211
|
"sprite",
|
|
1607
2212
|
"streaming"
|
|
1608
2213
|
],
|
|
2214
|
+
"pack": "media"
|
|
2215
|
+
},
|
|
2216
|
+
{
|
|
2217
|
+
"slug": "logo-animate",
|
|
2218
|
+
"templateKey": "@m0saic/media/logo-animate/v2",
|
|
2219
|
+
"title": "Logo Animate",
|
|
2220
|
+
"description": "Drop in an SVG logo — get an animated logo video. The SVG becomes real m0 geometry (one cell per shape, silhouette masks), animated per-tile: assemble-in, seamless loop, progress fill, breathing glow, or shimmer.",
|
|
2221
|
+
"tags": [
|
|
2222
|
+
"media",
|
|
2223
|
+
"logo",
|
|
2224
|
+
"animated",
|
|
2225
|
+
"svg-to-mosaic",
|
|
2226
|
+
"brand",
|
|
2227
|
+
"designers",
|
|
2228
|
+
"marketers",
|
|
2229
|
+
"svg",
|
|
2230
|
+
"intro"
|
|
2231
|
+
],
|
|
1609
2232
|
"pack": "media",
|
|
1610
2233
|
"preview": {
|
|
1611
|
-
"image": "assets/templates/@
|
|
1612
|
-
"video": "assets/templates/@
|
|
1613
|
-
"poster": "assets/templates/@
|
|
2234
|
+
"image": "assets/templates/@m0saic__media__logo-animate__v2/preview.png",
|
|
2235
|
+
"video": "assets/templates/@m0saic__media__logo-animate__v2/preview.mp4",
|
|
2236
|
+
"poster": "assets/templates/@m0saic__media__logo-animate__v2/poster.png"
|
|
1614
2237
|
}
|
|
1615
2238
|
},
|
|
1616
2239
|
{
|
|
1617
|
-
"slug": "logo-animate",
|
|
2240
|
+
"slug": "logo-animate-v1",
|
|
1618
2241
|
"templateKey": "@m0saic/media/logo-animate/v1",
|
|
1619
2242
|
"title": "Logo Animate",
|
|
1620
2243
|
"description": "Drop in an SVG logo — get an animated logo video. The SVG becomes real m0 geometry (one cell per shape, silhouette masks), animated per-tile: assemble-in, seamless loop, progress fill, breathing glow, or shimmer.",
|
|
@@ -1630,12 +2253,7 @@
|
|
|
1630
2253
|
"svg",
|
|
1631
2254
|
"intro"
|
|
1632
2255
|
],
|
|
1633
|
-
"pack": "media"
|
|
1634
|
-
"preview": {
|
|
1635
|
-
"image": "assets/templates/@m0saic__media__logo-animate__v1/preview.png",
|
|
1636
|
-
"video": "assets/templates/@m0saic__media__logo-animate__v1/preview.mp4",
|
|
1637
|
-
"poster": "assets/templates/@m0saic__media__logo-animate__v1/poster.png"
|
|
1638
|
-
}
|
|
2256
|
+
"pack": "media"
|
|
1639
2257
|
},
|
|
1640
2258
|
{
|
|
1641
2259
|
"slug": "forensic-watermark-video-v1",
|
|
@@ -1680,9 +2298,9 @@
|
|
|
1680
2298
|
},
|
|
1681
2299
|
{
|
|
1682
2300
|
"slug": "dsl-tutorial",
|
|
1683
|
-
"templateKey": "@m0saic/dsl-tutorial/
|
|
2301
|
+
"templateKey": "@m0saic/dsl-tutorial/v2",
|
|
1684
2302
|
"title": "DSL Tutorial",
|
|
1685
|
-
"description": "Animated, IDE/debugger-style tutorial that walks the m0 DSL parse + geometry step by step
|
|
2303
|
+
"description": "Animated, IDE/debugger-style tutorial that walks the m0 DSL parse + geometry step by step — 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.",
|
|
1686
2304
|
"tags": [
|
|
1687
2305
|
"dsl-tutorial",
|
|
1688
2306
|
"tutorial",
|
|
@@ -1693,11 +2311,26 @@
|
|
|
1693
2311
|
"onboarding"
|
|
1694
2312
|
],
|
|
1695
2313
|
"preview": {
|
|
1696
|
-
"image": "assets/templates/@m0saic__dsl-
|
|
1697
|
-
"video": "assets/templates/@m0saic__dsl-
|
|
1698
|
-
"poster": "assets/templates/@m0saic__dsl-
|
|
2314
|
+
"image": "assets/templates/@m0saic__dsl-tutorial__v2/preview.png",
|
|
2315
|
+
"video": "assets/templates/@m0saic__dsl-tutorial__v2/preview.mp4",
|
|
2316
|
+
"poster": "assets/templates/@m0saic__dsl-tutorial__v2/poster.png"
|
|
1699
2317
|
}
|
|
1700
2318
|
},
|
|
2319
|
+
{
|
|
2320
|
+
"slug": "dsl-tutorial-v1",
|
|
2321
|
+
"templateKey": "@m0saic/dsl-tutorial/v1",
|
|
2322
|
+
"title": "DSL Tutorial",
|
|
2323
|
+
"description": "Animated, IDE/debugger-style tutorial that walks the m0 DSL parse + geometry step by step: animated canvas with camera-follow, 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 syntax-highlighted DSL string with narration. Light/dark, any aspect, speed-controlled.",
|
|
2324
|
+
"tags": [
|
|
2325
|
+
"dsl-tutorial",
|
|
2326
|
+
"tutorial",
|
|
2327
|
+
"wireframe",
|
|
2328
|
+
"docs",
|
|
2329
|
+
"animated",
|
|
2330
|
+
"developers",
|
|
2331
|
+
"onboarding"
|
|
2332
|
+
]
|
|
2333
|
+
},
|
|
1701
2334
|
{
|
|
1702
2335
|
"slug": "dsl-tutorial-chrome",
|
|
1703
2336
|
"templateKey": "@m0saic/dsl-tutorial/chrome/v1",
|
|
@@ -1848,6 +2481,29 @@
|
|
|
1848
2481
|
"image": "assets/templates/@m0saic__github__weekly-pulse-adapter__v1/preview.png"
|
|
1849
2482
|
}
|
|
1850
2483
|
},
|
|
2484
|
+
{
|
|
2485
|
+
"slug": "agents-commit-feed",
|
|
2486
|
+
"templateKey": "@m0saic/agents/commit-feed/v2",
|
|
2487
|
+
"title": "Agent Commit Feed",
|
|
2488
|
+
"description": "Who wrote this week's commits — a commit feed colour-coded by author (human vs coding agent), with the agent-authored share, a proportion bar and a legend. The alpine commit feed nested under its own card; composes at any canvas.",
|
|
2489
|
+
"tags": [
|
|
2490
|
+
"github",
|
|
2491
|
+
"commits",
|
|
2492
|
+
"agents",
|
|
2493
|
+
"ai",
|
|
2494
|
+
"developers",
|
|
2495
|
+
"devrel",
|
|
2496
|
+
"engineering-leaders",
|
|
2497
|
+
"alpine",
|
|
2498
|
+
"animated"
|
|
2499
|
+
],
|
|
2500
|
+
"pack": "agents",
|
|
2501
|
+
"preview": {
|
|
2502
|
+
"image": "assets/templates/@m0saic__agents__commit-feed__v2/preview.png",
|
|
2503
|
+
"video": "assets/templates/@m0saic__agents__commit-feed__v2/preview.mp4",
|
|
2504
|
+
"poster": "assets/templates/@m0saic__agents__commit-feed__v2/poster.png"
|
|
2505
|
+
}
|
|
2506
|
+
},
|
|
1851
2507
|
{
|
|
1852
2508
|
"slug": "agents-commit-feed-v1",
|
|
1853
2509
|
"templateKey": "@m0saic/agents/commit-feed/v1",
|
|
@@ -1864,11 +2520,31 @@
|
|
|
1864
2520
|
"alpine",
|
|
1865
2521
|
"animated"
|
|
1866
2522
|
],
|
|
2523
|
+
"pack": "agents"
|
|
2524
|
+
},
|
|
2525
|
+
{
|
|
2526
|
+
"slug": "agents-trace-timeline",
|
|
2527
|
+
"templateKey": "@m0saic/agents/trace-timeline/v2",
|
|
2528
|
+
"title": "Agent Trace Timeline",
|
|
2529
|
+
"description": "What the agent did on a run — a waterfall of tool calls: the tool and its target per lane, a latency bar on a shared time axis, tokens per hop, and status colours for errors, retries and cache hits. Alpine card, composes at any canvas.",
|
|
2530
|
+
"tags": [
|
|
2531
|
+
"agents",
|
|
2532
|
+
"trace",
|
|
2533
|
+
"timeline",
|
|
2534
|
+
"waterfall",
|
|
2535
|
+
"observability",
|
|
2536
|
+
"latency",
|
|
2537
|
+
"tokens",
|
|
2538
|
+
"developers",
|
|
2539
|
+
"sre",
|
|
2540
|
+
"alpine",
|
|
2541
|
+
"animated"
|
|
2542
|
+
],
|
|
1867
2543
|
"pack": "agents",
|
|
1868
2544
|
"preview": {
|
|
1869
|
-
"image": "assets/templates/@
|
|
1870
|
-
"video": "assets/templates/@
|
|
1871
|
-
"poster": "assets/templates/@
|
|
2545
|
+
"image": "assets/templates/@m0saic__agents__trace-timeline__v2/preview.png",
|
|
2546
|
+
"video": "assets/templates/@m0saic__agents__trace-timeline__v2/preview.mp4",
|
|
2547
|
+
"poster": "assets/templates/@m0saic__agents__trace-timeline__v2/poster.png"
|
|
1872
2548
|
}
|
|
1873
2549
|
},
|
|
1874
2550
|
{
|
|
@@ -1889,11 +2565,30 @@
|
|
|
1889
2565
|
"alpine",
|
|
1890
2566
|
"animated"
|
|
1891
2567
|
],
|
|
1892
|
-
"pack": "agents"
|
|
2568
|
+
"pack": "agents"
|
|
2569
|
+
},
|
|
2570
|
+
{
|
|
2571
|
+
"slug": "github-year-card",
|
|
2572
|
+
"templateKey": "@m0saic/github/year-card/v2",
|
|
2573
|
+
"title": "GitHub Year Card",
|
|
2574
|
+
"description": "A developer's year on GitHub on one card: the 7×53 contribution calendar with month and weekday labels and a Less→More legend, four KPI tiles (commits, pull requests, stars, top language) and the handle + year in the header. Gutterless grid with lattice-exact gaps; composes at any canvas.",
|
|
2575
|
+
"tags": [
|
|
2576
|
+
"github",
|
|
2577
|
+
"contributions",
|
|
2578
|
+
"calendar",
|
|
2579
|
+
"heatmap",
|
|
2580
|
+
"year",
|
|
2581
|
+
"developers",
|
|
2582
|
+
"vanity",
|
|
2583
|
+
"share",
|
|
2584
|
+
"alpine",
|
|
2585
|
+
"animated"
|
|
2586
|
+
],
|
|
2587
|
+
"pack": "github",
|
|
1893
2588
|
"preview": {
|
|
1894
|
-
"image": "assets/templates/@
|
|
1895
|
-
"video": "assets/templates/@
|
|
1896
|
-
"poster": "assets/templates/@
|
|
2589
|
+
"image": "assets/templates/@m0saic__github__year-card__v2/preview.png",
|
|
2590
|
+
"video": "assets/templates/@m0saic__github__year-card__v2/preview.mp4",
|
|
2591
|
+
"poster": "assets/templates/@m0saic__github__year-card__v2/poster.png"
|
|
1897
2592
|
}
|
|
1898
2593
|
},
|
|
1899
2594
|
{
|
|
@@ -1913,12 +2608,7 @@
|
|
|
1913
2608
|
"alpine",
|
|
1914
2609
|
"animated"
|
|
1915
2610
|
],
|
|
1916
|
-
"pack": "github"
|
|
1917
|
-
"preview": {
|
|
1918
|
-
"image": "assets/templates/@m0saic__github__year-card__v1/preview.png",
|
|
1919
|
-
"video": "assets/templates/@m0saic__github__year-card__v1/preview.mp4",
|
|
1920
|
-
"poster": "assets/templates/@m0saic__github__year-card__v1/poster.png"
|
|
1921
|
-
}
|
|
2611
|
+
"pack": "github"
|
|
1922
2612
|
},
|
|
1923
2613
|
{
|
|
1924
2614
|
"slug": "github-weekly-pulse-v1",
|
|
@@ -1943,11 +2633,12 @@
|
|
|
1943
2633
|
}
|
|
1944
2634
|
},
|
|
1945
2635
|
{
|
|
1946
|
-
"slug": "theming
|
|
1947
|
-
"templateKey": "@m0saic/theming/
|
|
2636
|
+
"slug": "theming",
|
|
2637
|
+
"templateKey": "@m0saic/theming/v2",
|
|
1948
2638
|
"title": "Theming — Token Producer",
|
|
1949
|
-
"description": "Design-token producer: publishes one ThemeTokens set (dark | light | high-contrast) onto ctx.upstreamVariables for downstream templates.
|
|
2639
|
+
"description": "Design-token producer: publishes one ThemeTokens set (dark | light | high-contrast) onto ctx.upstreamVariables for downstream templates to read. Rendered standalone (preview:true) it draws an aspect-adaptive Theme-Tokens sheet — mosaic-M header, the labelled data palette, and the semantic swatches; as an intermediate pipeline step (preview:false) it emits pure data at zero cost and re-skins a chain by swapping one prop.",
|
|
1950
2640
|
"tags": [
|
|
2641
|
+
"utility",
|
|
1951
2642
|
"theming",
|
|
1952
2643
|
"tokens",
|
|
1953
2644
|
"producer",
|
|
@@ -1957,12 +2648,48 @@
|
|
|
1957
2648
|
"palette"
|
|
1958
2649
|
],
|
|
1959
2650
|
"preview": {
|
|
1960
|
-
"image": "assets/templates/@
|
|
1961
|
-
"poster": "assets/templates/@
|
|
2651
|
+
"image": "assets/templates/@m0saic__theming__v2/preview.png",
|
|
2652
|
+
"poster": "assets/templates/@m0saic__theming__v2/poster.png"
|
|
1962
2653
|
}
|
|
1963
2654
|
},
|
|
2655
|
+
{
|
|
2656
|
+
"slug": "theming-v1",
|
|
2657
|
+
"templateKey": "@m0saic/theming/v1",
|
|
2658
|
+
"title": "Theming — Token Producer",
|
|
2659
|
+
"description": "Design-token producer: publishes one ThemeTokens set (dark | light | high-contrast) onto ctx.upstreamVariables for downstream templates. Standalone it renders an aspect-adaptive Theme-Tokens sheet; as an intermediate pipeline step it emits pure data and re-skins a chain by swapping one prop.",
|
|
2660
|
+
"tags": [
|
|
2661
|
+
"theming",
|
|
2662
|
+
"tokens",
|
|
2663
|
+
"producer",
|
|
2664
|
+
"design-system",
|
|
2665
|
+
"designers",
|
|
2666
|
+
"developers",
|
|
2667
|
+
"palette"
|
|
2668
|
+
]
|
|
2669
|
+
},
|
|
1964
2670
|
{
|
|
1965
2671
|
"slug": "narrated-chapters",
|
|
2672
|
+
"templateKey": "@m0saic/story/narrated-chapters/v2",
|
|
2673
|
+
"title": "Narrated Chapters",
|
|
2674
|
+
"description": "Chaptered, narration-timed story video from a story.json manifest — title/section cards, per-chapter scenes, and one deliverable per aspect (landscape/portrait) from a single invocation. Omit props for the built-in demo story.",
|
|
2675
|
+
"tags": [
|
|
2676
|
+
"media",
|
|
2677
|
+
"story",
|
|
2678
|
+
"chapters",
|
|
2679
|
+
"narrated",
|
|
2680
|
+
"pipeline",
|
|
2681
|
+
"agentic",
|
|
2682
|
+
"animated",
|
|
2683
|
+
"creators",
|
|
2684
|
+
"educators",
|
|
2685
|
+
"social",
|
|
2686
|
+
"voice-over",
|
|
2687
|
+
"explainer"
|
|
2688
|
+
],
|
|
2689
|
+
"pack": "story"
|
|
2690
|
+
},
|
|
2691
|
+
{
|
|
2692
|
+
"slug": "narrated-chapters-v1",
|
|
1966
2693
|
"templateKey": "@m0saic/story/narrated-chapters/v1",
|
|
1967
2694
|
"title": "Narrated Chapters",
|
|
1968
2695
|
"description": "Chaptered, narration-timed story video from a story.json manifest — title/section cards, per-chapter scenes, and one deliverable per aspect (landscape/portrait) from a single invocation. Omit props for the built-in demo story.",
|
|
@@ -1982,6 +2709,23 @@
|
|
|
1982
2709
|
},
|
|
1983
2710
|
{
|
|
1984
2711
|
"slug": "scrapbook",
|
|
2712
|
+
"templateKey": "@m0saic/story/scrapbook/v2",
|
|
2713
|
+
"title": "Scrapbook",
|
|
2714
|
+
"description": "A short personal film: a few pictures, a line each, pinned askew on paper and drifting past to music. Lays itself out with stand-in pages until your own photos arrive.",
|
|
2715
|
+
"tags": [
|
|
2716
|
+
"story",
|
|
2717
|
+
"personal",
|
|
2718
|
+
"photos",
|
|
2719
|
+
"animated",
|
|
2720
|
+
"creators",
|
|
2721
|
+
"social",
|
|
2722
|
+
"memories",
|
|
2723
|
+
"photo-album"
|
|
2724
|
+
],
|
|
2725
|
+
"pack": "story"
|
|
2726
|
+
},
|
|
2727
|
+
{
|
|
2728
|
+
"slug": "scrapbook-v1",
|
|
1985
2729
|
"templateKey": "@m0saic/story/scrapbook/v1",
|
|
1986
2730
|
"title": "Scrapbook",
|
|
1987
2731
|
"description": "A short personal film: a few pictures, a line each, pinned askew on paper and drifting past to music. Lays itself out with stand-in pages until your own photos arrive.",
|