@cueframe/kernel 0.1.1 → 0.1.2
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/_members/account-model/testing/conversationStoreContract.d.ts +0 -59
- package/dist/_members/account-model/testing/index.d.ts +0 -5
- package/dist/_members/account-model/testing/restorePointStoreContract.d.ts +0 -24
- package/dist/_members/account-model/validators/contextFile.d.ts +0 -6
- package/dist/_members/account-model/validators/conversation.d.ts +0 -96
- package/dist/_members/account-model/validators/dashboardInsight.d.ts +0 -6
- package/dist/_members/account-model/validators/sessionToken.d.ts +0 -29
- package/dist/_members/account-model/validators/uploadToken.d.ts +0 -4
- package/dist/_members/account-model/validators/userSettings.d.ts +0 -4
- package/dist/_members/account-model/validators/workingComposition.d.ts +0 -7
- package/dist/_members/animate/animations/Create.d.ts +0 -19
- package/dist/_members/animate/animations/FadeIn.d.ts +0 -17
- package/dist/_members/animate/animations/GrowArrow.d.ts +0 -19
- package/dist/_members/animate/animations/GrowFromCenter.d.ts +0 -12
- package/dist/_members/animate/animations/Indicate.d.ts +0 -17
- package/dist/_members/animate/animations/MoveAlongPath.d.ts +0 -18
- package/dist/_members/animate/animations/Transform.d.ts +0 -28
- package/dist/_members/animate/animations/Wiggle.d.ts +0 -18
- package/dist/_members/animate/animations/Write.d.ts +0 -20
- package/dist/_members/animate/composition/AnimationGroup.d.ts +0 -21
- package/dist/_members/animate/composition/LaggedStart.d.ts +0 -22
- package/dist/_members/animate/composition/Succession.d.ts +0 -17
- package/dist/_members/animate/easing/rush.d.ts +0 -14
- package/dist/_members/animate/easing/smooth.d.ts +0 -7
- package/dist/_members/animate/easing/smootherstep.d.ts +0 -6
- package/dist/_members/animate/index.d.ts +0 -2
- package/dist/_members/animate/mobjects/Arrow.d.ts +0 -25
- package/dist/_members/animate/mobjects/BrandBox.d.ts +0 -25
- package/dist/_members/animate/mobjects/DiGraph.d.ts +0 -18
- package/dist/_members/animate/mobjects/Graph.d.ts +0 -38
- package/dist/_members/animate/three/ThreeCanvas.d.ts +0 -23
- package/dist/_members/animate/three/drei.d.ts +0 -7
- package/dist/_members/authoring/agent/buildTools.d.ts +0 -37
- package/dist/_members/authoring/agent/contextManagement.d.ts +0 -65
- package/dist/_members/authoring/agent/errors.d.ts +0 -9
- package/dist/_members/authoring/agent/memoryTool.d.ts +0 -2
- package/dist/_members/authoring/agent/promptCache.d.ts +0 -31
- package/dist/_members/authoring/agent.d.ts +0 -34
- package/dist/_members/authoring/capabilities.d.ts +0 -145
- package/dist/_members/authoring/composer/scopes.d.ts +0 -19
- package/dist/_members/authoring/context/brand.d.ts +0 -4
- package/dist/_members/authoring/context/brandTokens.d.ts +0 -4
- package/dist/_members/authoring/context/index.d.ts +0 -1
- package/dist/_members/authoring/context/timeline.d.ts +0 -15
- package/dist/_members/authoring/context/transcript.d.ts +0 -11
- package/dist/_members/authoring/context/types.d.ts +0 -4
- package/dist/_members/authoring/decomposer.d.ts +0 -12
- package/dist/_members/authoring/evaluate.d.ts +0 -26
- package/dist/_members/authoring/evaluator.d.ts +0 -16
- package/dist/_members/authoring/models/modelFactory.d.ts +0 -77
- package/dist/_members/authoring/motion/applyMotionPreset.d.ts +0 -12
- package/dist/_members/authoring/motion/materializeMotionPresetOps.d.ts +0 -7
- package/dist/_members/authoring/motion/shell.d.ts +0 -20
- package/dist/_members/authoring/pipelineTrace.d.ts +0 -19
- package/dist/_members/authoring/prompts/decomposerPrompt.d.ts +0 -4
- package/dist/_members/authoring/prompts/designReviewerPrompt.d.ts +0 -16
- package/dist/_members/authoring/prompts/evaluatorPrompt.d.ts +0 -4
- package/dist/_members/authoring/prompts/graphics.d.ts +0 -5
- package/dist/_members/authoring/prompts/plannerPrompt.d.ts +0 -30
- package/dist/_members/authoring/providers/resourceApi.d.ts +1 -20
- package/dist/_members/authoring/resource-routing.d.ts +0 -121
- package/dist/_members/authoring/resources.d.ts +0 -34
- package/dist/_members/authoring/scope.d.ts +0 -24
- package/dist/_members/authoring/tools/brandTokens.d.ts +0 -22
- package/dist/_members/authoring/tools/composeRoleTools.d.ts +0 -79
- package/dist/_members/authoring/tools/index.d.ts +0 -1
- package/dist/_members/authoring/tools/toolSets.d.ts +0 -50
- package/dist/_members/authoring/transpileComponent.d.ts +0 -34
- package/dist/_members/authoring/transpileHelper.d.ts +0 -18
- package/dist/_members/authoring/types.d.ts +0 -149
- package/dist/_members/brand-derivation/constants.d.ts +0 -17
- package/dist/_members/brand-derivation/contrastSafe.d.ts +0 -23
- package/dist/_members/cloud-import/CloudImportService.d.ts +0 -15
- package/dist/_members/cloud-import/ImportProvider.d.ts +0 -45
- package/dist/_members/cloud-import/MediaItemPreprocessor.d.ts +0 -9
- package/dist/_members/cloud-import/cloudConfig.d.ts +0 -15
- package/dist/_members/compose/CompositionRenderer.d.ts +0 -6
- package/dist/_members/compose/primitiveRegistry.d.ts +0 -64
- package/dist/_members/compose/sceneToRenderInput.d.ts +0 -26
- package/dist/_members/compose/schema.d.ts +0 -15
- package/dist/_members/compose/tokenResolver.d.ts +0 -11
- package/dist/_members/composition/audio/audioMix.d.ts +0 -34
- package/dist/_members/composition/audio/mixStaging.d.ts +0 -81
- package/dist/_members/composition/audio/musicPack.d.ts +0 -35
- package/dist/_members/composition/audio/musicPack.generated.d.ts +0 -6
- package/dist/_members/composition/audio/pack.d.ts +0 -43
- package/dist/_members/composition/audio/pack.generated.d.ts +0 -6
- package/dist/_members/composition/audio/palette.d.ts +0 -36
- package/dist/_members/composition/autozoom/index.d.ts +0 -32
- package/dist/_members/composition/brand-kit.d.ts +0 -8
- package/dist/_members/composition/brief/contract.d.ts +0 -90
- package/dist/_members/composition/color-grade.d.ts +0 -11
- package/dist/_members/composition/depth.d.ts +0 -19
- package/dist/_members/composition/fixtures/agentErrored.d.ts +0 -23
- package/dist/_members/composition/fonts.d.ts +0 -62
- package/dist/_members/composition/graphics-plan/compile.d.ts +0 -29
- package/dist/_members/composition/graphics-plan/index.d.ts +0 -5
- package/dist/_members/composition/graphics-plan/instantiateMotif.d.ts +0 -17
- package/dist/_members/composition/graphics-plan/motion.d.ts +0 -17
- package/dist/_members/composition/graphics-plan/schemas.d.ts +0 -171
- package/dist/_members/composition/graphics-plan/solve.d.ts +0 -19
- package/dist/_members/composition/invariants/clipPlacement.d.ts +0 -59
- package/dist/_members/composition/invariants/composition.d.ts +0 -5
- package/dist/_members/composition/invariants/etag.d.ts +0 -7
- package/dist/_members/composition/invariants/ids.d.ts +0 -6
- package/dist/_members/composition/invariants/keyframes.d.ts +0 -19
- package/dist/_members/composition/invariants/markers.d.ts +0 -6
- package/dist/_members/composition/invariants/time.d.ts +0 -8
- package/dist/_members/composition/invariants/tracks.d.ts +0 -48
- package/dist/_members/composition/ops/compositionOps.d.ts +4 -71
- package/dist/_members/composition/ops/compositionOps.shared.d.ts +30 -0
- package/dist/_members/composition/ops/headlessStore.d.ts +0 -24
- package/dist/_members/composition/ops/selectors.d.ts +0 -66
- package/dist/_members/composition/ops/timeline-word.d.ts +0 -5
- package/dist/_members/composition/ops/transcript.d.ts +0 -27
- package/dist/_members/composition/ops/types.d.ts +0 -51
- package/dist/_members/composition/primitive-catalog/catalogQuery.d.ts +0 -32
- package/dist/_members/composition/primitive-catalog/disabled.d.ts +0 -1
- package/dist/_members/composition/primitive-catalog/index.d.ts +0 -11
- package/dist/_members/composition/primitive-catalog/paramValidation.d.ts +0 -50
- package/dist/_members/composition/primitive-catalog/projection.d.ts +0 -39
- package/dist/_members/composition/primitive-catalog/types.d.ts +0 -78
- package/dist/_members/composition/projection/behind-placement.d.ts +0 -40
- package/dist/_members/composition/projection/behind-readiness.d.ts +14 -89
- package/dist/_members/composition/projection/brandKit.d.ts +0 -142
- package/dist/_members/composition/projection/cardTokens.d.ts +0 -65
- package/dist/_members/composition/projection/composition-floor.d.ts +0 -179
- package/dist/_members/composition/projection/cropProjection.d.ts +0 -75
- package/dist/_members/composition/projection/occlusion-budget.d.ts +0 -37
- package/dist/_members/composition/projection/reframe-readiness.d.ts +4 -111
- package/dist/_members/composition/projection/safe-zones.d.ts +0 -29
- package/dist/_members/composition/reframe/aspectLoss.d.ts +12 -35
- package/dist/_members/composition/reframe/coverage.d.ts +0 -40
- package/dist/_members/composition/reframe/derive.d.ts +0 -21
- package/dist/_members/composition/reframe/index.d.ts +0 -60
- package/dist/_members/composition/reframe/kenBurns.d.ts +0 -37
- package/dist/_members/composition/reframe/shotScale.d.ts +0 -75
- package/dist/_members/composition/reframe/trajectory.d.ts +0 -65
- package/dist/_members/composition/timeline/compound.d.ts +0 -31
- package/dist/_members/composition/timeline/intent.d.ts +0 -29
- package/dist/_members/composition/timeline/keyframes.d.ts +0 -43
- package/dist/_members/composition/timeline/link.d.ts +0 -27
- package/dist/_members/composition/timeline/occupancy.d.ts +1 -42
- package/dist/_members/composition/timeline/placement.d.ts +5 -52
- package/dist/_members/composition/timeline/plan.d.ts +5 -53
- package/dist/_members/composition/timeline/resolve.d.ts +0 -36
- package/dist/_members/composition/timeline/trims.d.ts +0 -49
- package/dist/_members/composition/validators/brandKit.d.ts +0 -29
- package/dist/_members/composition/validators/composePlan.d.ts +0 -39
- package/dist/_members/composition/validators/composition.d.ts +30 -513
- package/dist/_members/composition/validators/graphicKinds.d.ts +0 -28
- package/dist/_members/composition/validators/render.d.ts +23 -23
- package/dist/_members/composition-ops/alphaLayers.d.ts +0 -56
- package/dist/_members/composition-ops/index.d.ts +27 -148
- package/dist/_members/composition-ops/materializeGrid.d.ts +0 -28
- package/dist/_members/composition-ops/opRecorder.d.ts +0 -34
- package/dist/_members/composition-ops/recordingStore.d.ts +0 -16
- package/dist/_members/composition-ops/replaceRegion.d.ts +0 -48
- package/dist/_members/composition-ops/testFixtures.d.ts +0 -14
- package/dist/_members/convex-api/api.d.ts +0 -3
- package/dist/_members/convex-api/dataModel.d.ts +0 -2
- package/dist/_members/core/index.d.ts +1 -1
- package/dist/_members/core/render/bookends.d.ts +0 -44
- package/dist/_members/core/render/captions.d.ts +0 -42
- package/dist/_members/core/render/compositionRender.d.ts +1 -180
- package/dist/_members/core/render/deriveTrajectory.d.ts +0 -140
- package/dist/_members/core/render/emphasis.d.ts +0 -6
- package/dist/_members/core/render/eval/cropBox.d.ts +0 -69
- package/dist/_members/core/render/eval/inclusion.d.ts +0 -39
- package/dist/_members/core/render/eval/index.d.ts +0 -58
- package/dist/_members/core/render/eval/metrics.d.ts +0 -36
- package/dist/_members/core/render/exportSettings.d.ts +4 -12
- package/dist/_members/core/render/index.d.ts +1 -1
- package/dist/_members/core/render/mapFaceToPerson.d.ts +0 -27
- package/dist/_members/core/render/types.d.ts +1 -184
- package/dist/_members/core/render/variantKeys.d.ts +1 -0
- package/dist/_members/core/render/vcam/cameraPath.d.ts +0 -44
- package/dist/_members/core/render/vcam/constants.d.ts +0 -93
- package/dist/_members/core/render/vcam/errorCodes.d.ts +0 -28
- package/dist/_members/core/render/vcam/framing.d.ts +0 -76
- package/dist/_members/core/render/vcam/requiredRegion.d.ts +0 -71
- package/dist/_members/core/render/vcam/shots.d.ts +0 -40
- package/dist/_members/core/render/vcam/subjectSet.d.ts +0 -85
- package/dist/_members/core/select/errorCodes.d.ts +0 -25
- package/dist/_members/core/select/index.d.ts +0 -20
- package/dist/_members/core/select/model.d.ts +0 -79
- package/dist/_members/core/select/select.d.ts +0 -49
- package/dist/_members/core/select/stabilize.d.ts +0 -102
- package/dist/_members/core/types.d.ts +0 -1
- package/dist/_members/director/ai-sdk/chunks.d.ts +14 -0
- package/dist/_members/director/ai-sdk/context.d.ts +6 -0
- package/dist/_members/director/ai-sdk/generationTool.d.ts +8 -0
- package/dist/_members/director/ai-sdk/index.d.ts +4 -0
- package/dist/_members/director/ai-sdk/messages.d.ts +292 -0
- package/dist/_members/director/domain/chat.d.ts +357 -0
- package/dist/_members/director/domain/generation.d.ts +1 -0
- package/dist/_members/director/domain/index.d.ts +3 -0
- package/dist/_members/director/domain/ports.d.ts +32 -0
- package/dist/_members/director/index.d.ts +2 -0
- package/dist/_members/director/testing/contract.d.ts +52 -0
- package/dist/_members/director/testing/index.d.ts +1 -0
- package/dist/_members/errors/registry.d.ts +0 -32
- package/dist/_members/foundation/codes/index.d.ts +0 -21
- package/dist/_members/mcp/adapter.d.ts +1 -84
- package/dist/_members/mcp/burnedNames.d.ts +0 -16
- package/dist/_members/mcp/core.d.ts +1 -81
- package/dist/_members/mcp/curation.d.ts +0 -112
- package/dist/_members/mcp/executor.d.ts +0 -49
- package/dist/_members/mcp/format.d.ts +0 -6
- package/dist/_members/mcp/generated/catalogPreviews.d.ts +0 -1
- package/dist/_members/mcp/generated/operations.d.ts +0 -23
- package/dist/_members/mcp/internalLoopTools.d.ts +0 -23
- package/dist/_members/mcp/prompts.d.ts +0 -16
- package/dist/_members/mcp/resources.d.ts +0 -13
- package/dist/_members/mcp/server.d.ts +0 -61
- package/dist/_members/mcp/wait.d.ts +0 -22
- package/dist/_members/mcp/x402Meta.d.ts +0 -44
- package/dist/_members/media-model/generation.d.ts +314 -0
- package/dist/_members/media-model/index.d.ts +1 -0
- package/dist/_members/media-model/media-kind.d.ts +0 -27
- package/dist/_members/media-model/transcriptSearch.d.ts +0 -42
- package/dist/_members/nle-export/fcpxml.d.ts +0 -13
- package/dist/_members/nle-export/index.d.ts +0 -6
- package/dist/_members/nle-export/types.d.ts +0 -26
- package/dist/_members/nle-export/xml/index.d.ts +0 -8
- package/dist/_members/nle-export/xml-utils.d.ts +0 -12
- package/dist/_members/perception/activeSpeaker.d.ts +0 -94
- package/dist/_members/perception/audioQuality.d.ts +0 -64
- package/dist/_members/perception/energyBeat.d.ts +0 -81
- package/dist/_members/perception/identityMatch.d.ts +0 -66
- package/dist/_members/perception/index.d.ts +0 -52
- package/dist/_members/perception/visualQuality.d.ts +0 -73
- package/dist/_members/plane/conformance.d.ts +0 -59
- package/dist/_members/plane/contract.d.ts +0 -29
- package/dist/_members/plane/index.d.ts +0 -15
- package/dist/_members/primitives/backgrounds/animated-bar-chart/index.d.ts +0 -13
- package/dist/_members/primitives/backgrounds/animated-line-chart/index.d.ts +0 -14
- package/dist/_members/primitives/backgrounds/dither-gradient-bg/index.d.ts +0 -14
- package/dist/_members/primitives/backgrounds/dynamic-grid/index.d.ts +0 -8
- package/dist/_members/primitives/backgrounds/ecosystem-constellation/index.d.ts +0 -8
- package/dist/_members/primitives/backgrounds/infinite-marquee/index.d.ts +0 -8
- package/dist/_members/primitives/backgrounds/mesh-gradient-bg/index.d.ts +0 -8
- package/dist/_members/primitives/backgrounds/perspective-marquee/index.d.ts +0 -8
- package/dist/_members/primitives/backgrounds/silk-flow-bg/index.d.ts +0 -17
- package/dist/_members/primitives/backgrounds/vector-field/index.d.ts +0 -14
- package/dist/_members/primitives/backgrounds/volumetric-rays/index.d.ts +0 -18
- package/dist/_members/primitives/captions/Captions.d.ts +0 -24
- package/dist/_members/primitives/captions/index.d.ts +0 -15
- package/dist/_members/primitives/captions/paginate.d.ts +0 -21
- package/dist/_members/primitives/captions/placement.d.ts +0 -30
- package/dist/_members/primitives/effects/blur/index.d.ts +0 -16
- package/dist/_members/primitives/effects/color-grade/index.d.ts +0 -20
- package/dist/_members/primitives/effects/grain/index.d.ts +0 -12
- package/dist/_members/primitives/effects/parallax/index.d.ts +0 -13
- package/dist/_members/primitives/effects/particles/index.d.ts +0 -16
- package/dist/_members/primitives/effects/pulsing-indicator/index.d.ts +0 -10
- package/dist/_members/primitives/effects/spotlight-card/index.d.ts +0 -8
- package/dist/_members/primitives/effects/spring-pop-in/index.d.ts +0 -10
- package/dist/_members/primitives/effects/success-confetti/index.d.ts +0 -8
- package/dist/_members/primitives/effects/vignette/index.d.ts +0 -12
- package/dist/_members/primitives/hero-text/HeroText.d.ts +0 -17
- package/dist/_members/primitives/hero-text/config.d.ts +0 -10
- package/dist/_members/primitives/hero-text/index.d.ts +0 -14
- package/dist/_members/primitives/index.d.ts +0 -8
- package/dist/_members/primitives/layouts/chat-to-preview-layout/index.d.ts +0 -8
- package/dist/_members/primitives/layouts/infinite-bento-pan/index.d.ts +0 -8
- package/dist/_members/primitives/layouts/letterbox/index.d.ts +0 -15
- package/dist/_members/primitives/layouts/photo-grid/index.d.ts +0 -17
- package/dist/_members/primitives/layouts/picture-in-picture/index.d.ts +0 -21
- package/dist/_members/primitives/layouts/split-screen/index.d.ts +0 -15
- package/dist/_members/primitives/layouts/staggered-bento-grid/index.d.ts +0 -8
- package/dist/_members/primitives/lib/easings.d.ts +0 -27
- package/dist/_members/primitives/lib/palette.d.ts +0 -22
- package/dist/_members/primitives/lib/preview.d.ts +0 -22
- package/dist/_members/primitives/lib/schema.d.ts +0 -36
- package/dist/_members/primitives/lib/seeded-random.d.ts +0 -23
- package/dist/_members/primitives/lib/text/contrast.d.ts +0 -17
- package/dist/_members/primitives/lib/text/fill.d.ts +0 -5
- package/dist/_members/primitives/lib/text/fitText.d.ts +0 -37
- package/dist/_members/primitives/lib/text/marker.d.ts +0 -10
- package/dist/_members/primitives/lib/text/motion.d.ts +0 -46
- package/dist/_members/primitives/lib/text/recolor.d.ts +0 -11
- package/dist/_members/primitives/lib/text/spec.d.ts +0 -39
- package/dist/_members/primitives/lib/text/stage.d.ts +0 -17
- package/dist/_members/primitives/lib/text/typeface.d.ts +0 -11
- package/dist/_members/primitives/lib/tokens.d.ts +0 -87
- package/dist/_members/primitives/lib/types.d.ts +0 -141
- package/dist/_members/primitives/scenes/changelog-bite/index.d.ts +0 -12
- package/dist/_members/primitives/scenes/hero-device-assemble/index.d.ts +0 -8
- package/dist/_members/primitives/scenes/landing-code-showcase/index.d.ts +0 -8
- package/dist/_members/primitives/scenes/live-code-compilation/index.d.ts +0 -8
- package/dist/_members/primitives/scenes/pricing-tier-focus/index.d.ts +0 -8
- package/dist/_members/primitives/scenes/product-launch-trailer/index.d.ts +0 -8
- package/dist/_members/primitives/scenes/terminal-to-browser-deploy/index.d.ts +0 -8
- package/dist/_members/primitives/subject-foreground/SubjectForeground.d.ts +0 -38
- package/dist/_members/primitives/subject-foreground/index.d.ts +0 -21
- package/dist/_members/primitives/text/blur-reveal/index.d.ts +0 -9
- package/dist/_members/primitives/text/cinematic-title/index.d.ts +0 -14
- package/dist/_members/primitives/text/inline-highlight/index.d.ts +0 -11
- package/dist/_members/primitives/text/karaoke/index.d.ts +0 -13
- package/dist/_members/primitives/text/kinetic-type/index.d.ts +0 -15
- package/dist/_members/primitives/text/lower-third/index.d.ts +0 -14
- package/dist/_members/primitives/text/marker-highlight/index.d.ts +0 -10
- package/dist/_members/primitives/text/masked-slide-reveal/index.d.ts +0 -8
- package/dist/_members/primitives/text/matrix-decode/index.d.ts +0 -9
- package/dist/_members/primitives/text/quote-card/index.d.ts +0 -9
- package/dist/_members/primitives/text/rgb-glitch-text/index.d.ts +0 -13
- package/dist/_members/primitives/text/shimmer-sweep/index.d.ts +0 -10
- package/dist/_members/primitives/text/slot-machine-roll/index.d.ts +0 -8
- package/dist/_members/primitives/text/staggered-fade-up/index.d.ts +0 -12
- package/dist/_members/primitives/text/stat-counter/index.d.ts +0 -13
- package/dist/_members/primitives/text/strikethrough-replace/index.d.ts +0 -9
- package/dist/_members/primitives/text/text-effect/index.d.ts +0 -17
- package/dist/_members/primitives/text/text-fade-replace/index.d.ts +0 -8
- package/dist/_members/primitives/text/token-stream/index.d.ts +0 -11
- package/dist/_members/primitives/text/tracking-in/index.d.ts +0 -8
- package/dist/_members/primitives/text/typewriter/index.d.ts +0 -12
- package/dist/_members/primitives/transitions/chromatic-aberration-wipe/index.d.ts +0 -11
- package/dist/_members/primitives/transitions/code-diff-wipe/index.d.ts +0 -8
- package/dist/_members/primitives/transitions/directional-wipe/index.d.ts +0 -10
- package/dist/_members/primitives/transitions/frosted-glass-wipe/index.d.ts +0 -10
- package/dist/_members/primitives/transitions/glitch-cut/index.d.ts +0 -3
- package/dist/_members/primitives/transitions/grid-pixelate-wipe/index.d.ts +0 -14
- package/dist/_members/primitives/transitions/ink-wipe/index.d.ts +0 -3
- package/dist/_members/primitives/transitions/kinetic-type-mask/index.d.ts +0 -12
- package/dist/_members/primitives/transitions/light-leak/index.d.ts +0 -3
- package/dist/_members/primitives/transitions/luma-matte/index.d.ts +0 -2
- package/dist/_members/primitives/transitions/morph/index.d.ts +0 -2
- package/dist/_members/primitives/transitions/spatial-push/index.d.ts +0 -10
- package/dist/_members/primitives/transitions/swipe-transition-wipe/index.d.ts +0 -13
- package/dist/_members/primitives/transitions/zoom-through/index.d.ts +0 -2
- package/dist/_members/primitives/transitions/zoom-through-transition/index.d.ts +0 -9
- package/dist/_members/primitives/ui-blocks/ai-generate-overlay/index.d.ts +0 -8
- package/dist/_members/primitives/ui-blocks/ai-generation-canvas/index.d.ts +0 -8
- package/dist/_members/primitives/ui-blocks/badge-pop/index.d.ts +0 -11
- package/dist/_members/primitives/ui-blocks/before-after-slider/index.d.ts +0 -11
- package/dist/_members/primitives/ui-blocks/benchmark-bars/index.d.ts +0 -11
- package/dist/_members/primitives/ui-blocks/bounding-box-selector/index.d.ts +0 -8
- package/dist/_members/primitives/ui-blocks/browser-flow/index.d.ts +0 -8
- package/dist/_members/primitives/ui-blocks/brush-stroke-simulator/index.d.ts +0 -18
- package/dist/_members/primitives/ui-blocks/chat-exchange/index.d.ts +0 -10
- package/dist/_members/primitives/ui-blocks/code-accordion/index.d.ts +0 -8
- package/dist/_members/primitives/ui-blocks/context-meter/index.d.ts +0 -11
- package/dist/_members/primitives/ui-blocks/cursor-flow/index.d.ts +0 -11
- package/dist/_members/primitives/ui-blocks/dashboard-populate/index.d.ts +0 -8
- package/dist/_members/primitives/ui-blocks/data-flow-pipes/index.d.ts +0 -9
- package/dist/_members/primitives/ui-blocks/device-mockup-zoom/index.d.ts +0 -8
- package/dist/_members/primitives/ui-blocks/drag-and-drop-flow/index.d.ts +0 -8
- package/dist/_members/primitives/ui-blocks/eval-scorecard/index.d.ts +0 -11
- package/dist/_members/primitives/ui-blocks/glass-code-block/index.d.ts +0 -8
- package/dist/_members/primitives/ui-blocks/image-expand-to-fullscreen/index.d.ts +0 -8
- package/dist/_members/primitives/ui-blocks/metric-gauge/index.d.ts +0 -12
- package/dist/_members/primitives/ui-blocks/morphing-modal/index.d.ts +0 -8
- package/dist/_members/primitives/ui-blocks/pipeline-journey/index.d.ts +0 -8
- package/dist/_members/primitives/ui-blocks/progress-steps/index.d.ts +0 -8
- package/dist/_members/primitives/ui-blocks/reasoning-trace/index.d.ts +0 -10
- package/dist/_members/primitives/ui-blocks/simulated-cursor/index.d.ts +0 -8
- package/dist/_members/primitives/ui-blocks/terminal-simulator/index.d.ts +0 -19
- package/dist/_members/primitives/ui-blocks/toast-notification/index.d.ts +0 -8
- package/dist/_members/primitives/ui-blocks/tool-call-stack/index.d.ts +0 -8
- package/dist/_members/primitives/ui-blocks/tool-menu-slide-in/index.d.ts +0 -8
- package/dist/_members/primitives/ui-blocks/visual-docs-snippet/index.d.ts +0 -8
- package/dist/_members/primitives/ui-blocks/voice-waveform/index.d.ts +0 -11
- package/dist/_members/primitives/workspace.d.ts +0 -29
- package/dist/_members/render-harness/browserOptions.d.ts +11 -0
- package/dist/_members/render-harness/browserOptions.d.ts.map +1 -0
- package/dist/_members/render-harness/cardRender.d.ts +0 -40
- package/dist/_members/render-harness/cardRender.d.ts.map +1 -1
- package/dist/_members/render-harness/contractRender.d.ts +0 -16
- package/dist/_members/render-harness/contractRender.d.ts.map +1 -1
- package/dist/_members/render-harness/extractSegments.d.ts +0 -37
- package/dist/_members/render-harness/extractSegments.d.ts.map +1 -1
- package/dist/_members/render-harness/index.d.ts +0 -12
- package/dist/_members/render-harness/index.d.ts.map +1 -1
- package/dist/_members/render-harness/localRender.d.ts +1 -110
- package/dist/_members/render-harness/localRender.d.ts.map +1 -1
- package/dist/_members/render-harness/materializeSources.d.ts +0 -22
- package/dist/_members/render-harness/materializeSources.d.ts.map +1 -1
- package/dist/_members/render-harness/mediaServer.d.ts +0 -16
- package/dist/_members/render-harness/mediaServer.d.ts.map +1 -1
- package/dist/_members/render-harness/renderInputAssets.d.ts +0 -45
- package/dist/_members/render-harness/renderInputAssets.d.ts.map +1 -1
- package/dist/_members/render-harness/resolveAssets.d.ts +0 -24
- package/dist/_members/render-harness/resolveAssets.d.ts.map +1 -1
- package/dist/_members/render-harness/sandboxGlobalSpecs.d.ts +0 -14
- package/dist/_members/render-harness/sandboxGlobalSpecs.d.ts.map +1 -1
- package/dist/account-model/validators.js +1 -1
- package/dist/account-model.js +1 -1
- package/dist/animate.js +0 -15
- package/dist/authoring/build-tools.js +8 -8
- package/dist/authoring/composer.js +0 -20
- package/dist/authoring/context.js +6 -6
- package/dist/authoring/pipelineTrace.js +1 -1
- package/dist/authoring/prompts.js +1 -1
- package/dist/authoring/resource-routing.js +1 -1
- package/dist/authoring/resources.js +1 -1
- package/dist/authoring/tools.js +7 -7
- package/dist/authoring.js +14 -80
- package/dist/{chunk-TWQOKKAF.js → chunk-23HFEKV7.js} +0 -6
- package/dist/{chunk-EA6MYCYW.js → chunk-2B5VJZHL.js} +14 -25
- package/dist/chunk-73DQTUWY.js +131 -0
- package/dist/{chunk-HI4UTTPS.js → chunk-AO744WIK.js} +1 -43
- package/dist/chunk-BADZHXLR.js +0 -0
- package/dist/{chunk-GA23TRNR.js → chunk-BKHGL4MB.js} +5 -13
- package/dist/{chunk-PDYO3DOJ.js → chunk-BZZTVOGG.js} +6 -55
- package/dist/{chunk-AP6ZIVAV.js → chunk-CAJQ7H5A.js} +17 -17
- package/dist/{chunk-7FO3ZJ43.js → chunk-DCVJWGIA.js} +1 -9
- package/dist/{chunk-AQBREB5O.js → chunk-DWLNPNC4.js} +1 -4
- package/dist/{chunk-SW336CJP.js → chunk-DYZE7JZA.js} +3 -26
- package/dist/{chunk-HCCBDJLW.js → chunk-EP2Y6M2J.js} +0 -4
- package/dist/{chunk-ZE76SSRT.js → chunk-FMODQD5P.js} +0 -6
- package/dist/chunk-FTVZF4GO.js +0 -0
- package/dist/{chunk-PMY24FUD.js → chunk-G5BFI32U.js} +1 -1
- package/dist/{chunk-LD5ZOUFT.js → chunk-GF52TW4I.js} +0 -4
- package/dist/{chunk-ABL557OT.js → chunk-GMD33ZD7.js} +1 -8
- package/dist/{chunk-ZWMV6DD2.js → chunk-ICSZF37W.js} +10 -162
- package/dist/chunk-IEXAKOEX.js +113 -0
- package/dist/{chunk-UY4SWJVE.js → chunk-K2IUBCND.js} +0 -12
- package/dist/chunk-LJ5W4ZBU.js +146 -0
- package/dist/chunk-LLUW26BS.js +255 -0
- package/dist/{chunk-JJ6XD7NG.js → chunk-PIURX6IZ.js} +70 -2
- package/dist/{chunk-MMEJ3Y7E.js → chunk-QETYXKQQ.js} +1 -10
- package/dist/{chunk-YX2GSJK7.js → chunk-RP4SXXLJ.js} +1 -1
- package/dist/{chunk-P727GZVO.js → chunk-SAMQUUO5.js} +3 -5
- package/dist/{chunk-RF7U3SCL.js → chunk-TD347SSX.js} +3 -11
- package/dist/{chunk-TOJEXFXL.js → chunk-TFGKUWHY.js} +1 -88
- package/dist/{chunk-UHGSZZDI.js → chunk-TPA6PYN2.js} +1 -11
- package/dist/{chunk-OLFOPQCA.js → chunk-UQSOS726.js} +4 -18
- package/dist/{chunk-GBRNYH7W.js → chunk-V24L35GM.js} +0 -11
- package/dist/{chunk-MBCXCJOE.js → chunk-VFMW3JUY.js} +1 -1
- package/dist/{chunk-DK2ODBNT.js → chunk-VHF66LCQ.js} +16 -98
- package/dist/{chunk-JMURQODM.js → chunk-VZ7TYX6Z.js} +0 -1
- package/dist/{chunk-SIGGQRY2.js → chunk-W3SIWT7J.js} +5030 -4412
- package/dist/{chunk-W35ZMOXB.js → chunk-WPZKOVYF.js} +0 -5
- package/dist/chunk-WZH57M53.js +494 -0
- package/dist/{chunk-AYVJXDLB.js → chunk-XHGZ2E77.js} +0 -2
- package/dist/{chunk-HY3RIEZW.js → chunk-XQ72DZKJ.js} +1 -1
- package/dist/{chunk-7DHP4ESU.js → chunk-YLDMAZZE.js} +0 -10
- package/dist/{chunk-FYZVH3MC.js → chunk-YQ7FFW3G.js} +0 -11
- package/dist/chunk-ZPLJ24OV.js +93 -0
- package/dist/cloud-import/multipart.js +1 -1
- package/dist/cloud-import.js +9 -16
- package/dist/compose/renderer.js +18 -18
- package/dist/compose.js +21 -21
- package/dist/composition/audio.js +1 -1
- package/dist/composition/brand-kit.js +0 -5
- package/dist/composition/graphics-plan.js +4 -4
- package/dist/composition/ops.js +5 -5
- package/dist/composition/primitive-catalog.js +1 -1
- package/dist/composition/projection.js +11 -3
- package/dist/composition/reframe/kenBurns.js +0 -4
- package/dist/composition/reframe.js +4 -2
- package/dist/composition/timeline.js +1 -1
- package/dist/composition/validators/graphic-kinds.js +1 -1
- package/dist/composition/validators.js +4 -4
- package/dist/composition-ops.js +16 -135
- package/dist/composition.js +15 -7
- package/dist/context-JLLU3MYD.js +14 -0
- package/dist/core/render.js +9 -7
- package/dist/core/select.js +2 -6
- package/dist/core.js +5 -7
- package/dist/director/ai-sdk.d.ts +1 -0
- package/dist/director/ai-sdk.js +33 -0
- package/dist/director/domain.d.ts +1 -0
- package/dist/director/domain.js +62 -0
- package/dist/director/testing.d.ts +1 -0
- package/dist/director/testing.js +22 -0
- package/dist/director.d.ts +1 -0
- package/dist/director.js +86 -0
- package/dist/errors.js +1 -1
- package/dist/foundation.js +1 -0
- package/dist/mcp/adapter.js +4 -64
- package/dist/mcp/core.js +1 -1
- package/dist/mcp/curation.js +1 -1
- package/dist/mcp/server.js +4 -4
- package/dist/mcp.js +4 -4
- package/dist/media-model/generation.d.ts +1 -0
- package/dist/media-model/generation.js +40 -0
- package/dist/media-model.js +38 -6
- package/dist/nle-export.js +21 -21
- package/dist/plane/contract.js +0 -3
- package/dist/primitives/backgrounds.js +2 -2
- package/dist/primitives/captions.js +0 -5
- package/dist/primitives/effects.js +2 -2
- package/dist/primitives/hero-text.js +2 -2
- package/dist/primitives/layouts.js +2 -2
- package/dist/primitives/lib/index.js +17 -17
- package/dist/primitives/lib/text/fitText.js +1 -1
- package/dist/primitives/lib/tokens.js +1 -1
- package/dist/primitives/lib.js +17 -17
- package/dist/primitives/scenes.js +2 -2
- package/dist/primitives/text.js +2 -2
- package/dist/primitives/ui-blocks.js +4 -4
- package/dist/primitives.js +21 -21
- package/dist/render-harness/sandboxGlobalSpecs.js +1 -1
- package/dist/render-harness.js +24 -41
- package/package.json +37 -21
- package/dist/chunk-6EQXLEP6.js +0 -194
- package/dist/chunk-OCFDUCF4.js +0 -504
- package/dist/chunk-PODIYN2K.js +0 -742
- package/dist/context-YWUZDG5X.js +0 -14
|
@@ -1,26 +1,12 @@
|
|
|
1
1
|
export type PrimitiveCategory = 'text' | 'effects' | 'transitions' | 'layouts' | 'backgrounds' | 'ui-blocks' | 'scenes';
|
|
2
2
|
export type PrimitiveKind = 'component' | 'transition' | 'scene';
|
|
3
|
-
/** Curation tier — mirrors the public ComponentResponse contract. */
|
|
4
3
|
export type PrimitiveTier = 'recommended' | 'standard' | 'niche';
|
|
5
|
-
/** Editorial use-case tags — mirrors the public ComponentResponse contract. */
|
|
6
4
|
export type PrimitiveUseCase = 'intro' | 'outro' | 'full-scene' | 'title-over-footage' | 'transition' | 'background' | 'grade' | 'emphasis' | 'explainer' | 'social-cut';
|
|
7
|
-
/** A JSON-Schema (draft-07 subset) object describing a primitive's props. */
|
|
8
5
|
export type JsonSchemaObject = Record<string, unknown>;
|
|
9
|
-
/**
|
|
10
|
-
* A theme-token binding declared by a primitive (the React-free mirror of the
|
|
11
|
-
* execution-side `TokenBinding`). `brandKitPath` (when set) is the
|
|
12
|
-
* `ResolvedBrandKit` dot-path the param tracks — i.e. the param accepts a
|
|
13
|
-
* `$brand:<brandKitPath>` value to follow the project brand kit. The catalog
|
|
14
|
-
* projection turns these into the public `brandBindings` hint.
|
|
15
|
-
*/
|
|
16
6
|
export interface PrimitiveTokenBinding {
|
|
17
|
-
/** The param field this token themes (e.g. 'accent'). */
|
|
18
7
|
propPath: string;
|
|
19
|
-
/** CSS custom property the render binds (e.g. '--cf-accent'). */
|
|
20
8
|
cssVar: string;
|
|
21
|
-
/** Value used when neither a brand kit nor an explicit param is supplied. */
|
|
22
9
|
fallback?: string;
|
|
23
|
-
/** ResolvedBrandKit dot-path the param brand-binds to (e.g. 'colors.accent'). */
|
|
24
10
|
brandKitPath?: string;
|
|
25
11
|
}
|
|
26
12
|
export interface PrimitiveExample {
|
|
@@ -30,94 +16,30 @@ export interface PrimitiveExample {
|
|
|
30
16
|
description?: string;
|
|
31
17
|
}
|
|
32
18
|
export interface PrimitiveCatalogMeta {
|
|
33
|
-
/** Stable kebab-case id, globally unique in the registry. */
|
|
34
19
|
id: string;
|
|
35
20
|
name: string;
|
|
36
21
|
category: PrimitiveCategory;
|
|
37
22
|
kind: PrimitiveKind;
|
|
38
23
|
version: string;
|
|
39
|
-
/**
|
|
40
|
-
* SELECTION CONTRACT (mirrored to the public ComponentResponse facets):
|
|
41
|
-
* a verb naming what this primitive accomplishes (e.g. 'reveal-text',
|
|
42
|
-
* 'product-trailer'). Match it against the beat you are authoring.
|
|
43
|
-
*/
|
|
44
24
|
intent?: string;
|
|
45
25
|
description?: string;
|
|
46
|
-
/**
|
|
47
|
-
* When to reach for this primitive AND when not to. The negative guidance
|
|
48
|
-
* is load-bearing — it stops a wrong pick before a render proves it wrong.
|
|
49
|
-
*/
|
|
50
26
|
useWhen?: string;
|
|
51
|
-
/** Other primitive ids that COMPOSE well after/around this one (authoring guidance). */
|
|
52
27
|
pairsWith?: string[];
|
|
53
|
-
/** Other primitive ids that CONFLICT with this one — do not place together. */
|
|
54
28
|
avoidWith?: string[];
|
|
55
29
|
tags?: string[];
|
|
56
|
-
/** Mood/vibe tags — filter to match the edit's tone (e.g. 'cinematic', 'minimal'). */
|
|
57
30
|
mood?: string[];
|
|
58
|
-
/**
|
|
59
|
-
* Curation tier — a QUALITY/applicability RANKING, not a flag. Prefer
|
|
60
|
-
* `recommended` (battle-tested, broadly applicable); reach for `niche` only
|
|
61
|
-
* when its specific use-case is exactly the beat. Set on a config when curated.
|
|
62
|
-
*/
|
|
63
31
|
tier?: PrimitiveTier;
|
|
64
|
-
/**
|
|
65
|
-
* Editorial use-case tags — the edit ROLE(s) this primitive fills (the
|
|
66
|
-
* dimension to filter by for a beat: 'intro' / 'title-over-footage' /
|
|
67
|
-
* 'full-scene' / 'grade' / …). Set on a config when curated.
|
|
68
|
-
*/
|
|
69
32
|
useCase?: PrimitiveUseCase[];
|
|
70
|
-
/**
|
|
71
|
-
* On-screen strings this primitive BAKES — the read-side counterpart to
|
|
72
|
-
* `propSchema`. These literals render regardless of params; no param can
|
|
73
|
-
* change them (fork the source via get_component_source to edit them). The
|
|
74
|
-
* machine signal that "not in propSchema = baked" copy actually exists, so
|
|
75
|
-
* an agent sees someone-else's marketing copy at author time, not at render.
|
|
76
|
-
*/
|
|
77
33
|
fixedCopy?: string[];
|
|
78
|
-
/**
|
|
79
|
-
* Param field accepting the primitive's primary text payload.
|
|
80
|
-
* `null` = primitive explicitly declines a single text slot (e.g. karaoke).
|
|
81
|
-
* `undefined` = no declared text contract.
|
|
82
|
-
*
|
|
83
|
-
* ABI NOTE — this is a TWO-STRING contract (textParam + subtextParam) for the
|
|
84
|
-
* canonical title/subtitle slots only. MULTI-ELEMENT / STRUCTURED scene copy
|
|
85
|
-
* (tiers, feature lines, code lines, beats) is NOT expressed here — it is
|
|
86
|
-
* expressed via the primitive's OWN `propSchema` params (e.g. changelog-bite's
|
|
87
|
-
* `oldLines`/`newLines: string[]`). When you need rich copy, read the
|
|
88
|
-
* `propSchema` for an array/object param; don't expect it on this 2-string ABI.
|
|
89
|
-
*/
|
|
90
34
|
textParam?: string | null;
|
|
91
|
-
/** Same contract for a secondary text payload (subtitle/byline). See textParam's ABI note. */
|
|
92
35
|
subtextParam?: string | null;
|
|
93
|
-
/**
|
|
94
|
-
* Theme-token bindings declared by this primitive (mirrored from its config's
|
|
95
|
-
* `tokens`). The catalog projection derives the public `brandBindings` hint
|
|
96
|
-
* from the entries whose `brandKitPath` is set.
|
|
97
|
-
*/
|
|
98
36
|
tokens?: PrimitiveTokenBinding[];
|
|
99
|
-
/** Materialized literal defaults (literal-extractable subset). */
|
|
100
37
|
propDefaults?: Record<string, unknown>;
|
|
101
|
-
/** Few-shot examples (literal-extractable subset). */
|
|
102
38
|
examples?: PrimitiveExample[];
|
|
103
|
-
/** JSON Schema (draft-07) for this primitive's params, generated from its Zod paramsSchema. */
|
|
104
39
|
propSchema?: JsonSchemaObject;
|
|
105
|
-
/**
|
|
106
|
-
* Explicit per-primitive opt-out from the write-boundary CLOSED-KEY param
|
|
107
|
-
* check (see paramValidation.ts). Set on a config ONLY when the primitive
|
|
108
|
-
* legitimately accepts free-form / caller-defined keys beyond its declared
|
|
109
|
-
* `propSchema.properties`. NOT a blanket bypass — typed checks on declared
|
|
110
|
-
* keys still run. No first-party config sets this today (every primitive
|
|
111
|
-
* declares a closed prop set); the hook exists so a future free-form
|
|
112
|
-
* primitive opts out declaratively instead of weakening the guard globally.
|
|
113
|
-
*/
|
|
114
40
|
freeformParams?: boolean;
|
|
115
|
-
/** Scene/primitive intrinsic runtime in frames (scenes set this; overlays omit). */
|
|
116
41
|
durationInFrames?: number;
|
|
117
|
-
/** Intrinsic fps (scenes). */
|
|
118
42
|
fps?: number;
|
|
119
|
-
/** Canonical authoring width in px (scenes). */
|
|
120
43
|
width?: number;
|
|
121
|
-
/** Canonical authoring height in px (scenes). */
|
|
122
44
|
height?: number;
|
|
123
45
|
}
|
|
@@ -1,34 +1,8 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Launch-grade behind-text placement (spec §6). Derives a SCENE-space anchor from
|
|
3
|
-
* the matte geometry sidecar: lateral center of the clip-union silhouette; vertical
|
|
4
|
-
* in the shoulder band (head-top + a fraction) so the bite is rounded and partial,
|
|
5
|
-
* never the flat torso wall; minTextWidth guarantees the line reads past the
|
|
6
|
-
* silhouette on both sides. Pure; all values source-normalized [0,1].
|
|
7
|
-
*
|
|
8
|
-
* The sidecar is the person-matte bake's `.geometry.json` artifact (one record
|
|
9
|
-
* per frame: subject bbox + 16-bucket column/row coverage marginals, computed
|
|
10
|
-
* from the smoothed alpha — see person_matting.py `_frame_geometry`). The
|
|
11
|
-
* orchestration activity downloads + camelCases it into `MatteGeometryLike`;
|
|
12
|
-
* this module never does I/O.
|
|
13
|
-
*/
|
|
14
|
-
/** Minimum fraction of bake-window frames with a detected subject before the
|
|
15
|
-
* behind treatment is even considered (relocated `captionsBehindEligible`
|
|
16
|
-
* principle — composition-floor's MIN_ACTIVE_SPEAKER_PRESENCE sibling). Below
|
|
17
|
-
* this the clip reads as b-roll / no-speaker → no anchor, degrade to front. */
|
|
18
1
|
export declare const MIN_PRESENCE_FOR_BEHIND = 0.6;
|
|
19
|
-
/** Shoulder-band shape. `headLambda` drops the anchor a frame-height fraction
|
|
20
|
-
* below the union head-top so the silhouette bites the line from below-the-chin
|
|
21
|
-
* (rounded head + shoulders), not the flat torso wall. `widthPad` widens the
|
|
22
|
-
* minimum text width past the union silhouette so the line reads on BOTH sides
|
|
23
|
-
* of the body. Calibration constants — Phase-7 fixtures tune them. */
|
|
24
2
|
export declare const BEHIND_BAND: {
|
|
25
3
|
readonly headLambda: 0.18;
|
|
26
4
|
readonly widthPad: 1.25;
|
|
27
5
|
};
|
|
28
|
-
/** One frame of the matte geometry sidecar. `bbox` is [x0, y0, x1, y1]
|
|
29
|
-
* source-normalized, x1/y1 exclusive; null when no subject that frame.
|
|
30
|
-
* `cols`/`rows` are 16-bucket coverage marginals: cols[i] = fraction of that
|
|
31
|
-
* column band covered by the subject (and rows[j] likewise per row band). */
|
|
32
6
|
export interface MatteGeometryFrame {
|
|
33
7
|
f: number;
|
|
34
8
|
present: boolean;
|
|
@@ -36,29 +10,15 @@ export interface MatteGeometryFrame {
|
|
|
36
10
|
cols: number[];
|
|
37
11
|
rows: number[];
|
|
38
12
|
}
|
|
39
|
-
/** The sidecar's geometry payload, camelCased by the consuming activity. */
|
|
40
13
|
export interface MatteGeometryLike {
|
|
41
14
|
srcW: number;
|
|
42
15
|
srcH: number;
|
|
43
16
|
presenceFraction: number;
|
|
44
17
|
frames: MatteGeometryFrame[];
|
|
45
18
|
}
|
|
46
|
-
/** A derived behind-text anchor, source-normalized. `x`/`y` center the line;
|
|
47
|
-
* `minTextWidth` is the floor on the rendered line's width so it clears the
|
|
48
|
-
* silhouette laterally (already clamped ≤ 0.95). */
|
|
49
19
|
export interface BehindAnchor {
|
|
50
20
|
x: number;
|
|
51
21
|
y: number;
|
|
52
22
|
minTextWidth: number;
|
|
53
23
|
}
|
|
54
|
-
/**
|
|
55
|
-
* Derive the behind-text anchor from a clip's matte geometry. Returns null when
|
|
56
|
-
* the clip has no stable subject to be behind (presence below the floor, or no
|
|
57
|
-
* frame ever produced a bbox) — the caller degrades the overlay to front.
|
|
58
|
-
*
|
|
59
|
-
* Placement: lateral center of the UNION bbox across all present frames (stable
|
|
60
|
-
* against per-frame jitter); vertical at union head-top + the shoulder-band
|
|
61
|
-
* lambda, capped at MAX_ANCHOR_Y; minTextWidth = union silhouette width padded
|
|
62
|
-
* by `widthPad` so the line extends past the body on both sides.
|
|
63
|
-
*/
|
|
64
24
|
export declare function deriveBehindAnchor(g: MatteGeometryLike): BehindAnchor | null;
|
|
@@ -1,47 +1,15 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* CAN THIS OVERLAY ACTUALLY GO BEHIND THE SUBJECT — answered in the editor,
|
|
3
|
-
* before a render is paid for.
|
|
4
|
-
*
|
|
5
|
-
* The render already decides this, in the director's `resolveBehindPlacement`:
|
|
6
|
-
* a behind-subject overlay whose clip has no matte, no geometry sidecar, or too
|
|
7
|
-
* little subject presence is DEGRADED — `zPlane` flipped back to `front` and the
|
|
8
|
-
* authored `anchor` deleted — and the reason is recorded in a `degraded[]` array
|
|
9
|
-
* that both of its callers discard. So the user flips the toggle, pays for a
|
|
10
|
-
* render, and finds out from the output.
|
|
11
|
-
*
|
|
12
|
-
* This module answers the same question from data the editor already has on the
|
|
13
|
-
* media row, so the toggle can tell the truth at the moment it is flipped.
|
|
14
|
-
*
|
|
15
|
-
* ── IT IS ONLY WORTH ANYTHING IF IT AGREES WITH THE SERVER ──────────────────
|
|
16
|
-
* Every rule below mirrors a specific server rule, named at its call site. Two
|
|
17
|
-
* helpers are currently duplicated from the private `@cueframe/shared/
|
|
18
|
-
* variant-keys` (`hashMatteIntent`, `clipOverlapsBehindWindow`); they live here
|
|
19
|
-
* because this package is the shared one, and the private copies become
|
|
20
|
-
* re-exports of these when the fact-record work lands. Until then the agreement
|
|
21
|
-
* is held by `__tests__/behind-readiness.test.ts`, whose key fixture is a hash
|
|
22
|
-
* taken from PRODUCTION rather than invented.
|
|
23
|
-
*
|
|
24
|
-
* ── WHAT IT CANNOT ANSWER ───────────────────────────────────────────────────
|
|
25
|
-
* The server has a FOURTH degrade path — the occlusion budget — which needs the
|
|
26
|
-
* `.geometry.json` sidecar from R2, and the client has no presigned URL for it.
|
|
27
|
-
* So `subject-present` means "the preconditions hold", NOT "this is guaranteed
|
|
28
|
-
* to render behind", and UI copy must not promise more.
|
|
29
|
-
*/
|
|
30
|
-
/** A matte intent: the clip's SOURCE window plus what is being cut out.
|
|
31
|
-
* Mirrors `MatteIntentLike` in the private variant-keys. */
|
|
32
1
|
export interface MatteIntentLike {
|
|
33
2
|
startSec: number;
|
|
34
3
|
endSec: number;
|
|
35
4
|
subjectClass: "person" | "product";
|
|
36
5
|
}
|
|
37
|
-
/** The fields this module reads off a `mediaItems.mattes[hash]` entry — the
|
|
38
|
-
* same two `resolveBehindPlacement` reads out of its `matteGeometry` map. */
|
|
39
6
|
export interface MatteEntryLike {
|
|
40
7
|
geometryR2Key?: string;
|
|
41
8
|
presenceFraction?: number;
|
|
9
|
+
matteR2Key?: string;
|
|
10
|
+
matteUrl?: string;
|
|
11
|
+
bakeVersion?: string;
|
|
42
12
|
}
|
|
43
|
-
/** The clip an overlay will be placed against, and the source window whose
|
|
44
|
-
* matte answers for it. */
|
|
45
13
|
export interface BehindTarget {
|
|
46
14
|
mediaId: string;
|
|
47
15
|
window: {
|
|
@@ -49,12 +17,6 @@ export interface BehindTarget {
|
|
|
49
17
|
endSec: number;
|
|
50
18
|
};
|
|
51
19
|
}
|
|
52
|
-
/**
|
|
53
|
-
* Why a behind-subject overlay will or will not survive the render. The three
|
|
54
|
-
* failing states correspond 1:1 to the server's degrade reasons: `no-clip` and
|
|
55
|
-
* `no-subject` both degrade as `"no-subject"` there, `no-matte` as
|
|
56
|
-
* `"no-geometry"`.
|
|
57
|
-
*/
|
|
58
20
|
export type BehindReadiness = {
|
|
59
21
|
state: "no-clip";
|
|
60
22
|
} | {
|
|
@@ -68,60 +30,23 @@ export type BehindReadiness = {
|
|
|
68
30
|
state: "subject-present";
|
|
69
31
|
target: BehindTarget;
|
|
70
32
|
};
|
|
71
|
-
/**
|
|
72
|
-
* Content-address a matte intent, byte-identically to the server's
|
|
73
|
-
* `hashMatteIntent`. Milliseconds-rounded so float jitter cannot miss a cached
|
|
74
|
-
* matte; 12 hex chars. Async because `crypto.subtle` is — available in the
|
|
75
|
-
* webview and in Node alike.
|
|
76
|
-
*
|
|
77
|
-
* The bake VERSION is deliberately not hashed (it segments the R2 key instead),
|
|
78
|
-
* so this key is stable across model bumps.
|
|
79
|
-
*/
|
|
80
33
|
export declare function matteIntentKey(intent: MatteIntentLike): Promise<string>;
|
|
81
|
-
/**
|
|
82
|
-
* The clip a behind-subject overlay anchors against: **the first media clip on
|
|
83
|
-
* a VIDEO track, in track→content order, whose timeline range overlaps the
|
|
84
|
-
* overlay**. This is `resolveBehindPlacement`'s rule, and it is deliberately
|
|
85
|
-
* NOT `computeMatteWindowsByMediaId`'s — that one also scans audio and image
|
|
86
|
-
* tracks, because it answers a different question (which mattes to bake).
|
|
87
|
-
* Mirroring the wrong one of the two would put the editor and the render into
|
|
88
|
-
* exactly the disagreement this module exists to remove.
|
|
89
|
-
*
|
|
90
|
-
* The returned `window` is the clip's SOURCE trim, defaulted the way
|
|
91
|
-
* `renders.ts` defaults it: `trim.start ?? 0`, `trim.end ?? start + duration`.
|
|
92
|
-
* That is the window the matte is keyed by.
|
|
93
|
-
*
|
|
94
|
-
* Returns null when the overlay is unknown, or floats over no video clip —
|
|
95
|
-
* which the server degrades as `"no-subject"`.
|
|
96
|
-
*/
|
|
97
34
|
export declare function primaryClipForOverlay(composition: unknown, overlayId: string): BehindTarget | null;
|
|
98
35
|
export interface BehindReadinessInput {
|
|
99
|
-
/** The wire-shape composition currently open in the editor. */
|
|
100
36
|
composition: unknown;
|
|
101
|
-
/** The overlay being inspected. It need NOT already be behind-subject — the
|
|
102
|
-
* editor asks this to decide what to show BEFORE the toggle is flipped. */
|
|
103
37
|
overlayId: string;
|
|
104
|
-
/** `mediaItems.mattes`, per media id, exactly as it arrives from Convex. */
|
|
105
38
|
mattesByMediaId: Record<string, Record<string, MatteEntryLike> | undefined>;
|
|
106
39
|
}
|
|
107
|
-
/**
|
|
108
|
-
* Will this overlay actually render behind the subject? Mirrors the first three
|
|
109
|
-
* of `resolveBehindPlacement`'s four gates, in the same order:
|
|
110
|
-
*
|
|
111
|
-
* 1. no primary clip → server: degrade("no-subject")
|
|
112
|
-
* 2. no matte / no geometry sidecar → server: degrade("no-geometry")
|
|
113
|
-
* 3. presence below the floor → server: degrade("no-subject")
|
|
114
|
-
*
|
|
115
|
-
* The fourth (occlusion budget) is not knowable client-side — see the header.
|
|
116
|
-
*/
|
|
117
40
|
export declare function behindReadinessForOverlay(input: BehindReadinessInput): Promise<BehindReadiness>;
|
|
118
|
-
/**
|
|
119
|
-
* The same verdict from an ALREADY-RESOLVED target — the half that actually
|
|
120
|
-
* costs something (a SHA-256) split from the half that is a pure walk.
|
|
121
|
-
*
|
|
122
|
-
* The editor calls this one. `primaryClipForOverlay` is sync, so a component
|
|
123
|
-
* can memoize the target on the composition and then depend only on the
|
|
124
|
-
* window's two numbers plus the media's matte record — instead of re-hashing on
|
|
125
|
-
* every keystroke that produces a new composition reference.
|
|
126
|
-
*/
|
|
127
41
|
export declare function behindReadinessForTarget(target: BehindTarget | null, mattes: Record<string, MatteEntryLike> | undefined): Promise<BehindReadiness>;
|
|
42
|
+
export interface BehindWindowLike {
|
|
43
|
+
startMs: number;
|
|
44
|
+
endMs: number;
|
|
45
|
+
}
|
|
46
|
+
export declare function clipOverlapsBehind(clipStartSec: number, clipDurationSec: number, windows: readonly BehindWindowLike[]): boolean;
|
|
47
|
+
export declare function matteWindowsByMediaId(composition: unknown, behindWindows: readonly BehindWindowLike[]): Map<string, {
|
|
48
|
+
startSec: number;
|
|
49
|
+
endSec: number;
|
|
50
|
+
}>;
|
|
51
|
+
export declare function behindWindowsOf(composition: unknown): BehindWindowLike[];
|
|
52
|
+
export declare function captionBehindWindowsOf(composition: unknown): BehindWindowLike[];
|
|
@@ -1,34 +1,11 @@
|
|
|
1
1
|
import type { BrandKit, EasingValue, FontRef, Motif } from "../validators/brandKit.js";
|
|
2
|
-
/**
|
|
3
|
-
* A brand font the render must MATERIALIZE — the render sandbox installs only the
|
|
4
|
-
* Liberation faces and has no font egress, so every brand face is staged like any
|
|
5
|
-
* other asset (renderInputAssets `font` role → materializeSources → @font-face).
|
|
6
|
-
* This is the manifest TYPE only. The director's `resolveRenderEnvironment` maps
|
|
7
|
-
* the resolved kit's font families → their woff2 R2 keys (the curated font
|
|
8
|
-
* library) and presigns them — env-specific resolution (storage + creds) that does
|
|
9
|
-
* NOT belong in this pure deriver. `url`: R2 key → presigned URL → loopback URL
|
|
10
|
-
* across resolve → materialize, same lifecycle as a source/matte URL.
|
|
11
|
-
*/
|
|
12
2
|
export interface FontAsset {
|
|
13
3
|
family: string;
|
|
14
4
|
weight: number;
|
|
15
5
|
style?: "normal" | "italic";
|
|
16
6
|
url: string;
|
|
17
7
|
}
|
|
18
|
-
/**
|
|
19
|
-
* A reproduced inspiration motif, carried untransformed from the wire kit onto
|
|
20
|
-
* the resolved kit's `language`. Identical to the wire `Motif` shape — the
|
|
21
|
-
* language payload is exemplar/motif REFERENCE data the maker + judge condition
|
|
22
|
-
* on, not a derived design token, so the cascade never rewrites it.
|
|
23
|
-
*/
|
|
24
8
|
export type ResolvedBrandMotif = Motif;
|
|
25
|
-
/**
|
|
26
|
-
* The language payload of a kit built FROM INSPIRATION (spec 2026-07-14) —
|
|
27
|
-
* exemplar frame keys, reproduced motifs, the style rubric, and density
|
|
28
|
-
* budget. Present on `ResolvedBrandKit.language` only when the kit carries
|
|
29
|
-
* exemplars; carried through resolution untransformed (NOT a `$brand:` token
|
|
30
|
-
* root — see BRAND_TOKEN_ROOT_KEYS).
|
|
31
|
-
*/
|
|
32
9
|
export interface ResolvedBrandLanguage {
|
|
33
10
|
exemplarKeys: string[];
|
|
34
11
|
contactSheetKey?: string;
|
|
@@ -39,12 +16,6 @@ export interface ResolvedBrandLanguage {
|
|
|
39
16
|
maxSimultaneous: number;
|
|
40
17
|
};
|
|
41
18
|
}
|
|
42
|
-
/**
|
|
43
|
-
* A fully-materialized BrandKit. Every token has a value: either the
|
|
44
|
-
* author's explicit setting, or the derived/default value the brand
|
|
45
|
-
* cascade computed. Primitives consume this shape directly via
|
|
46
|
-
* `$brand:<path>` resolution.
|
|
47
|
-
*/
|
|
48
19
|
export interface ResolvedBrandKit {
|
|
49
20
|
id: string;
|
|
50
21
|
name: string;
|
|
@@ -90,12 +61,6 @@ export interface ResolvedBrandKit {
|
|
|
90
61
|
body: FontRef;
|
|
91
62
|
caption: FontRef;
|
|
92
63
|
};
|
|
93
|
-
/**
|
|
94
|
-
* Brand faces the render must MATERIALIZE — a render manifest the harness' `font`
|
|
95
|
-
* role + materializeSources stage and the renderer @font-faces. POPULATED by the
|
|
96
|
-
* director's `resolveRenderEnvironment` (family → R2 key → presigned), NOT by this
|
|
97
|
-
* pure deriver — undefined until the render environment is resolved.
|
|
98
|
-
*/
|
|
99
64
|
fontAssets?: FontAsset[];
|
|
100
65
|
spacing: {
|
|
101
66
|
base: number;
|
|
@@ -115,14 +80,6 @@ export interface ResolvedBrandKit {
|
|
|
115
80
|
staggerMs: number;
|
|
116
81
|
exitMs: number;
|
|
117
82
|
};
|
|
118
|
-
/**
|
|
119
|
-
* Brand overlay assets — present only when the kit declares them. The cascade
|
|
120
|
-
* NORMALIZES (defaults placement/sizePct/durationMs/opacity) but does NOT
|
|
121
|
-
* place-render: pixel placement is the render binding's job (a later task).
|
|
122
|
-
* Missing on the wire kit → `undefined` here (never an error). A `kind:'video'`
|
|
123
|
-
* intro/outro with no `src` carries through unchanged — PUT-time validation,
|
|
124
|
-
* not render-time resolution, is where a missing video source fails loud.
|
|
125
|
-
*/
|
|
126
83
|
logo?: {
|
|
127
84
|
src: string;
|
|
128
85
|
alt?: string;
|
|
@@ -148,22 +105,7 @@ export interface ResolvedBrandKit {
|
|
|
148
105
|
opacity: number;
|
|
149
106
|
placement: "tl" | "tr" | "bl" | "br";
|
|
150
107
|
};
|
|
151
|
-
/**
|
|
152
|
-
* Language payload (built FROM INSPIRATION) — present only when the wire kit
|
|
153
|
-
* carries exemplar frames. Carried untransformed (see resolveBrandKit); NOT a
|
|
154
|
-
* `$brand:` token root, so invisible to resolveBrandRefsDeep.
|
|
155
|
-
*/
|
|
156
108
|
language?: ResolvedBrandLanguage;
|
|
157
|
-
/**
|
|
158
|
-
* Brand audio identity (audio design spec 2026-07-20) — carried VERBATIM from
|
|
159
|
-
* the wire kit (like `language`; not a `$brand:` token root). Consumed by the
|
|
160
|
-
* compose sfx/music pass, never by the renderer directly.
|
|
161
|
-
*
|
|
162
|
-
* Brand SOUND kit (audio-substrate Phase 5): the sonic logo, UI-sound-set
|
|
163
|
-
* overrides, and the bed/ambience preferences ride through untransformed —
|
|
164
|
-
* refs are resolved to placeable clips at compose time (sonicLogo/uiSoundSet)
|
|
165
|
-
* or surfaced for driving agents (bedStyle/ambiencePreference).
|
|
166
|
-
*/
|
|
167
109
|
audio?: {
|
|
168
110
|
sfxIntensity?: "off" | "light" | "standard" | "dense";
|
|
169
111
|
musicEnabled?: boolean;
|
|
@@ -195,84 +137,13 @@ export interface ResolvedBrandKit {
|
|
|
195
137
|
} | null;
|
|
196
138
|
};
|
|
197
139
|
}
|
|
198
|
-
/**
|
|
199
|
-
* Resolve a sparse BrandKit against a composition's render width.
|
|
200
|
-
* The width drives the spacing + sizing derivations (font sizes
|
|
201
|
-
* scale to the canvas, not absolute pixels).
|
|
202
|
-
*/
|
|
203
140
|
export declare function resolveBrandKit(kit: BrandKit, compositionWidth: number): ResolvedBrandKit;
|
|
204
|
-
/**
|
|
205
|
-
* The DESIGN-TOKEN sub-trees of a ResolvedBrandKit whose leaves are bindable as
|
|
206
|
-
* `$brand:<path>` param values. We deliberately exclude `id`/`name` (metadata,
|
|
207
|
-
* not design tokens) and the optional overlay assets (`logo`/`intro`/`outro`/
|
|
208
|
-
* `watermark`/`fontAssets` — present only when a kit declares them, and not a
|
|
209
|
-
* param-binding surface).
|
|
210
|
-
*/
|
|
211
141
|
export declare const BRAND_TOKEN_ROOT_KEYS: readonly ["colors", "caption", "fonts", "spacing", "sizing", "motion"];
|
|
212
|
-
/**
|
|
213
|
-
* The canonical set of bindable `$brand:` token refs a param value may carry —
|
|
214
|
-
* the COMPLETE design-token leaf vocabulary of a ResolvedBrandKit, DERIVED at
|
|
215
|
-
* module load from a reference resolution so it can NEVER drift from the
|
|
216
|
-
* resolver: add a token to ResolvedBrandKit and it appears here automatically;
|
|
217
|
-
* remove one and it disappears. Surfaced on the component catalog as
|
|
218
|
-
* `brandTokens` so an agent discovers e.g. `$brand:colors.accent` (a valid value
|
|
219
|
-
* for an accent-color param) without reading source. Colors + fonts are the
|
|
220
|
-
* common bindings; spacing/sizing/motion/caption round out the full vocabulary.
|
|
221
|
-
*/
|
|
222
142
|
export declare const BRAND_TOKEN_REFS: readonly string[];
|
|
223
|
-
/**
|
|
224
|
-
* Mix two hex colors by ratio. ratio=0 returns `a` unchanged;
|
|
225
|
-
* ratio=1 returns `b`; ratio=0.4 returns a 60% a + 40% b mix.
|
|
226
|
-
*
|
|
227
|
-
* Accepts both `#RRGGBB` and `#RGB` short form. Rejects non-hex
|
|
228
|
-
* inputs (rgb()/hsl()/named colors) by returning `a` unchanged —
|
|
229
|
-
* the brand cascade NEVER crashes on a malformed input; primitives
|
|
230
|
-
* fall back to their declared fallback for the affected token.
|
|
231
|
-
*
|
|
232
|
-
* Returns `#RRGGBB` form, lowercase.
|
|
233
|
-
*/
|
|
234
143
|
export declare function colorMix(a: string, b: string, ratio: number): string;
|
|
235
|
-
/**
|
|
236
|
-
* Resolve a `$brand:<dot-path>` reference against a ResolvedBrandKit.
|
|
237
|
-
* Returns the value at the path, or `null` if the path doesn't exist
|
|
238
|
-
* or the value isn't a primitive. Primitives use the returned `null`
|
|
239
|
-
* to fall back to their declared `PrimitiveRegistryEntry.tokens[].fallback`.
|
|
240
|
-
*
|
|
241
|
-
* Examples:
|
|
242
|
-
* resolveBrandRef("$brand:colors.accent", kit) → "#ff0066"
|
|
243
|
-
* resolveBrandRef("$brand:fonts.heading.family", kit) → "Inter" | undefined
|
|
244
|
-
* resolveBrandRef("$brand:motion.duration", kit) → 200
|
|
245
|
-
* resolveBrandRef("not-a-ref", kit) → null (not a ref form)
|
|
246
|
-
* resolveBrandRef("$brand:colors.nonexistent", kit) → null
|
|
247
|
-
*
|
|
248
|
-
* Escape rule (per data-model.md § `$brand:` ref syntax): a value
|
|
249
|
-
* starting with `\$brand:` is the literal string — strip the leading
|
|
250
|
-
* `\` and treat as text, not a ref. This function returns `null` for
|
|
251
|
-
* escaped forms; the caller (params resolver) handles the strip.
|
|
252
|
-
*/
|
|
253
144
|
export declare function resolveBrandRef(refOrValue: unknown, kit: ResolvedBrandKit): unknown;
|
|
254
|
-
/**
|
|
255
|
-
* Walk an arbitrary value tree (typically `OverlaySource.params` or
|
|
256
|
-
* `EffectSource.params`) and replace every `$brand:` ref string with
|
|
257
|
-
* its resolved value from the kit. Non-string leaves pass through.
|
|
258
|
-
* Refs that don't resolve are replaced with the provided per-token
|
|
259
|
-
* fallback if any, else the original ref string is preserved so the
|
|
260
|
-
* primitive's tokens[].fallback can apply at render time.
|
|
261
|
-
*
|
|
262
|
-
* Operates immutably — does NOT mutate the input.
|
|
263
|
-
*/
|
|
264
145
|
export declare function resolveBrandRefsDeep(value: unknown, kit: ResolvedBrandKit): unknown;
|
|
265
|
-
/**
|
|
266
|
-
* Card token layer → CSS custom properties. Resolves `$brand:` refs through
|
|
267
|
-
* `resolveBrandRefsDeep`, then emits every resolved string leaf as a `--cf-<k>`
|
|
268
|
-
* var; unresolved refs are DROPPED (the card html's own `var(--cf-x, fallback)`
|
|
269
|
-
* applies). The ONE copy of this logic — the render's OverlayContent card
|
|
270
|
-
* branch and the local harness both consume it (extracted 2026-07-16; each
|
|
271
|
-
* previously carried a mirror).
|
|
272
|
-
*/
|
|
273
146
|
export declare function cssLayoutVars(tokens: Record<string, unknown> | undefined, kit: ResolvedBrandKit | undefined): Record<string, string>;
|
|
274
|
-
/** The flat brand palette an authored `create_component` graphic reads from
|
|
275
|
-
* `props.brand.*` — the COMPONENT analog of a card's `var(--cf-*)`. */
|
|
276
147
|
export interface ComponentBrandPalette {
|
|
277
148
|
primary: string;
|
|
278
149
|
secondary: string;
|
|
@@ -288,21 +159,8 @@ export interface ComponentBrandPalette {
|
|
|
288
159
|
textOnMedia: string;
|
|
289
160
|
textOnAccent: string;
|
|
290
161
|
textOnSurface: string;
|
|
291
|
-
/** Resolved font FAMILIES (not FontRefs) — drop straight into `fontFamily`. */
|
|
292
162
|
heading: string;
|
|
293
163
|
body: string;
|
|
294
164
|
caption: string;
|
|
295
165
|
}
|
|
296
|
-
/**
|
|
297
|
-
* Component brand palette — the resolved kit an authored `create_component`
|
|
298
|
-
* graphic reads from `props.brand.*`. This is the COMPONENT-medium analog of a
|
|
299
|
-
* card's `cssLayoutVars` (`var(--cf-*)`): a card is freeform HTML that cascades
|
|
300
|
-
* CSS custom properties; a component receives brand through its PROPS, so we hand
|
|
301
|
-
* it one FLAT, already-resolved object. AUTO-INJECTED at the brand-meets-props
|
|
302
|
-
* seam (`resolveBrandProps` / the ship snapshot) so a component binds to the kit
|
|
303
|
-
* with ZERO prop declaration — `style={{ color: props.brand.accent, fontFamily:
|
|
304
|
-
* props.brand.heading }}`. Flat by design: one dereference, no nested paths to
|
|
305
|
-
* author, no `$brand:` refs to declare (the authoring cost that made the
|
|
306
|
-
* ref-per-token approach ~2.4× slower per design attempt).
|
|
307
|
-
*/
|
|
308
166
|
export declare function componentBrandPalette(kit: ResolvedBrandKit): ComponentBrandPalette;
|
|
@@ -1,70 +1,5 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* The card token contract, and the lint that enforces it at authoring time.
|
|
3
|
-
*
|
|
4
|
-
* A card's `tokens` map is projected to CSS custom properties by `cssLayoutVars`
|
|
5
|
-
* (./brandKit): key `x` becomes `--cf-x`, so the authored html must read it as
|
|
6
|
-
* `var(--cf-x)`. That one rule is the whole contract, and it was invisible on
|
|
7
|
-
* every agent-facing surface until 2026-08-05.
|
|
8
|
-
*
|
|
9
|
-
* WHY THIS EXISTS. A real session authored 65 cards binding `tokens: {"--p":
|
|
10
|
-
* …, "--f": …}` and reading them as `var(--p)` / `var(--f)`. Key `--p` projects
|
|
11
|
-
* to `--cf---p`, so `var(--p)` was undefined, and CSS "invalid at
|
|
12
|
-
* computed-value time" took over: `background: var(--p)` fell back to
|
|
13
|
-
* transparent (the plate vanished, leaving only its box-shadow as a dark
|
|
14
|
-
* smear) and `color: var(--f)` inherited black. `apply_composition` accepted
|
|
15
|
-
* all 65 silently and returned 86 bytes; the render succeeded; the USER was the
|
|
16
|
-
* first entity in the system to look at a pixel, 34 minutes and 3 renders in.
|
|
17
|
-
*
|
|
18
|
-
* ADVISORY only — same `(input) => string[]` contract as `detectNoAudioTrack`
|
|
19
|
-
* (../audio/mixStaging). Reading an undefined custom property is legal CSS and
|
|
20
|
-
* can be deliberate, so this never blocks an apply.
|
|
21
|
-
*
|
|
22
|
-
* KNOWN LIMIT: a `$brand:` token whose ref does not resolve is DROPPED by
|
|
23
|
-
* `cssLayoutVars`, so `var(--cf-x)` can still be undefined at render even when
|
|
24
|
-
* this lint passes. Catching that needs the org's resolved brand kit; the
|
|
25
|
-
* checks here are deliberately kit-free so they cost nothing (no extra read) on
|
|
26
|
-
* the apply path.
|
|
27
|
-
*/
|
|
28
1
|
import { type ResolvedBrandKit } from "./brandKit.js";
|
|
29
|
-
/**
|
|
30
|
-
* The frame-driven vars `cardMotionVars` injects on EVERY card wrapper, on top
|
|
31
|
-
* of the token vars. SSOT for the names — `packages/execution/render-entry/src/components/
|
|
32
|
-
* cardMotion.ts` types its return against `CardMotionVarName`, so the two
|
|
33
|
-
* cannot drift. The lint must treat these as always-defined or every
|
|
34
|
-
* motion-authored card warns falsely.
|
|
35
|
-
*/
|
|
36
2
|
export declare const CARD_MOTION_VAR_NAMES: readonly ["--cf-frame", "--cf-t", "--cf-fps", "--cf-duration", "--cf-progress", "--cf-ease", "--cf-enter", "--cf-exit"];
|
|
37
3
|
export type CardMotionVarName = (typeof CARD_MOTION_VAR_NAMES)[number];
|
|
38
|
-
/**
|
|
39
|
-
* Lint every card in `value` (an ops array, a composition, a single clip — any
|
|
40
|
-
* shape) and return zero, one or two advisory strings.
|
|
41
|
-
*
|
|
42
|
-
* Two distinct defects, because they need different fixes:
|
|
43
|
-
* `card_token_prefix` — a tokens KEY that already starts with `--`, so it
|
|
44
|
-
* double-prefixes to `--cf---p`. Zero false
|
|
45
|
-
* positives; this is always a mistake.
|
|
46
|
-
* `card_token_unresolved` — html reads `var(--x)` that nothing defines. Only
|
|
47
|
-
* fires when the name is not a `--cf-<tokens key>`,
|
|
48
|
-
* not a motion var, not declared in the card's own
|
|
49
|
-
* CSS, and the reference supplies no fallback.
|
|
50
|
-
*/
|
|
51
|
-
/**
|
|
52
|
-
* THE KIT-AWARE HALF, and the reason `detectUnresolvedCardTokens` cannot cover
|
|
53
|
-
* it. That lint is deliberately kit-free so it costs no extra read on the apply
|
|
54
|
-
* path, and its own header records the consequence: "a `$brand:` token whose ref
|
|
55
|
-
* does not resolve is DROPPED by `cssLayoutVars`, so `var(--cf-x)` can still be
|
|
56
|
-
* undefined at render even when this lint passes."
|
|
57
|
-
*
|
|
58
|
-
* That limit was cheap while every org had a brand kit. Signed out is now a
|
|
59
|
-
* SUPPORTED state with no kit at all, so it stopped being an edge: on
|
|
60
|
-
* 2026-08-16 every card in a composition rendered as unstyled black-on-nothing
|
|
61
|
-
* text — 16px, top-left, no background — because each token was a `$brand:` ref
|
|
62
|
-
* with nothing to resolve against, and nothing anywhere said so. The agent
|
|
63
|
-
* looking at those stills concluded the card renderer "strips inline styles".
|
|
64
|
-
*
|
|
65
|
-
* Given the kit that will actually be used, this reports the card tokens that
|
|
66
|
-
* will be DROPPED. Empty kit and empty result are different answers: a card with
|
|
67
|
-
* literal values is fine without a kit.
|
|
68
|
-
*/
|
|
69
4
|
export declare function detectDroppedBrandTokens(value: unknown, kit: ResolvedBrandKit | undefined): string[];
|
|
70
5
|
export declare function detectUnresolvedCardTokens(value: unknown): string[];
|