@cueframe/kernel 0.2.58 → 0.2.59-rc.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/_members/account-model/testing/conversationStoreContract.d.ts +3 -4
- package/dist/_members/account-model/testing/restorePointStoreContract.d.ts +3 -4
- package/dist/_members/account-model/validators/index.d.ts +0 -1
- package/dist/_members/animate/index.d.ts +0 -2
- package/dist/_members/authoring/index.d.ts +1 -1
- package/dist/_members/authoring/prompts/index.d.ts +0 -1
- package/dist/_members/authoring/resources.d.ts +2 -11
- package/dist/_members/cloud-import/CloudImportService.d.ts +0 -1
- package/dist/_members/cloud-import/index.d.ts +0 -2
- package/dist/_members/component-runtime/allowedImports.d.ts +6 -0
- package/dist/_members/component-runtime/allowedImports.d.ts.map +1 -1
- package/dist/_members/component-runtime/browserIdentity.d.ts +2 -12
- package/dist/_members/component-runtime/browserIdentity.d.ts.map +1 -1
- package/dist/_members/component-runtime/canonicalIdentity.d.ts +8 -1
- package/dist/_members/component-runtime/canonicalIdentity.d.ts.map +1 -1
- package/dist/_members/component-runtime/contracts.d.ts +2 -1
- package/dist/_members/component-runtime/contracts.d.ts.map +1 -1
- package/dist/_members/component-runtime/identity.d.ts +2 -3
- package/dist/_members/component-runtime/identity.d.ts.map +1 -1
- package/dist/_members/component-runtime/importPolicy.d.ts +5 -0
- package/dist/_members/component-runtime/importPolicy.d.ts.map +1 -1
- package/dist/_members/component-runtime/template/checks.d.ts +71 -0
- package/dist/_members/component-runtime/template/checks.d.ts.map +1 -0
- package/dist/_members/component-runtime/template/extract.d.ts +4 -0
- package/dist/_members/component-runtime/template/extract.d.ts.map +1 -1
- package/dist/_members/component-runtime/template/index.d.ts +1 -0
- package/dist/_members/component-runtime/template/index.d.ts.map +1 -1
- package/dist/_members/component-runtime/template/schema.d.ts +14 -13
- package/dist/_members/component-runtime/template/schema.d.ts.map +1 -1
- package/dist/_members/component-runtime/template/testing/templateApplyContract.d.ts +3 -4
- package/dist/_members/component-runtime/template/testing/templateApplyContract.d.ts.map +1 -1
- package/dist/_members/component-runtime/testing/sourcePolicyCases.d.ts +15 -0
- package/dist/_members/component-runtime/testing/sourcePolicyCases.d.ts.map +1 -0
- package/dist/_members/component-runtime/webglProbe.d.ts.map +1 -1
- package/dist/_members/compose/index.d.ts +1 -1
- package/dist/_members/compose/primitiveRegistry.d.ts +0 -2
- package/dist/_members/composition/audio/audioMix.d.ts +0 -1
- package/dist/_members/composition/audio/mixStaging.d.ts +0 -5
- package/dist/_members/composition/fixtures/index.d.ts +0 -1
- package/dist/_members/composition/graphics-plan/index.d.ts +0 -2
- package/dist/_members/composition/graphics-plan/schemas.d.ts +4 -4
- package/dist/_members/composition/invariants/etag.d.ts +0 -1
- package/dist/_members/composition/invariants/index.d.ts +0 -1
- package/dist/_members/composition/ops/compositionOps.d.ts +0 -1
- package/dist/_members/composition/ops/compositionOps.shared.d.ts +6 -0
- package/dist/_members/composition/ops/index.d.ts +2 -1
- package/dist/_members/composition/primitive-catalog/index.d.ts +0 -2
- package/dist/_members/composition/projection/behind-readiness.d.ts +0 -6
- package/dist/_members/composition/timeline/link.d.ts +0 -4
- package/dist/_members/composition/timeline/plan.d.ts +0 -1
- package/dist/_members/composition/validators/brandKit.d.ts +4 -4
- package/dist/_members/composition/validators/brandKitBody.d.ts +8 -8
- package/dist/_members/composition/validators/cardHtml.d.ts +11 -0
- package/dist/_members/composition/validators/composition.d.ts +2 -5
- package/dist/_members/composition/validators/css-tree-subpaths.d.ts +16 -0
- package/dist/_members/composition/validators/index.d.ts +0 -3
- package/dist/_members/composition/validators/session.d.ts +3 -3
- package/dist/_members/composition/validators/webhook.d.ts +4 -4
- package/dist/_members/composition-ops/alphaLayers.d.ts +0 -5
- package/dist/_members/composition-ops/index.d.ts +2 -2
- package/dist/_members/composition-ops/opRecorder.d.ts +23 -3
- package/dist/_members/core/render/exportSettings.d.ts +4 -2
- package/dist/_members/core/render/index.d.ts +1 -1
- package/dist/_members/core/render/vcam/requiredRegion.d.ts +0 -1
- package/dist/_members/director/ai-sdk/index.d.ts +0 -1
- package/dist/_members/director/ai-sdk/messages.d.ts +0 -1
- package/dist/_members/director/domain/chat.d.ts +0 -78
- package/dist/_members/director/domain/index.d.ts +0 -1
- package/dist/_members/errors/registry.d.ts +6 -0
- package/dist/_members/foundation/canonical/index.d.ts +14 -0
- package/dist/_members/foundation/index.d.ts +1 -1
- package/dist/_members/foundation/primitives/index.d.ts +0 -2
- package/dist/_members/foundation/testing/index.d.ts +1 -0
- package/dist/_members/foundation/testing/knownRed.d.ts +13 -0
- package/dist/_members/mcp/adapter.d.ts +21 -0
- package/dist/_members/mcp/compositionOps.d.ts +10 -0
- package/dist/_members/mcp/server.d.ts +0 -5
- package/dist/_members/mcp/wait.d.ts +3 -1
- package/dist/_members/media-model/generation.d.ts +0 -25
- package/dist/_members/nle-export/xml-utils.d.ts +0 -8
- package/dist/_members/plane/conformance.d.ts +20 -0
- package/dist/_members/primitives/index.d.ts +1 -11
- package/dist/_members/primitives/lib/index.d.ts +1 -1
- package/dist/_members/primitives/lib/tokens.d.ts +0 -16
- package/dist/_members/render-harness/cardAssetAdmission.d.ts +1 -0
- package/dist/_members/render-harness/cardAssetAdmission.d.ts.map +1 -1
- package/dist/_members/render-harness/cardRender.d.ts.map +1 -1
- package/dist/_members/render-harness/materializeSources.d.ts.map +1 -1
- package/dist/_members/render-harness/mediaServer.d.ts +6 -1
- package/dist/_members/render-harness/mediaServer.d.ts.map +1 -1
- package/dist/account-model/testing.js +15 -5
- package/dist/account-model/validators.js +5 -7
- package/dist/account-model.js +5 -7
- package/dist/animate/preparation-facts.js +1 -1
- package/dist/animate.js +2 -6
- package/dist/authoring/composer.js +1 -1
- package/dist/authoring/context.js +8 -7
- package/dist/authoring/models/defaults.d.ts +1 -0
- package/dist/authoring/models/defaults.js +7 -0
- package/dist/authoring/models.js +5 -3
- package/dist/authoring/motion.d.ts +1 -0
- package/dist/authoring/motion.js +25 -0
- package/dist/authoring/prompts.js +4 -14
- package/dist/authoring/providers.js +1 -1
- package/dist/authoring/resource-routing.js +2 -2
- package/dist/authoring/resources.js +4 -22
- package/dist/authoring/scene.js +3 -2
- package/dist/authoring.js +662 -219
- package/dist/brand-derivation/constants.js +1 -1
- package/dist/brand-derivation.js +1 -1
- package/dist/{chunk-TKFLSGAS.js → chunk-25JH5QZA.js} +2 -2
- package/dist/{chunk-LBJ5LI5V.js → chunk-2K2GBFLU.js} +17 -8
- package/dist/{chunk-RAXHCRVV.js → chunk-2PAP5LO5.js} +1 -1
- package/dist/{chunk-MNO6AO2J.js → chunk-3HLDIIWA.js} +1 -1
- package/dist/{chunk-PTVTWQ4T.js → chunk-3JEUNKDK.js} +2 -2
- package/dist/chunk-3VWJ3H4X.js +68 -0
- package/dist/{chunk-S5H6GH6M.js → chunk-3Z7CN54H.js} +1 -1
- package/dist/{chunk-FVDFPJHT.js → chunk-46WBCUPE.js} +1 -1
- package/dist/chunk-4VBLQIM5.js +30 -0
- package/dist/{chunk-N2OZDD44.js → chunk-6HA55CRU.js} +4 -5
- package/dist/{chunk-WL2MLKWU.js → chunk-6HPEMDQW.js} +1 -1
- package/dist/{chunk-PWWZTY3G.js → chunk-6KZCXAYL.js} +5 -2
- package/dist/{chunk-IEXAKOEX.js → chunk-6QGARSV6.js} +2 -15
- package/dist/{chunk-3YVIAWET.js → chunk-7II5OM7R.js} +13 -1
- package/dist/{chunk-VLJOIUHL.js → chunk-7PSQUTL5.js} +3 -3
- package/dist/{chunk-UFD4EZHM.js → chunk-AFUITAH6.js} +4 -5
- package/dist/{chunk-HGCYZMII.js → chunk-AK6QPX7A.js} +9 -9
- package/dist/{chunk-EC6VFQE6.js → chunk-BZVOCVQV.js} +1 -0
- package/dist/{chunk-RBWS5XHE.js → chunk-CAF7BRNE.js} +2 -2
- package/dist/{chunk-TR53N6HB.js → chunk-CEO47DIE.js} +6 -3
- package/dist/chunk-CIOUDOGN.js +12 -0
- package/dist/{chunk-GQ6XGAFB.js → chunk-DCKADD5B.js} +1 -1
- package/dist/{chunk-4NIJWK45.js → chunk-EISHFHU5.js} +0 -8
- package/dist/chunk-EQH37KNZ.js +224 -0
- package/dist/{chunk-EXY4JJPH.js → chunk-F6PLDBAK.js} +2 -11
- package/dist/{chunk-DAARYRNT.js → chunk-FKSXKS35.js} +6 -6
- package/dist/{chunk-KBDUEU4W.js → chunk-FZB7UX44.js} +1 -1
- package/dist/chunk-H2ZZXISB.js +24 -0
- package/dist/{chunk-WSMCZRJ2.js → chunk-I2HNC4PQ.js} +1 -1
- package/dist/{chunk-NVXSKKRN.js → chunk-IUJABAG2.js} +14 -10
- package/dist/{chunk-7NIOFHMH.js → chunk-IVFMOHAC.js} +1 -9
- package/dist/{chunk-UKDBU7HM.js → chunk-JNBNDHEF.js} +3 -3
- package/dist/{chunk-JWMWVP64.js → chunk-KC4LNZL5.js} +4 -9
- package/dist/{chunk-GCQ7Z7S7.js → chunk-KKATUGRU.js} +3 -9
- package/dist/{chunk-Q5P5UFOP.js → chunk-KLQ53NX3.js} +13 -1
- package/dist/{chunk-UMXES6ED.js → chunk-LVMWPFV4.js} +1 -1
- package/dist/{chunk-REST55RC.js → chunk-NECN7TT4.js} +5 -4
- package/dist/{chunk-4ZE564YF.js → chunk-NM7NWXGF.js} +0 -146
- package/dist/{chunk-5T655LYZ.js → chunk-NY6EI5YW.js} +4 -4
- package/dist/{chunk-UXRSEMJJ.js → chunk-ONSGT6UJ.js} +66 -35
- package/dist/{chunk-VZ7TYX6Z.js → chunk-P3EFZDM5.js} +0 -17
- package/dist/{chunk-BEFSJMFF.js → chunk-P6RVYHLT.js} +9 -9
- package/dist/{chunk-TBHSOEYK.js → chunk-PLWDYWK6.js} +4 -34
- package/dist/{chunk-KYRDKK2D.js → chunk-Q6CJ6HCU.js} +1 -6
- package/dist/{chunk-FWSJLHSV.js → chunk-R642352J.js} +1 -1
- package/dist/{chunk-XELS2BGA.js → chunk-R6HTIP3N.js} +1 -3
- package/dist/{chunk-RL5SO653.js → chunk-RQRPSSRT.js} +1 -1
- package/dist/chunk-RR7UBEBV.js +172 -0
- package/dist/{chunk-FHMTAZD4.js → chunk-RWJHZCOR.js} +1 -71
- package/dist/{chunk-73DQTUWY.js → chunk-TIAJMEQ4.js} +2 -22
- package/dist/{chunk-2ESYSVXG.js → chunk-U67V476Y.js} +2 -15
- package/dist/{chunk-3VLDQE26.js → chunk-U7KSOA2L.js} +4 -21
- package/dist/{chunk-K66NLMGX.js → chunk-UGWJC4GA.js} +62 -18
- package/dist/chunk-VBYINB74.js +136 -0
- package/dist/{chunk-W2245F6G.js → chunk-WTQRLFR2.js} +1 -1
- package/dist/{chunk-JN3GF36B.js → chunk-X2RTLS6K.js} +2 -23
- package/dist/chunk-XHMKPTHV.js +20 -0
- package/dist/{chunk-2L33CKIY.js → chunk-XOT2VWCO.js} +18 -31
- package/dist/{chunk-AK5QBHOB.js → chunk-XQGQ5EFS.js} +10 -1
- package/dist/chunk-XR76OZKC.js +21 -0
- package/dist/chunk-ZCEYEIRB.js +179 -0
- package/dist/{chunk-IMIUHG2E.js → chunk-ZPJQ3TQL.js} +1 -3
- package/dist/cloud-import.js +1 -16
- package/dist/component-runtime/browserOptions.js +4 -3
- package/dist/component-runtime/contracts.js +2 -2
- package/dist/component-runtime/identity/browser.js +2 -17
- package/dist/component-runtime/identity.js +5 -7
- package/dist/component-runtime/importPolicy.js +3 -3
- package/dist/component-runtime/mediaResolution.js +1 -1
- package/dist/component-runtime/render.js +8 -7
- package/dist/component-runtime/sourceAdmission.js +3 -3
- package/dist/component-runtime/template/testing.js +15 -12
- package/dist/component-runtime/template.js +165 -13
- package/dist/component-runtime.js +27 -28
- package/dist/compose.js +28 -45
- package/dist/composition/audio.js +4 -8
- package/dist/composition/brand-kit.js +1 -1
- package/dist/composition/brief.js +1 -1
- package/dist/composition/card-html.d.ts +1 -0
- package/dist/composition/card-html.js +15 -0
- package/dist/composition/depth.js +1 -1
- package/dist/composition/floors.js +2 -2
- package/dist/composition/fonts.js +1 -1
- package/dist/composition/graphics-plan.js +4 -44
- package/dist/composition/invariants.js +5 -12
- package/dist/composition/ops.js +7 -6
- package/dist/composition/primitive-catalog.js +2 -6
- package/dist/composition/projection.js +3 -5
- package/dist/composition/reframe/coverage.js +1 -1
- package/dist/composition/reframe/kenBurns.js +1 -1
- package/dist/composition/reframe/shotScale.js +1 -1
- package/dist/composition/reframe/trajectory.js +1 -1
- package/dist/composition/reframe.js +1 -1
- package/dist/composition/scene/budget-policy.js +1 -1
- package/dist/composition/scene.js +1 -1
- package/dist/composition/timeline.js +4 -8
- package/dist/composition/validators/brand-kit-body.js +5 -4
- package/dist/composition/validators/graphic-kinds.js +1 -1
- package/dist/composition/validators.js +8 -65
- package/dist/composition-ops.js +17 -16
- package/dist/composition.js +13 -79
- package/dist/context-7SWSVJ6Z.js +17 -0
- package/dist/core/render.js +13 -9
- package/dist/core/select.js +3 -3
- package/dist/core.js +9 -9
- package/dist/director/ai-sdk.js +7 -11
- package/dist/director/domain.js +9 -17
- package/dist/director.js +9 -21
- package/dist/{dist-LAJ2363K.js → dist-6FO67KVA.js} +1 -1
- package/dist/errors.js +2 -2
- package/dist/foundation/canonical.d.ts +1 -0
- package/dist/foundation/canonical.js +7 -0
- package/dist/foundation/primitives.js +4 -6
- package/dist/foundation/testing.d.ts +1 -0
- package/dist/foundation/testing.js +7 -0
- package/dist/foundation.js +7 -9
- package/dist/{magic-string.es-SDTMJBWP.js → magic-string.es-KVSW34UD.js} +1 -1
- package/dist/mcp/adapter.js +11 -19
- package/dist/mcp/composition-ops.d.ts +1 -0
- package/dist/mcp/composition-ops.js +11 -0
- package/dist/mcp/core.js +2 -2
- package/dist/mcp/curation.js +1 -1
- package/dist/mcp/executor.js +1 -1
- package/dist/mcp/scene-shot.js +3 -3
- package/dist/mcp/server.js +6 -7
- package/dist/mcp/wire-schema.js +13 -2
- package/dist/mcp.js +11 -10
- package/dist/media-model/generation.js +6 -8
- package/dist/media-model/media-kind.js +1 -1
- package/dist/media-model/testing.js +2 -2
- package/dist/media-model/transcriptSearch.js +1 -1
- package/dist/media-model.js +6 -8
- package/dist/nle-export/xml.js +1 -1
- package/dist/nle-export.js +2 -2
- package/dist/perception.js +1 -1
- package/dist/plane/conformance.js +8 -4
- package/dist/plane/contract.js +1 -1
- package/dist/plane.js +8 -4
- package/dist/primitives/backgrounds.js +3 -3
- package/dist/primitives/captions.js +2 -2
- package/dist/primitives/effects.js +4 -4
- package/dist/primitives/hero-text.js +4 -4
- package/dist/primitives/layouts.js +4 -4
- package/dist/primitives/lib/easings.js +1 -1
- package/dist/primitives/lib/frameScale.js +1 -1
- package/dist/primitives/lib/index.js +7 -13
- package/dist/primitives/lib/palette.js +2 -2
- package/dist/primitives/lib/preview.js +1 -1
- package/dist/primitives/lib/schema.js +1 -1
- package/dist/primitives/lib/seeded-random.js +1 -1
- package/dist/primitives/lib/text/contrast.js +3 -3
- package/dist/primitives/lib/text/fill.js +1 -1
- package/dist/primitives/lib/text/fitText.js +1 -1
- package/dist/primitives/lib/text/marker.js +1 -1
- package/dist/primitives/lib/text/motion.js +1 -1
- package/dist/primitives/lib/text/recolor.js +1 -1
- package/dist/primitives/lib/text/stage.js +1 -1
- package/dist/primitives/lib/text/typeface.js +1 -1
- package/dist/primitives/lib/tokens.js +4 -11
- package/dist/primitives/lib.js +7 -13
- package/dist/primitives/scenes.js +5 -5
- package/dist/primitives/subject-foreground.js +1 -1
- package/dist/primitives/text.js +4 -4
- package/dist/primitives/transitions.js +3 -3
- package/dist/primitives/ui-blocks.js +5 -5
- package/dist/primitives/workspace.js +1 -1
- package/dist/primitives.js +24 -38
- package/dist/render-harness/cardAssetAdmission.js +4 -4
- package/dist/render-harness/cardFonts.js +3 -3
- package/dist/render-harness/renderInputAssets.js +4 -4
- package/dist/render-harness.js +100 -82
- package/dist/{src-ZP6727AA.js → src-XI5MULKD.js} +17 -16
- package/package.json +38 -60
- package/dist/_members/account-model/validators/workingComposition.d.ts +0 -11
- package/dist/_members/animate/animations/index.d.ts +0 -9
- package/dist/_members/animate/easing/index.d.ts +0 -3
- package/dist/_members/animate/mobjects/index.d.ts +0 -4
- package/dist/_members/animate/scene/internal.d.ts +0 -29
- package/dist/_members/authoring/prompts/graphics.d.ts +0 -9
- package/dist/_members/cloud-import/cloudConfig.d.ts +0 -2
- package/dist/_members/composition/autozoom/index.d.ts +0 -25
- package/dist/_members/composition/graphics-plan/instantiateMotif.d.ts +0 -34
- package/dist/_members/composition/invariants/time.d.ts +0 -14
- package/dist/_members/composition/types/index.d.ts +0 -8
- package/dist/_members/composition/validators/font.d.ts +0 -58
- package/dist/_members/composition/validators/registry.d.ts +0 -79
- package/dist/_members/composition/validators/render.d.ts +0 -2068
- package/dist/_members/director/ai-sdk/chunks.d.ts +0 -14
- package/dist/_members/director/domain/ports.d.ts +0 -32
- package/dist/_members/director/testing/contract.d.ts +0 -52
- package/dist/_members/director/testing/index.d.ts +0 -1
- package/dist/_members/foundation/codes/index.d.ts +0 -10
- package/dist/_members/nle-export/server/index.d.ts +0 -1
- package/dist/_members/nle-export/server/pack-zip.d.ts +0 -6
- package/dist/_members/render-harness/assetRefs.d.ts +0 -26
- package/dist/_members/render-harness/assetRefs.d.ts.map +0 -1
- package/dist/_members/render-harness/remotion-runtime.d.ts +0 -87
- package/dist/authoring/build-tools.d.ts +0 -1
- package/dist/authoring/build-tools.js +0 -28
- package/dist/authoring/capabilities.d.ts +0 -1
- package/dist/authoring/capabilities.js +0 -11
- package/dist/authoring/pipelineTrace.d.ts +0 -1
- package/dist/authoring/pipelineTrace.js +0 -7
- package/dist/authoring/tools.d.ts +0 -1
- package/dist/authoring/tools.js +0 -31
- package/dist/chunk-6UZYUWBX.js +0 -197
- package/dist/chunk-7EDLPIUN.js +0 -384
- package/dist/chunk-GF52TW4I.js +0 -51
- package/dist/chunk-IG3YAOUZ.js +0 -418
- package/dist/chunk-JOURGVOR.js +0 -27
- package/dist/chunk-MFMR3LHO.js +0 -116
- package/dist/chunk-OSMXQV5V.js +0 -18
- package/dist/chunk-QDBVYZSF.js +0 -128
- package/dist/chunk-U3JPILZS.js +0 -15
- package/dist/chunk-Y4HPN4BC.js +0 -364
- package/dist/composition/autozoom.d.ts +0 -1
- package/dist/composition/autozoom.js +0 -76
- package/dist/composition/fixtures.d.ts +0 -1
- package/dist/composition/fixtures.js +0 -154
- package/dist/composition/types.d.ts +0 -1
- package/dist/composition/types.js +0 -0
- package/dist/context-4WSFPRLX.js +0 -16
- package/dist/director/testing.d.ts +0 -1
- package/dist/director/testing.js +0 -22
- package/dist/foundation/codes.d.ts +0 -1
- package/dist/foundation/codes.js +0 -7
- package/dist/nle-export/server.d.ts +0 -1
- package/dist/nle-export/server.js +0 -25856
- /package/dist/{chunk-FTVZF4GO.js → chunk-S432RE6G.js} +0 -0
|
@@ -28,18 +28,6 @@ function mapPexelsVideo(v, query) {
|
|
|
28
28
|
assetUrl: v.url ? String(v.url) : void 0
|
|
29
29
|
};
|
|
30
30
|
}
|
|
31
|
-
function mapPexelsPhoto(p) {
|
|
32
|
-
return {
|
|
33
|
-
id: p.id,
|
|
34
|
-
title: p.alt ?? `Photo ${p.id}`,
|
|
35
|
-
thumbnail: p.src?.medium ?? p.src?.small ?? "",
|
|
36
|
-
downloadUrl: p.src?.original ?? "",
|
|
37
|
-
width: p.width,
|
|
38
|
-
height: p.height,
|
|
39
|
-
photographer: p.photographer ?? "Unknown",
|
|
40
|
-
mediaType: "photo"
|
|
41
|
-
};
|
|
42
|
-
}
|
|
43
31
|
function mapPixabayVideo(v, query) {
|
|
44
32
|
const vids = v.videos ?? {};
|
|
45
33
|
const renditions = Object.values(vids).filter(
|
|
@@ -63,40 +51,6 @@ function mapPixabayVideo(v, query) {
|
|
|
63
51
|
assetUrl: v.pageURL ? String(v.pageURL) : void 0
|
|
64
52
|
};
|
|
65
53
|
}
|
|
66
|
-
function mapPixabayPhoto(p) {
|
|
67
|
-
return {
|
|
68
|
-
id: p.id,
|
|
69
|
-
title: p.tags?.split(",")[0]?.trim() ?? `Photo ${p.id}`,
|
|
70
|
-
thumbnail: p.webformatURL ?? "",
|
|
71
|
-
downloadUrl: p.largeImageURL ?? p.fullHDURL ?? p.imageURL ?? "",
|
|
72
|
-
width: p.imageWidth ?? 0,
|
|
73
|
-
height: p.imageHeight ?? 0,
|
|
74
|
-
photographer: p.user ?? "Unknown",
|
|
75
|
-
mediaType: "photo"
|
|
76
|
-
};
|
|
77
|
-
}
|
|
78
|
-
function mapGifClipResult(r, type) {
|
|
79
|
-
if (type === "clips") {
|
|
80
|
-
return {
|
|
81
|
-
id: String(r.slug ?? ""),
|
|
82
|
-
title: r.title ?? "",
|
|
83
|
-
gifUrl: r.file?.gif ?? "",
|
|
84
|
-
mp4Url: r.file?.mp4 ?? "",
|
|
85
|
-
width: r.file_meta?.mp4?.width ?? 0,
|
|
86
|
-
height: r.file_meta?.mp4?.height ?? 0,
|
|
87
|
-
type: "clip"
|
|
88
|
-
};
|
|
89
|
-
}
|
|
90
|
-
return {
|
|
91
|
-
id: String(r.id ?? ""),
|
|
92
|
-
title: r.title ?? "",
|
|
93
|
-
gifUrl: r.file?.hd?.gif?.url ?? r.file?.md?.gif?.url ?? "",
|
|
94
|
-
mp4Url: r.file?.hd?.mp4?.url ?? r.file?.md?.mp4?.url,
|
|
95
|
-
width: r.file?.hd?.gif?.width ?? 0,
|
|
96
|
-
height: r.file?.hd?.gif?.height ?? 0,
|
|
97
|
-
type: "gif"
|
|
98
|
-
};
|
|
99
|
-
}
|
|
100
54
|
async function searchStockVideos(gw, query, perPage = 10, signal) {
|
|
101
55
|
const url = `${gw.url}/pexels/videos/search?query=${encodeURIComponent(query)}&per_page=${perPage}`;
|
|
102
56
|
const resp = await fetch(url, gwFetchInit(gw, signal));
|
|
@@ -106,15 +60,6 @@ async function searchStockVideos(gw, query, perPage = 10, signal) {
|
|
|
106
60
|
const data = await resp.json();
|
|
107
61
|
return (data.videos ?? []).map((v) => mapPexelsVideo(v, query));
|
|
108
62
|
}
|
|
109
|
-
async function popularStockVideos(gw, perPage = 12, signal) {
|
|
110
|
-
const url = `${gw.url}/pexels/videos/popular?per_page=${perPage}`;
|
|
111
|
-
const resp = await fetch(url, gwFetchInit(gw, signal));
|
|
112
|
-
if (!resp.ok) {
|
|
113
|
-
throw new Error(`Pexels API error: ${resp.status} ${resp.statusText}`);
|
|
114
|
-
}
|
|
115
|
-
const data = await resp.json();
|
|
116
|
-
return (data.videos ?? []).map((v) => mapPexelsVideo(v, ""));
|
|
117
|
-
}
|
|
118
63
|
async function searchPixabayVideos(gw, query, perPage = 10, signal) {
|
|
119
64
|
const url = `${gw.url}/pixabay/videos/?q=${encodeURIComponent(query)}&per_page=${perPage}&safesearch=true`;
|
|
120
65
|
const resp = await fetch(url, gwFetchInit(gw, signal));
|
|
@@ -124,94 +69,12 @@ async function searchPixabayVideos(gw, query, perPage = 10, signal) {
|
|
|
124
69
|
const data = await resp.json();
|
|
125
70
|
return (data.hits ?? []).map((v) => mapPixabayVideo(v, query));
|
|
126
71
|
}
|
|
127
|
-
async function popularPixabayVideos(gw, perPage = 12, signal) {
|
|
128
|
-
const url = `${gw.url}/pixabay/videos/?order=popular&per_page=${perPage}&safesearch=true&editors_choice=true`;
|
|
129
|
-
const resp = await fetch(url, gwFetchInit(gw, signal));
|
|
130
|
-
if (!resp.ok) {
|
|
131
|
-
throw new Error(`Pixabay API error: ${resp.status} ${resp.statusText}`);
|
|
132
|
-
}
|
|
133
|
-
const data = await resp.json();
|
|
134
|
-
return (data.hits ?? []).map((v) => mapPixabayVideo(v, ""));
|
|
135
|
-
}
|
|
136
|
-
async function searchStockPhotos(gw, query, perPage = 10, signal) {
|
|
137
|
-
const url = `${gw.url}/pexels/v1/search?query=${encodeURIComponent(query)}&per_page=${perPage}`;
|
|
138
|
-
const resp = await fetch(url, gwFetchInit(gw, signal));
|
|
139
|
-
if (!resp.ok) {
|
|
140
|
-
throw new Error(`Pexels API error: ${resp.status} ${resp.statusText}`);
|
|
141
|
-
}
|
|
142
|
-
const data = await resp.json();
|
|
143
|
-
return (data.photos ?? []).map(mapPexelsPhoto);
|
|
144
|
-
}
|
|
145
|
-
async function popularStockPhotos(gw, perPage = 12, signal) {
|
|
146
|
-
const url = `${gw.url}/pexels/v1/curated?per_page=${perPage}`;
|
|
147
|
-
const resp = await fetch(url, gwFetchInit(gw, signal));
|
|
148
|
-
if (!resp.ok) {
|
|
149
|
-
throw new Error(`Pexels API error: ${resp.status} ${resp.statusText}`);
|
|
150
|
-
}
|
|
151
|
-
const data = await resp.json();
|
|
152
|
-
return (data.photos ?? []).map(mapPexelsPhoto);
|
|
153
|
-
}
|
|
154
|
-
async function searchPixabayPhotos(gw, query, perPage = 10, signal) {
|
|
155
|
-
const url = `${gw.url}/pixabay/?q=${encodeURIComponent(query)}&per_page=${perPage}&safesearch=true`;
|
|
156
|
-
const resp = await fetch(url, gwFetchInit(gw, signal));
|
|
157
|
-
if (!resp.ok) {
|
|
158
|
-
throw new Error(`Pixabay API error: ${resp.status} ${resp.statusText}`);
|
|
159
|
-
}
|
|
160
|
-
const data = await resp.json();
|
|
161
|
-
return (data.hits ?? []).map(mapPixabayPhoto);
|
|
162
|
-
}
|
|
163
|
-
async function popularPixabayPhotos(gw, perPage = 12, signal) {
|
|
164
|
-
const url = `${gw.url}/pixabay/?order=popular&per_page=${perPage}&safesearch=true&editors_choice=true`;
|
|
165
|
-
const resp = await fetch(url, gwFetchInit(gw, signal));
|
|
166
|
-
if (!resp.ok) {
|
|
167
|
-
throw new Error(`Pixabay API error: ${resp.status} ${resp.statusText}`);
|
|
168
|
-
}
|
|
169
|
-
const data = await resp.json();
|
|
170
|
-
return (data.hits ?? []).map(mapPixabayPhoto);
|
|
171
|
-
}
|
|
172
72
|
function freesoundDurationFilterParam(d) {
|
|
173
73
|
if (!d || d.min === void 0 && d.max === void 0) return "";
|
|
174
74
|
const min = d.min ?? 0;
|
|
175
75
|
const max = d.max ?? "*";
|
|
176
76
|
return `&filter=${encodeURIComponent(`duration:[${min} TO ${max}]`)}`;
|
|
177
77
|
}
|
|
178
|
-
async function searchSoundEffects(gw, query, perPage = 10, signal, durationSec) {
|
|
179
|
-
const url = `${gw.url}/freesound/search/text/?query=${encodeURIComponent(query)}&fields=id,name,previews,duration,tags,license,ac_analysis&page_size=${perPage}${freesoundDurationFilterParam(durationSec)}`;
|
|
180
|
-
const resp = await fetch(url, gwFetchInit(gw, signal));
|
|
181
|
-
if (!resp.ok) {
|
|
182
|
-
throw new Error(`Freesound API error: ${resp.status} ${resp.statusText}`);
|
|
183
|
-
}
|
|
184
|
-
const data = await resp.json();
|
|
185
|
-
return (data.results ?? []).map((s) => ({
|
|
186
|
-
id: s.id,
|
|
187
|
-
name: s.name,
|
|
188
|
-
previewUrl: s.previews?.["preview-hq-mp3"] ?? s.previews?.["preview-lq-mp3"] ?? "",
|
|
189
|
-
downloadUrl: `https://freesound.org/apiv2/sounds/${s.id}/download/`,
|
|
190
|
-
duration: s.duration,
|
|
191
|
-
tags: (s.tags ?? []).slice(0, 5),
|
|
192
|
-
license: s.license ?? "Unknown"
|
|
193
|
-
}));
|
|
194
|
-
}
|
|
195
|
-
async function searchKlipy(gw, query, limit = 10, signal, type = "gifs") {
|
|
196
|
-
const url = `${gw.url}/klipy/${type}/search?q=${encodeURIComponent(query)}&per_page=${limit}&customer_id=cueframe&content_filter=high`;
|
|
197
|
-
const resp = await fetch(url, gwFetchInit(gw, signal));
|
|
198
|
-
if (!resp.ok) {
|
|
199
|
-
throw new Error(`Klipy API error: ${resp.status}`);
|
|
200
|
-
}
|
|
201
|
-
const json = await resp.json();
|
|
202
|
-
const results = json.data?.data ?? [];
|
|
203
|
-
return results.map((r) => mapGifClipResult(r, type));
|
|
204
|
-
}
|
|
205
|
-
async function trendingKlipy(gw, limit = 12, signal, type = "gifs") {
|
|
206
|
-
const url = `${gw.url}/klipy/${type}/trending?per_page=${limit}&customer_id=cueframe&content_filter=high`;
|
|
207
|
-
const resp = await fetch(url, gwFetchInit(gw, signal));
|
|
208
|
-
if (!resp.ok) {
|
|
209
|
-
throw new Error(`Klipy API error: ${resp.status}`);
|
|
210
|
-
}
|
|
211
|
-
const json = await resp.json();
|
|
212
|
-
const results = json.data?.data ?? [];
|
|
213
|
-
return results.map((r) => mapGifClipResult(r, type));
|
|
214
|
-
}
|
|
215
78
|
function mapPexelsPhotoCandidate(p, query) {
|
|
216
79
|
return {
|
|
217
80
|
provider: "pexels",
|
|
@@ -342,16 +205,7 @@ async function searchKlipyCandidates(gw, query, limit = 10, signal, type = "clip
|
|
|
342
205
|
|
|
343
206
|
export {
|
|
344
207
|
searchStockVideos,
|
|
345
|
-
popularStockVideos,
|
|
346
208
|
searchPixabayVideos,
|
|
347
|
-
popularPixabayVideos,
|
|
348
|
-
searchStockPhotos,
|
|
349
|
-
popularStockPhotos,
|
|
350
|
-
searchPixabayPhotos,
|
|
351
|
-
popularPixabayPhotos,
|
|
352
|
-
searchSoundEffects,
|
|
353
|
-
searchKlipy,
|
|
354
|
-
trendingKlipy,
|
|
355
209
|
searchStockPhotoCandidates,
|
|
356
210
|
searchPixabayPhotoCandidates,
|
|
357
211
|
searchSoundEffectsCandidates,
|
|
@@ -1,9 +1,9 @@
|
|
|
1
|
-
import {
|
|
2
|
-
hasNonFragmentCssUrl
|
|
3
|
-
} from "./chunk-OSMXQV5V.js";
|
|
4
1
|
import {
|
|
5
2
|
getPrimitiveCatalogMeta
|
|
6
|
-
} from "./chunk-
|
|
3
|
+
} from "./chunk-EISHFHU5.js";
|
|
4
|
+
import {
|
|
5
|
+
hasNonFragmentCssUrl
|
|
6
|
+
} from "./chunk-EQH37KNZ.js";
|
|
7
7
|
|
|
8
8
|
// ../execution/render-harness/src/renderInputAssets.ts
|
|
9
9
|
function isRemoteUrl(u) {
|
|
@@ -3,13 +3,13 @@ import {
|
|
|
3
3
|
projectMediaPlaybackSpans,
|
|
4
4
|
sliceTranscriptWords,
|
|
5
5
|
splitIntoSentences
|
|
6
|
-
} from "./chunk-
|
|
6
|
+
} from "./chunk-IUJABAG2.js";
|
|
7
7
|
import {
|
|
8
8
|
createHeadlessStore,
|
|
9
9
|
findClipById,
|
|
10
10
|
findMarkerById,
|
|
11
11
|
findTrackContainingClipId
|
|
12
|
-
} from "./chunk-
|
|
12
|
+
} from "./chunk-2K2GBFLU.js";
|
|
13
13
|
import {
|
|
14
14
|
CaptionLayoutInput,
|
|
15
15
|
CaptionSegment,
|
|
@@ -25,7 +25,7 @@ import {
|
|
|
25
25
|
captionLayoutIssues,
|
|
26
26
|
captionSegmentSignature,
|
|
27
27
|
captionVisibilityIssues
|
|
28
|
-
} from "./chunk-
|
|
28
|
+
} from "./chunk-AFUITAH6.js";
|
|
29
29
|
import {
|
|
30
30
|
ReframeSegment
|
|
31
31
|
} from "./chunk-B7J5UUUV.js";
|
|
@@ -42,6 +42,15 @@ import { z } from "zod";
|
|
|
42
42
|
|
|
43
43
|
// ../composition-ops/src/opRecorder.ts
|
|
44
44
|
var genTrackId = (kind) => `track-${kind}-${crypto.randomUUID().slice(0, 8)}`;
|
|
45
|
+
var NON_DOCUMENT_METHODS = /* @__PURE__ */ new Set([
|
|
46
|
+
"selectClip",
|
|
47
|
+
"setSelection",
|
|
48
|
+
"selectAllClips",
|
|
49
|
+
"selectOverlay",
|
|
50
|
+
"clearOverlaySelection",
|
|
51
|
+
"getState",
|
|
52
|
+
"batch"
|
|
53
|
+
]);
|
|
45
54
|
function wrapWithOpRecorder(base, opts) {
|
|
46
55
|
const { record, getComposition } = opts;
|
|
47
56
|
const captionTarget = {
|
|
@@ -49,12 +58,22 @@ function wrapWithOpRecorder(base, opts) {
|
|
|
49
58
|
setCaptionStyle: (style) => base.setCaptionStyle(style),
|
|
50
59
|
setCaptions: (segments, style) => base.setCaptions(segments, style)
|
|
51
60
|
};
|
|
61
|
+
const opTarget = {
|
|
62
|
+
...base,
|
|
63
|
+
getState: () => ({ composition: getComposition() })
|
|
64
|
+
};
|
|
65
|
+
const applyAndRecord = (op) => {
|
|
66
|
+
const before = getComposition();
|
|
67
|
+
applyOp(before, op);
|
|
68
|
+
record(op, before);
|
|
69
|
+
applyOpToStore(opTarget, op);
|
|
70
|
+
};
|
|
52
71
|
const wrapped = {
|
|
53
72
|
addClip: (clip, options) => {
|
|
54
73
|
const before = getComposition();
|
|
55
74
|
const c = clip.kind ? clip : { ...clip, kind: "video" };
|
|
56
|
-
if (options?.newTrack) {
|
|
57
|
-
const newTrackId = options
|
|
75
|
+
if (options?.newTrack || !before.tracks.some((t) => t.kind === "video")) {
|
|
76
|
+
const newTrackId = options?.newTrackId ?? genTrackId("video");
|
|
58
77
|
record({ type: "clip.add", clip: c, newTrack: true, newTrackId }, before);
|
|
59
78
|
base.addClip(c, { newTrack: true, newTrackId });
|
|
60
79
|
} else {
|
|
@@ -62,6 +81,17 @@ function wrapWithOpRecorder(base, opts) {
|
|
|
62
81
|
base.addClip(c);
|
|
63
82
|
}
|
|
64
83
|
},
|
|
84
|
+
addClipToTrack: (clip, target) => {
|
|
85
|
+
if ("trackId" in target) {
|
|
86
|
+
applyAndRecord({ type: "clip.add", clip, trackId: target.trackId });
|
|
87
|
+
return;
|
|
88
|
+
}
|
|
89
|
+
const c = clip.kind ? clip : { ...clip, kind: target.kind };
|
|
90
|
+
const creates = target.newTrack || !getComposition().tracks.some((t) => t.kind === target.kind);
|
|
91
|
+
applyAndRecord(
|
|
92
|
+
creates ? { type: "clip.add", clip: c, newTrack: true, newTrackId: target.newTrackId ?? genTrackId(target.kind) } : { type: "clip.add", clip: c }
|
|
93
|
+
);
|
|
94
|
+
},
|
|
65
95
|
removeClip: (id) => {
|
|
66
96
|
record({ type: "clip.remove", clipId: id }, getComposition());
|
|
67
97
|
base.removeClip(id);
|
|
@@ -78,9 +108,10 @@ function wrapWithOpRecorder(base, opts) {
|
|
|
78
108
|
const { playbackRate, ...patch } = props;
|
|
79
109
|
if (playbackRate !== void 0) {
|
|
80
110
|
if (opts.onUnjournalable) {
|
|
81
|
-
const
|
|
82
|
-
|
|
83
|
-
|
|
111
|
+
const preview = createHeadlessStore(getComposition());
|
|
112
|
+
preview.setClipProperties(id, props);
|
|
113
|
+
opts.onUnjournalable("setClipProperties.playbackRate", preview.getState().composition);
|
|
114
|
+
return base.setClipProperties(id, props);
|
|
84
115
|
}
|
|
85
116
|
throw new Error(
|
|
86
117
|
"opRecorder.setClipProperties: playbackRate is not serializable as a clip.update op (source.playbackRate triggers a cross-field ripple). Use the server-authoritative ripple path."
|
|
@@ -161,8 +192,9 @@ function wrapWithOpRecorder(base, opts) {
|
|
|
161
192
|
setCaptionStyle: (style) => {
|
|
162
193
|
const before = getComposition();
|
|
163
194
|
const op = { type: "setCaptionStyle", style };
|
|
164
|
-
|
|
195
|
+
applyOp(before, op);
|
|
165
196
|
record(op, before);
|
|
197
|
+
applyCaptionOpToStore(captionTarget, op);
|
|
166
198
|
},
|
|
167
199
|
setCaptions: (segments, style) => {
|
|
168
200
|
const before = getComposition();
|
|
@@ -171,8 +203,18 @@ function wrapWithOpRecorder(base, opts) {
|
|
|
171
203
|
segments,
|
|
172
204
|
...style !== void 0 ? { style } : {}
|
|
173
205
|
};
|
|
174
|
-
|
|
206
|
+
applyOp(before, op);
|
|
175
207
|
record(op, before);
|
|
208
|
+
applyCaptionOpToStore(captionTarget, op);
|
|
209
|
+
},
|
|
210
|
+
setCaptionLayouts: (layouts) => {
|
|
211
|
+
applyAndRecord({
|
|
212
|
+
type: "setCaptionLayouts",
|
|
213
|
+
layouts: layouts.map(({ wordSignature: _signature, ...layout }) => layout)
|
|
214
|
+
});
|
|
215
|
+
},
|
|
216
|
+
setCaptionDepth: (zPlane) => {
|
|
217
|
+
applyAndRecord({ type: "setCaptionDepth", zPlane });
|
|
176
218
|
},
|
|
177
219
|
setFormat: (format) => {
|
|
178
220
|
record({ type: "setFormat", format }, getComposition());
|
|
@@ -208,8 +250,10 @@ function wrapWithOpRecorder(base, opts) {
|
|
|
208
250
|
base.moveClipToTrack(clipId, targetTrackId, newStartTime);
|
|
209
251
|
},
|
|
210
252
|
duplicateClip: (id) => {
|
|
211
|
-
|
|
212
|
-
|
|
253
|
+
if (createHeadlessStore(getComposition()).duplicateClip(id) === void 0) return void 0;
|
|
254
|
+
const newClipId = `${id}-dup-${crypto.randomUUID().slice(0, 8)}`;
|
|
255
|
+
applyAndRecord({ type: "duplicateClip", clipId: id, newClipId });
|
|
256
|
+
return newClipId;
|
|
213
257
|
},
|
|
214
258
|
cutAndRipple: (start, end) => {
|
|
215
259
|
record({ type: "cutAndRipple", start, end }, getComposition());
|
|
@@ -237,6 +281,12 @@ function wrapWithOpRecorder(base, opts) {
|
|
|
237
281
|
base.removeExcludedRange(clipId, rangeIdx);
|
|
238
282
|
}
|
|
239
283
|
};
|
|
284
|
+
for (const [name, member] of Object.entries(base)) {
|
|
285
|
+
if (typeof member !== "function" || name in wrapped || NON_DOCUMENT_METHODS.has(name)) continue;
|
|
286
|
+
throw new Error(
|
|
287
|
+
`wrapWithOpRecorder: '${name}' is neither journaled nor a non-document method. Journal it here, or add it to NON_DOCUMENT_METHODS if it changes no document state.`
|
|
288
|
+
);
|
|
289
|
+
}
|
|
240
290
|
return { ...base, ...wrapped };
|
|
241
291
|
}
|
|
242
292
|
|
|
@@ -578,28 +628,6 @@ function collectRawComponentClips(composition) {
|
|
|
578
628
|
}
|
|
579
629
|
return out;
|
|
580
630
|
}
|
|
581
|
-
function collectUnbakedComponentClips(composition) {
|
|
582
|
-
const tracks = composition?.tracks;
|
|
583
|
-
if (!Array.isArray(tracks)) return [];
|
|
584
|
-
const out = [];
|
|
585
|
-
for (const track of tracks) {
|
|
586
|
-
const contents = track?.contents;
|
|
587
|
-
if (!Array.isArray(contents)) continue;
|
|
588
|
-
for (const c of contents) {
|
|
589
|
-
const src = c?.source;
|
|
590
|
-
if (!src || typeof src !== "object") continue;
|
|
591
|
-
if (src.kind !== "overlay") continue;
|
|
592
|
-
if (src.primitiveId !== "custom") continue;
|
|
593
|
-
const params = src.params;
|
|
594
|
-
const componentId = params && typeof params === "object" ? params.componentId : void 0;
|
|
595
|
-
const clipId = c.id;
|
|
596
|
-
if (typeof componentId !== "string" || componentId.length === 0) continue;
|
|
597
|
-
if (typeof clipId !== "string" || clipId.length === 0) continue;
|
|
598
|
-
out.push({ clipId, componentId });
|
|
599
|
-
}
|
|
600
|
-
}
|
|
601
|
-
return out;
|
|
602
|
-
}
|
|
603
631
|
|
|
604
632
|
// ../composition-ops/src/index.ts
|
|
605
633
|
var SceneAssetBindings = z.record(z.string().min(1), z.string().min(1));
|
|
@@ -926,6 +954,9 @@ function applyOpToStore(store, op) {
|
|
|
926
954
|
store.moveClipToTrack(op.clipId, op.targetTrackId, op.newStartTime);
|
|
927
955
|
break;
|
|
928
956
|
case "duplicateClip": {
|
|
957
|
+
if (op.newClipId !== void 0 && findClipById(composition, op.newClipId)) {
|
|
958
|
+
throw new Error(`duplicateClip: clip '${op.newClipId}' already exists`);
|
|
959
|
+
}
|
|
929
960
|
const minted = store.duplicateClip(op.clipId);
|
|
930
961
|
if (op.newClipId !== void 0 && minted !== void 0 && minted !== op.newClipId) {
|
|
931
962
|
store.updateClip(minted, { id: op.newClipId });
|
|
@@ -1093,6 +1124,7 @@ function invertOp(before, op) {
|
|
|
1093
1124
|
}
|
|
1094
1125
|
|
|
1095
1126
|
export {
|
|
1127
|
+
NON_DOCUMENT_METHODS,
|
|
1096
1128
|
wrapWithOpRecorder,
|
|
1097
1129
|
createRecordingStore,
|
|
1098
1130
|
CaptionMaterializationError,
|
|
@@ -1106,7 +1138,6 @@ export {
|
|
|
1106
1138
|
replaceRegion,
|
|
1107
1139
|
collectAlphaLayerClips,
|
|
1108
1140
|
collectRawComponentClips,
|
|
1109
|
-
collectUnbakedComponentClips,
|
|
1110
1141
|
mediaFamily,
|
|
1111
1142
|
resolveClipKind,
|
|
1112
1143
|
CompositionOp,
|
|
@@ -37,7 +37,6 @@ var AMBIENCE_BED = {
|
|
|
37
37
|
};
|
|
38
38
|
var SFX_TRACK_ID = "track-audio-sfx";
|
|
39
39
|
var MUSIC_TRACK_ID = "track-audio-music";
|
|
40
|
-
var AMBIENCE_TRACK_ID = "track-audio-ambience";
|
|
41
40
|
|
|
42
41
|
// ../composition/src/audio/mixStaging.ts
|
|
43
42
|
var ROLE_DEFAULT_GAIN_DB = {
|
|
@@ -78,20 +77,6 @@ function effectiveClipGainDb(source, voPresent) {
|
|
|
78
77
|
if (source.audioRole !== void 0) return roleDefaultGainDb(source.audioRole, voPresent);
|
|
79
78
|
return void 0;
|
|
80
79
|
}
|
|
81
|
-
function sfxTransients(composition) {
|
|
82
|
-
const out = [];
|
|
83
|
-
for (const track of composition.tracks) {
|
|
84
|
-
if (track.enabled === false) continue;
|
|
85
|
-
for (const c of track.contents) {
|
|
86
|
-
if (!("source" in c)) continue;
|
|
87
|
-
const src = c.source;
|
|
88
|
-
if (src.kind === "media" && src.audioRole === "sfx") {
|
|
89
|
-
out.push({ clipId: c.id, startMs: Math.round(c.startTime * 1e3) });
|
|
90
|
-
}
|
|
91
|
-
}
|
|
92
|
-
}
|
|
93
|
-
return out.sort((a, b) => a.startMs - b.startMs);
|
|
94
|
-
}
|
|
95
80
|
function detectNoAudioTrack(composition) {
|
|
96
81
|
if ((composition.markers ?? []).some((m) => m.kind === "intentional-silence")) return [];
|
|
97
82
|
for (const track of composition.tracks) {
|
|
@@ -415,13 +400,11 @@ export {
|
|
|
415
400
|
AMBIENCE_BED,
|
|
416
401
|
SFX_TRACK_ID,
|
|
417
402
|
MUSIC_TRACK_ID,
|
|
418
|
-
AMBIENCE_TRACK_ID,
|
|
419
403
|
ROLE_DEFAULT_GAIN_DB,
|
|
420
404
|
ROLE_HIERARCHY,
|
|
421
405
|
roleDefaultGainDb,
|
|
422
406
|
compositionHasVo,
|
|
423
407
|
effectiveClipGainDb,
|
|
424
|
-
sfxTransients,
|
|
425
408
|
detectNoAudioTrack,
|
|
426
409
|
detectMixHierarchyInversion,
|
|
427
410
|
sfxPackR2Key,
|
|
@@ -3,20 +3,20 @@ import {
|
|
|
3
3
|
assertSceneShotParamsAdmitted,
|
|
4
4
|
materializeComponentSource,
|
|
5
5
|
renderComponentAlpha
|
|
6
|
-
} from "./chunk-
|
|
6
|
+
} from "./chunk-AK6QPX7A.js";
|
|
7
|
+
import {
|
|
8
|
+
assertSourceReadsDeclaredAssets
|
|
9
|
+
} from "./chunk-6HPEMDQW.js";
|
|
10
|
+
import {
|
|
11
|
+
resolvedComponentRenderer
|
|
12
|
+
} from "./chunk-KC4LNZL5.js";
|
|
7
13
|
import {
|
|
8
14
|
componentArtifactId,
|
|
9
15
|
componentBundleId,
|
|
10
16
|
componentRenderKey,
|
|
11
17
|
sha256Hex,
|
|
12
18
|
sourceVersionId
|
|
13
|
-
} from "./chunk-
|
|
14
|
-
import {
|
|
15
|
-
assertSourceReadsDeclaredAssets
|
|
16
|
-
} from "./chunk-WL2MLKWU.js";
|
|
17
|
-
import {
|
|
18
|
-
resolvedComponentRenderer
|
|
19
|
-
} from "./chunk-JWMWVP64.js";
|
|
19
|
+
} from "./chunk-F6PLDBAK.js";
|
|
20
20
|
import {
|
|
21
21
|
ComponentBakeJobV2,
|
|
22
22
|
ComponentBakeRequestV2,
|
|
@@ -25,7 +25,7 @@ import {
|
|
|
25
25
|
ComponentRuntimeError,
|
|
26
26
|
assertGraphicsReceiptMatches,
|
|
27
27
|
assertRendererReceiptMatches
|
|
28
|
-
} from "./chunk-
|
|
28
|
+
} from "./chunk-BZVOCVQV.js";
|
|
29
29
|
|
|
30
30
|
// ../execution/component-runtime/src/assetServer.ts
|
|
31
31
|
import { createHash, randomBytes } from "crypto";
|
|
@@ -1,3 +1,6 @@
|
|
|
1
|
+
import {
|
|
2
|
+
canonicalJson
|
|
3
|
+
} from "./chunk-XHMKPTHV.js";
|
|
1
4
|
import {
|
|
2
5
|
checkTracks
|
|
3
6
|
} from "./chunk-T56BK7NS.js";
|
|
@@ -5,23 +8,8 @@ import {
|
|
|
5
8
|
// ../composition/src/invariants/etag.ts
|
|
6
9
|
import { sha256 } from "@noble/hashes/sha256";
|
|
7
10
|
import { bytesToHex } from "@noble/hashes/utils";
|
|
8
|
-
function canonicalJSON(value) {
|
|
9
|
-
return JSON.stringify(canonicalize(value));
|
|
10
|
-
}
|
|
11
|
-
function canonicalize(value) {
|
|
12
|
-
if (value === null || typeof value !== "object") return value;
|
|
13
|
-
if (Array.isArray(value)) return value.map(canonicalize);
|
|
14
|
-
const out = {};
|
|
15
|
-
const keys = Object.keys(value).sort();
|
|
16
|
-
for (const key of keys) {
|
|
17
|
-
const v = value[key];
|
|
18
|
-
if (v === void 0) continue;
|
|
19
|
-
out[key] = canonicalize(v);
|
|
20
|
-
}
|
|
21
|
-
return out;
|
|
22
|
-
}
|
|
23
11
|
function etag(composition) {
|
|
24
|
-
const canonical =
|
|
12
|
+
const canonical = canonicalJson(composition);
|
|
25
13
|
const hash = bytesToHex(sha256(new TextEncoder().encode(canonical)));
|
|
26
14
|
return `"${hash}"`;
|
|
27
15
|
}
|
|
@@ -138,20 +126,6 @@ function compositionDuration(composition) {
|
|
|
138
126
|
return max;
|
|
139
127
|
}
|
|
140
128
|
|
|
141
|
-
// ../composition/src/invariants/time.ts
|
|
142
|
-
function otioFrames(seconds, fps) {
|
|
143
|
-
return Math.round(seconds * fps);
|
|
144
|
-
}
|
|
145
|
-
function otioRationalTime(seconds, fps) {
|
|
146
|
-
return { value: Math.round(seconds * fps), rate: fps };
|
|
147
|
-
}
|
|
148
|
-
function sourceFrame(params) {
|
|
149
|
-
const { outputFrame, formatFps, clipStartTime, trimStart, playbackRate, sourceFps } = params;
|
|
150
|
-
const outSeconds = outputFrame / formatFps;
|
|
151
|
-
const sourceSeconds = trimStart + (outSeconds - clipStartTime) * playbackRate;
|
|
152
|
-
return Math.round(sourceSeconds * sourceFps);
|
|
153
|
-
}
|
|
154
|
-
|
|
155
129
|
// ../composition/src/invariants/clipPlacement.ts
|
|
156
130
|
var AUDIO_TRACK_KINDS = /* @__PURE__ */ new Set(["audio"]);
|
|
157
131
|
var VISUAL_TRACK_KINDS = /* @__PURE__ */ new Set(["video", "image"]);
|
|
@@ -196,7 +170,6 @@ function collectClipPlacementIssues(composition, mediaKindById) {
|
|
|
196
170
|
}
|
|
197
171
|
|
|
198
172
|
export {
|
|
199
|
-
canonicalJSON,
|
|
200
173
|
etag,
|
|
201
174
|
checkSceneMarkerPartition,
|
|
202
175
|
checkIdCollisions,
|
|
@@ -204,8 +177,5 @@ export {
|
|
|
204
177
|
checkKeyframes,
|
|
205
178
|
checkComposition,
|
|
206
179
|
compositionDuration,
|
|
207
|
-
otioFrames,
|
|
208
|
-
otioRationalTime,
|
|
209
|
-
sourceFrame,
|
|
210
180
|
collectClipPlacementIssues
|
|
211
181
|
};
|
|
@@ -34,14 +34,9 @@ function expandToLinkGroup(composition, entities) {
|
|
|
34
34
|
function linkPartners(composition, clipId) {
|
|
35
35
|
return expandClipIdsToLinkGroups(composition, [clipId]).filter((id) => id !== clipId);
|
|
36
36
|
}
|
|
37
|
-
function makeLinkGroup(clipIds, newGroupId) {
|
|
38
|
-
if (clipIds.length < 2) return null;
|
|
39
|
-
return { linkGroupId: newGroupId(), clipIds };
|
|
40
|
-
}
|
|
41
37
|
|
|
42
38
|
export {
|
|
43
39
|
expandClipIdsToLinkGroups,
|
|
44
40
|
expandToLinkGroup,
|
|
45
|
-
linkPartners
|
|
46
|
-
makeLinkGroup
|
|
41
|
+
linkPartners
|
|
47
42
|
};
|
|
@@ -3,11 +3,9 @@ import { z } from "zod";
|
|
|
3
3
|
var NonEmptyString = z.string().min(1);
|
|
4
4
|
var ISODateTime = z.string().datetime({ offset: true });
|
|
5
5
|
var EntityId = (_table) => z.string().min(1).brand();
|
|
6
|
-
var ParamsBag = z.record(z.string(), z.unknown());
|
|
7
6
|
|
|
8
7
|
export {
|
|
9
8
|
NonEmptyString,
|
|
10
9
|
ISODateTime,
|
|
11
|
-
EntityId
|
|
12
|
-
ParamsBag
|
|
10
|
+
EntityId
|
|
13
11
|
};
|