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
|
@@ -1 +1 @@
|
|
|
1
|
-
'use strict';const _0x2dac1e=_0x5e6e;function _0x1e0e(){const _0x1ad92e=['C2nHBgu','jNf1B3q7','ihDPzhrOpsi','Cgf0Aa','BgvUz3rO','iIb5psi','yxjNCW','iIbOzwLNAhq9iG','Bg9JywXqyxrO','lNbUzW','BwLU','mteYngjtwNLMCG','ihnJywXLka','iIbMAwXSpsj3AgL0zsiVpG','zgLNzxn0','iIbMAwXSpsjUB25LiIbZDhjVA2u9iNDOAxrLiIbZDhjVA2uTD2LKDgG9iG','yM91BMrZ','C3zNBwvKAweT','CMvWBgfJzq','C3rYAw5N','pgCGDhjHBNnMB3jTpsj0CMfUC2XHDguO','DgfYz2v0sgvPz2H0','CgfPBNrjBMrLEa','iIbZDhjVA2uTBgLUzwnHCd0ICM91BMqIihn0CM9Rzs1SAw5LAM9PBJ0ICM91BMqIlZ4','C2XPy2u','D2LKDgG','C3zNzxHHy3q','Aw5SAw5Llw1HC2S','y2XPCa','pgrLzNm+','lI4VzgLZDc9JB3jLl3n2z1jHC3rLCI5QCW','lI4VzgLZDc9JB3jLl21HC2TdywnOzurPCI5QCW','BwfW','iIbMAwXSpsi','CMDIka','CMLUzW','AgvPz2H0','Bwf4','iIbMAwXSlxj1Bgu9iMv2zw5VzgqIlZ4','iI8+','pc9ZDMC+','C3vWzxjZyw1WBgu','C3rYB2TLCW','C2HHmJu2','phjLy3qGEd0ImciGEt0ImciGD2LKDgG9iG','yMfZzty0','BwfZAY1Yyxn0zxjPEMuTy29YztOGDw5RBM93BIbPDgvTlMTPBMqGiG','mtqWntu2mgrztefNyG','DhjHBNnSyxrL','Agv4','odGZotmYzuHjvKXl','ihzPzxDcB3G9iJaGmca','ihbYzxnLCNzLqxnWzwn0uMf0Aw89iM5VBMuI','pgCGy2XPCc1WyxrOpsj1CMWOi3bJ','mti4mdiXsKzQBvPQ','DxbKyxrL','C3zNsw50CMLUC2LJu2L6zq','yMXHy2S','zgvUC2L0Eq','BwfZAY0','zNjVBq','zxHPC3rZu3LUyW','jMfTCdS','Cgf0Aeq','A2LUza','y3jLyxrLsgfZAa','CM91BMq','Bwf0Dgu','iIb3Awr0Ad0I','phbHDgGGzd0I','mJKXnZi2rM5sz1rm','jMD0oW','AM9PBG','Aw5SAw5LlxjPBMC','B3jPz2LUywW','pgnSAxbqyxrOigLKpsjWyW','Bwf4rgLT','CMLUzY0','C3zNqMfZzty0','BwLUrgLT','iI8+pc9JBgLWugf0Ad4','phn2zYb4BwXUCZ0IAhr0CdOVl3D3DY53mY5VCMCVmJaWmc9ZDMCI','z2v0twfZA0nHy2HLrgLY','C3zNzxHHy3qT','C3rYAw5NAwz5','pc9KzwzZpG','mte2mtyYnfbHwgTfsG','ksi+','iJ48CMvJDcb4psi','jMX0oW','zMvHDgHLCLb4','CMvUzgvYu3zNvg9qBMDgAwXL','C3zNlwv4ywn0','pc9NpG','y3j5ChrV','C3zNlw1LzgLH','BwTKAxjtEw5J','zxHWB3j0CW','C3zNBwvKAwe','CgfYDhm','ChvZAa','mZiWnvjzC2nYqG','ndGYmdL2DgjsEeu','zMLSBa','DgfYz2v0v2LKDgG'];_0x1e0e=function(){return _0x1ad92e;};return _0x1e0e();}(function(_0x4eaeeb,_0x4f0ec4){const _0x224f4b=_0x5e6e,_0x276787=_0x4eaeeb();while(!![]){try{const _0x124a30=parseInt(_0x224f4b(0x151))/0x1+parseInt(_0x224f4b(0xf8))/0x2+-parseInt(_0x224f4b(0x14d))/0x3+parseInt(_0x224f4b(0x126))/0x4*(-parseInt(_0x224f4b(0x117))/0x5)+parseInt(_0x224f4b(0x14a))/0x6+-parseInt(_0x224f4b(0x118))/0x7+parseInt(_0x224f4b(0x108))/0x8;if(_0x124a30===_0x4f0ec4)break;else _0x276787['push'](_0x276787['shift']());}catch(_0x42c3b2){_0x276787['push'](_0x276787['shift']());}}}(_0x1e0e,0x29eaf));const _0xd4a709=require('fs'),_0x4fa2ca=require(_0x2dac1e(0x11e)),_0x3f9ea5=require(_0x2dac1e(0x110));let _0xac5b5c=null,_0x3a9048=null;function _0x3e95cb(_0x19e7f8){const _0x5e9fa0=_0x2dac1e;_0xac5b5c=typeof _0x19e7f8==_0x5e9fa0(0x12e)&&_0x19e7f8?_0x19e7f8:null,_0xac5b5c&&_0xd4a709[_0x5e9fa0(0x112)](_0xac5b5c,{'recursive':!0x0});}function _0x536d05(){const _0x36eb84=_0x2dac1e;return _0xac5b5c?(_0xd4a709[_0x36eb84(0x112)](_0xac5b5c,{'recursive':!0x0}),_0xac5b5c):(_0x3a9048||(_0x3a9048=require(_0x36eb84(0x13a))),_0x3a9048[_0x36eb84(0x104)]());}function _0x106770(_0x1ce8d3){const _0x432bd9=_0x2dac1e;return Math[_0x432bd9(0xf4)](Math[_0x432bd9(0x140)](0x0,Math[_0x432bd9(0x125)](0x1,_0x1ce8d3||0x0))*0xff);}function _0x38a3bb(_0x1fdfdb){const _0x202c47=_0x2dac1e;return _0x1fdfdb[_0x202c47(0x12d)](/&/g,_0x202c47(0xf0))[_0x202c47(0x12d)](/"/g,_0x202c47(0x11c))[_0x202c47(0x12d)](/</g,_0x202c47(0x10b))[_0x202c47(0x12d)](/>/g,_0x202c47(0xf9));}let _0xf587ba=null;function _0x4abd7a(){const _0x528683=_0x2dac1e;return _0xf587ba||(_0xf587ba=require(_0x528683(0x139))),_0xf587ba;}const _0x189fb1='r2';function _0x416605(_0x11f40d){const _0x4c1278=_0x2dac1e,_0x44a0b3=_0x11f40d[_0x4c1278(0x12b)],_0x53b4eb=[_0x189fb1,_0x11f40d[_0x4c1278(0x123)],_0x44a0b3['x'],_0x44a0b3['y'],_0x44a0b3[_0x4c1278(0x134)],_0x44a0b3[_0x4c1278(0x13f)],_0x11f40d[_0x4c1278(0x11a)],_0x11f40d[_0x4c1278(0x130)],_0x106770(_0x11f40d[_0x4c1278(0xf5)])][_0x4c1278(0xfa)]('|'),_0x475782=[];_0x11f40d[_0x4c1278(0x145)]&&_0x11f40d[_0x4c1278(0x145)][_0x4c1278(0x11f)]&&_0x475782[_0x4c1278(0x116)]('s:'+JSON[_0x4c1278(0x106)](_0x11f40d[_0x4c1278(0x145)])),_0x11f40d[_0x4c1278(0x115)]&&_0x11f40d[_0x4c1278(0x115)][_0x4c1278(0x11f)]&&_0x475782[_0x4c1278(0x116)]('p:'+JSON[_0x4c1278(0x106)](_0x11f40d[_0x4c1278(0x115)])),_0x11f40d[_0x4c1278(0x10c)]&&_0x475782[_0x4c1278(0x116)]('f:'+_0x11f40d[_0x4c1278(0x10c)]);const _0xd3287=_0x475782[_0x4c1278(0x11f)]?_0x53b4eb+'|'+_0x475782[_0x4c1278(0xfa)]('|'):_0x53b4eb;return _0x3f9ea5[_0x4c1278(0xf3)](_0x4c1278(0x146))[_0x4c1278(0x152)](_0xd3287)[_0x4c1278(0x129)](_0x4c1278(0x14c))[_0x4c1278(0x133)](0x0,0x10);}function _0x40d42b(_0x3e57a8){const _0x876f32=_0x2dac1e;return _0x4fa2ca[_0x876f32(0xfa)](_0x536d05(),_0x876f32(0x156)+_0x3e57a8+_0x876f32(0x124));}function _0x1def15(_0x30d300){const _0x5d1c86=_0x2dac1e;return!_0x30d300||!_0x30d300[_0x5d1c86(0x11f)]?'':_0x30d300[_0x5d1c86(0x13b)](_0x2ae244=>_0x5d1c86(0xf7)+_0x38a3bb(_0x2ae244['d'])+_0x5d1c86(0x12a)+_0x2ae244[_0x5d1c86(0x134)]+_0x5d1c86(0x132))[_0x5d1c86(0xfa)]('');}function _0x1bc7b4(_0x5726d2){const _0x46f409=_0x2dac1e;if(!_0x5726d2||!_0x5726d2[_0x46f409(0x11f)])return'';const _0x27e467=_0x5726d2[_0x46f409(0x13b)]((_0xeab8c0,_0xc23800)=>_0xeab8c0[_0x46f409(0x137)]?_0x46f409(0xfd)+_0xc23800+_0x46f409(0x10a)+_0xeab8c0[_0x46f409(0x137)]['x']+_0x46f409(0x120)+_0xeab8c0[_0x46f409(0x137)]['y']+_0x46f409(0xf6)+_0xeab8c0[_0x46f409(0x137)][_0x46f409(0x134)]+_0x46f409(0x122)+_0xeab8c0[_0x46f409(0x137)][_0x46f409(0x13f)]+_0x46f409(0x102):'')[_0x46f409(0xfa)](''),_0x282ce9=_0x5726d2[_0x46f409(0x13b)]((_0xd73267,_0x2a867b)=>{const _0x14d74e=_0x46f409,_0x5aa668=_0xd73267[_0x14d74e(0x11b)]&&(_0xd73267[_0x14d74e(0x11b)]['x']!==0x1||_0xd73267[_0x14d74e(0x11b)]['y']!==0x1)?_0x14d74e(0x127)+_0xd73267[_0x14d74e(0x11b)]['x']+'\x20'+_0xd73267[_0x14d74e(0x11b)]['y']+')':'',_0x17e122=_0xd73267['d']?_0x14d74e(0xf7)+_0x38a3bb(_0xd73267['d'])+_0x14d74e(0x128):'',_0x1f9134=_0x14d74e(0x12f)+_0xd73267[_0x14d74e(0x14b)]['x']+'\x20'+_0xd73267[_0x14d74e(0x14b)]['y']+')'+_0x5aa668+'\x22>'+_0x17e122+_0x1def15(_0xd73267[_0x14d74e(0x145)])+_0x14d74e(0x10f);return _0xd73267[_0x14d74e(0x137)]?_0x14d74e(0x150)+_0x2a867b+_0x14d74e(0x109)+_0x1f9134+_0x14d74e(0x10f):_0x1f9134;})[_0x46f409(0xfa)]('');return(_0x27e467?_0x46f409(0x138)+_0x27e467+_0x46f409(0x107):'')+_0x282ce9;}function _0x446f1f(_0x5647ea){const _0xd8cb7d=_0x2dac1e,{bounds:_0xf364c7,localPath:_0x51969f,targetWidth:_0x1b71d2,targetHeight:_0x173ec9}=_0x5647ea,_0x54bfb1=_0x106770(_0x5647ea[_0xd8cb7d(0xf5)]),_0x527a15=_0x54bfb1>0x0?_0xd8cb7d(0x13d)+_0x54bfb1+','+_0x54bfb1+','+_0x54bfb1+')':_0xd8cb7d(0x154);return[_0xd8cb7d(0x103),_0xd8cb7d(0x11d)+_0x1b71d2+_0xd8cb7d(0x122)+_0x173ec9+'\x22',_0xd8cb7d(0x14f),_0xd8cb7d(0x14e)+_0xf364c7[_0xd8cb7d(0x134)]+'\x20'+_0xf364c7[_0xd8cb7d(0x13f)]+'\x22>',_0xd8cb7d(0x147)+_0xf364c7[_0xd8cb7d(0x134)]+_0xd8cb7d(0x122)+_0xf364c7[_0xd8cb7d(0x13f)]+_0xd8cb7d(0x13c)+_0x527a15+_0xd8cb7d(0x142),_0x51969f?_0xd8cb7d(0xf7)+_0x38a3bb(_0x51969f)+_0xd8cb7d(0x128):'',_0x1def15(_0x5647ea[_0xd8cb7d(0x145)]),_0x1bc7b4(_0x5647ea[_0xd8cb7d(0x115)]),_0xd8cb7d(0x143)][_0xd8cb7d(0xfa)]('');}function _0x21b802(_0x570f85){const _0x1b6af1=_0x2dac1e,_0x40f98d=_0x570f85[_0x1b6af1(0x10c)]||0x0;if(!(_0x40f98d>0x0))return 0x0;const _0x5c4b00=_0x40f98d*(_0x570f85[_0x1b6af1(0x11a)]/_0x570f85[_0x1b6af1(0x12b)][_0x1b6af1(0x134)]);return _0x5c4b00>=0.3?_0x5c4b00:0x0;}async function _0x276be2(_0x110c1e){const _0x1a7f2a=_0x2dac1e,_0x594e45=_0x416605(_0x110c1e),_0x5c37f6=_0x40d42b(_0x594e45);if(_0xd4a709[_0x1a7f2a(0x158)](_0x5c37f6))return _0x5c37f6;const _0x1fbcb5=_0x446f1f(_0x110c1e),_0x26255b=_0x21b802(_0x110c1e);return await _0x4abd7a()[_0x1a7f2a(0x10d)](Buffer[_0x1a7f2a(0x157)](_0x1fbcb5),_0x5c37f6,{'mode':_0x1a7f2a(0xfc)},_0x26255b),_0x5c37f6;}function _0x5c3663(_0x467cd8){const _0x40be36=_0x2dac1e,_0x19636c=[_0x40be36(0x13e),_0x467cd8[_0x40be36(0xf1)],_0x467cd8[_0x40be36(0x119)],_0x467cd8[_0x40be36(0x134)],_0x467cd8[_0x40be36(0x13f)]][_0x40be36(0xfa)]('|');return _0x3f9ea5[_0x40be36(0xf3)](_0x40be36(0x146))[_0x40be36(0x152)](_0x19636c)[_0x40be36(0x129)](_0x40be36(0x14c))[_0x40be36(0x133)](0x0,0x10);}function _0x507b8d(_0x5a54af){const _0x5dd738=_0x2dac1e;return _0x4fa2ca[_0x5dd738(0xfa)](_0x536d05(),_0x5dd738(0xff)+_0x5a54af+_0x5dd738(0x124));}function _0x20a0a1(_0x51e8d1){const _0x4c2ce6=_0x2dac1e;return[_0x4c2ce6(0x103),_0x4c2ce6(0x11d)+_0x51e8d1[_0x4c2ce6(0x134)]+_0x4c2ce6(0x122)+_0x51e8d1[_0x4c2ce6(0x13f)]+'\x22',_0x4c2ce6(0x14e)+_0x51e8d1[_0x4c2ce6(0x134)]+'\x20'+_0x51e8d1[_0x4c2ce6(0x13f)]+'\x22>',_0x4c2ce6(0xf7)+_0x38a3bb(_0x51e8d1[_0x4c2ce6(0xf1)])+_0x4c2ce6(0x13c)+_0x38a3bb(_0x51e8d1[_0x4c2ce6(0x119)])+_0x4c2ce6(0x141),_0x4c2ce6(0x143)][_0x4c2ce6(0xfa)]('');}async function _0x117976(_0x59ce58){const _0x516bba=_0x2dac1e,_0x291554=_0x5c3663(_0x59ce58),_0x37dd76=_0x507b8d(_0x291554);if(_0xd4a709[_0x516bba(0x158)](_0x37dd76))return _0x37dd76;const _0x3d53e3=_0x20a0a1(_0x59ce58);return await _0x4abd7a()[_0x516bba(0x10d)](Buffer[_0x516bba(0x157)](_0x3d53e3),_0x37dd76,{'mode':_0x516bba(0xfc)}),_0x37dd76;}const _0x1f6b7e=0x48;function _0x4ab0ca(_0x3a2b9f){const _0x126406=_0x2dac1e,_0x39319=[_0x126406(0x114),_0x3f9ea5[_0x126406(0xf3)](_0x126406(0x146))[_0x126406(0x152)](_0x3a2b9f[_0x126406(0x100)])[_0x126406(0x129)](_0x126406(0x14c)),_0x3a2b9f[_0x126406(0x101)],_0x3a2b9f[_0x126406(0xfe)]][_0x126406(0xfa)]('|');return _0x3f9ea5[_0x126406(0xf3)](_0x126406(0x146))[_0x126406(0x152)](_0x39319)[_0x126406(0x129)](_0x126406(0x14c))[_0x126406(0x133)](0x0,0x10);}function _0x2d28bf(_0x5579c4){const _0x2f4edd=_0x2dac1e;return _0x4fa2ca[_0x2f4edd(0xfa)](_0x536d05(),_0x2f4edd(0x12c)+_0x5579c4+_0x2f4edd(0x124));}async function _0x361253(_0x3ea8e5){const _0x486c18=_0x2dac1e,_0x46ac6d=_0x4ab0ca(_0x3ea8e5),_0x290015=_0x2d28bf(_0x46ac6d);if(_0xd4a709[_0x486c18(0x158)](_0x290015))return _0x290015;const _0x489aef=Buffer[_0x486c18(0x157)](_0x3ea8e5[_0x486c18(0x100)],_0x486c18(0x148));let _0x4f92f8=_0x1f6b7e;try{const _0xa1f61b=await _0x4abd7a()[_0x486c18(0x153)](_0x489aef),_0x3d0632=_0xa1f61b[_0x486c18(0x134)]||0x0,_0x3998f5=_0xa1f61b[_0x486c18(0x13f)]||0x0;if(_0x3d0632>0x0&&_0x3998f5>0x0){const _0x590f1c=_0x1f6b7e*_0x3ea8e5[_0x486c18(0x101)]/Math[_0x486c18(0x125)](_0x3d0632,_0x3998f5),_0xf5fd23=_0x1f6b7e*_0x3ea8e5[_0x486c18(0xfe)]/Math[_0x486c18(0x140)](_0x3d0632,_0x3998f5);_0x4f92f8=Math[_0x486c18(0x140)](_0x1f6b7e,Math[_0x486c18(0x125)](_0x590f1c,_0xf5fd23));}}catch{}return await _0x4abd7a()[_0x486c18(0x10d)](_0x489aef,_0x290015,{'mode':_0x486c18(0x155),'dpi':_0x4f92f8}),_0x290015;}function _0x5be4cc(_0xee181a){const _0x362585=_0x2dac1e,_0x1c9de2=[_0x362585(0x135),_0x3f9ea5[_0x362585(0xf3)](_0x362585(0x146))[_0x362585(0x152)](_0xee181a[_0x362585(0x100)])[_0x362585(0x129)](_0x362585(0x14c)),_0xee181a[_0x362585(0x134)],_0xee181a[_0x362585(0x13f)],_0xee181a[_0x362585(0x144)]][_0x362585(0xfa)]('|');return _0x3f9ea5[_0x362585(0xf3)](_0x362585(0x146))[_0x362585(0x152)](_0x1c9de2)[_0x362585(0x129)](_0x362585(0x14c))[_0x362585(0x133)](0x0,0x10);}function _0xe44fc0(_0x410ebd){const _0xa31c0d=_0x2dac1e;return _0x4fa2ca[_0xa31c0d(0xfa)](_0x536d05(),_0xa31c0d(0x105)+_0x410ebd+_0xa31c0d(0x124));}function _0x5e6e(_0xe04c51,_0x57f160){_0xe04c51=_0xe04c51-0xf0;const _0x1e0e42=_0x1e0e();let _0x5e6eb8=_0x1e0e42[_0xe04c51];if(_0x5e6e['BKGoWK']===undefined){var _0x38f180=function(_0x2e842c){const _0x10ddb7='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0xd4a709='',_0x4fa2ca='';for(let _0x3f9ea5=0x0,_0xac5b5c,_0x3a9048,_0x3e95cb=0x0;_0x3a9048=_0x2e842c['charAt'](_0x3e95cb++);~_0x3a9048&&(_0xac5b5c=_0x3f9ea5%0x4?_0xac5b5c*0x40+_0x3a9048:_0x3a9048,_0x3f9ea5++%0x4)?_0xd4a709+=String['fromCharCode'](0xff&_0xac5b5c>>(-0x2*_0x3f9ea5&0x6)):0x0){_0x3a9048=_0x10ddb7['indexOf'](_0x3a9048);}for(let _0x536d05=0x0,_0x106770=_0xd4a709['length'];_0x536d05<_0x106770;_0x536d05++){_0x4fa2ca+='%'+('00'+_0xd4a709['charCodeAt'](_0x536d05)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x4fa2ca);};_0x5e6e['rqZlnd']=_0x38f180,_0x5e6e['AuzqsK']={},_0x5e6e['BKGoWK']=!![];}const _0x9fa22e=_0x1e0e42[0x0],_0x12c667=_0xe04c51+_0x9fa22e,_0x300652=_0x5e6e['AuzqsK'][_0x12c667];return!_0x300652?(_0x5e6eb8=_0x5e6e['rqZlnd'](_0x5e6eb8),_0x5e6e['AuzqsK'][_0x12c667]=_0x5e6eb8):_0x5e6eb8=_0x300652,_0x5e6eb8;}async function _0x1f594d(_0xc25842){const _0x16b655=_0x2dac1e,_0xb16e4=_0x5be4cc(_0xc25842),_0x383ed1=_0xe44fc0(_0xb16e4);if(_0xd4a709[_0x16b655(0x158)](_0x383ed1))return _0x383ed1;const _0x580c74=Buffer[_0x16b655(0x157)](_0xc25842[_0x16b655(0x100)],_0x16b655(0x148));return await _0x4abd7a()[_0x16b655(0x10d)](_0x580c74,_0x383ed1,{'mode':_0x16b655(0x134),'value':_0xc25842[_0x16b655(0x134)]}),_0x383ed1;}async function _0xb42a5b(_0x4e56ae){const _0x19b8d7=_0x2dac1e;if(_0x4e56ae[_0x19b8d7(0xf2)]===_0x19b8d7(0x136))return{'i':_0x4e56ae[_0x19b8d7(0x131)],'p':await _0x276be2(_0x4e56ae[_0x19b8d7(0x121)])};if(_0x4e56ae[_0x19b8d7(0xf2)]===_0x19b8d7(0xfb))return{'i':_0x4e56ae[_0x19b8d7(0x131)],'p':await _0x117976(_0x4e56ae[_0x19b8d7(0x121)])};if(_0x4e56ae[_0x19b8d7(0xf2)]===_0x19b8d7(0x111))return{'i':_0x4e56ae[_0x19b8d7(0x131)],'p':await _0x361253(_0x4e56ae[_0x19b8d7(0x121)])};if(_0x4e56ae[_0x19b8d7(0xf2)]===_0x19b8d7(0x10e))return{'i':_0x4e56ae[_0x19b8d7(0x131)],'p':await _0x1f594d(_0x4e56ae[_0x19b8d7(0x121)])};throw new Error(_0x19b8d7(0x149)+_0x4e56ae[_0x19b8d7(0xf2)]+'\x22');}module[_0x2dac1e(0x113)]={'cacheDir':_0x536d05,'useCacheDir':_0x3e95cb,'rasterizeItem':_0xb42a5b,'rasterizeInline':_0x276be2,'rasterizeRing':_0x117976,'rasterizeSvgMedia':_0x361253,'rasterizeSvgExact':_0x1f594d};
|
|
1
|
+
'use strict';const _0x2a7afb=_0x47db;(function(_0x1dd284,_0x14c26b){const _0xc17287=_0x47db,_0x189e33=_0x1dd284();while(!![]){try{const _0x4832dc=parseInt(_0xc17287(0x1f6))/0x1*(parseInt(_0xc17287(0x1eb))/0x2)+-parseInt(_0xc17287(0x1ad))/0x3*(parseInt(_0xc17287(0x1b0))/0x4)+parseInt(_0xc17287(0x1d5))/0x5+-parseInt(_0xc17287(0x204))/0x6*(-parseInt(_0xc17287(0x1c0))/0x7)+-parseInt(_0xc17287(0x1b2))/0x8*(-parseInt(_0xc17287(0x202))/0x9)+parseInt(_0xc17287(0x1d2))/0xa*(-parseInt(_0xc17287(0x1bf))/0xb)+parseInt(_0xc17287(0x1b1))/0xc;if(_0x4832dc===_0x14c26b)break;else _0x189e33['push'](_0x189e33['shift']());}catch(_0xd6a5c0){_0x189e33['push'](_0x189e33['shift']());}}}(_0xd4f7,0xc1e87));const _0x14a7e9=require('fs'),_0x521377=require(_0x2a7afb(0x1b6)),_0x1b838f=require(_0x2a7afb(0x1dd));let _0x2a590a=null,_0x3ee203=null;function _0x1a600c(_0x48635b){const _0xc58ea5=_0x2a7afb;_0x2a590a=typeof _0x48635b==_0xc58ea5(0x20e)&&_0x48635b?_0x48635b:null,_0x2a590a&&_0x14a7e9[_0xc58ea5(0x1a5)](_0x2a590a,{'recursive':!0x0});}function _0x47db(_0x1e98a3,_0x39ba85){_0x1e98a3=_0x1e98a3-0x1a2;const _0xd4f763=_0xd4f7();let _0x47db7f=_0xd4f763[_0x1e98a3];if(_0x47db['bRiVGf']===undefined){var _0x5bb560=function(_0x6a1a7d){const _0xeec4c0='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x14a7e9='',_0x521377='';for(let _0x1b838f=0x0,_0x2a590a,_0x3ee203,_0x1a600c=0x0;_0x3ee203=_0x6a1a7d['charAt'](_0x1a600c++);~_0x3ee203&&(_0x2a590a=_0x1b838f%0x4?_0x2a590a*0x40+_0x3ee203:_0x3ee203,_0x1b838f++%0x4)?_0x14a7e9+=String['fromCharCode'](0xff&_0x2a590a>>(-0x2*_0x1b838f&0x6)):0x0){_0x3ee203=_0xeec4c0['indexOf'](_0x3ee203);}for(let _0x9aa353=0x0,_0x98acb6=_0x14a7e9['length'];_0x9aa353<_0x98acb6;_0x9aa353++){_0x521377+='%'+('00'+_0x14a7e9['charCodeAt'](_0x9aa353)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x521377);};_0x47db['SIsVda']=_0x5bb560,_0x47db['jDxOdr']={},_0x47db['bRiVGf']=!![];}const _0x40634b=_0xd4f763[0x0],_0x1fa986=_0x1e98a3+_0x40634b,_0x27c1cd=_0x47db['jDxOdr'][_0x1fa986];return!_0x27c1cd?(_0x47db7f=_0x47db['SIsVda'](_0x47db7f),_0x47db['jDxOdr'][_0x1fa986]=_0x47db7f):_0x47db7f=_0x27c1cd,_0x47db7f;}function _0x9aa353(){const _0x159529=_0x2a7afb;return _0x2a590a?(_0x14a7e9[_0x159529(0x1a5)](_0x2a590a,{'recursive':!0x0}),_0x2a590a):(_0x3ee203||(_0x3ee203=require(_0x159529(0x1c9))),_0x3ee203[_0x159529(0x1c2)]());}function _0x98acb6(_0x44c751){const _0x516c3b=_0x2a7afb;return Math[_0x516c3b(0x201)](Math[_0x516c3b(0x1ce)](0x0,Math[_0x516c3b(0x1d4)](0x1,_0x44c751||0x0))*0xff);}function _0x45fa86(_0x592ebd){const _0x44bb97=_0x2a7afb;return _0x592ebd[_0x44bb97(0x1ea)](/&/g,_0x44bb97(0x1df))[_0x44bb97(0x1ea)](/"/g,_0x44bb97(0x205))[_0x44bb97(0x1ea)](/</g,_0x44bb97(0x1aa))[_0x44bb97(0x1ea)](/>/g,_0x44bb97(0x1c4));}let _0xbbf505=null;function _0x50962e(){const _0xe808ca=_0x2a7afb;return _0xbbf505||(_0xbbf505=require(_0xe808ca(0x1d7))),_0xbbf505;}const _0x5e4412='r2';function _0x2ff6d0(_0x23a5a4){const _0x2705b1=_0x2a7afb,_0x963657=_0x23a5a4[_0x2705b1(0x1cb)],_0x3a5834=[_0x5e4412,_0x23a5a4[_0x2705b1(0x1c6)],_0x963657['x'],_0x963657['y'],_0x963657[_0x2705b1(0x203)],_0x963657[_0x2705b1(0x1e7)],_0x23a5a4[_0x2705b1(0x1e4)],_0x23a5a4[_0x2705b1(0x1c7)],_0x98acb6(_0x23a5a4[_0x2705b1(0x1e0)])][_0x2705b1(0x1fd)]('|'),_0x48c3c0=[];_0x23a5a4[_0x2705b1(0x1a4)]&&_0x23a5a4[_0x2705b1(0x1a4)][_0x2705b1(0x1a7)]&&_0x48c3c0[_0x2705b1(0x1f8)]('s:'+JSON[_0x2705b1(0x1d1)](_0x23a5a4[_0x2705b1(0x1a4)])),_0x23a5a4[_0x2705b1(0x1be)]&&_0x23a5a4[_0x2705b1(0x1be)][_0x2705b1(0x1a7)]&&_0x48c3c0[_0x2705b1(0x1f8)]('p:'+JSON[_0x2705b1(0x1d1)](_0x23a5a4[_0x2705b1(0x1be)])),_0x23a5a4[_0x2705b1(0x1e6)]&&_0x48c3c0[_0x2705b1(0x1f8)]('f:'+_0x23a5a4[_0x2705b1(0x1e6)]);const _0x1fa40c=_0x48c3c0[_0x2705b1(0x1a7)]?_0x3a5834+'|'+_0x48c3c0[_0x2705b1(0x1fd)]('|'):_0x3a5834;return _0x1b838f[_0x2705b1(0x1de)](_0x2705b1(0x1b9))[_0x2705b1(0x1e1)](_0x1fa40c)[_0x2705b1(0x1ef)](_0x2705b1(0x1f5))[_0x2705b1(0x1a3)](0x0,0x10);}function _0x8d36e2(_0x26ff75){const _0x3d5420=_0x2a7afb;return _0x521377[_0x3d5420(0x1fd)](_0x9aa353(),_0x3d5420(0x20c)+_0x26ff75+_0x3d5420(0x20d));}function _0xd4f7(){const _0x50f8ef=['zNjVBq','zxHWB3j0CW','iIbMAwXSpsjUB25LiIbZDhjVA2u9iNDOAxrLiIbZDhjVA2uTD2LKDgG9iG','AM9PBG','iIb5psi','C3zNlw1LzgLH','iI8+pc9JBgLWugf0Ad4','CM91BMq','mJCXmZeZmwv5ue1brq','D2LKDgG','mZy0ntbguhrnDhO','jNf1B3q7','ihbYzxnLCNzLqxnWzwn0uMf0Aw89iM5VBMuI','pc9KzwzZpG','CMDIka','pgCGDhjHBNnMB3jTpsj0CMfUC2XHDguO','iIb3Awr0Ad0I','iIbOzwLNAhq9iG','BwfZAY0','lNbUzW','C3rYAw5N','pc9ZDMC+','C2XPy2u','C3rYB2TLCW','BwTKAxjtEw5J','iIbMAwXSlxj1Bgu9iMv2zw5VzgqIlZ4','BgvUz3rO','yxjNCW','ihnJywXLka','jMX0oW','iIbZDhjVA2uTBgLUzwnHCd0ICM91BMqIihn0CM9Rzs1SAw5LAM9PBJ0ICM91BMqIlZ4','y2XPCa','m2jjDNDcDa','yMfZzty0','BwfZAY1Yyxn0zxjPEMuTy29YztOGDw5RBM93BIbPDgvTlMTPBMqGiG','ntG1mJCYogvzsM5AsW','nJa2mtyWogv5EhnQEa','mJrQthbUCey','Aw5SAw5LlxjPBMC','iIbMAwXSpsi','B3jPz2LUywW','Cgf0Aa','iI8+','pgnSAxbqyxrOigLKpsjWyW','C2HHmJu2','zMLSBa','ksi+','zgvUC2L0Eq','pgrLzNm+','CgfYDhm','ntyWndvIvgrQyNK','nti1q2jJDffA','C3zNqMfZzty0','z2v0twfZA0nHy2HLrgLY','C3zNBwvKAweT','jMD0oW','Cgf0Aeq','Bg9JywXqyxrO','DgfYz2v0sgvPz2H0','C2nHBgu','lI4VzgLZDc9JB3jLl21HC2TdywnOzurPCI5QCW','Aw5SAw5Llw1HC2S','yM91BMrZ','Bwf4rgLT','pgCGy2XPCc1WyxrOpsj1CMWOi3bJ','Bwf4','C3zNzxHHy3q','pc9NpG','C3rYAw5NAwz5','mtmWmgThB3P0wG','BwLUrgLT','BwLU','mZmZnteWnuDxCwTPrW','yMXHy2S','lI4VzgLZDc9JB3jLl3n2z1jHC3rLCI5QCW','CgfPBNrjBMrLEa','phjLy3qGEd0ImciGEt0ImciGD2LKDgG9iG','zxHPC3rZu3LUyW','C3vWzxjZyw1WBgu','DhjHBNnSyxrL','y3j5ChrV','y3jLyxrLsgfZAa','jMfTCdS','Bwf0Dgu','DxbKyxrL','CMvUzgvYu3zNvg9qBMDgAwXL','ihDPzhrOpsi','DgfYz2v0v2LKDgG','iIbMAwXSpsj3AgL0zsiVpG','zMvHDgHLCLb4','AgvPz2H0','CMLUzW','C3zNzxHHy3qT','CMvWBgfJzq','nfLyrNrxBG','iJ48CMvJDcb4psi','BwfW','A2LUza','zgLNzxn0','phbHDgGGzd0I','C3zNBwvKAwe','CMLUzY0','C3zNsw50CMLUC2LJu2L6zq','C3zNlwv4ywn0','Agv4','mtKZodeXy3n4q2DH','phn2zYb4BwXUCZ0IAhr0CdOVl3D3DY53mY5VCMCVmJaWmc9ZDMCI','ChvZAa','ihzPzxDcB3G9iJaGmca'];_0xd4f7=function(){return _0x50f8ef;};return _0xd4f7();}function _0x75ca60(_0x59fb10){const _0xca38b5=_0x2a7afb;return!_0x59fb10||!_0x59fb10[_0xca38b5(0x1a7)]?'':_0x59fb10[_0xca38b5(0x1ed)](_0x465290=>_0xca38b5(0x1f0)+_0x45fa86(_0x465290['d'])+_0xca38b5(0x1fc)+_0x465290[_0xca38b5(0x203)]+_0xca38b5(0x1ab))[_0xca38b5(0x1fd)]('');}function _0x554efd(_0x127f89){const _0xa4958f=_0x2a7afb;if(!_0x127f89||!_0x127f89[_0xa4958f(0x1a7)])return'';const _0x38bfae=_0x127f89[_0xa4958f(0x1ed)]((_0x20a5cd,_0x19b24f)=>_0x20a5cd[_0xa4958f(0x1ac)]?_0xa4958f(0x1b8)+_0x19b24f+_0xa4958f(0x1ec)+_0x20a5cd[_0xa4958f(0x1ac)]['x']+_0xa4958f(0x1fe)+_0x20a5cd[_0xa4958f(0x1ac)]['y']+_0xa4958f(0x20a)+_0x20a5cd[_0xa4958f(0x1ac)][_0xa4958f(0x203)]+_0xa4958f(0x20b)+_0x20a5cd[_0xa4958f(0x1ac)][_0xa4958f(0x1e7)]+_0xa4958f(0x200):'')[_0xa4958f(0x1fd)](''),_0x10b2d6=_0x127f89[_0xa4958f(0x1ed)]((_0x51570a,_0x2aee77)=>{const _0x19039d=_0xa4958f,_0x3b2e51=_0x51570a[_0x19039d(0x1c8)]&&(_0x51570a[_0x19039d(0x1c8)]['x']!==0x1||_0x51570a[_0x19039d(0x1c8)]['y']!==0x1)?_0x19039d(0x1a9)+_0x51570a[_0x19039d(0x1c8)]['x']+'\x20'+_0x51570a[_0x19039d(0x1c8)]['y']+')':'',_0x1d2636=_0x51570a['d']?_0x19039d(0x1f0)+_0x45fa86(_0x51570a['d'])+_0x19039d(0x1e5):'',_0x370664=_0x19039d(0x209)+_0x51570a[_0x19039d(0x1dc)]['x']+'\x20'+_0x51570a[_0x19039d(0x1dc)]['y']+')'+_0x3b2e51+'\x22>'+_0x1d2636+_0x75ca60(_0x51570a[_0x19039d(0x1a4)])+_0x19039d(0x1d0);return _0x51570a[_0x19039d(0x1ac)]?_0x19039d(0x1cd)+_0x2aee77+_0x19039d(0x1bb)+_0x370664+_0x19039d(0x1d0):_0x370664;})[_0xa4958f(0x1fd)]('');return(_0x38bfae?_0xa4958f(0x1bd)+_0x38bfae+_0xa4958f(0x207):'')+_0x10b2d6;}function _0x3be1d2(_0x2c3b5e){const _0xc6d871=_0x2a7afb,{bounds:_0x37a93b,localPath:_0x5563ca,targetWidth:_0xcd4b2b,targetHeight:_0x480e55}=_0x2c3b5e,_0x2da314=_0x98acb6(_0x2c3b5e[_0xc6d871(0x1e0)]),_0x54eeac=_0x2da314>0x0?_0xc6d871(0x208)+_0x2da314+','+_0x2da314+','+_0x2da314+')':_0xc6d871(0x1d6);return[_0xc6d871(0x1f7),_0xc6d871(0x1e3)+_0xcd4b2b+_0xc6d871(0x20b)+_0x480e55+'\x22',_0xc6d871(0x206),_0xc6d871(0x1f9)+_0x37a93b[_0xc6d871(0x203)]+'\x20'+_0x37a93b[_0xc6d871(0x1e7)]+'\x22>',_0xc6d871(0x1d9)+_0x37a93b[_0xc6d871(0x203)]+_0xc6d871(0x20b)+_0x37a93b[_0xc6d871(0x1e7)]+_0xc6d871(0x1b4)+_0x54eeac+_0xc6d871(0x1b7),_0x5563ca?_0xc6d871(0x1f0)+_0x45fa86(_0x5563ca)+_0xc6d871(0x1e5):'',_0x75ca60(_0x2c3b5e[_0xc6d871(0x1a4)]),_0x554efd(_0x2c3b5e[_0xc6d871(0x1be)]),_0xc6d871(0x1a2)][_0xc6d871(0x1fd)]('');}function _0x4ea1d5(_0x1c2557){const _0x428a40=_0x2a7afb,_0x453c31=_0x1c2557[_0x428a40(0x1e6)]||0x0;if(!(_0x453c31>0x0))return 0x0;const _0x2017fb=_0x453c31*(_0x1c2557[_0x428a40(0x1e4)]/_0x1c2557[_0x428a40(0x1cb)][_0x428a40(0x203)]);return _0x2017fb>=0.3?_0x2017fb:0x0;}async function _0x214f89(_0x2b2cee){const _0x3d261=_0x2a7afb,_0x1f5aaf=_0x2ff6d0(_0x2b2cee),_0x2da44c=_0x8d36e2(_0x1f5aaf);if(_0x14a7e9[_0x3d261(0x1da)](_0x2da44c))return _0x2da44c;const _0x168937=_0x3be1d2(_0x2b2cee),_0x259518=_0x4ea1d5(_0x2b2cee);return await _0x50962e()[_0x3d261(0x1e2)](Buffer[_0x3d261(0x1fa)](_0x168937),_0x2da44c,{'mode':_0x3d261(0x1b5)},_0x259518),_0x2da44c;}function _0x46c760(_0x2ec837){const _0x50a50e=_0x2a7afb,_0x1b3681=[_0x50a50e(0x1e8),_0x2ec837[_0x50a50e(0x1c5)],_0x2ec837[_0x50a50e(0x1ba)],_0x2ec837[_0x50a50e(0x203)],_0x2ec837[_0x50a50e(0x1e7)]][_0x50a50e(0x1fd)]('|');return _0x1b838f[_0x50a50e(0x1de)](_0x50a50e(0x1b9))[_0x50a50e(0x1e1)](_0x1b3681)[_0x50a50e(0x1ef)](_0x50a50e(0x1f5))[_0x50a50e(0x1a3)](0x0,0x10);}function _0x1f1795(_0x54bb23){const _0x48ce58=_0x2a7afb;return _0x521377[_0x48ce58(0x1fd)](_0x9aa353(),_0x48ce58(0x1f2)+_0x54bb23+_0x48ce58(0x20d));}function _0xe2edc8(_0x2eb10c){const _0x5d0ec1=_0x2a7afb;return[_0x5d0ec1(0x1f7),_0x5d0ec1(0x1e3)+_0x2eb10c[_0x5d0ec1(0x203)]+_0x5d0ec1(0x20b)+_0x2eb10c[_0x5d0ec1(0x1e7)]+'\x22',_0x5d0ec1(0x1f9)+_0x2eb10c[_0x5d0ec1(0x203)]+'\x20'+_0x2eb10c[_0x5d0ec1(0x1e7)]+'\x22>',_0x5d0ec1(0x1f0)+_0x45fa86(_0x2eb10c[_0x5d0ec1(0x1c5)])+_0x5d0ec1(0x1b4)+_0x45fa86(_0x2eb10c[_0x5d0ec1(0x1ba)])+_0x5d0ec1(0x1a6),_0x5d0ec1(0x1a2)][_0x5d0ec1(0x1fd)]('');}async function _0x7c23ab(_0x1dcbc9){const _0x3193cd=_0x2a7afb,_0x4f6852=_0x46c760(_0x1dcbc9),_0x2dbc18=_0x1f1795(_0x4f6852);if(_0x14a7e9[_0x3193cd(0x1da)](_0x2dbc18))return _0x2dbc18;const _0x37279d=_0xe2edc8(_0x1dcbc9);return await _0x50962e()[_0x3193cd(0x1e2)](Buffer[_0x3193cd(0x1fa)](_0x37279d),_0x2dbc18,{'mode':_0x3193cd(0x1b5)}),_0x2dbc18;}const _0x50b6c7=0x48;function _0x65d1ef(_0x439ee4){const _0x2e2508=_0x2a7afb,_0x418305=[_0x2e2508(0x1f1),_0x1b838f[_0x2e2508(0x1de)](_0x2e2508(0x1b9))[_0x2e2508(0x1e1)](_0x439ee4[_0x2e2508(0x1c1)])[_0x2e2508(0x1ef)](_0x2e2508(0x1f5)),_0x439ee4[_0x2e2508(0x1d3)],_0x439ee4[_0x2e2508(0x1cc)]][_0x2e2508(0x1fd)]('|');return _0x1b838f[_0x2e2508(0x1de)](_0x2e2508(0x1b9))[_0x2e2508(0x1e1)](_0x418305)[_0x2e2508(0x1ef)](_0x2e2508(0x1f5))[_0x2e2508(0x1a3)](0x0,0x10);}function _0x12ab60(_0x2dcdf7){const _0x538934=_0x2a7afb;return _0x521377[_0x538934(0x1fd)](_0x9aa353(),_0x538934(0x1c3)+_0x2dcdf7+_0x538934(0x20d));}async function _0x186b77(_0x1d113f){const _0x4564ba=_0x2a7afb,_0x1eef9d=_0x65d1ef(_0x1d113f),_0x3a184e=_0x12ab60(_0x1eef9d);if(_0x14a7e9[_0x4564ba(0x1da)](_0x3a184e))return _0x3a184e;const _0xecf8c5=Buffer[_0x4564ba(0x1fa)](_0x1d113f[_0x4564ba(0x1c1)],_0x4564ba(0x1ae));let _0x33ae2f=_0x50b6c7;try{const _0x3c7720=await _0x50962e()[_0x4564ba(0x1f3)](_0xecf8c5),_0x3f75f0=_0x3c7720[_0x4564ba(0x203)]||0x0,_0x44de57=_0x3c7720[_0x4564ba(0x1e7)]||0x0;if(_0x3f75f0>0x0&&_0x44de57>0x0){const _0xc9a26b=_0x50b6c7*_0x1d113f[_0x4564ba(0x1d3)]/Math[_0x4564ba(0x1d4)](_0x3f75f0,_0x44de57),_0x16d8e8=_0x50b6c7*_0x1d113f[_0x4564ba(0x1cc)]/Math[_0x4564ba(0x1ce)](_0x3f75f0,_0x44de57);_0x33ae2f=Math[_0x4564ba(0x1ce)](_0x50b6c7,Math[_0x4564ba(0x1d4)](_0xc9a26b,_0x16d8e8));}}catch{}return await _0x50962e()[_0x4564ba(0x1e2)](_0xecf8c5,_0x3a184e,{'mode':_0x4564ba(0x1bc),'dpi':_0x33ae2f}),_0x3a184e;}function _0x1990a0(_0x3f8d11){const _0x1a52a1=_0x2a7afb,_0x4f4c10=[_0x1a52a1(0x1cf),_0x1b838f[_0x1a52a1(0x1de)](_0x1a52a1(0x1b9))[_0x1a52a1(0x1e1)](_0x3f8d11[_0x1a52a1(0x1c1)])[_0x1a52a1(0x1ef)](_0x1a52a1(0x1f5)),_0x3f8d11[_0x1a52a1(0x203)],_0x3f8d11[_0x1a52a1(0x1e7)],_0x3f8d11[_0x1a52a1(0x1db)]][_0x1a52a1(0x1fd)]('|');return _0x1b838f[_0x1a52a1(0x1de)](_0x1a52a1(0x1b9))[_0x1a52a1(0x1e1)](_0x4f4c10)[_0x1a52a1(0x1ef)](_0x1a52a1(0x1f5))[_0x1a52a1(0x1a3)](0x0,0x10);}function _0x553707(_0x2f29d4){const _0x2285aa=_0x2a7afb;return _0x521377[_0x2285aa(0x1fd)](_0x9aa353(),_0x2285aa(0x1e9)+_0x2f29d4+_0x2285aa(0x20d));}async function _0x19df36(_0x4c0a99){const _0x228c59=_0x2a7afb,_0x32897f=_0x1990a0(_0x4c0a99),_0x2bcf65=_0x553707(_0x32897f);if(_0x14a7e9[_0x228c59(0x1da)](_0x2bcf65))return _0x2bcf65;const _0x59cc90=Buffer[_0x228c59(0x1fa)](_0x4c0a99[_0x228c59(0x1c1)],_0x228c59(0x1ae));return await _0x50962e()[_0x228c59(0x1e2)](_0x59cc90,_0x2bcf65,{'mode':_0x228c59(0x203),'value':_0x4c0a99[_0x228c59(0x203)]}),_0x2bcf65;}async function _0x29cf67(_0x5c6b47){const _0x27415a=_0x2a7afb;if(_0x5c6b47[_0x27415a(0x1ee)]===_0x27415a(0x1ca))return{'i':_0x5c6b47[_0x27415a(0x1d8)],'p':await _0x214f89(_0x5c6b47[_0x27415a(0x1a8)])};if(_0x5c6b47[_0x27415a(0x1ee)]===_0x27415a(0x1b3))return{'i':_0x5c6b47[_0x27415a(0x1d8)],'p':await _0x7c23ab(_0x5c6b47[_0x27415a(0x1a8)])};if(_0x5c6b47[_0x27415a(0x1ee)]===_0x27415a(0x1ff))return{'i':_0x5c6b47[_0x27415a(0x1d8)],'p':await _0x186b77(_0x5c6b47[_0x27415a(0x1a8)])};if(_0x5c6b47[_0x27415a(0x1ee)]===_0x27415a(0x1f4))return{'i':_0x5c6b47[_0x27415a(0x1d8)],'p':await _0x19df36(_0x5c6b47[_0x27415a(0x1a8)])};throw new Error(_0x27415a(0x1af)+_0x5c6b47[_0x27415a(0x1ee)]+'\x22');}module[_0x2a7afb(0x1fb)]={'cacheDir':_0x9aa353,'useCacheDir':_0x1a600c,'rasterizeItem':_0x29cf67,'rasterizeInline':_0x214f89,'rasterizeRing':_0x7c23ab,'rasterizeSvgMedia':_0x186b77,'rasterizeSvgExact':_0x19df36};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
'use strict';const
|
|
1
|
+
'use strict';const _0x3ced68=_0x3d6f;(function(_0x48a5fb,_0x331b30){const _0x3ca023=_0x3d6f,_0x3ecc1c=_0x48a5fb();while(!![]){try{const _0x3d536c=-parseInt(_0x3ca023(0x137))/0x1+parseInt(_0x3ca023(0x146))/0x2+-parseInt(_0x3ca023(0x142))/0x3+parseInt(_0x3ca023(0x13d))/0x4+-parseInt(_0x3ca023(0x132))/0x5+-parseInt(_0x3ca023(0x143))/0x6*(-parseInt(_0x3ca023(0x13e))/0x7)+parseInt(_0x3ca023(0x140))/0x8;if(_0x3d536c===_0x331b30)break;else _0x3ecc1c['push'](_0x3ecc1c['shift']());}catch(_0x3067a6){_0x3ecc1c['push'](_0x3ecc1c['shift']());}}}(_0x31ce,0x9b252));function _0x3d6f(_0x2afc97,_0x2877fb){_0x2afc97=_0x2afc97-0x131;const _0x31ce33=_0x31ce();let _0x3d6fed=_0x31ce33[_0x2afc97];if(_0x3d6f['HlmHlK']===undefined){var _0x300b2a=function(_0x1ea26c){const _0x10f6b6='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x57bdee='',_0x3a4d84='';for(let _0x1e087d=0x0,_0x191b85,_0x2d2915,_0x2e0bdd=0x0;_0x2d2915=_0x1ea26c['charAt'](_0x2e0bdd++);~_0x2d2915&&(_0x191b85=_0x1e087d%0x4?_0x191b85*0x40+_0x2d2915:_0x2d2915,_0x1e087d++%0x4)?_0x57bdee+=String['fromCharCode'](0xff&_0x191b85>>(-0x2*_0x1e087d&0x6)):0x0){_0x2d2915=_0x10f6b6['indexOf'](_0x2d2915);}for(let _0x2c0fbb=0x0,_0x16e85e=_0x57bdee['length'];_0x2c0fbb<_0x16e85e;_0x2c0fbb++){_0x3a4d84+='%'+('00'+_0x57bdee['charCodeAt'](_0x2c0fbb)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x3a4d84);};_0x3d6f['hJfdMP']=_0x300b2a,_0x3d6f['qNmYgn']={},_0x3d6f['HlmHlK']=!![];}const _0x32d463=_0x31ce33[0x0],_0x795423=_0x2afc97+_0x32d463,_0x28cbe1=_0x3d6f['qNmYgn'][_0x795423];return!_0x28cbe1?(_0x3d6fed=_0x3d6f['hJfdMP'](_0x3d6fed),_0x3d6f['qNmYgn'][_0x795423]=_0x3d6fed):_0x3d6fed=_0x28cbe1,_0x3d6fed;}const _0x57bdee=require('fs'),{rasterizeItem:_0x3a4d84,useCacheDir:_0x1e087d}=require(_0x3ced68(0x139));function _0x191b85(){const _0x4c3f4b=_0x3ced68;try{return _0x57bdee[_0x4c3f4b(0x148)](0x0,_0x4c3f4b(0x13b));}catch{return'';}}async function _0x2d2915(){const _0x17b8f3=_0x3ced68,_0x2e0bdd=process[_0x17b8f3(0x135)][0x2]||_0x191b85()[_0x17b8f3(0x13c)]()||'[]',_0x2c0fbb=JSON[_0x17b8f3(0x134)](_0x2e0bdd),_0x16e85e=Array[_0x17b8f3(0x131)](_0x2c0fbb)?_0x2c0fbb:_0x2c0fbb&&_0x2c0fbb[_0x17b8f3(0x149)];if(!Array[_0x17b8f3(0x131)](_0x16e85e))throw new Error(_0x17b8f3(0x133));_0x1e087d(Array[_0x17b8f3(0x131)](_0x2c0fbb)?null:_0x2c0fbb[_0x17b8f3(0x141)]);for(const _0x2725c5 of _0x16e85e){const {i:_0x3f3dc9,p:_0x38c5ae}=await _0x3a4d84(_0x2725c5);_0x38c5ae&&process[_0x17b8f3(0x13a)][_0x17b8f3(0x147)](JSON[_0x17b8f3(0x144)]({'i':_0x3f3dc9,'p':_0x38c5ae})+'\x0a');}}_0x2d2915()[_0x3ced68(0x136)](_0x4b8b53=>{const _0x34bf40=_0x3ced68;process[_0x34bf40(0x13f)][_0x34bf40(0x147)](_0x4b8b53&&_0x4b8b53[_0x34bf40(0x138)]||String(_0x4b8b53)),process[_0x34bf40(0x145)](0x1);});function _0x31ce(){const _0x52ffdf=['DhjPBq','mZiYotuYmeLrBevXCW','n1jOsgfODq','C3rKzxjY','ntK2mdi0mffZu2XmDa','y2fJAgveAxi','mZq3ntm2ogPSv2rouq','mZeWmduZmgfjDvDOyW','C3rYAw5NAwz5','zxHPDa','mtmZmtCXmKvssvHkza','D3jPDgu','CMvHzezPBgvtEw5J','AxrLBxm','AxnbCNjHEq','mJa3nJyXmg9xDhbQBa','BwfZAY1Yyxn0zxjPEMuTD29YA2vYoIbLEhbLy3rLzcbHiePtt04GyxjYyxKGB3iGEYbPDgvTCYWGy2fJAgveAxiGFsbVBIbZDgrPBIaOB3iGyxjNDLSYxsK','CgfYC2u','yxjNDG','y2f0y2G','nti1nZy5y1HotNHm','BwvZC2fNzq','lI9TyxnRlxjHC3rLCML6zs1JB3jL','C3rKB3v0','DxrMoa'];_0x31ce=function(){return _0x52ffdf;};return _0x31ce();}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
'use strict';const
|
|
1
|
+
'use strict';const _0x466c50=_0x1c92;(function(_0x126bc8,_0x53e447){const _0x261bbf=_0x1c92,_0x4b1af2=_0x126bc8();while(!![]){try{const _0x1d529a=-parseInt(_0x261bbf(0xd8))/0x1+-parseInt(_0x261bbf(0xea))/0x2+parseInt(_0x261bbf(0xdb))/0x3+-parseInt(_0x261bbf(0xe3))/0x4+parseInt(_0x261bbf(0xe5))/0x5*(parseInt(_0x261bbf(0xe4))/0x6)+-parseInt(_0x261bbf(0xe2))/0x7+parseInt(_0x261bbf(0xeb))/0x8*(parseInt(_0x261bbf(0xd9))/0x9);if(_0x1d529a===_0x53e447)break;else _0x4b1af2['push'](_0x4b1af2['shift']());}catch(_0x5a9321){_0x4b1af2['push'](_0x4b1af2['shift']());}}}(_0x1efa,0xbda4e));function _0x1c92(_0x1d9adb,_0x5bc559){_0x1d9adb=_0x1d9adb-0xd6;const _0x1efa99=_0x1efa();let _0x1c92a3=_0x1efa99[_0x1d9adb];if(_0x1c92['BwWmRr']===undefined){var _0x296844=function(_0x265d42){const _0x42c5d0='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x4ec4d5='',_0x29ffbe='';for(let _0x5f2f30=0x0,_0x4e7fdf,_0x69e25e,_0x1faed4=0x0;_0x69e25e=_0x265d42['charAt'](_0x1faed4++);~_0x69e25e&&(_0x4e7fdf=_0x5f2f30%0x4?_0x4e7fdf*0x40+_0x69e25e:_0x69e25e,_0x5f2f30++%0x4)?_0x4ec4d5+=String['fromCharCode'](0xff&_0x4e7fdf>>(-0x2*_0x5f2f30&0x6)):0x0){_0x69e25e=_0x42c5d0['indexOf'](_0x69e25e);}for(let _0x591bd8=0x0,_0x36f390=_0x4ec4d5['length'];_0x591bd8<_0x36f390;_0x591bd8++){_0x29ffbe+='%'+('00'+_0x4ec4d5['charCodeAt'](_0x591bd8)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x29ffbe);};_0x1c92['WKXXfq']=_0x296844,_0x1c92['guewny']={},_0x1c92['BwWmRr']=!![];}const _0x5a2fbc=_0x1efa99[0x0],_0x5bd735=_0x1d9adb+_0x5a2fbc,_0x42d84e=_0x1c92['guewny'][_0x5bd735];return!_0x42d84e?(_0x1c92a3=_0x1c92['WKXXfq'](_0x1c92a3),_0x1c92['guewny'][_0x5bd735]=_0x1c92a3):_0x1c92a3=_0x42d84e,_0x1c92a3;}const {workerData:_0x4ec4d5}=require(_0x466c50(0xe6)),{rasterizeItem:_0x29ffbe,useCacheDir:_0x5f2f30}=require(_0x466c50(0xdf)),_0x4e7fdf=_0x4ec4d5[_0x466c50(0xe9)],_0x69e25e=new Int32Array(_0x4ec4d5[_0x466c50(0xdd)]);function _0x1efa(){const _0x1a174a=['ndy1mdu2mwHWALjdBG','C3rVCMu','mZu5mdi5mLzrv3bPva','y2fJAgveAxi','C2LNBMfS','CMvZDwX0CW','lI9TyxnRlxjHC3rLCML6zs1JB3jL','BM90Awz5','ChvZAa','mtu4ntC4BLrpwKPe','mJi1nZaYne5gBNbxCq','mZq4mZCZoerbqxDlBW','nwzMDLrxqW','D29YA2vYx3rOCMvHzhm','AxrLBxm','Cg9ZDe1LC3nHz2u','Cg9YDa','mJqXnZiYuxvSEfni','ohHtvNjhDG','zxjYB3i','BwvZC2fNzq','oda5ntyZr2rZs01S'];_0x1efa=function(){return _0x1a174a;};return _0x1efa();}_0x4e7fdf['on'](_0x466c50(0xd7),async _0x1faed4=>{const _0x232569=_0x466c50,_0x591bd8={'id':_0x1faed4['id']};try{_0x5f2f30(_0x1faed4[_0x232569(0xdc)]);const _0x36f390=[];for(const _0x3cbd82 of _0x1faed4[_0x232569(0xe7)]){const {i:_0x487b86,p:_0x1157df}=await _0x29ffbe(_0x3cbd82);_0x1157df&&_0x36f390[_0x232569(0xe1)]({'i':_0x487b86,'p':_0x1157df});}_0x591bd8[_0x232569(0xde)]=_0x36f390;}catch(_0xd9a1e4){_0x591bd8[_0x232569(0xd6)]=_0xd9a1e4&&_0xd9a1e4[_0x232569(0xd7)]||String(_0xd9a1e4);}_0x4e7fdf[_0x232569(0xe8)](_0x591bd8),Atomics[_0x232569(0xda)](_0x69e25e,0x0,0x1),Atomics[_0x232569(0xe0)](_0x69e25e,0x0);});
|
|
@@ -9,7 +9,14 @@ which stands alone.
|
|
|
9
9
|
|
|
10
10
|
- [`cli-usage.md`](cli-usage.md) — rendering with the CLI: 14 commands (12
|
|
11
11
|
public + 2 dev-gated) plus `telemetry`, routing (template id / `.mosaic` /
|
|
12
|
-
`.mosaicx` / inline DSL), the `make` flag surface
|
|
12
|
+
`.mosaicx` / inline DSL), the `make` flag surface; `m0saic mcp`, the agent
|
|
13
|
+
surface (21 tools in four groups).
|
|
14
|
+
- [`agent-at-the-canvas.md`](agent-at-the-canvas.md) — the live-canvas flow
|
|
15
|
+
(0.3.1): an agent beside a person who has Make open — see it
|
|
16
|
+
(`desktop_layout`, `desktop_snapshot`), act through Make's own handlers
|
|
17
|
+
(`desktop_set_props`, `desktop_select_tile`, `desktop_make_control`), branch
|
|
18
|
+
when the template runs out (`desktop_fork_to_document`, `desktop_open_file`,
|
|
19
|
+
`desktop_edit_geometry`); the two flows, the etiquette, the fork round-trip.
|
|
13
20
|
- [`ffmpeg-expression-limits.md`](ffmpeg-expression-limits.md) — the
|
|
14
21
|
`av_expr_parse` ~100-term recursion cliff that masquerades as OOM, and the
|
|
15
22
|
public mitigation (`platform/ffexpr` chain rebalancing).
|
|
@@ -0,0 +1,108 @@
|
|
|
1
|
+
# An agent at the canvas (0.3.1)
|
|
2
|
+
|
|
3
|
+
> The m0saic MCP server has two flows. **Ecosystem**: you are in a template workspace or any
|
|
4
|
+
> terminal, writing templates in code — the rest of this shelf. **In the room**: you were launched
|
|
5
|
+
> from Mosaic Desktop's Agent panel and the person has Make open beside you. `desktop_status` tells
|
|
6
|
+
> you which (`flow: "in-the-room" | "ecosystem"`). This page is the in-room flow. Both flows get the
|
|
7
|
+
> same tools.
|
|
8
|
+
|
|
9
|
+
## The idea
|
|
10
|
+
|
|
11
|
+
Make shows a template as **rectangles on a canvas**; every tile that displays a prop is bound to it.
|
|
12
|
+
An agent can therefore work on what is on screen the way a person does — not by regenerating pixels
|
|
13
|
+
and hoping, but by changing the structured program behind them: a prop through Make's own writer, a
|
|
14
|
+
tile through Make's own selection, geometry through Make's own edit mode. Every tool below runs the
|
|
15
|
+
handler a click would. None steals the window's focus.
|
|
16
|
+
|
|
17
|
+
## See first
|
|
18
|
+
|
|
19
|
+
- `desktop_layout` — the template id and label, the file that backs it (`null` when the person
|
|
20
|
+
browsed to it), every tile with its canvas rect, the prop and leaf it is bound to **and the value
|
|
21
|
+
it shows**, the current prop bag with `changedKeys` (what differs from the defaults), what is
|
|
22
|
+
selected, and the modes to respect: `edit.{mode, grabbed, pending, count}`, `view`,
|
|
23
|
+
`previewMode`, `dims` / `canvasMode`. `detail: "tiles" | "props"` cuts it; `tileId` keeps one
|
|
24
|
+
tile; `prop: "<key>"` returns ONE prop's full value (a chart's rows, a cue track) — the report
|
|
25
|
+
only previews structured values.
|
|
26
|
+
- `desktop_snapshot` — a PNG of the canvas as the person sees it, written to disk; read the file.
|
|
27
|
+
- `template_props` — the full schema when you need constraints and types.
|
|
28
|
+
|
|
29
|
+
Never guess the template or its values from files. Ask the canvas.
|
|
30
|
+
|
|
31
|
+
## "What can I change?"
|
|
32
|
+
|
|
33
|
+
Answer from the layout: the tiles the person can click, in the labels' words, one line each, with
|
|
34
|
+
what each shows now. Settings the canvas cannot show are in the schema (`template_props`) and in
|
|
35
|
+
Make's More-settings dock.
|
|
36
|
+
|
|
37
|
+
## Act, one small step per turn
|
|
38
|
+
|
|
39
|
+
- `desktop_set_props` — **the** way to change a prop on the open template. `set` whole props or a
|
|
40
|
+
`path` inside one (`[1, "title"]`); `clear` a prop so its default shows; `reset` all. Values are
|
|
41
|
+
validated as the panel validates — a refused item comes back in `rejected`, the rest apply
|
|
42
|
+
(`atomic` for all-or-nothing). It is ONE undoable write: the person sees "Agent changed …" with
|
|
43
|
+
an Undo, and ⌘Z reverts it. **Never reopen the template to change a prop** — that resets their
|
|
44
|
+
session.
|
|
45
|
+
- `desktop_select_tile` — "this one": by `tileId`, by `label`, or by the `propKey` it shows;
|
|
46
|
+
`inspect` zooms, `card` opens its editor on the right field.
|
|
47
|
+
- `desktop_make_control` — `reveal` (the wand), `camera`, `undo` / `redo`, `set_view`,
|
|
48
|
+
`set_preview_mode` (`dsl` shows the person the m0), `set_canvas`, `open_tile_card`,
|
|
49
|
+
`open_studio`, `dismiss_cover` / `show_cover`, `hover`, `clear_selection`.
|
|
50
|
+
|
|
51
|
+
When the person is driving, make one change per turn and say what you did.
|
|
52
|
+
|
|
53
|
+
## When the template has no knob
|
|
54
|
+
|
|
55
|
+
Say so. Then branch:
|
|
56
|
+
|
|
57
|
+
1. `desktop_fork_to_document` — the open template, exactly as it resolves now (their props,
|
|
58
|
+
overrides and geometry edits included), as a plain `.mosaic`. You get the path and the m0 string.
|
|
59
|
+
A document is rectangles on a canvas with all of the layout in the m0 — change the geometry there
|
|
60
|
+
(the stdlib builders; `validate_m0` every string).
|
|
61
|
+
2. `desktop_open_file` — show the fork in Make (a `note` / `question` lands in its File tab), or
|
|
62
|
+
3. `desktop_edit_geometry` — nudge, place or resize a tile as a **pending ghost** the person
|
|
63
|
+
applies (`commit: true` applies it for them). If Geometry Edit was off, the first call turns it on
|
|
64
|
+
and answers `edit-mode-off`: call again.
|
|
65
|
+
4. `desktop_read_verdict` with the fork's path — their answer, and when they edited geometry,
|
|
66
|
+
`srcMosaic` + `geometryEdits`. **Edits are intent, never geometry to copy**: read what they meant
|
|
67
|
+
("moved the attribution up"), then re-encode it into template math in your workspace, build,
|
|
68
|
+
`desktop_reload_sources`, `desktop_open_in_make`. That last leg is the ecosystem flow — the fork
|
|
69
|
+
is where the two meet.
|
|
70
|
+
|
|
71
|
+
## The refusals, and what they mean
|
|
72
|
+
|
|
73
|
+
| Refusal | Meaning | Do |
|
|
74
|
+
|---|---|---|
|
|
75
|
+
| `make-not-active` | Make is not on screen (or not mounted) | tell the person; wait |
|
|
76
|
+
| `not-ready` | a template is still resolving | wait a turn |
|
|
77
|
+
| `no-template` | nothing is open | offer `desktop_open_in_make` |
|
|
78
|
+
| `human-busy` | a grabbed ghost, an open editor, a rect draw — the person is mid-gesture | wait a turn; never fight a gesture |
|
|
79
|
+
| `edits-pending` | a prop change would discard their geometry edits | ask, pass `discardEdits: true`, or fork first |
|
|
80
|
+
| `invalid` (+ `rejected[]`) | a value or target the panel would refuse | fix the item; the rest applied unless `atomic` |
|
|
81
|
+
| `no-preview` / `no-camera` | Geometry (DSL) mode is on | `set_preview_mode: "preview"` |
|
|
82
|
+
| `no-tile` | nothing matched | read `desktop_layout` again |
|
|
83
|
+
| `edit-mode-off` | Geometry Edit is on now | call `desktop_edit_geometry` again |
|
|
84
|
+
| `not-available` | an older Mosaic Desktop | say so; use what works |
|
|
85
|
+
|
|
86
|
+
## A worked turn (Quote Card)
|
|
87
|
+
|
|
88
|
+
> **Person:** what can I change here?
|
|
89
|
+
> **Agent:** `desktop_layout` → "Quote Card. Five tiles you can click: the quote (now *Everything is
|
|
90
|
+
> rectangles on a canvas.*), the attribution, the role line, the opening quote mark and divider
|
|
91
|
+
> (accent colour), and the whole card (preset light/dark, background, margin). Avatar slot is
|
|
92
|
+
> empty."
|
|
93
|
+
> **Person:** make it say "Rectangles all the way down", left-aligned, dark.
|
|
94
|
+
> **Agent:** `desktop_set_props {set: [{quote}, {align: "left"}, {preset: "dark"}]}` → "Done — three
|
|
95
|
+
> changes, one undo. ⌘Z or the Undo on the toast takes them back."
|
|
96
|
+
> **Person:** which one is the attribution?
|
|
97
|
+
> **Agent:** `desktop_select_tile {propKey: "attribution", card: true}` → "This one — its card is
|
|
98
|
+
> open."
|
|
99
|
+
> **Person:** move it up a bit.
|
|
100
|
+
> **Agent:** "The template has no knob for that. I'll branch it." `desktop_fork_to_document` →
|
|
101
|
+
> `desktop_edit_geometry {tileId, by: {dx: 0, dy: -0.04}}` → "It's a ghost on your canvas — press
|
|
102
|
+
> Apply if that is the spot, or drag it where you want. I'll read what you did."
|
|
103
|
+
|
|
104
|
+
---
|
|
105
|
+
|
|
106
|
+
The wire detail — every route, each verb's arguments and returns, the refusal vocabulary as main
|
|
107
|
+
relays it — is `docs/compat-bridges.md` (0.3.1 routes). The tools' own descriptions carry the one
|
|
108
|
+
rule each; this page is the behaviour.
|
|
@@ -372,22 +372,41 @@ closure into the published tarball). `initialize` echoes the client's
|
|
|
372
372
|
`protocolVersion`; a tool that throws returns `isError: true` rather than a
|
|
373
373
|
JSON-RPC error, so the model sees the failure instead of the transport eating it.
|
|
374
374
|
|
|
375
|
-
The
|
|
375
|
+
The 21 tools (`src/mcp/tools.ts`; the list is locked in `tools.test.ts`), in four groups:
|
|
376
376
|
|
|
377
377
|
- **Knowledge** — `knowledge_list`, `knowledge_read`, `knowledge_search`. The
|
|
378
378
|
`@m0saic/knowledge` docs, so an agent reads the handbook instead of guessing.
|
|
379
379
|
- **Local, no app needed** — `list_templates`, `template_props`, `validate_m0`,
|
|
380
380
|
`workspace_scaffold`, `render_still`, `doctor`.
|
|
381
|
-
- **Through the loopback bridge into a running Desktop** —
|
|
382
|
-
`
|
|
383
|
-
`
|
|
384
|
-
|
|
385
|
-
|
|
381
|
+
- **Through the loopback bridge into a running Desktop — the authoring loop** —
|
|
382
|
+
`desktop_status` (also says which flow you are in: `in-the-room`, a shell
|
|
383
|
+
Desktop's Agent panel opened, or `ecosystem`), `desktop_open_in_make` (open a
|
|
384
|
+
template for review — this resets the person's session on it),
|
|
385
|
+
`desktop_reload_sources`, `desktop_read_verdict` (takes a template id, or the
|
|
386
|
+
path of a forked `.mosaic`; surfaces `srcMosaic` + `geometryEdits`).
|
|
387
|
+
- **The live canvas (0.3.1)** — see it: `desktop_layout` (the template, every
|
|
388
|
+
tile's bound prop and shown value, the current bag with `changedKeys`, the
|
|
389
|
+
modes; `detail`, `tileId`, `prop`), `desktop_snapshot` (a PNG on disk); act
|
|
390
|
+
through Make's own handlers: `desktop_set_props` (THE way to change a prop —
|
|
391
|
+
one undoable write, "Agent changed …"), `desktop_select_tile`,
|
|
392
|
+
`desktop_make_control` (reveal, camera, undo/redo, view, preview mode, canvas,
|
|
393
|
+
tile card, studio, cover, hover, tile override); branch when the template has
|
|
394
|
+
no knob: `desktop_fork_to_document` (a plain `.mosaic` + its m0),
|
|
395
|
+
`desktop_open_file`, `desktop_edit_geometry` (a pending ghost the person
|
|
396
|
+
applies). Behaviour and etiquette: [`agent-at-the-canvas.md`](agent-at-the-canvas.md);
|
|
397
|
+
the wire: `docs/compat-bridges.md` (0.3.1 routes).
|
|
398
|
+
|
|
399
|
+
Three rules the implementation enforces:
|
|
386
400
|
|
|
387
401
|
- **`render_still` pins `M0SAIC_CLI=/usr/bin/false`.** `@m0saic/benchmark/run/v1`
|
|
388
402
|
re-invokes `argv[1]`; without the pin a render from inside the CLI fork-bombs.
|
|
389
403
|
- **Failures return a HINT, never raw stderr** (`findFailureHint`). Engine text is
|
|
390
404
|
moat: the argv and the filtergraph never cross to a model.
|
|
405
|
+
- **The act routes never focus or restore the window**, and every live-canvas verb
|
|
406
|
+
runs the handler a click would — Desktop's main process sanitises the verb and
|
|
407
|
+
its args inbound and rebuilds every result from an allow-list outbound
|
|
408
|
+
(`electron/makeAgent.js`), so nothing an agent polls can carry a plan, an argv
|
|
409
|
+
or a filtergraph.
|
|
391
410
|
|
|
392
411
|
`src/mcp/bridgeClient.ts` is the transport for the desktop tools. A 404 means
|
|
393
412
|
`route-missing` — "this Desktop is too old for that route" — not "the app is
|
|
@@ -414,12 +433,21 @@ conventions: meets 0.2.0 (shipped at 0.2.0).
|
|
|
414
433
|
`record` warning is advice, not a failure to meet a line).
|
|
415
434
|
- **`behind`** — the lines it does not meet, with the rules that fail, oldest first.
|
|
416
435
|
- **`shippedAt`** — the repo's own `frozen.manifest.json` `release`.
|
|
436
|
+
- **`target`** — the repo's `repo.conventions` (e.g. `"0.3.1"`, 0.3.1): the line whose rules it has
|
|
437
|
+
adopted. Each template is held to the LOWER of its shipped line and the target; rules introduced after
|
|
438
|
+
that are lag ("behind"), never errors. A repo moves its target when its templates have adopted the
|
|
439
|
+
newer rules — like a crate's edition. Absent: held to every rule this CLI knows. A malformed target is
|
|
440
|
+
a load warning (`CONVENTIONS_TARGET`); one newer than the CLI knows is a note. The summary line reads
|
|
441
|
+
`conventions: meets 0.3.0 (targets 0.3.0).` and a lagging template says *"the repo targets 0.3.0:
|
|
442
|
+
behind on catalogSidecar — not a defect, adopt them, then move repo.conventions."*
|
|
417
443
|
- **`lagOnly`** — true when EVERY failure comes from a line newer than `shippedAt`. The footer then
|
|
418
444
|
says so explicitly: *"Not a defect: these templates met the conventions of their day. Fix at the
|
|
419
445
|
next vN."*
|
|
420
446
|
|
|
421
447
|
**A template is allowed to lag.** It met the conventions of its day; the rules moved; the fix is its
|
|
422
|
-
next `vN`.
|
|
448
|
+
next `vN`. **A repo is allowed to target an older line too** (`repo.conventions`): a new m0saic release
|
|
449
|
+
never turns its build red — the freeze protects what shipped, the target protects a repo with no freeze
|
|
450
|
+
(every third-party repo). What the rules guarantee is that **NEW** templates meet the CURRENT line — which is why the
|
|
423
451
|
postures throw (founder: "we need to be greedy about adding conventions because agents, especially
|
|
424
452
|
non-frontier ones, won't"). The exit code is still 1 on any error, because the status is informational
|
|
425
453
|
and the message carries the meaning.
|
|
@@ -105,6 +105,14 @@ host canvas clobbering authored size) or **an L1 value lost in the wrapper**
|
|
|
105
105
|
(the CLI source (not published) `handleTemplateMake`, flipped 2026-09-13 —
|
|
106
106
|
before that the hint would have silenced the knob; Make's
|
|
107
107
|
`outputFormat`-prop sync already behaved this way).
|
|
108
|
+
**Since 0.3.1 this order lives in ONE place — `resolveTemplateOutputHints`
|
|
109
|
+
(`@m0saic/template-utils`)** — so every host gets it: static hint < the
|
|
110
|
+
knob < a `format` the template's own `resolveOutputHints` returns. Before
|
|
111
|
+
that only the CLI applied it; the desktop render handler read the static
|
|
112
|
+
hint, and a knob off its default was refused ("Output extension implies
|
|
113
|
+
container "mp4" but resolved container is "png"" — Trickplay, 2026-10-01).
|
|
114
|
+
A knob that MOVES the container yields the bare `{ kind, container }` (the
|
|
115
|
+
static hint's `pixelFormat` described the other container).
|
|
108
116
|
2. `outputHints.format` — the static deliverable. **Every public template
|
|
109
117
|
declares one** (the `outputFormat` convention, record posture — see
|
|
110
118
|
[`philosophy-and-contract.md`](philosophy-and-contract.md) §Output
|
|
@@ -41,9 +41,17 @@ Rules:
|
|
|
41
41
|
prop's value plus an explicit `kind` (the schema has no per-leaf type, and an
|
|
42
42
|
empty leaf must still be an "add" handle). `index` is shorthand for a leading
|
|
43
43
|
numeric segment.
|
|
44
|
-
- `meta.ui.hidden` props, booleans,
|
|
45
|
-
|
|
46
|
-
ignored.
|
|
44
|
+
- `meta.ui.hidden` props, booleans, connection-driven option strings
|
|
45
|
+
(`optionsFromConnection` — the host has no list without the connection) and
|
|
46
|
+
whole lists are never bindable. A stray `index` on a scalar is ignored.
|
|
47
|
+
- A **closed set** — `constraints.oneOf` or a static `control.options` list — binds
|
|
48
|
+
as kind **`choice`** (2026-10-01): Make shows the set (a segmented row up to four
|
|
49
|
+
choices, a select beyond) on the inline editor and on the tile card, and one click
|
|
50
|
+
writes the value; nothing is typed, `seedDraft` is dropped. Basic props only — a
|
|
51
|
+
structured leaf has no set to offer, so `kind: "choice"` there is refused. The case it exists for:
|
|
52
|
+
a full-canvas card bound to its theme `preset` (the alpine cards, the GitHub year
|
|
53
|
+
card) — the click on the card is where the theme gets changed, and the `canvasFill`
|
|
54
|
+
rule accepts a full-canvas rect that carries such a handle.
|
|
47
55
|
- Bind even when the value is empty — the rect is then a handle to ADD.
|
|
48
56
|
|
|
49
57
|
## Kinds
|
|
@@ -85,7 +93,9 @@ right-hand panel is its surface, and the rule stays silent.
|
|
|
85
93
|
| `string[]` · `number[]` · `media[]` | per element, by index | **MUST ACCOUNT** (bound anywhere on the prop counts) |
|
|
86
94
|
| `json` · `list` · `array` | per leaf, `path` + `kind` | **MUST ACCOUNT** (any leaf counts) |
|
|
87
95
|
| `json` + `picker: "regions"` | `rect` | **MUST ACCOUNT** |
|
|
88
|
-
| `string`
|
|
96
|
+
| `string` + closed set (`oneOf`, a static `options` list) | `choice` (a pick, never typed) | **NEVER DEMANDED** — a mode has no rect of its own; bind it when a rect IS the mode (the card → `preset`) |
|
|
97
|
+
| `string` / `number` + `optionsFromConnection` | — | **NEVER** — the host has no list without the connection |
|
|
98
|
+
| `number` + closed set | — | **NEVER** |
|
|
89
99
|
| `boolean` | — | **NEVER** — a one-way door: `false` renders no rect to click |
|
|
90
100
|
| `group` | — | **NEVER** — a container; its fields are walked individually |
|
|
91
101
|
| `m0` · `m0c` · `m0p` | — | **NEVER** — the value IS the composition of every rect, not one of them |
|
|
@@ -133,13 +143,14 @@ The line comes from either of two places, and the gate accepts either:
|
|
|
133
143
|
|
|
134
144
|
| Where | How | Reaches |
|
|
135
145
|
|---|---|---|
|
|
136
|
-
| the prop | `
|
|
146
|
+
| the prop | the catalog sidecar: `props.<key>.description` in `<name>.catalog.json` (0.3.1; `propsSchema.<key>.description` in code is the pre-0.3.1 form, kept only by shipped templates) | every rect bound to that prop |
|
|
137
147
|
| the binding | `bindProp(src, key, i, { hint: "…" })` · a `bindProps` entry's `hint` · `withBindingHint(src, "…")` (composes with every binder) | that rect only — the wording for THIS place |
|
|
138
148
|
|
|
139
149
|
One plain sentence, never markdown, never the value itself ("The month this calendar shows; the grid
|
|
140
150
|
re-flows to its weeks", not "October"). Make trims it and caps it near 200 characters. The tax is
|
|
141
|
-
therefore one honest sentence per bound prop, paid once in the
|
|
142
|
-
cases where the same prop means something different in
|
|
151
|
+
therefore one honest sentence per bound prop, paid once in the sidecar; a per-rect `hint` (code — it
|
|
152
|
+
describes one specific rect) is for the cases where the same prop means something different in
|
|
153
|
+
different places. The gate judges hints AFTER the catalog applies, so a sidecar description satisfies it.
|
|
143
154
|
|
|
144
155
|
**Needs none:** a `companion` leaf (filled only by a media drop, never shown in a form), and any prop
|
|
145
156
|
that is not bound (an `unbound` declaration already carries its reason). A binding on an unknown prop
|
|
@@ -207,9 +218,12 @@ Colour coverage is not checked: a colour is never drawn as text, so it needs a d
|
|
|
207
218
|
`index` or a numeric first `path` segment.
|
|
208
219
|
- `"unset-leaf"` — delete the leaf key from its object, or unset a basic prop
|
|
209
220
|
so its default shows again. Not for array-element leaves (no key).
|
|
210
|
-
- Absent —
|
|
211
|
-
a
|
|
212
|
-
|
|
221
|
+
- Absent — an OPTIONAL colour prop (a basic prop or a group field, not a leaf
|
|
222
|
+
inside a row or list) unsets, back to the template's own colour (platform
|
|
223
|
+
`defaultOnClear`); a required colour and other numbers refuse an empty commit;
|
|
224
|
+
strings write `""`; a scalar media clears to `""`; a `media[]` element refuses
|
|
225
|
+
(a hole in a media list is not a value the engine can open). `"none"` is never
|
|
226
|
+
a clear — it is a colour (transparent).
|
|
213
227
|
|
|
214
228
|
Editor rules: "empty" is blank for numbers / colours, `""` for text. An empty
|
|
215
229
|
commit against an already-empty leaf writes nothing. In a multi-field session a
|
|
@@ -3,15 +3,24 @@
|
|
|
3
3
|
Lookup reference for the three orthogonal discovery/visibility flags on
|
|
4
4
|
`MosaicTemplate`. A template may carry any combination; conflating them is the
|
|
5
5
|
standard mistake. Declared in https://github.com/m0saic-project/m0saic-packages/blob/main/packages/types/src/template/template.ts —
|
|
6
|
-
`internal
|
|
7
|
-
truth table in the JSDoc (
|
|
8
|
-
`grep -n "internal?: boolean\|primitive?: boolean\|deprecated?:
|
|
6
|
+
`internal?`, `primitive?`, `deprecated?` (a `MosaicTemplateDeprecation`), each
|
|
7
|
+
with its truth table in the JSDoc (re-verify:
|
|
8
|
+
`grep -n "internal?: boolean\|primitive?: boolean\|deprecated?: MosaicTemplateDeprecation" https://github.com/m0saic-project/m0saic-packages/blob/main/packages/types/src/template/template.ts).
|
|
9
|
+
|
|
10
|
+
**All three are CATALOG fields (0.3.1).** They describe a template without
|
|
11
|
+
changing what it renders, so they are declared in the template's catalog
|
|
12
|
+
sidecar — `<name>.catalog.json` beside its module — never in its code
|
|
13
|
+
(`catalogSidecar`, throw). The registry applies the sidecar catalog-first when
|
|
14
|
+
the template is defined, so hosts read `template.internal` / `.primitive` /
|
|
15
|
+
`.deprecated` exactly as before. Templates shipped before 0.3.1 keep the values
|
|
16
|
+
in their (frozen) code; a sidecar entry overrides them. The same goes for
|
|
17
|
+
`label`, `description`, `tags`, `platforms`, `channels` and `preview`.
|
|
9
18
|
|
|
10
19
|
| Flag | Question | Renderable alone? | Default UI |
|
|
11
20
|
|---|---|---|---|
|
|
12
21
|
| `primitive?: boolean` | "Is this a base others build on?" | **Yes** | Shown + **PRIMITIVE** badge (teal) |
|
|
13
22
|
| `internal?: boolean` | "Is this intended as a **top-level selection**?" (No → hidden) | **Sometimes** — the flag doesn't decide this | **Hidden**; **INTERNAL** badge (violet) when revealed |
|
|
14
|
-
| `deprecated?: {reason?, replacement?, since?}` | "Is this still the recommended pick?" | Yes | **Hidden**; **DEPRECATED** tag + "use X instead" |
|
|
23
|
+
| `deprecated?: MosaicTemplateDeprecation` (`{reason?, replacement?, since?}`) | "Is this still the recommended pick?" | Yes | **Hidden**; **DEPRECATED** tag + "use X instead" |
|
|
15
24
|
|
|
16
25
|
**`primitive` is informational — it does NOT hide anything.** `internal` and
|
|
17
26
|
`deprecated` are the visibility gates.
|
|
@@ -50,9 +59,12 @@ fixed in-code 2026-07-27; both JSDoc now carry the top-level-selection semantics
|
|
|
50
59
|
`primitive` started as 4 seeded entries and is on **29 templates** as of 2026-07-27
|
|
51
60
|
(re-verify: `grep -rn "primitive: true" https://github.com/m0saic-project/m0saic-packages/blob/main/packages/templates/src/m0saic | wc -l`).
|
|
52
61
|
There is no rule that derives it — like `deprecated`, someone decides. If you're
|
|
53
|
-
adding a template that other templates will compose, set it
|
|
62
|
+
adding a template that other templates will compose, set it (in its catalog
|
|
63
|
+
sidecar); don't wait for a sweep.
|
|
54
64
|
|
|
55
|
-
⚠️ **
|
|
65
|
+
⚠️ **Deprecating obligates a pruning pass** — declare `deprecated` in the old
|
|
66
|
+
version's catalog sidecar (never its frozen code; a shipped deprecation is
|
|
67
|
+
permanent), then repoint the curated registry,
|
|
56
68
|
and remove the id from the CLI E2E cases and the e2e variant list. The full ordered
|
|
57
69
|
procedure is in the maintainers' agent contract §10 (not published) "Deprecating a template"; a deprecated id must
|
|
58
70
|
never linger in those lists. The default e2e sweep auto-excludes deprecated
|
|
@@ -171,10 +171,15 @@ Two authoring facts, both learned on the starters:
|
|
|
171
171
|
`m0saic doctor` both refuse a root document carrying a static, opaque, full-canvas colour
|
|
172
172
|
source. A base rect is a click target that shadows everything behind it, selected any time
|
|
173
173
|
the pointer is not on a smaller tile, and it is redundant: `doc.backgroundColor` fills the
|
|
174
|
-
canvas with no rect at all. Only a STATIC, opaque
|
|
175
|
-
(`overlay.enable` / `window`), a scrim (`overlay.alpha`), a masked shape
|
|
176
|
-
(`
|
|
177
|
-
|
|
174
|
+
canvas with no rect at all. Only a STATIC, opaque fill counts — a curtain wipe
|
|
175
|
+
(`overlay.enable` / `window`), a scrim (`overlay.alpha`), a masked shape and an inset fill
|
|
176
|
+
(`placement`) are legitimate and never flagged. A **rounded or stroked card is NOT exempt
|
|
177
|
+
from 0.3.1 on** (2026-10-01): its corners change nothing about what a click on it does. A
|
|
178
|
+
repo held to 0.3.0 (its `frozen.manifest.json` release / `repo.conventions`) keeps the
|
|
179
|
+
exemption it shipped under — a tightened rule is a new demand, and lands with its line. What does exempt a
|
|
180
|
+
full-canvas rect is a **handle** — bind it to the prop a click on it should edit (the alpine
|
|
181
|
+
cards and the GitHub year card carry `theme.preset` / `preset`, so clicking the card is where
|
|
182
|
+
the theme gets changed). Templates already frozen are exempt. `bindingsDeclared` also accepts a colour prop that IS the document background
|
|
178
183
|
with neither a binding nor a declaration, because such a prop has no rect to bind.
|
|
179
184
|
- ⚠️ **The one case that needs a rect: a template COMPOSED INTO another.** The engine
|
|
180
185
|
lifts `backgroundColor` from the PRIMARY OUTPUT document only, so a child document's
|
|
@@ -221,16 +226,21 @@ Two authoring facts, both learned on the starters:
|
|
|
221
226
|
`bindProp(src, key)` / `bindProps(src, entries)` / `bindPropPath(src, key, path,
|
|
222
227
|
kind)` / `bindPropRange(...)` (`@m0saic/template-utils`) stamp `editor.binding` on
|
|
223
228
|
the source that displays a prop; Make resolves them per render (`bindingsSound`
|
|
224
|
-
throws on a binding the schema refuses — booleans,
|
|
225
|
-
are never bindable) and the preview shows one glyph per thing the tile
|
|
226
|
-
text · 123 number · swatch colour · move rect · picture
|
|
227
|
-
dot on a small tile.
|
|
229
|
+
throws on a binding the schema refuses — booleans, connection-driven pickers and
|
|
230
|
+
whole lists are never bindable) and the preview shows one glyph per thing the tile
|
|
231
|
+
can do (T text · 123 number · swatch colour · pick choice · move rect · picture
|
|
232
|
+
media), collapsing to ONE dot on a small tile. A **closed set** (`constraints.oneOf`
|
|
233
|
+
or a static `control.options` list) binds as kind `choice` (2026-10-01): the tile
|
|
234
|
+
shows the set and one click writes a value — the alpine cards and the GitHub year
|
|
235
|
+
card bind their full-canvas card surface to `preset`, so clicking the card is where
|
|
236
|
+
the theme gets changed. Bind even when the value is empty (the rect is a handle to
|
|
228
237
|
ADD). ⛔ **`bindingsDeclared` (0.3.0) THROWS** when a prop that could carry a handle
|
|
229
238
|
is neither bound nor named in `template.bindings.unbound` with its reason
|
|
230
239
|
(`{ fps: "timing" }`) — free-text and colour strings, numbers, media, one element of a
|
|
231
240
|
basic list, one leaf of json/list/array, and a regions-picker rect must all be
|
|
232
|
-
accounted for; booleans, closed sets
|
|
233
|
-
|
|
241
|
+
accounted for; booleans, closed sets (bindable as a `choice`, but never demanded — a
|
|
242
|
+
mode has no rect of its own), groups, the m0 family, code and hidden/human props
|
|
243
|
+
never are. Templates in `frozen.manifest.json` are exempt. On a rect that
|
|
234
244
|
already binds another prop the fix is `bindProps`, never a second `bindProp` — it
|
|
235
245
|
would replace the first. The full contract — kinds, `onClear`, `seedDraft`, `kind: "media"` (a rect
|
|
236
246
|
that takes a dropped file), `companion`, starter media — is
|
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";var a=Object.defineProperty;var s=(t,e)=>a(t,"name",{value:e,configurable:!0});var __createBinding=this&&this.__createBinding||(Object.create?(function(t,e,r,i){i===void 0&&(i=r);var o=Object.getOwnPropertyDescriptor(e,r);(!o||("get"in o?!e.__esModule:o.writable||o.configurable))&&(o={enumerable:!0,get:s(function(){return e[r]},"get")}),Object.defineProperty(t,i,o)}):(function(t,e,r,i){i===void 0&&(i=r),t[i]=e[r]})),__exportStar=this&&this.__exportStar||function(t,e){for(var r in t)r!=="default"&&!Object.prototype.hasOwnProperty.call(e,r)&&__createBinding(e,t,r)};Object.defineProperty(exports,"__esModule",{value:!0}),__exportStar(require("./mosaic/flatten"),exports),__exportStar(require("./mosaic/layoutFloors"),exports),__exportStar(require("./mosaic/validate"),exports),__exportStar(require("./mosaic/edit"),exports),__exportStar(require("./mosaic/propBindings"),exports),__exportStar(require("./mosaic/outputKind"),exports),__exportStar(require("./mosaic/serializeMosaicDocument"),exports),__exportStar(require("./mosaic/absolutizeManifestPathsWeb"),exports),__exportStar(require("./share"),exports),__exportStar(require("./communityM"),exports),__exportStar(require("./asset"),exports),__exportStar(require("./jobs"),exports),__exportStar(require("./language"),exports),__exportStar(require("./output"),exports),__exportStar(require("./bridges/protocol"),exports),__exportStar(require("./templateId"),exports),__exportStar(require("./packages/mosaicPackages"),exports);
|
|
1
|
+
"use strict";var a=Object.defineProperty;var s=(t,e)=>a(t,"name",{value:e,configurable:!0});var __createBinding=this&&this.__createBinding||(Object.create?(function(t,e,r,i){i===void 0&&(i=r);var o=Object.getOwnPropertyDescriptor(e,r);(!o||("get"in o?!e.__esModule:o.writable||o.configurable))&&(o={enumerable:!0,get:s(function(){return e[r]},"get")}),Object.defineProperty(t,i,o)}):(function(t,e,r,i){i===void 0&&(i=r),t[i]=e[r]})),__exportStar=this&&this.__exportStar||function(t,e){for(var r in t)r!=="default"&&!Object.prototype.hasOwnProperty.call(e,r)&&__createBinding(e,t,r)};Object.defineProperty(exports,"__esModule",{value:!0}),__exportStar(require("./mosaic/flatten"),exports),__exportStar(require("./mosaic/layoutFloors"),exports),__exportStar(require("./mosaic/validate"),exports),__exportStar(require("./mosaic/edit"),exports),__exportStar(require("./mosaic/propBindings"),exports),__exportStar(require("./mosaic/outputKind"),exports),__exportStar(require("./mosaic/serializeMosaicDocument"),exports),__exportStar(require("./mosaic/absolutizeManifestPathsWeb"),exports),__exportStar(require("./share"),exports),__exportStar(require("./communityM"),exports),__exportStar(require("./asset"),exports),__exportStar(require("./jobs"),exports),__exportStar(require("./language"),exports),__exportStar(require("./output"),exports),__exportStar(require("./bridges/protocol"),exports),__exportStar(require("./templateId"),exports),__exportStar(require("./templateCatalog"),exports),__exportStar(require("./packages/mosaicPackages"),exports);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";var n=Object.defineProperty;var e=(r,t)=>n(r,"name",{value:t,configurable:!0});Object.defineProperty(exports,"__esModule",{value:!0}),exports.sourceBindings=exports.resolveBindableProp=exports.bindingCompanion=exports.bindingSeedDraft=exports.bindingOnClear=exports.bindingPath=exports.isColorPropDef=exports.isStructuredPropType=exports.isMediaPropType=exports.isListPropType=exports.isRectListPickerProp=exports.isRectPickerProp=exports.classifyBindableProp=exports.propDefinitionAtPath=void 0;var propBindings_1=require("./propBindings");Object.defineProperty(exports,"propDefinitionAtPath",{enumerable:!0,get:e(function(){return propBindings_1.propDefinitionAtPath},"get")}),Object.defineProperty(exports,"classifyBindableProp",{enumerable:!0,get:e(function(){return propBindings_1.classifyBindableProp},"get")}),Object.defineProperty(exports,"isRectPickerProp",{enumerable:!0,get:e(function(){return propBindings_1.isRectPickerProp},"get")}),Object.defineProperty(exports,"isRectListPickerProp",{enumerable:!0,get:e(function(){return propBindings_1.isRectListPickerProp},"get")}),Object.defineProperty(exports,"isListPropType",{enumerable:!0,get:e(function(){return propBindings_1.isListPropType},"get")}),Object.defineProperty(exports,"isMediaPropType",{enumerable:!0,get:e(function(){return propBindings_1.isMediaPropType},"get")}),Object.defineProperty(exports,"isStructuredPropType",{enumerable:!0,get:e(function(){return propBindings_1.isStructuredPropType},"get")}),Object.defineProperty(exports,"isColorPropDef",{enumerable:!0,get:e(function(){return propBindings_1.isColorPropDef},"get")}),Object.defineProperty(exports,"bindingPath",{enumerable:!0,get:e(function(){return propBindings_1.bindingPath},"get")}),Object.defineProperty(exports,"bindingOnClear",{enumerable:!0,get:e(function(){return propBindings_1.bindingOnClear},"get")}),Object.defineProperty(exports,"bindingSeedDraft",{enumerable:!0,get:e(function(){return propBindings_1.bindingSeedDraft},"get")}),Object.defineProperty(exports,"bindingCompanion",{enumerable:!0,get:e(function(){return propBindings_1.bindingCompanion},"get")}),Object.defineProperty(exports,"resolveBindableProp",{enumerable:!0,get:e(function(){return propBindings_1.resolveBindableProp},"get")}),Object.defineProperty(exports,"sourceBindings",{enumerable:!0,get:e(function(){return propBindings_1.sourceBindings},"get")});
|
|
1
|
+
"use strict";var n=Object.defineProperty;var e=(r,t)=>n(r,"name",{value:t,configurable:!0});Object.defineProperty(exports,"__esModule",{value:!0}),exports.sourceBindings=exports.resolveBindableProp=exports.bindingCompanion=exports.bindingSeedDraft=exports.defaultOnClear=exports.bindingOnClear=exports.bindingPath=exports.isColorPropDef=exports.isStructuredPropType=exports.isMediaPropType=exports.isListPropType=exports.isRectListPickerProp=exports.isRectPickerProp=exports.choiceOptionsOf=exports.classifyBindableProp=exports.propDefinitionAtPath=void 0;var propBindings_1=require("./propBindings");Object.defineProperty(exports,"propDefinitionAtPath",{enumerable:!0,get:e(function(){return propBindings_1.propDefinitionAtPath},"get")}),Object.defineProperty(exports,"classifyBindableProp",{enumerable:!0,get:e(function(){return propBindings_1.classifyBindableProp},"get")}),Object.defineProperty(exports,"choiceOptionsOf",{enumerable:!0,get:e(function(){return propBindings_1.choiceOptionsOf},"get")}),Object.defineProperty(exports,"isRectPickerProp",{enumerable:!0,get:e(function(){return propBindings_1.isRectPickerProp},"get")}),Object.defineProperty(exports,"isRectListPickerProp",{enumerable:!0,get:e(function(){return propBindings_1.isRectListPickerProp},"get")}),Object.defineProperty(exports,"isListPropType",{enumerable:!0,get:e(function(){return propBindings_1.isListPropType},"get")}),Object.defineProperty(exports,"isMediaPropType",{enumerable:!0,get:e(function(){return propBindings_1.isMediaPropType},"get")}),Object.defineProperty(exports,"isStructuredPropType",{enumerable:!0,get:e(function(){return propBindings_1.isStructuredPropType},"get")}),Object.defineProperty(exports,"isColorPropDef",{enumerable:!0,get:e(function(){return propBindings_1.isColorPropDef},"get")}),Object.defineProperty(exports,"bindingPath",{enumerable:!0,get:e(function(){return propBindings_1.bindingPath},"get")}),Object.defineProperty(exports,"bindingOnClear",{enumerable:!0,get:e(function(){return propBindings_1.bindingOnClear},"get")}),Object.defineProperty(exports,"defaultOnClear",{enumerable:!0,get:e(function(){return propBindings_1.defaultOnClear},"get")}),Object.defineProperty(exports,"bindingSeedDraft",{enumerable:!0,get:e(function(){return propBindings_1.bindingSeedDraft},"get")}),Object.defineProperty(exports,"bindingCompanion",{enumerable:!0,get:e(function(){return propBindings_1.bindingCompanion},"get")}),Object.defineProperty(exports,"resolveBindableProp",{enumerable:!0,get:e(function(){return propBindings_1.resolveBindableProp},"get")}),Object.defineProperty(exports,"sourceBindings",{enumerable:!0,get:e(function(){return propBindings_1.sourceBindings},"get")});
|