@cueframe/kernel 0.2.2 → 0.2.4
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/animate/index.d.ts +8 -2
- package/dist/_members/animate/layout/FlexLayout.d.ts +69 -0
- package/dist/_members/animate/layout/fit.d.ts +44 -0
- package/dist/_members/animate/layout/index.d.ts +3 -0
- package/dist/_members/animate/layout/solveFlex.d.ts +70 -0
- package/dist/_members/animate/media/MediaTileScene.d.ts +65 -0
- package/dist/_members/animate/media/recipes.d.ts +61 -0
- package/dist/_members/animate/scene/FocusPass.d.ts +76 -0
- package/dist/_members/animate/scene/UnlitPlane.d.ts +45 -0
- package/dist/_members/animate/scene/__oracle__/cssProjection.d.ts +24 -0
- package/dist/_members/animate/scene/assets.d.ts +21 -0
- package/dist/_members/animate/scene/backdrop.d.ts +7 -0
- package/dist/_members/animate/scene/coordinates.d.ts +58 -0
- package/dist/_members/animate/scene/deviceOpacity.d.ts +18 -0
- package/dist/_members/animate/scene/errors.d.ts +14 -0
- package/dist/_members/animate/scene/finishing.d.ts +69 -0
- package/dist/_members/animate/scene/finishingMath.d.ts +60 -0
- package/dist/_members/animate/scene/finishingPass.d.ts +35 -0
- package/dist/_members/animate/scene/focusBlur.d.ts +56 -0
- package/dist/_members/animate/scene/focusResources.d.ts +190 -0
- package/dist/_members/animate/scene/focusShaders.d.ts +68 -0
- package/dist/_members/animate/scene/fontReadiness.d.ts +27 -0
- package/dist/_members/animate/scene/grainNoise.d.ts +118 -0
- package/dist/_members/animate/scene/index.d.ts +19 -0
- package/dist/_members/animate/scene/internal.d.ts +29 -0
- package/dist/_members/animate/scene/planeFit.d.ts +46 -0
- package/dist/_members/animate/scene/preparedWorldText.d.ts +25 -0
- package/dist/_members/animate/scene/rasterCache.d.ts +30 -0
- package/dist/_members/animate/scene/rasterReadiness.d.ts +33 -0
- package/dist/_members/animate/scene/readiness.d.ts +69 -0
- package/dist/_members/animate/scene/redraw.d.ts +10 -0
- package/dist/_members/animate/scene/render.d.ts +9 -0
- package/dist/_members/animate/scene/scaling.d.ts +13 -0
- package/dist/_members/animate/scene/text.d.ts +40 -0
- package/dist/_members/animate/scene/textLayout.d.ts +78 -0
- package/dist/_members/animate/scene/textureImageSize.d.ts +4 -0
- package/dist/_members/animate/scene/useSceneImageTexture.d.ts +21 -0
- package/dist/_members/animate/scene/useWorldTextTexture.d.ts +21 -0
- package/dist/_members/animate/scene/v2/MeasuredPlaneGeometry.d.ts +7 -0
- package/dist/_members/animate/scene/v2/PhotographicStudioRig.d.ts +11 -0
- package/dist/_members/animate/scene/v2/PreparedSceneShotV1.d.ts +12 -0
- package/dist/_members/animate/scene/v2/SceneShotV2.d.ts +59 -0
- package/dist/_members/animate/scene/v2/builders.d.ts +170 -0
- package/dist/_members/animate/scene/v2/finishes.d.ts +152 -0
- package/dist/_members/animate/scene/v2/lighting.d.ts +119 -0
- package/dist/_members/animate/scene/v2/observePmremTargets.d.ts +4 -0
- package/dist/_members/animate/scene/v2/preparationFacts.d.ts +32 -0
- package/dist/_members/animate/scene/v2/preparedSurface.d.ts +17 -0
- package/dist/_members/animate/scene/v2/projectedResolution.d.ts +2 -0
- package/dist/_members/animate/scene/v2/renderTargetObserver.d.ts +5 -0
- package/dist/_members/animate/scene/v2/runtimeAllocations.d.ts +55 -0
- package/dist/_members/animate/scene/v2/shadow.d.ts +23 -0
- package/dist/_members/animate/scene/v2/slabGeometry.d.ts +134 -0
- package/dist/_members/animate/scene/v2/slots.d.ts +73 -0
- package/dist/_members/animate/scene/v2/videoBinding.d.ts +39 -0
- package/dist/_members/animate/scene/worldBounds.d.ts +19 -0
- package/dist/_members/animate/scene/worldTextRaster.d.ts +87 -0
- package/dist/_members/animate/scene/worldTextTexture.d.ts +32 -0
- package/dist/_members/animate/stage/PerspectiveStage.d.ts +73 -0
- package/dist/_members/animate/stage/camera.d.ts +143 -0
- package/dist/_members/animate/stage/dof.d.ts +9 -0
- package/dist/_members/animate/stage/index.d.ts +6 -0
- package/dist/_members/animate/stage/presets.d.ts +17 -0
- package/dist/_members/animate/three/DeviceMesh.d.ts +256 -0
- package/dist/_members/animate/three/SceneCameraRig.d.ts +12 -0
- package/dist/_members/animate/three/StageCameraRig.d.ts +7 -0
- package/dist/_members/animate/three/StudioRig.d.ts +228 -0
- package/dist/_members/animate/three/ThreeCanvas.d.ts +22 -0
- package/dist/_members/animate/three/defaultScreen.d.ts +23 -0
- package/dist/_members/animate/three/index.d.ts +7 -1
- package/dist/_members/animate/three/textureLifecycle.d.ts +29 -0
- package/dist/_members/animate/three/toneMapping.d.ts +113 -0
- package/dist/_members/animate/three/useImageTexture.d.ts +17 -0
- package/dist/_members/authoring/index.d.ts +2 -0
- package/dist/_members/authoring/scene/index.d.ts +6 -0
- package/dist/_members/authoring/scene/materialize.d.ts +47 -0
- package/dist/_members/authoring/scene/validate.d.ts +80 -0
- package/dist/_members/authoring/scene/wrapper.d.ts +41 -0
- package/dist/_members/component-runtime/allowedImports.d.ts +3 -0
- package/dist/_members/component-runtime/allowedImports.d.ts.map +1 -0
- package/dist/_members/component-runtime/bake.d.ts +8 -0
- package/dist/_members/component-runtime/bake.d.ts.map +1 -1
- package/dist/_members/component-runtime/browserFirewall.d.ts +7 -1
- package/dist/_members/component-runtime/browserFirewall.d.ts.map +1 -1
- package/dist/_members/component-runtime/browserOptions.d.ts +59 -3
- package/dist/_members/component-runtime/browserOptions.d.ts.map +1 -1
- package/dist/_members/component-runtime/canonicalIdentity.d.ts +14 -0
- package/dist/_members/component-runtime/canonicalIdentity.d.ts.map +1 -1
- package/dist/_members/component-runtime/contracts.d.ts +341 -1
- package/dist/_members/component-runtime/contracts.d.ts.map +1 -1
- package/dist/_members/component-runtime/fixtures/imageTileDriftWall.d.ts +5 -0
- package/dist/_members/component-runtime/fixtures/imageTileDriftWall.d.ts.map +1 -0
- package/dist/_members/component-runtime/fixtures/mediaTileMixed.d.ts +5 -0
- package/dist/_members/component-runtime/fixtures/mediaTileMixed.d.ts.map +1 -0
- package/dist/_members/component-runtime/fixtures/mediaTileVideo.d.ts +8 -0
- package/dist/_members/component-runtime/fixtures/mediaTileVideo.d.ts.map +1 -0
- package/dist/_members/component-runtime/importPolicy.d.ts +3 -2
- package/dist/_members/component-runtime/importPolicy.d.ts.map +1 -1
- package/dist/_members/component-runtime/index.d.ts +3 -0
- package/dist/_members/component-runtime/index.d.ts.map +1 -1
- package/dist/_members/component-runtime/livePreviewProxy.d.ts +7 -0
- package/dist/_members/component-runtime/livePreviewProxy.d.ts.map +1 -0
- package/dist/_members/component-runtime/localRoot.d.ts +37 -0
- package/dist/_members/component-runtime/localRoot.d.ts.map +1 -0
- package/dist/_members/component-runtime/mediaResolution.d.ts +25 -0
- package/dist/_members/component-runtime/mediaResolution.d.ts.map +1 -0
- package/dist/_members/component-runtime/render.d.ts +151 -13
- package/dist/_members/component-runtime/render.d.ts.map +1 -1
- package/dist/_members/component-runtime/renderDiagnostics.d.ts +14 -0
- package/dist/_members/component-runtime/renderDiagnostics.d.ts.map +1 -0
- package/dist/_members/component-runtime/sceneAdmission.d.ts +47 -0
- package/dist/_members/component-runtime/sceneAdmission.d.ts.map +1 -0
- package/dist/_members/component-runtime/sourceWorkspace.d.ts +8 -0
- package/dist/_members/component-runtime/sourceWorkspace.d.ts.map +1 -1
- package/dist/_members/component-runtime/webglProbe.d.ts +191 -0
- package/dist/_members/component-runtime/webglProbe.d.ts.map +1 -0
- package/dist/_members/compose/primitiveRegistry.d.ts +2 -6
- package/dist/_members/composition/fonts/bundledFaces.d.ts +150 -0
- package/dist/_members/composition/fonts/captionFaces.d.ts +268 -0
- package/dist/_members/composition/fonts.d.ts +11 -4
- package/dist/_members/composition/graphics-plan/schemas.d.ts +4 -4
- package/dist/_members/composition/ops/types.d.ts +1 -1
- package/dist/_members/composition/primitive-catalog/index.d.ts +4 -0
- package/dist/_members/composition/primitive-catalog/types.d.ts +1 -0
- package/dist/_members/composition/projection/behind-readiness.d.ts +3 -0
- package/dist/_members/composition/projection/brandKit.d.ts +6 -0
- package/dist/_members/composition/projection/composition-floor.d.ts +2 -1
- package/dist/_members/composition/scene/animation.d.ts +25 -0
- package/dist/_members/composition/scene/budget.d.ts +29 -0
- package/dist/_members/composition/scene/budgetPolicy.d.mts +13 -0
- package/dist/_members/composition/scene/clipRules.d.ts +119 -0
- package/dist/_members/composition/scene/constraints.d.ts +61 -0
- package/dist/_members/composition/scene/device.d.ts +21 -0
- package/dist/_members/composition/scene/examples.d.ts +11 -0
- package/dist/_members/composition/scene/index.d.ts +11 -0
- package/dist/_members/composition/scene/photographicRig.d.ts +242 -0
- package/dist/_members/composition/scene/preparedRender.d.ts +239 -0
- package/dist/_members/composition/scene/resolution.d.ts +178 -0
- package/dist/_members/composition/scene/schema.d.ts +351 -0
- package/dist/_members/composition/scene/videoSchedule.d.ts +43 -0
- package/dist/_members/composition/validators/brandKit.d.ts +1 -0
- package/dist/_members/composition/validators/render.d.ts +2 -0
- package/dist/_members/composition-ops/index.d.ts +45 -0
- package/dist/_members/composition-ops/opRecorder.d.ts +1 -1
- package/dist/_members/core/render/compositionRender.d.ts +41 -9
- package/dist/_members/core/render/index.d.ts +9 -2
- package/dist/_members/core/render/sceneCaptureIdentity.d.ts +14 -0
- package/dist/_members/core/render/sceneShotPlan.d.ts +142 -0
- package/dist/_members/core/render/sceneShotPreparation.d.ts +57 -0
- package/dist/_members/core/render/slabDescriptor.d.ts +21 -0
- package/dist/_members/core/render/trackProjection.d.ts +33 -0
- package/dist/_members/core/render/types.d.ts +142 -0
- package/dist/_members/errors/registry.d.ts +6 -0
- package/dist/_members/mcp/adapter.d.ts +5 -0
- package/dist/_members/mcp/generated/harness.d.ts +1 -1
- package/dist/_members/mcp/generated/sceneContract.d.ts +155 -0
- package/dist/_members/mcp/sceneShot.d.ts +38 -0
- package/dist/_members/mcp/sceneShotExample.d.ts +22 -0
- package/dist/_members/media-model/api.d.ts +1 -0
- package/dist/_members/media-model/media-kind.d.ts +1 -1
- package/dist/_members/media-model/testing/mediaStoreContract.d.ts +1 -1
- package/dist/_members/primitives/effects/index.d.ts +1 -0
- package/dist/_members/primitives/effects/stage-camera/config.d.ts +50 -0
- package/dist/_members/primitives/effects/stage-camera/index.d.ts +31 -0
- package/dist/_members/primitives/layouts/flex-layout/config.d.ts +73 -0
- package/dist/_members/primitives/layouts/flex-layout/index.d.ts +4 -0
- package/dist/_members/primitives/layouts/index.d.ts +1 -0
- package/dist/_members/primitives/layouts/picture-in-picture/config.d.ts +1 -1
- package/dist/_members/primitives/lib/frameScale.d.ts +4 -0
- package/dist/_members/primitives/lib/index.d.ts +1 -0
- package/dist/_members/primitives/lib/palette.d.ts +30 -30
- package/dist/_members/primitives/lib/text/contrast.d.ts +2 -1
- package/dist/_members/primitives/lib/text/spec.d.ts +0 -8
- package/dist/_members/primitives/lib/types.d.ts +2 -0
- package/dist/_members/primitives/scenes/device-showcase/config.d.ts +41 -0
- package/dist/_members/primitives/scenes/device-showcase/index.d.ts +36 -0
- package/dist/_members/primitives/scenes/hero-device-assemble/config.d.ts +1 -0
- package/dist/_members/primitives/scenes/hero-device-assemble/index.d.ts +2 -1
- package/dist/_members/primitives/scenes/index.d.ts +1 -0
- package/dist/_members/primitives/ui-blocks/badge-pop/config.d.ts +1 -1
- package/dist/_members/primitives/ui-blocks/device-mockup-zoom/config.d.ts +1 -0
- package/dist/_members/primitives/ui-blocks/device-mockup-zoom/index.d.ts +2 -1
- package/dist/_members/primitives/ui-blocks/terminal-simulator/config.d.ts +1 -1
- package/dist/_members/primitives/ui-blocks/toast-notification/config.d.ts +1 -1
- 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/css-tree-subpaths.d.ts +11 -0
- package/dist/_members/render-harness/extractSegments.d.ts +1 -0
- package/dist/_members/render-harness/extractSegments.d.ts.map +1 -1
- package/dist/_members/render-harness/imageHeader.d.ts +14 -0
- package/dist/_members/render-harness/imageHeader.d.ts.map +1 -0
- package/dist/_members/render-harness/index.d.ts +6 -0
- package/dist/_members/render-harness/index.d.ts.map +1 -1
- package/dist/_members/render-harness/materializeSources.d.ts +46 -2
- package/dist/_members/render-harness/materializeSources.d.ts.map +1 -1
- package/dist/_members/render-harness/nodeScenePreparation.d.ts +97 -0
- package/dist/_members/render-harness/nodeScenePreparation.d.ts.map +1 -0
- package/dist/_members/render-harness/remotion-runtime.d.ts +16 -2
- package/dist/_members/render-harness/renderInputAssets.d.ts +1 -1
- package/dist/_members/render-harness/renderInputAssets.d.ts.map +1 -1
- package/dist/_members/render-harness/resolveAssets.d.ts +2 -2
- package/dist/_members/render-harness/resolveAssets.d.ts.map +1 -1
- package/dist/_members/render-harness/sceneShotAssets.d.ts +17 -0
- package/dist/_members/render-harness/sceneShotAssets.d.ts.map +1 -0
- package/dist/animate/preparation-facts.d.ts +1 -0
- package/dist/animate/preparation-facts.js +22 -0
- package/dist/animate.js +336 -1005
- package/dist/authoring/build-tools.js +7 -6
- package/dist/authoring/context.js +5 -4
- package/dist/authoring/prompts.js +1 -1
- package/dist/authoring/scene.d.ts +1 -0
- package/dist/authoring/scene.js +50 -0
- package/dist/authoring/tools.js +6 -5
- package/dist/authoring.js +49 -29
- package/dist/chunk-2L7PYYJK.js +23 -0
- package/dist/chunk-5DJ3IEJR.js +4424 -0
- package/dist/chunk-6BVVCRRD.js +26488 -0
- package/dist/{chunk-DQKSCHFC.js → chunk-6EWRIAZA.js} +187 -66
- package/dist/{chunk-YQ7FFW3G.js → chunk-6VWICHOZ.js} +26 -5
- package/dist/{chunk-C5SEPOWD.js → chunk-7AZLFN26.js} +1798 -702
- package/dist/{chunk-6ID2J64H.js → chunk-7W6ZIKWV.js} +162 -25
- package/dist/{chunk-RETQFTGY.js → chunk-A74FZCPY.js} +42 -5
- package/dist/chunk-BVA3537Z.js +63 -0
- package/dist/{chunk-DHKQ47Q6.js → chunk-DAARYRNT.js} +6 -1
- package/dist/chunk-DQLYWNLC.js +2063 -0
- package/dist/{chunk-HXKTZPRH.js → chunk-E7GIZEPS.js} +1 -1
- package/dist/chunk-EBIBLL7E.js +3619 -0
- package/dist/{chunk-M2TLRXEO.js → chunk-EXY4JJPH.js} +1 -1
- package/dist/{chunk-AWT3P5ZN.js → chunk-FVDFPJHT.js} +1 -1
- package/dist/{chunk-EMGFZ3PR.js → chunk-FWSJLHSV.js} +5 -1
- package/dist/{chunk-TMIBBD5E.js → chunk-I5QWBM3M.js} +280 -113
- package/dist/{chunk-IBMJ33EL.js → chunk-I5RX2QZT.js} +1 -1
- package/dist/{chunk-4FOOBSEE.js → chunk-J3DIUG24.js} +1 -0
- package/dist/{chunk-AD5HWBCE.js → chunk-JX53CVJV.js} +14 -5
- package/dist/{chunk-LNBVTDFR.js → chunk-L2AHS3AW.js} +1 -1
- package/dist/{chunk-BDMTUEEZ.js → chunk-LT4PWSR2.js} +2 -2
- package/dist/chunk-MH3UPKWR.js +3415 -0
- package/dist/{chunk-RFXR7ATW.js → chunk-MN6D3U5N.js} +13 -1
- package/dist/{chunk-IJ7PVJTK.js → chunk-ODUWCQI3.js} +3 -2
- package/dist/chunk-QAGGJHAF.js +16 -0
- package/dist/chunk-QS36DMFG.js +332 -0
- package/dist/{chunk-G5BFI32U.js → chunk-RAXHCRVV.js} +1 -1
- package/dist/{chunk-BIBYZJL3.js → chunk-RL5SO653.js} +3 -3
- package/dist/{chunk-ZSZABOE5.js → chunk-S5H6GH6M.js} +1 -1
- package/dist/{chunk-EEXCDFY5.js → chunk-SD25VQDE.js} +1 -1
- package/dist/chunk-TARKDVP6.js +430 -0
- package/dist/{chunk-XVBOSPZI.js → chunk-TBNTAQJA.js} +6 -6
- package/dist/{chunk-IHFREGFA.js → chunk-TCHPRGC5.js} +18 -2
- package/dist/{chunk-ZCAQHNPI.js → chunk-UKGNHZS4.js} +1 -1
- package/dist/{chunk-ZN6P3KOJ.js → chunk-UN6NY2E6.js} +3 -3
- package/dist/{chunk-WQSGVRFU.js → chunk-UY77TMKD.js} +31 -44
- package/dist/chunk-VKATKWWR.js +1462 -0
- package/dist/{chunk-U5LBYS3N.js → chunk-VLJOIUHL.js} +341 -274
- package/dist/{chunk-CX2IIQ4R.js → chunk-W2245F6G.js} +29 -29
- package/dist/{chunk-GEGRJKKO.js → chunk-W6B7BMLO.js} +1 -1
- package/dist/{chunk-XHUYWVYK.js → chunk-WBNFSG6T.js} +1 -1
- package/dist/chunk-WIHXXF3X.js +221 -0
- package/dist/{chunk-7KEUL3FI.js → chunk-XF2QMKRG.js} +9 -1
- package/dist/{chunk-HFC3MKXA.js → chunk-Y4HPN4BC.js} +1 -0
- package/dist/{chunk-D43J23QX.js → chunk-YFSBFCXO.js} +1018 -42
- package/dist/{chunk-KKEY5MIW.js → chunk-ZS3A3QUM.js} +16 -16
- package/dist/{chunk-LQUWKBST.js → chunk-ZVG446DJ.js} +139 -10
- package/dist/component-runtime/browserOptions.js +14 -3
- package/dist/component-runtime/contracts.js +35 -3
- package/dist/component-runtime/identity/browser.js +1 -1
- package/dist/component-runtime/identity.js +2 -2
- package/dist/component-runtime/importPolicy.js +2 -2
- package/dist/component-runtime/mediaResolution.d.ts +1 -0
- package/dist/component-runtime/mediaResolution.js +11 -0
- package/dist/component-runtime/render.js +38 -5
- package/dist/component-runtime.js +118 -14
- package/dist/compose.js +192 -33
- package/dist/composition/fonts.js +64 -67
- package/dist/composition/graphics-plan.js +3 -2
- package/dist/composition/ops.js +4 -3
- package/dist/composition/primitive-catalog.js +3 -1
- package/dist/composition/projection.js +10 -3
- package/dist/composition/scene/budget-policy.d.ts +1 -0
- package/dist/composition/scene/budget-policy.js +17 -0
- package/dist/composition/scene/schema.json +2757 -0
- package/dist/composition/scene.d.ts +1 -0
- package/dist/composition/scene.js +275 -0
- package/dist/composition/validators.js +3 -2
- package/dist/composition-ops.js +103 -13
- package/dist/composition.js +12 -5
- package/dist/{context-4GSDBFT3.js → context-IUPQ54V4.js} +5 -4
- package/dist/core/render.js +54 -3
- package/dist/core/select.js +2 -2
- package/dist/core.js +6 -3
- package/dist/director/ai-sdk.js +3 -3
- package/dist/director/domain.js +2 -2
- package/dist/director.js +3 -3
- package/dist/errors.js +1 -1
- package/dist/mcp/adapter.js +4 -4
- 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/media-kind.js +2 -0
- package/dist/media-model/testing.js +16 -11
- package/dist/media-model.js +1 -1
- package/dist/nle-export.js +1 -27
- package/dist/primitives/backgrounds.js +2 -2
- package/dist/primitives/captions.js +21 -11
- package/dist/primitives/effects.js +14 -4
- package/dist/primitives/graphics.json +3 -0
- package/dist/primitives/hero-text.js +4 -3
- package/dist/primitives/layouts.js +9 -2
- package/dist/primitives/lib/frameScale.d.ts +1 -0
- package/dist/primitives/lib/frameScale.js +11 -0
- package/dist/primitives/lib/index.js +18 -10
- package/dist/primitives/lib/palette.js +1 -1
- package/dist/primitives/lib/text/contrast.js +2 -1
- package/dist/primitives/lib/text/typeface.js +1 -1
- package/dist/primitives/lib.js +18 -10
- package/dist/primitives/params-required.json +3 -0
- package/dist/primitives/scenes.js +12 -3
- package/dist/primitives/text.js +5 -5
- package/dist/primitives/transitions.js +2 -2
- package/dist/primitives/ui-blocks.js +7 -6
- package/dist/primitives/version-map.json +5 -2
- package/dist/primitives.js +23 -16
- package/dist/render-harness/cardAssetAdmission.js +2 -2
- package/dist/render-harness/renderInputAssets.js +2 -2
- package/dist/render-harness.js +874 -124
- package/package.json +48 -14
- package/dist/_members/animate/three/drei.d.ts +0 -6
- package/dist/_members/component-runtime/fixtures/webgpuTiledRefraction.d.ts +0 -9
- package/dist/_members/component-runtime/fixtures/webgpuTiledRefraction.d.ts.map +0 -1
- package/dist/chunk-5OTQ7M43.js +0 -718
- package/dist/chunk-7REW2MW3.js +0 -202
- package/dist/chunk-CGHTMZNC.js +0 -6
- package/dist/chunk-KVMVYRXX.js +0 -9527
- package/dist/chunk-WYQX4QIK.js +0 -544
- /package/dist/{chunk-H5LMJKZU.js → chunk-JVDUSOYG.js} +0 -0
|
@@ -0,0 +1,113 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Tone mapping that belongs to the material instead of to the bound framebuffer.
|
|
3
|
+
*
|
|
4
|
+
* ## Why this exists
|
|
5
|
+
*
|
|
6
|
+
* Three applies `renderer.toneMapping` to a lit material only when the frame is going straight to
|
|
7
|
+
* the canvas. `WebGLPrograms.js` (165-176) and `WebGLRenderer.js` (2284-2292) both compute the
|
|
8
|
+
* program's tone mapping the same way:
|
|
9
|
+
*
|
|
10
|
+
* ```js
|
|
11
|
+
* let toneMapping = NoToneMapping;
|
|
12
|
+
* if ( material.toneMapped ) {
|
|
13
|
+
* if ( currentRenderTarget === null || currentRenderTarget.isXRRenderTarget === true ) {
|
|
14
|
+
* toneMapping = renderer.toneMapping;
|
|
15
|
+
* }
|
|
16
|
+
* }
|
|
17
|
+
* ```
|
|
18
|
+
*
|
|
19
|
+
* and `WebGLProgram.js` (767-769) turns a `NoToneMapping` decision into *nothing at all*: no
|
|
20
|
+
* `#define TONE_MAPPING`, no `tonemapping_pars_fragment`, no `toneMapping()` function. The
|
|
21
|
+
* `#include <tonemapping_fragment>` that every lit ShaderLib entry carries then expands to a
|
|
22
|
+
* `#if defined( TONE_MAPPING )` with nothing inside it, and the material writes scene-referred
|
|
23
|
+
* radiance to the target unchanged.
|
|
24
|
+
*
|
|
25
|
+
* That is the right default for an *intermediate* target — an environment map or a G-buffer must
|
|
26
|
+
* stay scene-referred — but a scene shot's world target is not an intermediate. It stands in for
|
|
27
|
+
* the canvas: the whole frame is rasterized into it, blurred in it and encoded out of it once. So
|
|
28
|
+
* the shot lost the ACES roll-off the moment every shot began drawing through the focus pass, and
|
|
29
|
+
* a lit body that used to roll off into white clipped there instead.
|
|
30
|
+
*
|
|
31
|
+
* The fix is to move the decision from the framebuffer to the material. A material that carries
|
|
32
|
+
* these props tone-maps in its own fragment shader, at exactly the place three would have done it
|
|
33
|
+
* (the `<tonemapping_fragment>` site, after `<opaque_fragment>` and before `<colorspace_fragment>`),
|
|
34
|
+
* with three's own chunk and three's own function — and it does so whatever target is bound, so a
|
|
35
|
+
* device body looks the same drawn to the canvas by `device-showcase` and drawn into the focus
|
|
36
|
+
* pass's half-float target by a scene shot.
|
|
37
|
+
*
|
|
38
|
+
* `isXRRenderTarget` is deliberately NOT set on the pass's target. It is the flag that tells the
|
|
39
|
+
* renderer a target holds a *display* surface, and it changes the output colour space of the whole
|
|
40
|
+
* draw as well as the tone mapping (`WebGLRenderer.js:2275`). Borrowing it to mean "tone-map this"
|
|
41
|
+
* would be a lie about what the target is, and it would take the encoding with it.
|
|
42
|
+
*
|
|
43
|
+
* ## Why `toneMapped: false` is part of the same statement
|
|
44
|
+
*
|
|
45
|
+
* With the injection in place, `toneMapped: true` would make the canvas case apply the curve
|
|
46
|
+
* twice — three's prefix would declare `toneMappingExposure`, `ACESFilmicToneMapping` and
|
|
47
|
+
* `toneMapping()` a second time, which does not even compile. Setting `toneMapped: false` is what
|
|
48
|
+
* takes three's own gate out of the picture: the renderer's answer is `NoToneMapping` for every
|
|
49
|
+
* target, including none, and this module's injection is the single application. It is not a
|
|
50
|
+
* claim that the material is unlit — the unlit materials in this renderer (screenshots, world
|
|
51
|
+
* text, the black screen stand-in) carry `toneMapped: false` *and no injection*, which is what
|
|
52
|
+
* keeps them exact.
|
|
53
|
+
*
|
|
54
|
+
* ## Exposure, and where the curve comes from
|
|
55
|
+
*
|
|
56
|
+
* Neither is restated here. The function is chosen from `renderer.toneMapping`, which three hands
|
|
57
|
+
* to `onBeforeCompile` as its second argument — react-three-fiber sets it to `ACESFilmicToneMapping`
|
|
58
|
+
* when `flat` is false, which is the default and what every canvas in this package uses, so the
|
|
59
|
+
* ACES filmic path is what gets defined without this module naming it as a default anywhere. And
|
|
60
|
+
* `toneMappingExposure` is declared by three's own pars chunk, which means the renderer's
|
|
61
|
+
* `p_uniforms.setValue( _gl, 'toneMappingExposure', _this.toneMappingExposure )`
|
|
62
|
+
* (`WebGLRenderer.js:2617`) finds it and uploads the renderer's own exposure — a uniform three
|
|
63
|
+
* sets on every material refresh, and a no-op on a program that has no such uniform.
|
|
64
|
+
*/
|
|
65
|
+
/** The renderer surface the injection reads. Three passes the whole renderer; this is the slice. */
|
|
66
|
+
export interface ToneMappingRenderer {
|
|
67
|
+
toneMapping: number;
|
|
68
|
+
}
|
|
69
|
+
/** The shader object three passes to `onBeforeCompile`; only the fragment source is rewritten. */
|
|
70
|
+
export interface ToneMappingShader {
|
|
71
|
+
fragmentShader: string;
|
|
72
|
+
}
|
|
73
|
+
/**
|
|
74
|
+
* The GLSL a self-tone-mapping material prepends to its fragment shader for `toneMapping`: the
|
|
75
|
+
* define, three's own pars chunk, and the one-line `toneMapping()` three's prefix would have
|
|
76
|
+
* written. Empty when the renderer tone-maps with nothing, which is then an exact identity.
|
|
77
|
+
*
|
|
78
|
+
* It goes before the shader body rather than at the `<tonemapping_fragment>` site because the
|
|
79
|
+
* chunk declares a uniform and a handful of functions, and that site is inside `main()`. This is
|
|
80
|
+
* where three puts it too (its prefix precedes the body), and `<common>` guards its own
|
|
81
|
+
* `saturate` against the one this chunk defines.
|
|
82
|
+
*/
|
|
83
|
+
export declare function toneMappingPreamble(toneMapping: number): string;
|
|
84
|
+
/**
|
|
85
|
+
* The `onBeforeCompile` a lit material carries. Three calls it once per program, with the renderer
|
|
86
|
+
* as the second argument, which is the only reason this needs no configuration of its own.
|
|
87
|
+
*/
|
|
88
|
+
export declare function toneMapInTheMaterial(shader: ToneMappingShader, renderer: ToneMappingRenderer): void;
|
|
89
|
+
/**
|
|
90
|
+
* Spread into every lit material this package draws. The pair is one statement and neither half
|
|
91
|
+
* is meaningful alone: the injection applies the curve, and `toneMapped: false` stops three
|
|
92
|
+
* applying it a second time when the frame happens to be going to the canvas.
|
|
93
|
+
*/
|
|
94
|
+
export declare const SELF_TONE_MAPPED: {
|
|
95
|
+
readonly toneMapped: false;
|
|
96
|
+
readonly onBeforeCompile: typeof toneMapInTheMaterial;
|
|
97
|
+
};
|
|
98
|
+
/**
|
|
99
|
+
* Spread into every unlit, colour-managed material this package draws: a screenshot on a device's
|
|
100
|
+
* screen, a page, a rasterized world-text run.
|
|
101
|
+
*
|
|
102
|
+
* It is `SELF_TONE_MAPPED` minus the injection, and that is the whole difference between them —
|
|
103
|
+
* both switch three's own gate off, and only one puts a curve back. The contract calls these
|
|
104
|
+
* surfaces exact: what the author supplied is what the frame shows, whatever the renderer's tone
|
|
105
|
+
* mapping is set to and whatever target is bound. Every unlit material in this package spreads
|
|
106
|
+
* this constant and none of them spells `toneMapped` by hand — `DeviceMesh`'s two screen
|
|
107
|
+
* materials, `scene/UnlitPlane.tsx` and `media/MediaTileScene.tsx` — and the tone-mapping test
|
|
108
|
+
* walks the package's sources to enforce exactly that, so the rule cannot drift back into a
|
|
109
|
+
* per-file literal.
|
|
110
|
+
*/
|
|
111
|
+
export declare const UNLIT_COLOUR_MANAGED: {
|
|
112
|
+
readonly toneMapped: false;
|
|
113
|
+
};
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
import { Texture } from 'three';
|
|
2
|
+
/**
|
|
3
|
+
* Loads an image as a Three texture under `delayRender` so the frame waits for it.
|
|
4
|
+
*
|
|
5
|
+
* `src` may change between renders: each `src` gets its own `delayRender` handle, and a handle
|
|
6
|
+
* is always cleared before the next one is taken, so no handle outlives the load it belongs to.
|
|
7
|
+
* Passing `null` loads nothing and clears any handle still outstanding.
|
|
8
|
+
*
|
|
9
|
+
* A texture the hook has returned is disposed only by the commit that stops returning it — the
|
|
10
|
+
* layout effect after `src` changes or the source goes away — never when its replacement finishes
|
|
11
|
+
* loading, since the material keeps drawing the old one until React commits the new one. Unmount
|
|
12
|
+
* disposes whatever was last returned. The policy is `textureLifecycle.ts`, tested on its own.
|
|
13
|
+
*
|
|
14
|
+
* State here is load state, not animation state — every frame after the load is identical, so
|
|
15
|
+
* the hook stays a pure function of `src` from the renderer's point of view.
|
|
16
|
+
*/
|
|
17
|
+
export declare function useImageTexture(src: string | null): Texture | null;
|
|
@@ -23,3 +23,5 @@ export { type PlanStep, formatPlanSteps, buildExecutionTask, buildPlannerUserMes
|
|
|
23
23
|
export { PipelineTrace as RequestTrace } from './pipelineTrace.js';
|
|
24
24
|
export { generateMotionShell, MOTION_PRESETS, resolveMotionPresetCard, MotionPresetError, materializeMotionPresetOpsCore, isMotionPresetOp, hasMotionPresetOp } from './motion/index.js';
|
|
25
25
|
export type { MotionPresetName, MotionShellOptions, MotionPresetErrorCode, ApplyMotionPresetOp, MaterializedMotionShell, MaterializeMotionPresetDeps } from './motion/index.js';
|
|
26
|
+
export { SceneAuthoringError, collectSceneClipIssues, hasSceneOp, isSceneOp, isSceneShotClip, generateSceneShotWrapper, materializeSceneOpsCore, } from './scene/index.js';
|
|
27
|
+
export type { SceneAddOp, SceneUpdateOp, SceneAuthoringContext, SceneClipIssue, SceneSourceDeclaration, SceneSourceResolver, SceneShotWrapperManifest, MaterializeSceneOpsDeps, RegisteredSceneSource, SceneSourceRegistration, } from './scene/index.js';
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
export { SceneAuthoringError, SCENE_TRANSITION_KINDS, collectSceneClipIssues, hasSceneOp, isSceneOp, isSceneShotClip, isSceneShotSource, offFrameLattice, readSceneSourceRef, sceneClipShapeIssues, sceneTrackIdFor, validateSceneAdd, validateSceneUpdate, } from './validate.js';
|
|
2
|
+
export type { SceneAddOp, SceneAuthoringContext, SceneAuthoringErrorCode, SceneClipIssue, SceneOp, SceneShotClip, SceneSourceDeclaration, SceneSourceResolver, SceneUpdateOp, ValidatedSceneAdd, ValidatedSceneUpdate, } from './validate.js';
|
|
3
|
+
export { SCENE_IMAGE_MIME_TYPES, SCENE_SHOT_WRAPPER_SOURCE, SCENE_SHOT_WRAPPER_VERSION, generateSceneShotWrapper, sceneShotAlphaPolicy, sceneShotManifest, } from './wrapper.js';
|
|
4
|
+
export type { SceneShotWrapper, SceneShotWrapperManifest } from './wrapper.js';
|
|
5
|
+
export { SCENE_TRACK_NAME, materializeSceneOpsCore } from './materialize.js';
|
|
6
|
+
export type { MaterializeSceneOpsDeps, RegisteredSceneSource, SceneSourceRegistration } from './materialize.js';
|
|
@@ -0,0 +1,47 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Turns `scene.add` / `scene.update` requests into ordinary clip operations, mirroring
|
|
3
|
+
* `materializeMotionPresetOpsCore`: the host supplies a source-registration sink over its
|
|
4
|
+
* component store, ops fold in order so an update may target a scene added earlier in the
|
|
5
|
+
* same batch, and the emitted ops carry `props.componentRef`, `props.scene` and the slot
|
|
6
|
+
* bindings on the clip.
|
|
7
|
+
*
|
|
8
|
+
* Staging versus publishing is the host's: the sink stages an immutable source and returns
|
|
9
|
+
* its identity; the host commits staged sources only after the whole batch validates and
|
|
10
|
+
* the composition compare-and-swap succeeds, and leaves failed staged records unreferenced.
|
|
11
|
+
*/
|
|
12
|
+
import type { Composition } from '../../composition/validators/index.js';
|
|
13
|
+
import type { SceneShotSpecV2 } from '../../composition/scene/index.js';
|
|
14
|
+
import { type SceneAuthoringContext } from './validate.js';
|
|
15
|
+
import { type SceneShotWrapperManifest } from './wrapper.js';
|
|
16
|
+
export interface SceneSourceRegistration {
|
|
17
|
+
/** Index of the request op in the batch. */
|
|
18
|
+
opIndex: number;
|
|
19
|
+
clipId: string;
|
|
20
|
+
/** Present on an update: the component the clip already pins; register the new version under it. */
|
|
21
|
+
componentId?: string;
|
|
22
|
+
tsxSource: string;
|
|
23
|
+
manifest: SceneShotWrapperManifest;
|
|
24
|
+
scene: SceneShotSpecV2;
|
|
25
|
+
assets: Record<string, string>;
|
|
26
|
+
/** Frame rate of the composition at this op; `durationInFrames` was quantized with it. */
|
|
27
|
+
fps: number;
|
|
28
|
+
durationInFrames: number;
|
|
29
|
+
}
|
|
30
|
+
export interface RegisteredSceneSource {
|
|
31
|
+
componentId: string;
|
|
32
|
+
sourceVersionId: string;
|
|
33
|
+
}
|
|
34
|
+
export interface MaterializeSceneOpsDeps extends Omit<SceneAuthoringContext, 'fps'> {
|
|
35
|
+
/**
|
|
36
|
+
* Composition frame rate, or a reader over the folded composition so a `setFormat` earlier
|
|
37
|
+
* in the batch is honoured by the ops after it.
|
|
38
|
+
*/
|
|
39
|
+
fps: number | ((composition: Composition) => number);
|
|
40
|
+
/** Stage an immutable wrapper source and return its pinned identity. */
|
|
41
|
+
sink: (registration: SceneSourceRegistration) => Promise<RegisteredSceneSource> | RegisteredSceneSource;
|
|
42
|
+
/** Fold one already-materialized op into an in-memory composition (batch-order semantics). */
|
|
43
|
+
apply: (composition: Composition, op: unknown) => Composition;
|
|
44
|
+
}
|
|
45
|
+
/** Name given to a minted dedicated track. */
|
|
46
|
+
export declare const SCENE_TRACK_NAME = "Scene shots";
|
|
47
|
+
export declare function materializeSceneOpsCore(composition: Composition, ops: readonly unknown[], deps: MaterializeSceneOpsDeps): Promise<unknown[]>;
|
|
@@ -0,0 +1,80 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Scene-shot authoring validation for the `scene.add` / `scene.update` requests (spec
|
|
3
|
+
* §"Authoring, persistence, and discovery", §"Timeline and transitions"). No host imports: the
|
|
4
|
+
* caller supplies the frame rate, a source resolver over its component store, and optionally the
|
|
5
|
+
* media kinds it knows.
|
|
6
|
+
*
|
|
7
|
+
* The clip-shape rules themselves live in `@cueframe/composition/scene` (`clipRules.ts`), because
|
|
8
|
+
* they are properties of the persisted contract and the render path enforces the very same rules
|
|
9
|
+
* before it seals a render input. They are re-exported here unchanged, so this module's public
|
|
10
|
+
* surface is what it always was; this file adds only the request shapes on top of them.
|
|
11
|
+
*/
|
|
12
|
+
import { type SceneClipIssueCode, type SceneClipRuleContext, type SceneShotClip, type SceneShotSpecV2, type SceneSourceDeclaration } from '../../composition/scene/index.js';
|
|
13
|
+
import type { Composition, Transition } from '../../composition/validators/index.js';
|
|
14
|
+
export { SCENE_TRANSITION_KINDS, collectSceneClipIssues, isSceneShotClip, isSceneShotSource, offFrameLattice, readSceneSourceRef, sceneClipShapeIssues, } from '../../composition/scene/index.js';
|
|
15
|
+
export type { SceneClipIssue, SceneShotClip, SceneSourceDeclaration, SceneSourceResolver, } from '../../composition/scene/index.js';
|
|
16
|
+
/** The authoring context is the clip rules' context; nothing extra is needed to validate a request. */
|
|
17
|
+
export type SceneAuthoringContext = SceneClipRuleContext;
|
|
18
|
+
export type SceneAuthoringErrorCode = SceneClipIssueCode;
|
|
19
|
+
/** One rejection: a path into the request (or clip) and an actionable message. */
|
|
20
|
+
export declare class SceneAuthoringError extends Error {
|
|
21
|
+
readonly code: SceneAuthoringErrorCode;
|
|
22
|
+
readonly path: string;
|
|
23
|
+
readonly clipId: string | undefined;
|
|
24
|
+
opIndex: number | undefined;
|
|
25
|
+
constructor(code: SceneAuthoringErrorCode, path: string, detail: string, options?: {
|
|
26
|
+
clipId?: string;
|
|
27
|
+
opIndex?: number;
|
|
28
|
+
op?: string;
|
|
29
|
+
});
|
|
30
|
+
}
|
|
31
|
+
export interface SceneAddOp {
|
|
32
|
+
type: 'scene.add';
|
|
33
|
+
clipId: string;
|
|
34
|
+
trackId?: string;
|
|
35
|
+
newTrack?: boolean;
|
|
36
|
+
newTrackId?: string;
|
|
37
|
+
startTime: number;
|
|
38
|
+
duration: number;
|
|
39
|
+
transitionIn?: Transition;
|
|
40
|
+
scene: SceneShotSpecV2;
|
|
41
|
+
assets: Record<string, string>;
|
|
42
|
+
}
|
|
43
|
+
export interface SceneUpdateOp {
|
|
44
|
+
type: 'scene.update';
|
|
45
|
+
clipId: string;
|
|
46
|
+
startTime?: number;
|
|
47
|
+
duration?: number;
|
|
48
|
+
transitionIn?: Transition;
|
|
49
|
+
scene?: SceneShotSpecV2;
|
|
50
|
+
assets?: Record<string, string>;
|
|
51
|
+
}
|
|
52
|
+
export type SceneOp = SceneAddOp | SceneUpdateOp;
|
|
53
|
+
export declare const isSceneOp: (op: unknown) => op is SceneOp;
|
|
54
|
+
export declare const hasSceneOp: (ops: readonly unknown[]) => boolean;
|
|
55
|
+
export interface ValidatedSceneAdd {
|
|
56
|
+
spec: SceneShotSpecV2;
|
|
57
|
+
slots: string[];
|
|
58
|
+
track: {
|
|
59
|
+
id: string;
|
|
60
|
+
create: boolean;
|
|
61
|
+
};
|
|
62
|
+
/** The clip as it will be persisted, minus the source pin the host supplies. */
|
|
63
|
+
clip: SceneShotClip;
|
|
64
|
+
}
|
|
65
|
+
/** The minted id for a requested dedicated track. */
|
|
66
|
+
export declare function sceneTrackIdFor(clipId: string): string;
|
|
67
|
+
export declare function validateSceneAdd(op: SceneAddOp, composition: Composition, ctx: SceneAuthoringContext): ValidatedSceneAdd;
|
|
68
|
+
export interface ValidatedSceneUpdate {
|
|
69
|
+
spec: SceneShotSpecV2;
|
|
70
|
+
slots: string[];
|
|
71
|
+
trackId: string;
|
|
72
|
+
componentId: string;
|
|
73
|
+
currentSourceVersionId: string;
|
|
74
|
+
currentDeclaration: SceneSourceDeclaration;
|
|
75
|
+
/** The merged clip as it will be persisted, still pinned to the current source. */
|
|
76
|
+
clip: SceneShotClip;
|
|
77
|
+
/** Which ordinary timing fields the request touched. */
|
|
78
|
+
timing: Pick<SceneUpdateOp, 'startTime' | 'duration' | 'transitionIn'>;
|
|
79
|
+
}
|
|
80
|
+
export declare function validateSceneUpdate(op: SceneUpdateOp, composition: Composition, ctx: SceneAuthoringContext): ValidatedSceneUpdate;
|
|
@@ -0,0 +1,41 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* The immutable scene-shot wrapper: one small TSX module plus a manifest generated from the
|
|
3
|
+
* referenced image slots (spec §"Assets and production admission").
|
|
4
|
+
*
|
|
5
|
+
* The module text is constant. The scene stays in `props.scene`, so changing scene values
|
|
6
|
+
* never changes the source identity; only a change to the referenced slot set (or the alpha
|
|
7
|
+
* policy the backdrop implies) regenerates the manifest, and with it the source identity,
|
|
8
|
+
* atomically. Hosts register `{ tsxSource, manifest }` through their existing component store.
|
|
9
|
+
*/
|
|
10
|
+
import { type SceneShotSpecV2 } from '../../composition/scene/index.js';
|
|
11
|
+
export declare const SCENE_SHOT_WRAPPER_VERSION: 2;
|
|
12
|
+
/** Scene image slots admit exactly these formats (verified MIME and decoded dimensions). */
|
|
13
|
+
export declare const SCENE_IMAGE_MIME_TYPES: readonly ["image/png", "image/jpeg", "image/webp"];
|
|
14
|
+
export declare const SCENE_VIDEO_MIME_TYPES: readonly ["video/mp4", "video/webm"];
|
|
15
|
+
/** Structurally a `ComponentManifestV2`; the host parses it with that contract before registering. */
|
|
16
|
+
export interface SceneShotWrapperManifest {
|
|
17
|
+
version: 2;
|
|
18
|
+
assets: Record<string, {
|
|
19
|
+
kind: 'image' | 'video';
|
|
20
|
+
required: true;
|
|
21
|
+
mimeTypes: string[];
|
|
22
|
+
}>;
|
|
23
|
+
graphics: {
|
|
24
|
+
api: 'webgl';
|
|
25
|
+
required: true;
|
|
26
|
+
accelerationPreference: 'hardware-preferred';
|
|
27
|
+
};
|
|
28
|
+
alphaPolicy: 'requires-transparency' | 'allows-opaque';
|
|
29
|
+
sceneShot: {
|
|
30
|
+
version: typeof SCENE_SHOT_WRAPPER_VERSION;
|
|
31
|
+
};
|
|
32
|
+
}
|
|
33
|
+
export interface SceneShotWrapper {
|
|
34
|
+
tsxSource: string;
|
|
35
|
+
manifest: SceneShotWrapperManifest;
|
|
36
|
+
}
|
|
37
|
+
export declare const SCENE_SHOT_WRAPPER_SOURCE: string;
|
|
38
|
+
export declare function sceneShotAlphaPolicy(spec: Pick<SceneShotSpecV2, 'backdrop'>): SceneShotWrapperManifest['alphaPolicy'];
|
|
39
|
+
/** The manifest for a slot set: one required image declaration per slot, ordered by name. */
|
|
40
|
+
export declare function sceneShotManifest(slots: readonly string[], alphaPolicy: SceneShotWrapperManifest['alphaPolicy'], videoSlots?: readonly string[]): SceneShotWrapperManifest;
|
|
41
|
+
export declare function generateSceneShotWrapper(spec: Pick<SceneShotSpecV2, 'layers' | 'backdrop'>): SceneShotWrapper;
|
|
@@ -0,0 +1,3 @@
|
|
|
1
|
+
/** Public component imports shared by admission and desktop dependency staging. */
|
|
2
|
+
export declare const COMPONENT_IMPORT_ALLOWLIST: readonly ["react", "react/jsx-runtime", "remotion", "@remotion/media", "@remotion/layout-utils", "@remotion/transitions", "@remotion/motion-blur", "@remotion/noise", "@remotion/paths", "@remotion/shapes", "@remotion/three", "three", "three/webgpu", "three/tsl", "@react-three/fiber", "@cueframe/animate", "gsap"];
|
|
3
|
+
//# sourceMappingURL=allowedImports.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"allowedImports.d.ts","sourceRoot":"","sources":["../src/allowedImports.ts"],"names":[],"mappings":"AAAA,mFAAmF;AACnF,eAAO,MAAM,0BAA0B,0TAkB5B,CAAC"}
|
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import { type ComponentBakeRequestV2 as BakeRequest, type ComponentBakeJobV2 as BakeJob, type ComponentRenderReceiptV2 as RenderReceipt } from './contracts.js';
|
|
2
|
+
import { type ComponentRenderTiming } from './render.js';
|
|
2
3
|
export declare function assertAssetBindingsMatch(request: Pick<BakeRequest, 'source' | 'assets'>): void;
|
|
3
4
|
export declare function bakeComponentAlphaV2(options: {
|
|
4
5
|
job: BakeJob;
|
|
@@ -7,6 +8,13 @@ export declare function bakeComponentAlphaV2(options: {
|
|
|
7
8
|
renderEntryRoot?: string;
|
|
8
9
|
ffprobeExecutable?: string;
|
|
9
10
|
ffmpegExecutable?: string;
|
|
11
|
+
concurrency?: number;
|
|
12
|
+
onProgress?: (progress: {
|
|
13
|
+
renderedFrames: number;
|
|
14
|
+
encodedFrames: number;
|
|
15
|
+
totalFrames: number;
|
|
16
|
+
}) => void;
|
|
17
|
+
onTiming?: (timing: ComponentRenderTiming) => void;
|
|
10
18
|
}): Promise<RenderReceipt>;
|
|
11
19
|
export declare function sourceIdentityForBake(request: BakeRequest): string;
|
|
12
20
|
//# sourceMappingURL=bake.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"bake.d.ts","sourceRoot":"","sources":["../src/bake.ts"],"names":[],"mappings":"AAEA,OAAO,
|
|
1
|
+
{"version":3,"file":"bake.d.ts","sourceRoot":"","sources":["../src/bake.ts"],"names":[],"mappings":"AAEA,OAAO,EAQL,KAAK,sBAAsB,IAAI,WAAW,EAC1C,KAAK,kBAAkB,IAAI,OAAO,EAClC,KAAK,wBAAwB,IAAI,aAAa,EAC/C,MAAM,gBAAgB,CAAC;AAUxB,OAAO,EAAwB,KAAK,qBAAqB,EAAE,MAAM,aAAa,CAAC;AAK/E,wBAAgB,wBAAwB,CACtC,OAAO,EAAE,IAAI,CAAC,WAAW,EAAE,QAAQ,GAAG,QAAQ,CAAC,GAC9C,IAAI,CAkCN;AAED,wBAAsB,oBAAoB,CAAC,OAAO,EAAE;IAClD,GAAG,EAAE,OAAO,CAAC;IACb,aAAa,EAAE,MAAM,CAAC;IACtB,UAAU,EAAE,MAAM,CAAC;IACnB,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,UAAU,CAAC,EAAE,CAAC,QAAQ,EAAE;QAAE,cAAc,EAAE,MAAM,CAAC;QAAC,aAAa,EAAE,MAAM,CAAC;QAAC,WAAW,EAAE,MAAM,CAAA;KAAE,KAAK,IAAI,CAAC;IACxG,QAAQ,CAAC,EAAE,CAAC,MAAM,EAAE,qBAAqB,KAAK,IAAI,CAAC;CACpD,GAAG,OAAO,CAAC,aAAa,CAAC,CAoGzB;AAED,wBAAgB,qBAAqB,CAAC,OAAO,EAAE,WAAW,GAAG,MAAM,CAElE"}
|
|
@@ -14,8 +14,14 @@ type FirewallBrowser = {
|
|
|
14
14
|
silent: boolean;
|
|
15
15
|
}): Promise<void>;
|
|
16
16
|
};
|
|
17
|
-
export declare function installComponentRequestFirewall(browser: FirewallBrowser, allowedAssetOrigins: ReadonlySet<string
|
|
17
|
+
export declare function installComponentRequestFirewall(browser: FirewallBrowser, allowedAssetOrigins: ReadonlySet<string>, onDiagnostic?: (entry: {
|
|
18
|
+
type: 'request-failed' | 'page-error';
|
|
19
|
+
url?: string;
|
|
20
|
+
message: string;
|
|
21
|
+
}) => void): Promise<{
|
|
18
22
|
deniedRequests(): readonly string[];
|
|
23
|
+
fatalError(): unknown | null;
|
|
24
|
+
close(): Promise<void>;
|
|
19
25
|
}>;
|
|
20
26
|
export {};
|
|
21
27
|
//# sourceMappingURL=browserFirewall.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"browserFirewall.d.ts","sourceRoot":"","sources":["../src/browserFirewall.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,yBAAyB;IACxC,KAAK,EAAE,OAAO,CAAC;IACf,cAAc,EAAE,MAAM,GAAG,IAAI,CAAC;CAC/B;AAMD,wBAAgB,sBAAsB,CACpC,GAAG,EAAE,MAAM,EACX,YAAY,EAAE,MAAM,EACpB,cAAc,EAAE,MAAM,GAAG,IAAI,EAC7B,mBAAmB,EAAE,WAAW,CAAC,MAAM,CAAC,GACvC,yBAAyB,CAoB3B;AAcD,eAAO,MAAM,uBAAuB,iUAAgB,CAAC;AAErD,KAAK,eAAe,GAAG;IACrB,EAAE,CAAC,KAAK,EAAE,MAAM,EAAE,QAAQ,EAAE,CAAC,OAAO,EAAE,GAAG,KAAK,IAAI,GAAG,IAAI,CAAC;IAC1D,IAAI,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;CAC1D,CAAC;AACF,KAAK,eAAe,GAAG;IACrB,UAAU,EAAE,eAAe,CAAC;IAC5B,KAAK,CAAC,OAAO,EAAE;QAAE,MAAM,EAAE,OAAO,CAAA;KAAE,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;CACpD,CAAC;AAEF,wBAAsB,+BAA+B,CACnD,OAAO,EAAE,eAAe,EACxB,mBAAmB,EAAE,WAAW,CAAC,MAAM,CAAC,
|
|
1
|
+
{"version":3,"file":"browserFirewall.d.ts","sourceRoot":"","sources":["../src/browserFirewall.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,yBAAyB;IACxC,KAAK,EAAE,OAAO,CAAC;IACf,cAAc,EAAE,MAAM,GAAG,IAAI,CAAC;CAC/B;AAMD,wBAAgB,sBAAsB,CACpC,GAAG,EAAE,MAAM,EACX,YAAY,EAAE,MAAM,EACpB,cAAc,EAAE,MAAM,GAAG,IAAI,EAC7B,mBAAmB,EAAE,WAAW,CAAC,MAAM,CAAC,GACvC,yBAAyB,CAoB3B;AAcD,eAAO,MAAM,uBAAuB,iUAAgB,CAAC;AAErD,KAAK,eAAe,GAAG;IACrB,EAAE,CAAC,KAAK,EAAE,MAAM,EAAE,QAAQ,EAAE,CAAC,OAAO,EAAE,GAAG,KAAK,IAAI,GAAG,IAAI,CAAC;IAC1D,IAAI,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;CAC1D,CAAC;AACF,KAAK,eAAe,GAAG;IACrB,UAAU,EAAE,eAAe,CAAC;IAC5B,KAAK,CAAC,OAAO,EAAE;QAAE,MAAM,EAAE,OAAO,CAAA;KAAE,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;CACpD,CAAC;AAEF,wBAAsB,+BAA+B,CACnD,OAAO,EAAE,eAAe,EACxB,mBAAmB,EAAE,WAAW,CAAC,MAAM,CAAC,EACxC,YAAY,CAAC,EAAE,CAAC,KAAK,EAAE;IAAE,IAAI,EAAE,gBAAgB,GAAG,YAAY,CAAC;IAAC,GAAG,CAAC,EAAE,MAAM,CAAC;IAAC,OAAO,EAAE,MAAM,CAAA;CAAE,KAAK,IAAI,GACvG,OAAO,CAAC;IACT,cAAc,IAAI,SAAS,MAAM,EAAE,CAAC;IACpC,UAAU,IAAI,OAAO,GAAG,IAAI,CAAC;IAC7B,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;CACxB,CAAC,CA6DD"}
|
|
@@ -2,7 +2,63 @@
|
|
|
2
2
|
* Backend admission is performed separately and fails closed when a requested
|
|
3
3
|
* API is unavailable; this option is never interpreted as a fallback signal.
|
|
4
4
|
*/
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
5
|
+
import { ComponentHostAttestationV2, type ComponentGraphicsRequirementV2, type ComponentRendererConfigV2, type SceneShotCapabilityV2 } from './contracts.js';
|
|
6
|
+
import { type CdpBrowserConnection } from './webglProbe.js';
|
|
7
|
+
/**
|
|
8
|
+
* The browser BINARY this lane opens, plus the backend policy for it.
|
|
9
|
+
*
|
|
10
|
+
* `browserExecutable` is REQUIRED, and is always `verifyStagedBrowser`'s verified path
|
|
11
|
+
* (`prepareLocalBundle` in ./render.ts). It used to be optional, and an absent one was handed to
|
|
12
|
+
* Remotion as `undefined` — which Remotion documents as "download a browser automatically". A
|
|
13
|
+
* preview drawn by a browser nobody staged and nobody verified is a preview of nothing the export
|
|
14
|
+
* lane will reproduce, so the optional arm is gone and the type says so.
|
|
15
|
+
*
|
|
16
|
+
* Callers that want only the backend — the identity in `resolvedComponentRenderer`, and the tests
|
|
17
|
+
* that pin the per-platform policy — ask `componentBrowserBackend` instead of passing a fake path.
|
|
18
|
+
*/
|
|
19
|
+
export declare function componentBrowserOptions(graphics: ComponentGraphicsRequirementV2, browserExecutable: string, chromeMode: 'headless-shell' | 'chrome-for-testing'): {
|
|
20
|
+
chromiumOptions: {
|
|
21
|
+
gl: "angle" | "angle-egl" | "swangle" | "vulkan";
|
|
22
|
+
headless?: false;
|
|
23
|
+
enableMultiProcessOnLinux?: boolean;
|
|
24
|
+
};
|
|
25
|
+
browserExecutable: string;
|
|
26
|
+
chromeMode: "headless-shell" | "chrome-for-testing";
|
|
27
|
+
};
|
|
28
|
+
/** The chromeMode and GL backend a requirement resolves to on this host. No binary involved. */
|
|
29
|
+
export declare function componentBrowserBackend(graphics: ComponentGraphicsRequirementV2): {
|
|
30
|
+
chromiumOptions: {
|
|
31
|
+
gl: 'angle' | 'angle-egl' | 'swangle' | 'vulkan';
|
|
32
|
+
headless?: false;
|
|
33
|
+
enableMultiProcessOnLinux?: boolean;
|
|
34
|
+
};
|
|
35
|
+
};
|
|
36
|
+
export declare function webglBackend(platform: NodeJS.Platform, hardware: boolean): 'angle' | 'angle-egl' | 'swangle';
|
|
37
|
+
/**
|
|
38
|
+
* The renderer configuration a requirement resolves to on this host. Sealed into
|
|
39
|
+
* the render identity and receipt (contracts.ts ComponentRendererConfigV2).
|
|
40
|
+
*/
|
|
41
|
+
export declare function resolvedComponentRenderer(graphics: ComponentGraphicsRequirementV2, sceneShot?: SceneShotCapabilityV2 | null): ComponentRendererConfigV2;
|
|
42
|
+
/** Validate the browser's selected renderer, not merely the presence of a GPU
|
|
43
|
+
* in the container. A hardware worker must never silently use SwiftShader, and
|
|
44
|
+
* a webgl (scene-shot) requirement must find WebGL available — and a host
|
|
45
|
+
* `MAX_TEXTURE_SIZE` that fits the shadow map the scene renderer may allocate —
|
|
46
|
+
* before any frame is captured: a missing renderer or an undersized host fails
|
|
47
|
+
* here with a typed refusal naming both numbers, never as a black frame, a
|
|
48
|
+
* substituted api or a quietly halved shadow map. The WebGL decision itself
|
|
49
|
+
* lives in webglProbe.ts so the composition lane, which reaches it through the
|
|
50
|
+
* tracked scene-shot bundle, applies the identical policy.
|
|
51
|
+
*
|
|
52
|
+
* Returns the admitted host for the receipt to record
|
|
53
|
+
* (`ComponentRenderReceiptV2.host`, outside the identity), or null when this
|
|
54
|
+
* render never probed one.
|
|
55
|
+
*
|
|
56
|
+
* Only the WebGL path measures `MAX_TEXTURE_SIZE`, and so only it opens a page.
|
|
57
|
+
* The hardware-compositor check reads Chrome's attestation over CDP and nothing
|
|
58
|
+
* else — a canvas2d component under `CUEFRAME_RENDER_ACCELERATION=hardware` has
|
|
59
|
+
* no shadow map to fit, and paying a page for a number it cannot use would be a
|
|
60
|
+
* round trip per render for nothing. That also means the two paths cannot
|
|
61
|
+
* disagree about what a null limit means: only the lane that asked for the
|
|
62
|
+
* measurement ever holds one. */
|
|
63
|
+
export declare function assertComponentBrowserHardware(browser: CdpBrowserConnection, graphics?: ComponentGraphicsRequirementV2): Promise<ComponentHostAttestationV2 | null>;
|
|
8
64
|
//# sourceMappingURL=browserOptions.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"browserOptions.d.ts","sourceRoot":"","sources":["../src/browserOptions.ts"],"names":[],"mappings":"AAAA;;;GAGG;AACH,
|
|
1
|
+
{"version":3,"file":"browserOptions.d.ts","sourceRoot":"","sources":["../src/browserOptions.ts"],"names":[],"mappings":"AAAA;;;GAGG;AACH,OAAO,EACL,0BAA0B,EAE1B,KAAK,8BAA8B,EACnC,KAAK,yBAAyB,EAC9B,KAAK,qBAAqB,EAC3B,MAAM,gBAAgB,CAAC;AACxB,OAAO,EAKL,KAAK,oBAAoB,EAC1B,MAAM,iBAAiB,CAAC;AAEzB;;;;;;;;;;;GAWG;AACH,wBAAgB,uBAAuB,CACrC,QAAQ,EAAE,8BAA8B,EACxC,iBAAiB,EAAE,MAAM,EACzB,UAAU,EAAE,gBAAgB,GAAG,oBAAoB;qBAgBlC;QACf,EAAE,EAAE,OAAO,GAAG,WAAW,GAAG,SAAS,GAAG,QAAQ,CAAC;QACjD,QAAQ,CAAC,EAAE,KAAK,CAAC;QACjB,yBAAyB,CAAC,EAAE,OAAO,CAAC;KACrC;;;EAVF;AAED,gGAAgG;AAChG,wBAAgB,uBAAuB,CACrC,QAAQ,EAAE,8BAA8B,GACvC;IACD,eAAe,EAAE;QACf,EAAE,EAAE,OAAO,GAAG,WAAW,GAAG,SAAS,GAAG,QAAQ,CAAC;QACjD,QAAQ,CAAC,EAAE,KAAK,CAAC;QACjB,yBAAyB,CAAC,EAAE,OAAO,CAAC;KACrC,CAAC;CACH,CAqCA;AAED,wBAAgB,YAAY,CAAC,QAAQ,EAAE,MAAM,CAAC,QAAQ,EAAE,QAAQ,EAAE,OAAO,GAAG,OAAO,GAAG,WAAW,GAAG,SAAS,CAG5G;AAED;;;GAGG;AACH,wBAAgB,yBAAyB,CACvC,QAAQ,EAAE,8BAA8B,EACxC,SAAS,CAAC,EAAE,qBAAqB,GAAG,IAAI,GACvC,yBAAyB,CAM3B;AAED;;;;;;;;;;;;;;;;;;;;iCAoBiC;AACjC,wBAAsB,8BAA8B,CAClD,OAAO,EAAE,oBAAoB,EAC7B,QAAQ,CAAC,EAAE,8BAA8B,GACxC,OAAO,CAAC,0BAA0B,GAAG,IAAI,CAAC,CA0B5C"}
|
|
@@ -7,6 +7,20 @@ export declare function componentBundleIdentity(input: {
|
|
|
7
7
|
dependencyLockDigest: string;
|
|
8
8
|
}): string;
|
|
9
9
|
export declare function componentRenderIdentity(request: ComponentRenderRequestV2): string;
|
|
10
|
+
/**
|
|
11
|
+
* The artifact key.
|
|
12
|
+
*
|
|
13
|
+
* `receipt.host` is dropped here, structurally, rather than left out of the object a caller
|
|
14
|
+
* happens to build: it is an attestation about the machine, not about the picture. Admission
|
|
15
|
+
* refuses every host below `STUDIO_SHADOW_MAP_BUDGET` and every host above it draws the identical
|
|
16
|
+
* frame, so hashing the reported limit or the renderer string would give two byte-identical
|
|
17
|
+
* artifacts two identities and evict correct ones across a mixed fleet. Everything that does
|
|
18
|
+
* change the picture — the backend, the colour pipeline, the scene capability, the runtime digest
|
|
19
|
+
* — is elsewhere on the receipt and is hashed.
|
|
20
|
+
*
|
|
21
|
+
* Dropping it also leaves every receipt written before `host` existed hashing to the same value it
|
|
22
|
+
* did then, because the remaining fields are unchanged.
|
|
23
|
+
*/
|
|
10
24
|
export declare function componentArtifactIdentity(input: {
|
|
11
25
|
outputSha256: string;
|
|
12
26
|
receipt: Omit<ComponentRenderReceiptV2, 'artifactId'>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"canonicalIdentity.d.ts","sourceRoot":"","sources":["../src/canonicalIdentity.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,wBAAwB,EACxB,wBAAwB,EACxB,iBAAiB,EAClB,MAAM,gBAAgB,CAAC;AAqCxB,wBAAgB,aAAa,CAAC,KAAK,EAAE,OAAO,GAAG,MAAM,CAEpD;AAED,wBAAgB,qBAAqB,CAAC,MAAM,EAAE,iBAAiB,GAAG,MAAM,CAEvE;AAED,wBAAgB,uBAAuB,CAAC,KAAK,EAAE;IAC7C,eAAe,EAAE,MAAM,CAAC;IACxB,aAAa,EAAE,MAAM,CAAC;IACtB,oBAAoB,EAAE,MAAM,CAAC;CAC9B,GAAG,MAAM,CAET;AAED,wBAAgB,uBAAuB,CAAC,OAAO,EAAE,wBAAwB,GAAG,MAAM,CAEjF;AAED,wBAAgB,yBAAyB,CAAC,KAAK,EAAE;IAC/C,YAAY,EAAE,MAAM,CAAC;IACrB,OAAO,EAAE,IAAI,CAAC,wBAAwB,EAAE,YAAY,CAAC,CAAC;CACvD,GAAG,MAAM,
|
|
1
|
+
{"version":3,"file":"canonicalIdentity.d.ts","sourceRoot":"","sources":["../src/canonicalIdentity.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,wBAAwB,EACxB,wBAAwB,EACxB,iBAAiB,EAClB,MAAM,gBAAgB,CAAC;AAqCxB,wBAAgB,aAAa,CAAC,KAAK,EAAE,OAAO,GAAG,MAAM,CAEpD;AAED,wBAAgB,qBAAqB,CAAC,MAAM,EAAE,iBAAiB,GAAG,MAAM,CAEvE;AAED,wBAAgB,uBAAuB,CAAC,KAAK,EAAE;IAC7C,eAAe,EAAE,MAAM,CAAC;IACxB,aAAa,EAAE,MAAM,CAAC;IACtB,oBAAoB,EAAE,MAAM,CAAC;CAC9B,GAAG,MAAM,CAET;AAED,wBAAgB,uBAAuB,CAAC,OAAO,EAAE,wBAAwB,GAAG,MAAM,CAEjF;AAED;;;;;;;;;;;;;GAaG;AACH,wBAAgB,yBAAyB,CAAC,KAAK,EAAE;IAC/C,YAAY,EAAE,MAAM,CAAC;IACrB,OAAO,EAAE,IAAI,CAAC,wBAAwB,EAAE,YAAY,CAAC,CAAC;CACvD,GAAG,MAAM,CAOT"}
|