m0saic 0.3.2 → 0.4.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +23 -16
- 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/resolveLayoutFileProps.js +1 -0
- 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/templateInstall.js +1 -0
- package/dist/utils/templateRepoKeys.js +1 -0
- package/dist/utils/templateSources.js +1 -0
- 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/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/stillOutput.js +1 -0
- 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/package.json +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/dsl-file-formats/dist/cjs/m0v/m0vFile.js +2 -2
- package/node_modules/@m0saic/dsl-file-formats/package.json +1 -1
- package/node_modules/@m0saic/knowledge/docs/README.md +1 -0
- package/node_modules/@m0saic/knowledge/docs/file-formats/m0p-and-custom-field.md +1 -1
- package/node_modules/@m0saic/knowledge/docs/runtime/cli-usage.md +186 -46
- package/node_modules/@m0saic/knowledge/docs/runtime/ffmpeg-expression-limits.md +7 -0
- package/node_modules/@m0saic/knowledge/docs/templates/README.md +5 -1
- package/node_modules/@m0saic/knowledge/docs/templates/patterns/print-authoring.md +97 -0
- package/node_modules/@m0saic/knowledge/docs/templates/reference/brand-schema.md +73 -0
- package/node_modules/@m0saic/knowledge/docs/templates/reference/prop-bindings.md +31 -1
- package/node_modules/@m0saic/knowledge/docs/templates/render-lifecycle.md +26 -1
- package/node_modules/@m0saic/knowledge/docs/templates/ui-controls.md +42 -0
- package/node_modules/@m0saic/knowledge/package.json +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/share/shareQuery.js +1 -1
- package/node_modules/@m0saic/platform/package.json +1 -1
- package/node_modules/@m0saic/product/dist/__fixtures__/tarGz.js +1 -0
- 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/installedTemplateRepos.js +1 -0
- 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/templateBundle.js +1 -0
- package/node_modules/@m0saic/product/dist/upstreamDefaults.js +1 -1
- package/node_modules/@m0saic/product/dist/workspaceScaffold.js +1 -1
- package/node_modules/@m0saic/product/package.json +1 -1
- package/node_modules/@m0saic/template-utils/dist/media/defaultMedia.browser.js +1 -0
- package/node_modules/@m0saic/template-utils/dist/media/starterSvgInline.js +1 -0
- package/node_modules/@m0saic/template-utils/package.json +1 -1
- package/node_modules/@m0saic/templates/dist/m0saic/alpine/bar-graph/v3/bar-graph.js +1 -0
- package/node_modules/@m0saic/templates/dist/m0saic/alpine/bar-graph/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/line-chart/v4/index.js +1 -0
- package/node_modules/@m0saic/templates/dist/m0saic/alpine/line-chart/v4/line-chart.js +1 -0
- package/node_modules/@m0saic/templates/dist/m0saic/brand/business-card/v3/business-card.js +1 -0
- package/node_modules/@m0saic/templates/dist/m0saic/brand/business-card/v3/index.js +1 -0
- package/node_modules/@m0saic/templates/dist/m0saic/brand/business-card/v3/layout.js +1 -0
- package/node_modules/@m0saic/templates/dist/m0saic/brand/index.js +1 -1
- package/node_modules/@m0saic/templates/dist/template-catalog.json +486 -6
- 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 +486 -6
- package/node_modules/@m0saic/templates/template-manifest.json +69 -0
- package/node_modules/@m0saic/templates/web-template-ids.json +3 -0
- package/node_modules/@m0saic/templates-advanced/package.json +1 -1
- package/node_modules/@m0saic/text/package.json +1 -1
- package/node_modules/@m0saic/types/package.json +1 -1
- package/node_modules/@m0saic/types-internal/dist/analytics/featureKeys.js +1 -1
- package/node_modules/@m0saic/types-internal/package.json +1 -1
- package/package.json +13 -13
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";var
|
|
1
|
+
"use strict";var s=Object.defineProperty;var e=(r,t)=>s(r,"name",{value:t,configurable:!0});Object.defineProperty(exports,"__esModule",{value:!0}),exports.BusinessCardV3=exports.BusinessCardV2=exports.BusinessCard=exports.CommunityMV1=exports.QrStampStill=exports.QrStampVideoV2=exports.TheMosaicMV4=exports.TheMosaicMV3=exports.TheMosaicMV2=exports.TheMosaicM=void 0;var v1_1=require("./logo/v1");Object.defineProperty(exports,"TheMosaicM",{enumerable:!0,get:e(function(){return v1_1.TheMosaicM},"get")});var v2_1=require("./logo/v2");Object.defineProperty(exports,"TheMosaicMV2",{enumerable:!0,get:e(function(){return v2_1.TheMosaicMV2},"get")});var v3_1=require("./logo/v3");Object.defineProperty(exports,"TheMosaicMV3",{enumerable:!0,get:e(function(){return v3_1.TheMosaicMV3},"get")});var v4_1=require("./logo/v4");Object.defineProperty(exports,"TheMosaicMV4",{enumerable:!0,get:e(function(){return v4_1.TheMosaicMV4},"get")});var v2_2=require("./qr-stamp/video/v2");Object.defineProperty(exports,"QrStampVideoV2",{enumerable:!0,get:e(function(){return v2_2.QrStampVideoV2},"get")});var v1_2=require("./qr-stamp/still/v1");Object.defineProperty(exports,"QrStampStill",{enumerable:!0,get:e(function(){return v1_2.QrStampStill},"get")});var v1_3=require("./community-m/v1");Object.defineProperty(exports,"CommunityMV1",{enumerable:!0,get:e(function(){return v1_3.CommunityMV1},"get")});var v1_4=require("./business-card/v1");Object.defineProperty(exports,"BusinessCard",{enumerable:!0,get:e(function(){return v1_4.BusinessCard},"get")});var v2_3=require("./business-card/v2");Object.defineProperty(exports,"BusinessCardV2",{enumerable:!0,get:e(function(){return v2_3.BusinessCardV2},"get")});var v3_2=require("./business-card/v3");Object.defineProperty(exports,"BusinessCardV3",{enumerable:!0,get:e(function(){return v3_2.BusinessCardV3},"get")});
|
|
@@ -195,12 +195,17 @@
|
|
|
195
195
|
},
|
|
196
196
|
"@m0saic/alpine/bar-graph/v1": {
|
|
197
197
|
"deprecated": {
|
|
198
|
-
"reason": "Superseded by
|
|
199
|
-
"replacement": "@m0saic/alpine/bar-graph/
|
|
198
|
+
"reason": "Superseded by v3: the same alpine bar chart, with its values editable on the Make canvas (v2) and its bars on an exact scale (v3).",
|
|
199
|
+
"replacement": "@m0saic/alpine/bar-graph/v3",
|
|
200
200
|
"since": "2026-09-30"
|
|
201
201
|
}
|
|
202
202
|
},
|
|
203
203
|
"@m0saic/alpine/bar-graph/v2": {
|
|
204
|
+
"deprecated": {
|
|
205
|
+
"reason": "Superseded by v3: the same alpine bar chart on an exact scale. v2's bars ran short of their own gridlines (the value-label headroom came out of the bar scale only).",
|
|
206
|
+
"replacement": "@m0saic/alpine/bar-graph/v3",
|
|
207
|
+
"since": "2026-10-12"
|
|
208
|
+
},
|
|
204
209
|
"label": "Alpine Bar Chart",
|
|
205
210
|
"description": "Alpine horizontal bar chart — friendly mobile-marketing card: rounded bars, category rail, inline values, value ticks.",
|
|
206
211
|
"tags": [
|
|
@@ -380,6 +385,186 @@
|
|
|
380
385
|
}
|
|
381
386
|
}
|
|
382
387
|
},
|
|
388
|
+
"@m0saic/alpine/bar-graph/v3": {
|
|
389
|
+
"label": "Alpine Bar Chart",
|
|
390
|
+
"description": "Alpine bar chart, a friendly mobile-marketing card: rounded bars on an exact scale (every bar lands on its value's gridline), category labels, value labels, value ticks centred on their lines.",
|
|
391
|
+
"tags": [
|
|
392
|
+
"data-viz",
|
|
393
|
+
"alpine",
|
|
394
|
+
"bar-graph",
|
|
395
|
+
"animated",
|
|
396
|
+
"analysts",
|
|
397
|
+
"developers",
|
|
398
|
+
"dashboard",
|
|
399
|
+
"report",
|
|
400
|
+
"chart"
|
|
401
|
+
],
|
|
402
|
+
"primitive": true,
|
|
403
|
+
"props": {
|
|
404
|
+
"values": {
|
|
405
|
+
"label": "Values",
|
|
406
|
+
"description": "Numeric data values driving the bars.",
|
|
407
|
+
"order": 1
|
|
408
|
+
},
|
|
409
|
+
"labels": {
|
|
410
|
+
"label": "Category Labels",
|
|
411
|
+
"description": "Category labels (index-aligned to values). Optional — clear for a value-only chart.",
|
|
412
|
+
"order": 2,
|
|
413
|
+
"primary": true
|
|
414
|
+
},
|
|
415
|
+
"title": {
|
|
416
|
+
"label": "Title",
|
|
417
|
+
"description": "Card title.",
|
|
418
|
+
"placeholder": "e.g., BAR CHART",
|
|
419
|
+
"order": 3
|
|
420
|
+
},
|
|
421
|
+
"subtitle": {
|
|
422
|
+
"label": "Subtitle",
|
|
423
|
+
"description": "Card subtitle.",
|
|
424
|
+
"placeholder": "e.g., Sales by Channel",
|
|
425
|
+
"order": 4
|
|
426
|
+
},
|
|
427
|
+
"orientation": {
|
|
428
|
+
"label": "Orientation",
|
|
429
|
+
"description": "Bar orientation: horizontal (bars grow right) or vertical (bars grow up).",
|
|
430
|
+
"order": 5
|
|
431
|
+
},
|
|
432
|
+
"preset": {
|
|
433
|
+
"label": "Preset",
|
|
434
|
+
"description": "Alpine theme variant.",
|
|
435
|
+
"order": 6
|
|
436
|
+
},
|
|
437
|
+
"barColor": {
|
|
438
|
+
"label": "Bar Color",
|
|
439
|
+
"description": "Bar fill color. Defaults to the resolved theme primary.",
|
|
440
|
+
"placeholder": "theme primary",
|
|
441
|
+
"order": 7
|
|
442
|
+
},
|
|
443
|
+
"bars.thickness": {
|
|
444
|
+
"label": "Thickness",
|
|
445
|
+
"description": "Bar width (vertical) / height (horizontal) as a fraction of its band. 1 = bars touch. Overrides Gap when set.",
|
|
446
|
+
"placeholder": "derived from Gap"
|
|
447
|
+
},
|
|
448
|
+
"bars.gap": {
|
|
449
|
+
"label": "Gap",
|
|
450
|
+
"description": "Gap between bars as a fraction of bar thickness (legacy inverse of Thickness — ignored when Thickness is set)."
|
|
451
|
+
},
|
|
452
|
+
"bars.cornerRadius": {
|
|
453
|
+
"label": "Bar rounding",
|
|
454
|
+
"description": "Bar cap rounding (0..1)."
|
|
455
|
+
},
|
|
456
|
+
"bars": {
|
|
457
|
+
"label": "Bars",
|
|
458
|
+
"description": "Bar geometry: gap between bars + cap rounding.",
|
|
459
|
+
"order": 8,
|
|
460
|
+
"collapsedByDefault": true
|
|
461
|
+
},
|
|
462
|
+
"grid.show": {
|
|
463
|
+
"label": "Show",
|
|
464
|
+
"description": "Draw gridlines + value ticks."
|
|
465
|
+
},
|
|
466
|
+
"grid.count": {
|
|
467
|
+
"label": "Tick count",
|
|
468
|
+
"description": "Number of gridline intervals."
|
|
469
|
+
},
|
|
470
|
+
"grid": {
|
|
471
|
+
"label": "Grid",
|
|
472
|
+
"description": "Gridlines + value ticks behind the bars.",
|
|
473
|
+
"order": 9,
|
|
474
|
+
"collapsedByDefault": true
|
|
475
|
+
},
|
|
476
|
+
"valueLabels.show": {
|
|
477
|
+
"label": "Show",
|
|
478
|
+
"description": "Print each bar's value inline."
|
|
479
|
+
},
|
|
480
|
+
"valueLabels.format": {
|
|
481
|
+
"label": "Format",
|
|
482
|
+
"description": "compact = 1.2K; raw = as-is; percent = share of max."
|
|
483
|
+
},
|
|
484
|
+
"valueLabels.decimals": {
|
|
485
|
+
"label": "Decimals",
|
|
486
|
+
"description": "Decimal places."
|
|
487
|
+
},
|
|
488
|
+
"valueLabels.suffix": {
|
|
489
|
+
"label": "Suffix",
|
|
490
|
+
"description": "Appended to each value (e.g. \"%\", \" MB\")."
|
|
491
|
+
},
|
|
492
|
+
"valueLabels": {
|
|
493
|
+
"label": "Value Labels",
|
|
494
|
+
"description": "Inline per-bar value labels.",
|
|
495
|
+
"order": 10,
|
|
496
|
+
"collapsedByDefault": true
|
|
497
|
+
},
|
|
498
|
+
"domain.minValue": {
|
|
499
|
+
"label": "Min Value",
|
|
500
|
+
"description": "Explicit domain minimum. Auto (0 / nice) when unset."
|
|
501
|
+
},
|
|
502
|
+
"domain.maxValue": {
|
|
503
|
+
"label": "Max Value",
|
|
504
|
+
"description": "Explicit domain maximum. Auto (nice max) when unset.",
|
|
505
|
+
"placeholder": "data max"
|
|
506
|
+
},
|
|
507
|
+
"domain": {
|
|
508
|
+
"label": "Domain",
|
|
509
|
+
"description": "Value-axis domain overrides — leave unset to auto-fit to nice round numbers.",
|
|
510
|
+
"order": 11,
|
|
511
|
+
"collapsedByDefault": true
|
|
512
|
+
},
|
|
513
|
+
"anim.renderMode": {
|
|
514
|
+
"label": "Render mode",
|
|
515
|
+
"description": "\"premium\" (default): bars fade + grow in — a per-pixel geq per bar/label. \"light\": bars grow opaquely + labels enable-gate pop — no geq, composable, cheap when nested."
|
|
516
|
+
},
|
|
517
|
+
"anim.reduceMotion": {
|
|
518
|
+
"label": "Reduce motion",
|
|
519
|
+
"description": "Skip motion; render the final static card."
|
|
520
|
+
},
|
|
521
|
+
"anim.introFrac": {
|
|
522
|
+
"label": "Intro length",
|
|
523
|
+
"description": "Share of the clip the intro fills (the rest holds)."
|
|
524
|
+
},
|
|
525
|
+
"anim.ease": {
|
|
526
|
+
"label": "Easing",
|
|
527
|
+
"description": "Grow-in easing curve."
|
|
528
|
+
},
|
|
529
|
+
"anim": {
|
|
530
|
+
"label": "Animation",
|
|
531
|
+
"description": "Reveal mode + grow-in intro.",
|
|
532
|
+
"order": 12,
|
|
533
|
+
"collapsedByDefault": true
|
|
534
|
+
},
|
|
535
|
+
"theme.slug": {
|
|
536
|
+
"label": "Producer slug",
|
|
537
|
+
"description": "Producer template to seed tokens from (e.g. \"@m0saic/theming/v1\").",
|
|
538
|
+
"placeholder": "preset palette (no producer)"
|
|
539
|
+
},
|
|
540
|
+
"theme.preset": {
|
|
541
|
+
"label": "Preset",
|
|
542
|
+
"description": "Producer preset/variant (light | dark | high-contrast; producer-defined).",
|
|
543
|
+
"placeholder": "producer default"
|
|
544
|
+
},
|
|
545
|
+
"theme.namespace": {
|
|
546
|
+
"label": "Namespace",
|
|
547
|
+
"description": "Upstream alias to read tokens from. Default \"theme\".",
|
|
548
|
+
"placeholder": "theme"
|
|
549
|
+
},
|
|
550
|
+
"theme.forceFetch": {
|
|
551
|
+
"label": "Force fetch",
|
|
552
|
+
"description": "Re-seed via the slug even if the namespace is populated."
|
|
553
|
+
},
|
|
554
|
+
"theme": {
|
|
555
|
+
"label": "Theme",
|
|
556
|
+
"description": "Opt into a theme source. Uses the alpine preset by default; set a producer slug + namespace to pull shared design tokens. Explicit color props still win.",
|
|
557
|
+
"order": 13,
|
|
558
|
+
"collapsedByDefault": true
|
|
559
|
+
},
|
|
560
|
+
"debugLayout": {
|
|
561
|
+
"label": "Debug layout",
|
|
562
|
+
"description": "Dev-only layout contract view: renders the contract wireframe instead of the chart — bars GREEN with the measured rule when every bar is the same thickness (equal height horizontal / equal width vertical), offenders RED with the violation when not. Deterministic default false; production never sets it.",
|
|
563
|
+
"order": 14,
|
|
564
|
+
"collapsedByDefault": true
|
|
565
|
+
}
|
|
566
|
+
}
|
|
567
|
+
},
|
|
383
568
|
"@m0saic/alpine/commit-feed/v2": {
|
|
384
569
|
"deprecated": {
|
|
385
570
|
"reason": "Superseded by v3 — the same alpine commit feed, with its values editable on the Make canvas.",
|
|
@@ -1227,12 +1412,17 @@
|
|
|
1227
1412
|
},
|
|
1228
1413
|
"@m0saic/alpine/line-chart/v2": {
|
|
1229
1414
|
"deprecated": {
|
|
1230
|
-
"reason": "Superseded by
|
|
1231
|
-
"replacement": "@m0saic/alpine/line-chart/
|
|
1415
|
+
"reason": "Superseded by v4: the same alpine line chart, with its values editable on the Make canvas (v3) and every gridline, point and tick a real cell on one exact scale (v4).",
|
|
1416
|
+
"replacement": "@m0saic/alpine/line-chart/v4",
|
|
1232
1417
|
"since": "2026-09-30"
|
|
1233
1418
|
}
|
|
1234
1419
|
},
|
|
1235
1420
|
"@m0saic/alpine/line-chart/v3": {
|
|
1421
|
+
"deprecated": {
|
|
1422
|
+
"reason": "Superseded by v4: the same alpine line chart with every gridline, point and tick a real cell on one exact scale (v3 drew them as masks over the whole plot).",
|
|
1423
|
+
"replacement": "@m0saic/alpine/line-chart/v4",
|
|
1424
|
+
"since": "2026-10-12"
|
|
1425
|
+
},
|
|
1236
1426
|
"label": "Alpine Line Chart",
|
|
1237
1427
|
"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.",
|
|
1238
1428
|
"tags": [
|
|
@@ -1396,6 +1586,170 @@
|
|
|
1396
1586
|
}
|
|
1397
1587
|
}
|
|
1398
1588
|
},
|
|
1589
|
+
"@m0saic/alpine/line-chart/v4": {
|
|
1590
|
+
"label": "Alpine Line Chart",
|
|
1591
|
+
"description": "Alpine line/area chart, a friendly mobile-marketing card: soft area fill, rounded line, point markers, value rail, category labels, left-to-right draw-on. Every gridline, point and tick is a real cell on one exact scale, so the chart's geometry draws the chart.",
|
|
1592
|
+
"tags": [
|
|
1593
|
+
"data-viz",
|
|
1594
|
+
"alpine",
|
|
1595
|
+
"line-chart",
|
|
1596
|
+
"animated",
|
|
1597
|
+
"analysts",
|
|
1598
|
+
"developers",
|
|
1599
|
+
"trend",
|
|
1600
|
+
"dashboard",
|
|
1601
|
+
"chart"
|
|
1602
|
+
],
|
|
1603
|
+
"primitive": true,
|
|
1604
|
+
"props": {
|
|
1605
|
+
"values": {
|
|
1606
|
+
"label": "Values",
|
|
1607
|
+
"description": "Numeric series driving the line (left→right).",
|
|
1608
|
+
"order": 1
|
|
1609
|
+
},
|
|
1610
|
+
"labels": {
|
|
1611
|
+
"label": "Category Labels",
|
|
1612
|
+
"description": "Category labels (index-aligned to values) along the x-axis.",
|
|
1613
|
+
"order": 2,
|
|
1614
|
+
"primary": true
|
|
1615
|
+
},
|
|
1616
|
+
"title": {
|
|
1617
|
+
"label": "Title",
|
|
1618
|
+
"description": "Card title.",
|
|
1619
|
+
"placeholder": "e.g., LINE CHART",
|
|
1620
|
+
"order": 3
|
|
1621
|
+
},
|
|
1622
|
+
"subtitle": {
|
|
1623
|
+
"label": "Subtitle",
|
|
1624
|
+
"description": "Card subtitle.",
|
|
1625
|
+
"placeholder": "e.g., Monthly Active Users",
|
|
1626
|
+
"order": 4
|
|
1627
|
+
},
|
|
1628
|
+
"curve": {
|
|
1629
|
+
"label": "Curve",
|
|
1630
|
+
"description": "Interpolation between points.",
|
|
1631
|
+
"order": 5
|
|
1632
|
+
},
|
|
1633
|
+
"preset": {
|
|
1634
|
+
"label": "Preset",
|
|
1635
|
+
"description": "Alpine theme variant.",
|
|
1636
|
+
"order": 6
|
|
1637
|
+
},
|
|
1638
|
+
"lineColor": {
|
|
1639
|
+
"label": "Line Color",
|
|
1640
|
+
"description": "Line + marker color. Defaults to the resolved theme primary.",
|
|
1641
|
+
"placeholder": "theme primary",
|
|
1642
|
+
"order": 7
|
|
1643
|
+
},
|
|
1644
|
+
"grid.show": {
|
|
1645
|
+
"label": "Show",
|
|
1646
|
+
"description": "Draw horizontal gridlines + value ticks."
|
|
1647
|
+
},
|
|
1648
|
+
"grid.count": {
|
|
1649
|
+
"label": "Tick count",
|
|
1650
|
+
"description": "Number of horizontal gridlines/ticks."
|
|
1651
|
+
},
|
|
1652
|
+
"grid": {
|
|
1653
|
+
"label": "Grid",
|
|
1654
|
+
"description": "Gridlines + value ticks behind the line.",
|
|
1655
|
+
"order": 8,
|
|
1656
|
+
"collapsedByDefault": true
|
|
1657
|
+
},
|
|
1658
|
+
"area.show": {
|
|
1659
|
+
"label": "Show",
|
|
1660
|
+
"description": "Fill under the line."
|
|
1661
|
+
},
|
|
1662
|
+
"area.opacity": {
|
|
1663
|
+
"label": "Opacity",
|
|
1664
|
+
"description": "Area fill opacity (0..1)."
|
|
1665
|
+
},
|
|
1666
|
+
"area": {
|
|
1667
|
+
"label": "Area",
|
|
1668
|
+
"description": "Soft area fill under the line.",
|
|
1669
|
+
"order": 9,
|
|
1670
|
+
"collapsedByDefault": true
|
|
1671
|
+
},
|
|
1672
|
+
"points.show": {
|
|
1673
|
+
"label": "Show",
|
|
1674
|
+
"description": "Draw a dot at each data vertex."
|
|
1675
|
+
},
|
|
1676
|
+
"points": {
|
|
1677
|
+
"label": "Points",
|
|
1678
|
+
"description": "Point markers at each data vertex.",
|
|
1679
|
+
"order": 10,
|
|
1680
|
+
"collapsedByDefault": true
|
|
1681
|
+
},
|
|
1682
|
+
"showTicks": {
|
|
1683
|
+
"label": "Axis ticks",
|
|
1684
|
+
"description": "Small vertical ticks on the x-axis at each labeled data point (classic chart look). Default true.",
|
|
1685
|
+
"order": 10
|
|
1686
|
+
},
|
|
1687
|
+
"domain.minValue": {
|
|
1688
|
+
"label": "Min Value",
|
|
1689
|
+
"description": "Explicit domain minimum. Auto-derived when unset.",
|
|
1690
|
+
"placeholder": "data min"
|
|
1691
|
+
},
|
|
1692
|
+
"domain.maxValue": {
|
|
1693
|
+
"label": "Max Value",
|
|
1694
|
+
"description": "Explicit domain maximum. Auto-derived when unset.",
|
|
1695
|
+
"placeholder": "data max"
|
|
1696
|
+
},
|
|
1697
|
+
"domain": {
|
|
1698
|
+
"label": "Domain",
|
|
1699
|
+
"description": "Value-axis domain overrides — leave unset to auto-fit to nice round numbers.",
|
|
1700
|
+
"order": 11,
|
|
1701
|
+
"collapsedByDefault": true
|
|
1702
|
+
},
|
|
1703
|
+
"anim.reduceMotion": {
|
|
1704
|
+
"label": "Reduce motion",
|
|
1705
|
+
"description": "Skip motion; render the final static card."
|
|
1706
|
+
},
|
|
1707
|
+
"anim.introFrac": {
|
|
1708
|
+
"label": "Intro length",
|
|
1709
|
+
"description": "Share of the clip the intro fills (the rest holds)."
|
|
1710
|
+
},
|
|
1711
|
+
"anim.ease": {
|
|
1712
|
+
"label": "Easing",
|
|
1713
|
+
"description": "Intro draw-on easing curve."
|
|
1714
|
+
},
|
|
1715
|
+
"anim": {
|
|
1716
|
+
"label": "Animation",
|
|
1717
|
+
"description": "Left→right draw-on intro.",
|
|
1718
|
+
"order": 12,
|
|
1719
|
+
"collapsedByDefault": true
|
|
1720
|
+
},
|
|
1721
|
+
"theme.slug": {
|
|
1722
|
+
"label": "Producer slug",
|
|
1723
|
+
"description": "Producer template to seed tokens from (e.g. \"@m0saic/theming/v1\").",
|
|
1724
|
+
"placeholder": "preset palette (no producer)"
|
|
1725
|
+
},
|
|
1726
|
+
"theme.preset": {
|
|
1727
|
+
"label": "Preset",
|
|
1728
|
+
"description": "Producer preset/variant (light | dark | high-contrast; producer-defined).",
|
|
1729
|
+
"placeholder": "producer default"
|
|
1730
|
+
},
|
|
1731
|
+
"theme.namespace": {
|
|
1732
|
+
"label": "Namespace",
|
|
1733
|
+
"description": "Upstream alias to read tokens from. Default \"theme\".",
|
|
1734
|
+
"placeholder": "theme"
|
|
1735
|
+
},
|
|
1736
|
+
"theme.forceFetch": {
|
|
1737
|
+
"label": "Force fetch",
|
|
1738
|
+
"description": "Re-seed via the slug even if the namespace is populated."
|
|
1739
|
+
},
|
|
1740
|
+
"theme": {
|
|
1741
|
+
"label": "Theme",
|
|
1742
|
+
"description": "Opt into a theme source. Uses the alpine preset by default; set a producer slug + namespace to pull shared design tokens. Explicit color props still win.",
|
|
1743
|
+
"order": 13,
|
|
1744
|
+
"collapsedByDefault": true
|
|
1745
|
+
},
|
|
1746
|
+
"debugLayout": {
|
|
1747
|
+
"label": "Debug layout",
|
|
1748
|
+
"description": "Dev-only layout contract view: renders the contract wireframe instead of the chart — x-axis ticks GREEN when each sits on its data point's x, offenders RED. Deterministic false default; production never sets it.",
|
|
1749
|
+
"order": 13
|
|
1750
|
+
}
|
|
1751
|
+
}
|
|
1752
|
+
},
|
|
1399
1753
|
"@m0saic/alpine/progress-card/v1": {
|
|
1400
1754
|
"deprecated": {
|
|
1401
1755
|
"reason": "Superseded by v2 — the same alpine progress card, with its values editable on the Make canvas.",
|
|
@@ -1924,12 +2278,17 @@
|
|
|
1924
2278
|
},
|
|
1925
2279
|
"@m0saic/brand/business-card/v1": {
|
|
1926
2280
|
"deprecated": {
|
|
1927
|
-
"reason": "Superseded by v2 — the same card, with every empty contact line addable from the name on the Make canvas.",
|
|
1928
|
-
"replacement": "@m0saic/brand/business-card/
|
|
2281
|
+
"reason": "Superseded by v2 — the same card, with every empty contact line addable from the name on the Make canvas — and v2 by v3 (a light theme, and the solutions QR back).",
|
|
2282
|
+
"replacement": "@m0saic/brand/business-card/v3",
|
|
1929
2283
|
"since": "2026-09-29"
|
|
1930
2284
|
}
|
|
1931
2285
|
},
|
|
1932
2286
|
"@m0saic/brand/business-card/v2": {
|
|
2287
|
+
"deprecated": {
|
|
2288
|
+
"reason": "Superseded by v3 — the same card with a light theme beside the navy, and a choice of back: the industry solutions QR, the hello-world card, or any shipped template (v2's back).",
|
|
2289
|
+
"replacement": "@m0saic/brand/business-card/v3",
|
|
2290
|
+
"since": "2026-10-18"
|
|
2291
|
+
},
|
|
1933
2292
|
"label": "Business Card",
|
|
1934
2293
|
"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.",
|
|
1935
2294
|
"tags": [
|
|
@@ -2013,6 +2372,127 @@
|
|
|
2013
2372
|
}
|
|
2014
2373
|
}
|
|
2015
2374
|
},
|
|
2375
|
+
"@m0saic/brand/business-card/v3": {
|
|
2376
|
+
"label": "Business Card",
|
|
2377
|
+
"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), light (the solutions look) or dark (the navy card). Front: the brand field, the M lockup and your contact. Back: a big QR to m0saic.io/solutions, the hello-world card, or any shipped template rendered live with a QR that opens it on Mosaic Web. One render, two PNGs (front + back).",
|
|
2378
|
+
"tags": [
|
|
2379
|
+
"brand",
|
|
2380
|
+
"print",
|
|
2381
|
+
"card",
|
|
2382
|
+
"business-card",
|
|
2383
|
+
"still",
|
|
2384
|
+
"qr",
|
|
2385
|
+
"solutions",
|
|
2386
|
+
"founders",
|
|
2387
|
+
"marketers",
|
|
2388
|
+
"developers"
|
|
2389
|
+
],
|
|
2390
|
+
"props": {
|
|
2391
|
+
"name": {
|
|
2392
|
+
"label": "Name",
|
|
2393
|
+
"description": "Your name — the bold line on the front. Double-click it to add any contact line that is empty.",
|
|
2394
|
+
"placeholder": "none",
|
|
2395
|
+
"order": 1,
|
|
2396
|
+
"primary": true
|
|
2397
|
+
},
|
|
2398
|
+
"role": {
|
|
2399
|
+
"label": "Role",
|
|
2400
|
+
"description": "Role / company line under the name. Empty removes it.",
|
|
2401
|
+
"placeholder": "none",
|
|
2402
|
+
"order": 2
|
|
2403
|
+
},
|
|
2404
|
+
"email": {
|
|
2405
|
+
"label": "Email",
|
|
2406
|
+
"description": "Email address, set in the mono face. Empty removes it.",
|
|
2407
|
+
"placeholder": "none",
|
|
2408
|
+
"order": 3
|
|
2409
|
+
},
|
|
2410
|
+
"site": {
|
|
2411
|
+
"label": "Site",
|
|
2412
|
+
"description": "Website, set in the mono face. Empty removes it.",
|
|
2413
|
+
"placeholder": "none",
|
|
2414
|
+
"order": 4
|
|
2415
|
+
},
|
|
2416
|
+
"handle": {
|
|
2417
|
+
"label": "Handle",
|
|
2418
|
+
"description": "Social handle, printed beside the site. Empty removes it.",
|
|
2419
|
+
"placeholder": "none",
|
|
2420
|
+
"order": 5
|
|
2421
|
+
},
|
|
2422
|
+
"theme": {
|
|
2423
|
+
"label": "Theme",
|
|
2424
|
+
"description": "\"light\" — the m0saic.io solutions look: an ivory page, warm tiles, ink letters; \"dark\" — the navy card, its tiles lifted so the pattern survives print.",
|
|
2425
|
+
"order": 6,
|
|
2426
|
+
"primary": true
|
|
2427
|
+
},
|
|
2428
|
+
"back": {
|
|
2429
|
+
"label": "Back",
|
|
2430
|
+
"description": "What the back shows: \"solutions\" — a big QR to the industry solutions page; \"hello-world\" — the hello-world card with a QR to it on Mosaic Web; \"template\" — any other shipped template, rendered live, with a QR that opens it.",
|
|
2431
|
+
"order": 1,
|
|
2432
|
+
"primary": true
|
|
2433
|
+
},
|
|
2434
|
+
"backTemplate": {
|
|
2435
|
+
"label": "Back template",
|
|
2436
|
+
"description": "Which shipped template the back shows (rendered live, with a QR that opens it on Mosaic Web).",
|
|
2437
|
+
"order": 2
|
|
2438
|
+
},
|
|
2439
|
+
"qrUrl": {
|
|
2440
|
+
"label": "QR link",
|
|
2441
|
+
"description": "What the back's QR opens — the industry solutions page, so one card serves every show. Printed beside it as typed (no https://).",
|
|
2442
|
+
"placeholder": "https://m0saic.io/solutions",
|
|
2443
|
+
"order": 3
|
|
2444
|
+
},
|
|
2445
|
+
"backTitle": {
|
|
2446
|
+
"label": "Back title",
|
|
2447
|
+
"description": "The bold line beside the QR. Double-click it to add a last line.",
|
|
2448
|
+
"placeholder": "See it for your business",
|
|
2449
|
+
"order": 4
|
|
2450
|
+
},
|
|
2451
|
+
"backLine": {
|
|
2452
|
+
"label": "Back line",
|
|
2453
|
+
"description": "A last line under the link, in the mono face — a booth number, say. Empty removes it.",
|
|
2454
|
+
"placeholder": "none",
|
|
2455
|
+
"order": 5
|
|
2456
|
+
},
|
|
2457
|
+
"backImage": {
|
|
2458
|
+
"label": "Back picture",
|
|
2459
|
+
"description": "One picture beside a smaller QR, cropped to 16:9 — a store's ad, say. Empty: the big QR alone.",
|
|
2460
|
+
"placeholder": "the big QR",
|
|
2461
|
+
"order": 6
|
|
2462
|
+
},
|
|
2463
|
+
"bleed": {
|
|
2464
|
+
"label": "Bleed",
|
|
2465
|
+
"description": "Printer bleed per side: \"moo\" (MOO — 3.66 x 2.16 in, 1098 x 648 px at 300 DPI, exact), \"none\" (trim only, 3.5 x 2 in), \"sixteenth\" (Vistaprint), \"eighth\" (FedEx Office / Staples).",
|
|
2466
|
+
"order": 1
|
|
2467
|
+
},
|
|
2468
|
+
"dpi": {
|
|
2469
|
+
"label": "DPI",
|
|
2470
|
+
"description": "Print resolution in dots per inch — every dimension scales with it. 300 is press standard.",
|
|
2471
|
+
"order": 2
|
|
2472
|
+
},
|
|
2473
|
+
"fieldOpacity": {
|
|
2474
|
+
"label": "Field opacity",
|
|
2475
|
+
"description": "Tint of the field tiles over the page (0–1). Empty = the theme's: 0.7 on light (a visible brick, still soft), 0.5 on dark. Paper prints no backlight: on dark, under about 0.4 the brick prints as solid black.",
|
|
2476
|
+
"placeholder": "the theme's",
|
|
2477
|
+
"order": 3
|
|
2478
|
+
},
|
|
2479
|
+
"accent": {
|
|
2480
|
+
"label": "Accent",
|
|
2481
|
+
"description": "Accent colour — the M, the wordmark's zero and the QR.",
|
|
2482
|
+
"order": 4
|
|
2483
|
+
},
|
|
2484
|
+
"guides": {
|
|
2485
|
+
"label": "Proof guides",
|
|
2486
|
+
"description": "Draw the trim (orange) and safe-area (green) outlines for proofing. Off for the press file.",
|
|
2487
|
+
"order": 5
|
|
2488
|
+
},
|
|
2489
|
+
"debugLayout": {
|
|
2490
|
+
"label": "Debug layout",
|
|
2491
|
+
"description": "Dev-only: overlay the layout contract (every mark keeps its aspect, a picture on the back keeps its own, every glyph stays inside the safe area).",
|
|
2492
|
+
"order": 6
|
|
2493
|
+
}
|
|
2494
|
+
}
|
|
2495
|
+
},
|
|
2016
2496
|
"@m0saic/brand/logo/v3": {
|
|
2017
2497
|
"deprecated": {
|
|
2018
2498
|
"reason": "0.3.1: every tile of the mark carries its colour and the running animation's knobs",
|