@cueframe/kernel 0.2.23 → 0.2.25

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.
Files changed (44) hide show
  1. package/dist/_members/composition/scene/clipRules.d.ts +10 -0
  2. package/dist/_members/mcp/generated/operations.d.ts +2 -0
  3. package/dist/animate/preparation-facts.js +2 -2
  4. package/dist/animate.js +3 -3
  5. package/dist/authoring/scene.js +2 -2
  6. package/dist/authoring.js +2 -2
  7. package/dist/{chunk-VDSO2KZY.js → chunk-5BAWOULP.js} +1 -1
  8. package/dist/{chunk-RGKDDR7H.js → chunk-F5B6OM73.js} +123 -111
  9. package/dist/{chunk-CDZBSLVA.js → chunk-H5CPILOK.js} +2 -2
  10. package/dist/{chunk-PRSRV7AT.js → chunk-IAQHWJUO.js} +6 -6
  11. package/dist/{chunk-DEDZKZ6G.js → chunk-JBWSK2YD.js} +2 -2
  12. package/dist/{chunk-E54DK225.js → chunk-JCQTSVZQ.js} +1 -1
  13. package/dist/{chunk-LPFVUT3S.js → chunk-JGXJEY77.js} +4 -3
  14. package/dist/{chunk-PQDALM2G.js → chunk-JNQKX4OI.js} +1 -1
  15. package/dist/{chunk-YV5AYMNK.js → chunk-JRJQECCF.js} +1 -1
  16. package/dist/{chunk-EDR75OU7.js → chunk-JTVHOHT6.js} +1 -1
  17. package/dist/{chunk-TZ7DKL2G.js → chunk-OBA6NW4S.js} +1 -1
  18. package/dist/{chunk-WLU5XPDG.js → chunk-TXI53LIT.js} +2 -2
  19. package/dist/{chunk-AMKPFIF4.js → chunk-WAUVKF2F.js} +4 -4
  20. package/dist/{chunk-7YL7NJJF.js → chunk-XACXNDFL.js} +6 -1
  21. package/dist/component-runtime/browserOptions.js +2 -2
  22. package/dist/component-runtime/render.js +3 -3
  23. package/dist/component-runtime.js +4 -4
  24. package/dist/compose.js +23 -23
  25. package/dist/composition/scene.js +3 -1
  26. package/dist/composition-ops.js +5 -4
  27. package/dist/core/render.js +2 -2
  28. package/dist/core.js +2 -2
  29. package/dist/mcp/adapter.js +2 -2
  30. package/dist/mcp/core.js +1 -1
  31. package/dist/mcp/server.js +3 -3
  32. package/dist/mcp.js +3 -3
  33. package/dist/primitives/effects.js +5 -5
  34. package/dist/primitives/hero-text.js +2 -2
  35. package/dist/primitives/layouts.js +4 -4
  36. package/dist/primitives/scenes.js +5 -5
  37. package/dist/primitives/text.js +2 -2
  38. package/dist/primitives/ui-blocks.js +2 -2
  39. package/dist/primitives.js +23 -23
  40. package/dist/render-harness.js +6 -6
  41. package/package.json +11 -11
  42. package/dist/{chunk-RL5SO653.js → chunk-7SQOXIWR.js} +3 -3
  43. package/dist/{chunk-A76GTLSA.js → chunk-VLJOIUHL.js} +3 -3
  44. package/dist/{chunk-ZS3A3QUM.js → chunk-ZDL7XEXW.js} +4 -4
@@ -15,7 +15,7 @@ import {
15
15
  componentBrowserBackend,
16
16
  componentBrowserOptions,
17
17
  readGpuAttestation
18
- } from "./chunk-VDSO2KZY.js";
18
+ } from "./chunk-5BAWOULP.js";
19
19
  import {
20
20
  ComponentCapturePageRasterAttestationV1,
21
21
  ComponentGraphicsApiV2,
@@ -28,7 +28,7 @@ import {
28
28
  } from "./chunk-ZVG446DJ.js";
29
29
  import {
30
30
  parseSceneShotSpecV2
31
- } from "./chunk-7YL7NJJF.js";
31
+ } from "./chunk-XACXNDFL.js";
32
32
  import {
33
33
  BUNDLED_FONT_FACES
34
34
  } from "./chunk-AVTEPAWI.js";
@@ -1,7 +1,3 @@
1
- import {
2
- frostedGlassWipe,
3
- spatialPush
4
- } from "./chunk-QGAWDLYX.js";
5
1
  import {
6
2
  DashboardPopulate
7
3
  } from "./chunk-S5H6GH6M.js";
@@ -11,6 +7,10 @@ import {
11
7
  import {
12
8
  EASING_BY_INTENT
13
9
  } from "./chunk-MFHXCHRI.js";
10
+ import {
11
+ frostedGlassWipe,
12
+ spatialPush
13
+ } from "./chunk-QGAWDLYX.js";
14
14
  import {
15
15
  ACCENT,
16
16
  ACCENT_SOFT,
@@ -43,14 +43,14 @@ import {
43
43
  makeDefaultScreenTexture,
44
44
  resolveCamera,
45
45
  useImageTexture
46
- } from "./chunk-DEDZKZ6G.js";
46
+ } from "./chunk-JBWSK2YD.js";
47
47
  import {
48
48
  DEVICE_GLASS_OPACITY_ENCODED,
49
49
  DeviceMesh,
50
50
  StudioRig,
51
51
  deviceDimensions,
52
52
  laptopLayout
53
- } from "./chunk-TZ7DKL2G.js";
53
+ } from "./chunk-OBA6NW4S.js";
54
54
 
55
55
  // ../execution/primitives/src/scenes/changelog-bite/index.tsx
56
56
  import {
@@ -19,7 +19,7 @@ import {
19
19
  slabTriangleCount,
20
20
  takeSceneEnvironment,
21
21
  useSceneActualResourceRegistrarV1
22
- } from "./chunk-TZ7DKL2G.js";
22
+ } from "./chunk-OBA6NW4S.js";
23
23
  import {
24
24
  PHOTOGRAPHIC_STUDIO_RIG_ID,
25
25
  SCENE_SLAB_CONTENT_OFFSET,
@@ -31,7 +31,7 @@ import {
31
31
  sceneTextureBytes,
32
32
  sceneVideoMidpointAddressV1,
33
33
  selectSceneBakeScale
34
- } from "./chunk-7YL7NJJF.js";
34
+ } from "./chunk-XACXNDFL.js";
35
35
  import {
36
36
  resolveCaptionFaces
37
37
  } from "./chunk-AVTEPAWI.js";
@@ -8,7 +8,7 @@ import {
8
8
  sceneShotImageSlots,
9
9
  sceneShotVideoSlots,
10
10
  sceneSpecIssues
11
- } from "./chunk-7YL7NJJF.js";
11
+ } from "./chunk-XACXNDFL.js";
12
12
 
13
13
  // ../authoring/src/scene/validate.ts
14
14
  var SceneAuthoringError = class extends Error {
@@ -2,7 +2,7 @@ import {
2
2
  querySchemaShape,
3
3
  serializeQuery,
4
4
  waitForJob
5
- } from "./chunk-EDR75OU7.js";
5
+ } from "./chunk-JTVHOHT6.js";
6
6
  import {
7
7
  CURATED_TOOLS
8
8
  } from "./chunk-3OOMVQ6I.js";
@@ -23,7 +23,7 @@ import {
23
23
  text,
24
24
  textWithData,
25
25
  withMedia
26
- } from "./chunk-RGKDDR7H.js";
26
+ } from "./chunk-F5B6OM73.js";
27
27
 
28
28
  // ../mcp/src/prompts.ts
29
29
  var skillListCache = null;
@@ -3748,7 +3748,8 @@ function registerCuratedTools(server, ex, opts) {
3748
3748
  const bodySchema = bodySchemaFor(op);
3749
3749
  if (bodySchema) inputSchema.body = bodySchema;
3750
3750
  const annotations = { ...op.annotations, ...spec.annotations };
3751
- server.registerTool(spec.name, { title: spec.title ?? titleCase(spec.name), description: spec.description, inputSchema: z.object(inputSchema), annotations }, async (args, extra) => timed(opts?.onEvent, spec.name, async (report) => {
3751
+ const outputSchema = op.outputSchema && !spec.okText ? z.fromJSONSchema(op.outputSchema) : void 0;
3752
+ server.registerTool(spec.name, { title: spec.title ?? titleCase(spec.name), description: spec.description, inputSchema: z.object(inputSchema), ...outputSchema ? { outputSchema } : {}, annotations }, async (args, extra) => timed(opts?.onEvent, spec.name, async (report) => {
3752
3753
  const a = { ...spec.defaults ?? {}, ...args };
3753
3754
  try {
3754
3755
  const query = serializeQuery(op.queryParams, a);
@@ -51,7 +51,7 @@ import {
51
51
  sceneFullMipLevels,
52
52
  sceneTextureBytes,
53
53
  selectSceneBakeScale
54
- } from "./chunk-7YL7NJJF.js";
54
+ } from "./chunk-XACXNDFL.js";
55
55
  import {
56
56
  SCENE_CONTEXT_GL_BUDGET_BYTES,
57
57
  SCENE_MAX_TRIANGLES,
@@ -24,7 +24,7 @@ import {
24
24
  } from "./chunk-W2245F6G.js";
25
25
  import {
26
26
  FlexLayout
27
- } from "./chunk-DEDZKZ6G.js";
27
+ } from "./chunk-JBWSK2YD.js";
28
28
 
29
29
  // ../execution/primitives/src/layouts/chat-to-preview-layout/index.tsx
30
30
  import { Easing, interpolate, useCurrentFrame, useVideoConfig } from "remotion";
@@ -5,7 +5,7 @@ import {
5
5
  isOk,
6
6
  opById,
7
7
  safeParse
8
- } from "./chunk-RGKDDR7H.js";
8
+ } from "./chunk-F5B6OM73.js";
9
9
 
10
10
  // ../mcp/src/wait.ts
11
11
  var defaultSleep = (ms) => new Promise((r) => setTimeout(r, ms));
@@ -18,7 +18,7 @@ import {
18
18
  sceneW5GeneratedRigAllocationsV1,
19
19
  sceneW5PresetAllocationsV1,
20
20
  sceneW5WorldTextAllocationsV1
21
- } from "./chunk-7YL7NJJF.js";
21
+ } from "./chunk-XACXNDFL.js";
22
22
 
23
23
  // ../execution/animate/src/three/toneMapping.ts
24
24
  import {
@@ -3,7 +3,7 @@ import {
3
3
  assertSceneShotParamsAdmitted,
4
4
  materializeComponentSource,
5
5
  renderComponentAlpha
6
- } from "./chunk-CDZBSLVA.js";
6
+ } from "./chunk-H5CPILOK.js";
7
7
  import {
8
8
  componentArtifactId,
9
9
  componentBundleId,
@@ -16,7 +16,7 @@ import {
16
16
  } from "./chunk-WXHD6OUT.js";
17
17
  import {
18
18
  resolvedComponentRenderer
19
- } from "./chunk-VDSO2KZY.js";
19
+ } from "./chunk-5BAWOULP.js";
20
20
  import {
21
21
  ComponentBakeJobV2,
22
22
  ComponentBakeRequestV2,
@@ -1,9 +1,9 @@
1
- import {
2
- FitText
3
- } from "./chunk-XHGZ2E77.js";
4
1
  import {
5
2
  EASING_BY_INTENT
6
3
  } from "./chunk-MFHXCHRI.js";
4
+ import {
5
+ FitText
6
+ } from "./chunk-XHGZ2E77.js";
7
7
  import {
8
8
  ACCENT,
9
9
  ACCENT_STRONG,
@@ -26,7 +26,7 @@ import {
26
26
  perspectiveFor,
27
27
  resolveCamera,
28
28
  useStage
29
- } from "./chunk-DEDZKZ6G.js";
29
+ } from "./chunk-JBWSK2YD.js";
30
30
 
31
31
  // ../execution/primitives/src/effects/blur/index.tsx
32
32
  import React2 from "react";
@@ -1302,6 +1302,10 @@ function evaluateScene(spec2, requestedFrame, durationInFrames) {
1302
1302
 
1303
1303
  // ../composition/src/scene/clipRules.ts
1304
1304
  import { ZodError } from "zod";
1305
+ var SCENE_SLOT_MEDIA_FORMATS = {
1306
+ image: "PNG, JPEG or WebP",
1307
+ video: "MP4 or WebM"
1308
+ };
1305
1309
  function slotOwner(spec2, slot) {
1306
1310
  const find = (layers) => {
1307
1311
  for (const layer of layers) {
@@ -1429,7 +1433,7 @@ function bindingIssues(spec2, assets, path, mediaKindById) {
1429
1433
  } else if (kind !== slots.get(name)) {
1430
1434
  issues.push({
1431
1435
  path: `${path}.${name}`,
1432
- detail: `slot '${name}' needs ${slots.get(name)} media (${slots.get(name) === "image" ? "PNG, JPEG or WebP" : "MP4 or WebM"}); '${mediaId}' is ${kind}.`,
1436
+ detail: `slot '${name}' needs ${slots.get(name)} media (${slots.get(name) === "image" ? SCENE_SLOT_MEDIA_FORMATS.image : SCENE_SLOT_MEDIA_FORMATS.video}); '${mediaId}' is ${kind}.`,
1433
1437
  code: "validation_error"
1434
1438
  });
1435
1439
  }
@@ -3450,6 +3454,7 @@ export {
3450
3454
  evaluateChannel,
3451
3455
  sceneTransformMatrix,
3452
3456
  evaluateScene,
3457
+ SCENE_SLOT_MEDIA_FORMATS,
3453
3458
  isSceneShotSource,
3454
3459
  readSceneSourceRef,
3455
3460
  isTimelineClip,
@@ -4,9 +4,9 @@ import {
4
4
  componentBrowserOptions,
5
5
  resolvedComponentRenderer,
6
6
  webglBackend
7
- } from "../chunk-VDSO2KZY.js";
7
+ } from "../chunk-5BAWOULP.js";
8
8
  import "../chunk-ZVG446DJ.js";
9
- import "../chunk-7YL7NJJF.js";
9
+ import "../chunk-XACXNDFL.js";
10
10
  import "../chunk-2L7PYYJK.js";
11
11
  import "../chunk-2ESYSVXG.js";
12
12
  export {
@@ -26,14 +26,14 @@ import {
26
26
  stagedBrowserLocator,
27
27
  verifyLocalStagedBrowser,
28
28
  vp9AlphaFfmpegOverride
29
- } from "../chunk-CDZBSLVA.js";
29
+ } from "../chunk-H5CPILOK.js";
30
30
  import "../chunk-WB2VFDQZ.js";
31
31
  import "../chunk-EXY4JJPH.js";
32
32
  import "../chunk-DAARYRNT.js";
33
33
  import "../chunk-5NGYBI5Z.js";
34
- import "../chunk-VDSO2KZY.js";
34
+ import "../chunk-5BAWOULP.js";
35
35
  import "../chunk-ZVG446DJ.js";
36
- import "../chunk-7YL7NJJF.js";
36
+ import "../chunk-XACXNDFL.js";
37
37
  import "../chunk-2L7PYYJK.js";
38
38
  import "../chunk-AVTEPAWI.js";
39
39
  import "../chunk-2ESYSVXG.js";
@@ -7,7 +7,7 @@ import {
7
7
  sourceIdentityForBake,
8
8
  startComponentAssetServer,
9
9
  verifyComponentOutput
10
- } from "./chunk-WLU5XPDG.js";
10
+ } from "./chunk-TXI53LIT.js";
11
11
  import {
12
12
  COMPONENT_MEDIA_HEADROOM,
13
13
  COMPONENT_MEDIA_TIERS,
@@ -52,7 +52,7 @@ import {
52
52
  stagedBrowserLocator,
53
53
  verifyLocalStagedBrowser,
54
54
  vp9AlphaFfmpegOverride
55
- } from "./chunk-CDZBSLVA.js";
55
+ } from "./chunk-H5CPILOK.js";
56
56
  import "./chunk-WB2VFDQZ.js";
57
57
  import {
58
58
  bundleIdentityFields,
@@ -86,7 +86,7 @@ import {
86
86
  resolvedComponentRenderer,
87
87
  webGlRefusal,
88
88
  webglBackend
89
- } from "./chunk-VDSO2KZY.js";
89
+ } from "./chunk-5BAWOULP.js";
90
90
  import {
91
91
  CANVAS2D_COMPONENT_MANIFEST_V2,
92
92
  COMPONENT_BUNDLE_VERSION,
@@ -127,7 +127,7 @@ import {
127
127
  authoredComponentProps,
128
128
  readComponentSourceRef
129
129
  } from "./chunk-ZVG446DJ.js";
130
- import "./chunk-7YL7NJJF.js";
130
+ import "./chunk-XACXNDFL.js";
131
131
  import "./chunk-2L7PYYJK.js";
132
132
  import "./chunk-AVTEPAWI.js";
133
133
  import "./chunk-2ESYSVXG.js";
package/dist/compose.js CHANGED
@@ -5,43 +5,43 @@ import {
5
5
  import "./chunk-JQMPHKLU.js";
6
6
  import "./chunk-ZZRBKGDA.js";
7
7
  import "./chunk-GULDS3VE.js";
8
+ import {
9
+ catalog as catalog6
10
+ } from "./chunk-VLJOIUHL.js";
11
+ import {
12
+ catalog as catalog2
13
+ } from "./chunk-WAUVKF2F.js";
14
+ import {
15
+ catalog as catalog8
16
+ } from "./chunk-7SQOXIWR.js";
17
+ import {
18
+ catalog as catalog4
19
+ } from "./chunk-JRJQECCF.js";
8
20
  import {
9
21
  catalog as catalog7
10
- } from "./chunk-PRSRV7AT.js";
22
+ } from "./chunk-IAQHWJUO.js";
23
+ import "./chunk-S5H6GH6M.js";
24
+ import "./chunk-QAGGJHAF.js";
25
+ import "./chunk-MFHXCHRI.js";
11
26
  import {
12
27
  catalog
13
- } from "./chunk-ZS3A3QUM.js";
28
+ } from "./chunk-ZDL7XEXW.js";
14
29
  import "./chunk-U4V4FZGE.js";
15
30
  import "./chunk-DLF4WVSE.js";
31
+ import "./chunk-LT4PWSR2.js";
32
+ import "./chunk-FWSJLHSV.js";
16
33
  import {
17
34
  catalog as catalog3
18
35
  } from "./chunk-FVDFPJHT.js";
19
36
  import "./chunk-QGAWDLYX.js";
20
- import {
21
- catalog as catalog6
22
- } from "./chunk-A76GTLSA.js";
23
- import "./chunk-S5H6GH6M.js";
24
37
  import {
25
38
  catalog as catalog5
26
39
  } from "./chunk-RAXHCRVV.js";
27
- import {
28
- catalog as catalog2
29
- } from "./chunk-AMKPFIF4.js";
30
- import {
31
- catalog as catalog8
32
- } from "./chunk-RL5SO653.js";
33
- import "./chunk-LT4PWSR2.js";
34
- import "./chunk-FWSJLHSV.js";
35
- import "./chunk-ZFEXATWN.js";
36
- import {
37
- catalog as catalog4
38
- } from "./chunk-YV5AYMNK.js";
39
40
  import "./chunk-XHGZ2E77.js";
40
- import "./chunk-QAGGJHAF.js";
41
- import "./chunk-MFHXCHRI.js";
41
+ import "./chunk-ZFEXATWN.js";
42
42
  import "./chunk-W2245F6G.js";
43
- import "./chunk-DEDZKZ6G.js";
44
- import "./chunk-TZ7DKL2G.js";
43
+ import "./chunk-JBWSK2YD.js";
44
+ import "./chunk-OBA6NW4S.js";
45
45
  import {
46
46
  getPrimitiveSubtextParam,
47
47
  getPrimitiveText,
@@ -56,7 +56,7 @@ import {
56
56
  encodeError
57
57
  } from "./chunk-QWXUYVHX.js";
58
58
  import "./chunk-7PA7FGLD.js";
59
- import "./chunk-7YL7NJJF.js";
59
+ import "./chunk-XACXNDFL.js";
60
60
  import "./chunk-2L7PYYJK.js";
61
61
  import "./chunk-AVTEPAWI.js";
62
62
  import "./chunk-2ESYSVXG.js";
@@ -41,6 +41,7 @@ import {
41
41
  SCENE_SLAB_BODY_TRIANGLES,
42
42
  SCENE_SLAB_CONTENT_FACE_TRIANGLES,
43
43
  SCENE_SLAB_CONTENT_OFFSET,
44
+ SCENE_SLOT_MEDIA_FORMATS,
44
45
  SCENE_TESSELLATION_VERSION,
45
46
  SCENE_TRANSITION_KINDS,
46
47
  SCENE_WORLD_OBJECT_PROPERTIES,
@@ -129,7 +130,7 @@ import {
129
130
  selectSceneBakeScale,
130
131
  verifySceneVideoPresentationIndexV1,
131
132
  verifySealedSceneShotPlanV1
132
- } from "../chunk-7YL7NJJF.js";
133
+ } from "../chunk-XACXNDFL.js";
133
134
  import {
134
135
  MIB,
135
136
  SCENE_CONTEXT_GL_BUDGET_BYTES,
@@ -185,6 +186,7 @@ export {
185
186
  SCENE_SLAB_BODY_TRIANGLES,
186
187
  SCENE_SLAB_CONTENT_FACE_TRIANGLES,
187
188
  SCENE_SLAB_CONTENT_OFFSET,
189
+ SCENE_SLOT_MEDIA_FORMATS,
188
190
  SCENE_SURFACE_TEXTURE_BUDGET_BYTES,
189
191
  SCENE_TESSELLATION_VERSION,
190
192
  SCENE_TRANSITION_KINDS,
@@ -1,6 +1,6 @@
1
1
  import {
2
2
  playableSpans
3
- } from "./chunk-PQDALM2G.js";
3
+ } from "./chunk-JNQKX4OI.js";
4
4
  import "./chunk-QH3YI3ND.js";
5
5
  import "./chunk-QISFYLBB.js";
6
6
  import "./chunk-K4VE64CR.js";
@@ -33,8 +33,9 @@ import "./chunk-WREYUH2E.js";
33
33
  import "./chunk-QWXUYVHX.js";
34
34
  import "./chunk-7PA7FGLD.js";
35
35
  import {
36
+ SCENE_SLOT_MEDIA_FORMATS,
36
37
  SceneShotSpecV2
37
- } from "./chunk-7YL7NJJF.js";
38
+ } from "./chunk-XACXNDFL.js";
38
39
  import "./chunk-2L7PYYJK.js";
39
40
  import {
40
41
  introducedCaptionFaceIssues
@@ -552,7 +553,7 @@ var CompositionOp = z.discriminatedUnion("type", [
552
553
  // Lives here, not in the published api/openapi.json. It used to exist ONLY
553
554
  // in that document, which made the contract hand-maintained and put it out
554
555
  // of reach of a scripted sync from this SSOT.
555
- 'Author a scene shot and place it on a dedicated overlay track. The host validates the scene, generates and registers an immutable wrapper component source, and emits the ordinary track/clip operations carrying `props.componentRef` \u2014 you edit a scene SPEC, never wrapper TSX or a source hash. Registration and the composition update are ONE undoable edit; a failure publishes nothing and leaves no clip pointing at an unresolved source. Pass EXACTLY ONE of `trackId` (an existing dedicated scene track) or `newTrack: true` (mint one). That track holds scene-shot clips and gaps only \u2014 no generic component/primitive/media clips in v1 \u2014 and existing generic overlay tracks are unaffected. Scene clips use front zPlane and full-frame placement: outer per-clip `region`, `position`, `scale`, `rotation`, `fit`, `effects`, `animate`, `params.transition`, `params.sequenceGroup` and internal fadeIn/fadeOut are REFUSED with a path, because the shot\'s own layer transforms are the single transform owner. TEXT: `space: "screen"` text is composed above the world result, stays fixed in the frame and stays sharp through focus; `space: "world"` text is rasterized into the 3D scene, moves with the camera and is occluded by geometry. Screenshots and world text are UNLIT and colour-managed so product UI colours are not tinted by the studio lighting, while device bodies are lit and cast shadows; an unlit surface still occludes. SCOPE GAP (pre-existing, neither closed nor changed by scene shots): global wrap effects \u2014 composition-level grades and camera effects \u2014 do not reach front-overlay clips, so they do not affect a scene shot. Author the look INSIDE the shot (`post.grain`, `post.vignette`, `post.focus`, `backdrop`, `environment`) instead. DISCOVERY: there is no built-in scene primitive to look up in list_catalog; the wrapper this operation registers appears afterwards as an ordinary INSTALLED component under the existing catalog rules.'
556
+ `Author a scene shot and place it on a dedicated overlay track. The host validates the scene, generates and registers an immutable wrapper component source, and emits the ordinary track/clip operations carrying \`props.componentRef\` \u2014 you edit a scene SPEC, never wrapper TSX or a source hash. Registration and the composition update are ONE undoable edit; a failure publishes nothing and leaves no clip pointing at an unresolved source. Pass EXACTLY ONE of \`trackId\` (an existing dedicated scene track) or \`newTrack: true\` (mint one). That track holds scene-shot clips and gaps only \u2014 no generic component/primitive/media clips in v1 \u2014 and existing generic overlay tracks are unaffected. Scene clips use front zPlane and full-frame placement: outer per-clip \`region\`, \`position\`, \`scale\`, \`rotation\`, \`fit\`, \`effects\`, \`animate\`, \`params.transition\`, \`params.sequenceGroup\` and internal fadeIn/fadeOut are REFUSED with a path, because the shot's own layer transforms are the single transform owner. TEXT: \`space: "screen"\` text is composed above the world result, stays fixed in the frame and stays sharp through focus; \`space: "world"\` text is rasterized into the 3D scene, moves with the camera and is occluded by geometry. Screenshots and world text are UNLIT and colour-managed so product UI colours are not tinted by the studio lighting, while device bodies are lit and cast shadows; an unlit surface still occludes. SCOPE GAP (pre-existing, neither closed nor changed by scene shots): global wrap effects \u2014 composition-level grades and camera effects \u2014 do not reach front-overlay clips, so they do not affect a scene shot. Author the look INSIDE the shot (\`post.grain\`, \`post.vignette\`, \`post.focus\`, \`backdrop\`, \`environment\`) instead. DISCOVERY: there is no built-in scene primitive to look up in list_catalog; the wrapper this operation registers appears afterwards as an ordinary INSTALLED component under the existing catalog rules. ASSETS: \`assets\` binds each slot name a layer references to a media id in the same project, and the slot's declared KIND decides what it admits \u2014 an image slot takes ${SCENE_SLOT_MEDIA_FORMATS.image}, a video slot ${SCENE_SLOT_MEDIA_FORMATS.video}. Binding the wrong kind is refused with the slot's path.`
556
557
  ),
557
558
  z.object({
558
559
  type: z.literal("scene.update"),
@@ -562,7 +563,7 @@ var CompositionOp = z.discriminatedUnion("type", [
562
563
  transitionIn: Transition.optional(),
563
564
  scene: SceneShotSpecV2.optional(),
564
565
  assets: SceneAssetBindings.optional()
565
- }).strict().describe("Revise a scene shot in place by clip id. Send a replacement `scene` and/or `assets`; timing changes use the ordinary clip timing fields (`startTime`, `duration`, `transitionIn`). Omitted fields keep their persisted values and the MERGED result is re-validated as a whole, so a partial edit cannot leave the shot invalid. Changing only values or asset IDs updates props and bindings and REUSES the pinned source; changing the referenced SLOT SET regenerates the wrapper manifest and registers a new immutable source version atomically. Undo restores the source reference, spec, bindings and timing together. Topology, asset bindings, text content, font properties, device kind and colours are STATIC within a shot's animation \u2014 change them here (a revised spec) rather than trying to animate them. This is not a source trim or slip: a shortened or extended clip resamples the SAME normalized animation over its new duration, and trim/slip requests on generated animation are rejected rather than reinterpreted as media trims. In one batch, `scene.update` may target a shot added by an earlier `scene.add`."),
566
+ }).strict().describe(`Revise a scene shot in place by clip id. Send a replacement \`scene\` and/or \`assets\`; timing changes use the ordinary clip timing fields (\`startTime\`, \`duration\`, \`transitionIn\`). Omitted fields keep their persisted values and the MERGED result is re-validated as a whole, so a partial edit cannot leave the shot invalid. Changing only values or asset IDs updates props and bindings and REUSES the pinned source; changing the referenced SLOT SET regenerates the wrapper manifest and registers a new immutable source version atomically. Undo restores the source reference, spec, bindings and timing together. Topology, asset bindings, text content, font properties, device kind and colours are STATIC within a shot's animation \u2014 change them here (a revised spec) rather than trying to animate them. This is not a source trim or slip: a shortened or extended clip resamples the SAME normalized animation over its new duration, and trim/slip requests on generated animation are rejected rather than reinterpreted as media trims. In one batch, \`scene.update\` may target a shot added by an earlier \`scene.add\`. ASSETS: \`assets\` binds each slot name a layer references to a media id in the same project, and the slot's declared KIND decides what it admits \u2014 an image slot takes ${SCENE_SLOT_MEDIA_FORMATS.image}, a video slot ${SCENE_SLOT_MEDIA_FORMATS.video}. Binding the wrong kind is refused with the slot's path.`),
566
567
  z.object({ type: z.literal("materializeGrid"), clipId: z.string(), grid: z.enum(["beat", "word", "shot"]), maxMarkers: z.number().int().positive().max(2e3).optional() }).strict().describe(
567
568
  'Materialize a clip\'s SOURCE-media temporal GRID as timeline markers \u2014 the rhythm authority you cut to. `grid:"beat"` reads a MUSIC bed\'s beat map (get_media_context.beatGrid), `grid:"word"` the VO word onsets (wordGrid); each grid point is projected from media time to TIMELINE time through the clip\'s placement (startTime, trim, playbackRate, excludedRanges) and written as a `kind:"beat"|"word"` marker (`metadata.sourceClipId` set). Points outside the clip\'s visible window are skipped. Re-running REPLACES the prior markers from the same clip+grid (idempotent). Land cuts and transition MIDPOINTS on the markers (a 0.5s transition starts 0.25s before its marker). `maxMarkers` (default 500, ceiling 2000) \u2014 exceeding it fails loud with the count. `grid:"shot"` is not yet exposed (shot_grid_unavailable). The target must be a media clip; absent evidence fails loud (grid_unavailable) naming how to get it (declare audioRole:"music" at ingest / transcribe).'
568
569
  ),
@@ -66,7 +66,7 @@ import {
66
66
  sliceTranscriptWords,
67
67
  splitIntoSentences,
68
68
  validateComposition
69
- } from "../chunk-PQDALM2G.js";
69
+ } from "../chunk-JNQKX4OI.js";
70
70
  import {
71
71
  buildEasedZooms,
72
72
  buildPannedCenters,
@@ -80,7 +80,7 @@ import "../chunk-KYRDKK2D.js";
80
80
  import "../chunk-WREYUH2E.js";
81
81
  import "../chunk-QWXUYVHX.js";
82
82
  import "../chunk-7PA7FGLD.js";
83
- import "../chunk-7YL7NJJF.js";
83
+ import "../chunk-XACXNDFL.js";
84
84
  import "../chunk-2L7PYYJK.js";
85
85
  import "../chunk-AVTEPAWI.js";
86
86
  import "../chunk-2ESYSVXG.js";
package/dist/core.js CHANGED
@@ -10,7 +10,7 @@ import {
10
10
  ensureEven,
11
11
  extractCaptionWordsFromDoc,
12
12
  isEmphasized
13
- } from "./chunk-PQDALM2G.js";
13
+ } from "./chunk-JNQKX4OI.js";
14
14
  import "./chunk-QH3YI3ND.js";
15
15
  import "./chunk-QISFYLBB.js";
16
16
  import "./chunk-K4VE64CR.js";
@@ -20,7 +20,7 @@ import "./chunk-KYRDKK2D.js";
20
20
  import "./chunk-WREYUH2E.js";
21
21
  import "./chunk-QWXUYVHX.js";
22
22
  import "./chunk-7PA7FGLD.js";
23
- import "./chunk-7YL7NJJF.js";
23
+ import "./chunk-XACXNDFL.js";
24
24
  import "./chunk-2L7PYYJK.js";
25
25
  import "./chunk-AVTEPAWI.js";
26
26
  import "./chunk-2ESYSVXG.js";
@@ -2,7 +2,7 @@ import {
2
2
  querySchemaShape,
3
3
  serializeQuery,
4
4
  waitForJob
5
- } from "../chunk-EDR75OU7.js";
5
+ } from "../chunk-JTVHOHT6.js";
6
6
  import {
7
7
  CURATED_TOOLS
8
8
  } from "../chunk-3OOMVQ6I.js";
@@ -16,7 +16,7 @@ import {
16
16
  opById,
17
17
  safeParse,
18
18
  sniffImageMediaType
19
- } from "../chunk-RGKDDR7H.js";
19
+ } from "../chunk-F5B6OM73.js";
20
20
  import "../chunk-2ESYSVXG.js";
21
21
 
22
22
  // ../mcp/src/adapter.ts
package/dist/mcp/core.js CHANGED
@@ -18,7 +18,7 @@ import {
18
18
  text,
19
19
  textWithData,
20
20
  withMedia
21
- } from "../chunk-RGKDDR7H.js";
21
+ } from "../chunk-F5B6OM73.js";
22
22
  import "../chunk-2ESYSVXG.js";
23
23
  export {
24
24
  __resetPreviewCache,
@@ -7,10 +7,10 @@ import {
7
7
  registerRawTools,
8
8
  registerSkillPrompts,
9
9
  titleCase
10
- } from "../chunk-LPFVUT3S.js";
11
- import "../chunk-EDR75OU7.js";
10
+ } from "../chunk-JGXJEY77.js";
11
+ import "../chunk-JTVHOHT6.js";
12
12
  import "../chunk-3OOMVQ6I.js";
13
- import "../chunk-RGKDDR7H.js";
13
+ import "../chunk-F5B6OM73.js";
14
14
  import "../chunk-2ESYSVXG.js";
15
15
  export {
16
16
  RAW_EXCLUDED_OPERATION_IDS,
package/dist/mcp.js CHANGED
@@ -7,10 +7,10 @@ import {
7
7
  buildServer,
8
8
  registerCuratedTools,
9
9
  registerRawTools
10
- } from "./chunk-LPFVUT3S.js";
11
- import "./chunk-EDR75OU7.js";
10
+ } from "./chunk-JGXJEY77.js";
11
+ import "./chunk-JTVHOHT6.js";
12
12
  import "./chunk-3OOMVQ6I.js";
13
- import "./chunk-RGKDDR7H.js";
13
+ import "./chunk-F5B6OM73.js";
14
14
  import "./chunk-2ESYSVXG.js";
15
15
  export {
16
16
  API_URLS,
@@ -12,13 +12,13 @@ import {
12
12
  Vignette,
13
13
  catalog,
14
14
  laneDepths
15
- } from "../chunk-AMKPFIF4.js";
16
- import "../chunk-XHGZ2E77.js";
15
+ } from "../chunk-WAUVKF2F.js";
17
16
  import "../chunk-MFHXCHRI.js";
17
+ import "../chunk-XHGZ2E77.js";
18
18
  import "../chunk-W2245F6G.js";
19
- import "../chunk-DEDZKZ6G.js";
20
- import "../chunk-TZ7DKL2G.js";
21
- import "../chunk-7YL7NJJF.js";
19
+ import "../chunk-JBWSK2YD.js";
20
+ import "../chunk-OBA6NW4S.js";
21
+ import "../chunk-XACXNDFL.js";
22
22
  import "../chunk-2L7PYYJK.js";
23
23
  import "../chunk-AVTEPAWI.js";
24
24
  import "../chunk-2ESYSVXG.js";
@@ -1,11 +1,11 @@
1
1
  import {
2
2
  HeroText,
3
3
  catalog
4
- } from "../chunk-RL5SO653.js";
4
+ } from "../chunk-7SQOXIWR.js";
5
5
  import "../chunk-LT4PWSR2.js";
6
6
  import "../chunk-FWSJLHSV.js";
7
- import "../chunk-ZFEXATWN.js";
8
7
  import "../chunk-XHGZ2E77.js";
8
+ import "../chunk-ZFEXATWN.js";
9
9
  import "../chunk-W2245F6G.js";
10
10
  import "../chunk-2ESYSVXG.js";
11
11
  export {
@@ -8,12 +8,12 @@ import {
8
8
  SplitScreen,
9
9
  StaggeredBentoGrid,
10
10
  catalog
11
- } from "../chunk-YV5AYMNK.js";
11
+ } from "../chunk-JRJQECCF.js";
12
12
  import "../chunk-XHGZ2E77.js";
13
13
  import "../chunk-W2245F6G.js";
14
- import "../chunk-DEDZKZ6G.js";
15
- import "../chunk-TZ7DKL2G.js";
16
- import "../chunk-7YL7NJJF.js";
14
+ import "../chunk-JBWSK2YD.js";
15
+ import "../chunk-OBA6NW4S.js";
16
+ import "../chunk-XACXNDFL.js";
17
17
  import "../chunk-2L7PYYJK.js";
18
18
  import "../chunk-AVTEPAWI.js";
19
19
  import "../chunk-2ESYSVXG.js";
@@ -8,15 +8,15 @@ import {
8
8
  ProductLaunchTrailer,
9
9
  TerminalToBrowserDeploy,
10
10
  catalog
11
- } from "../chunk-PRSRV7AT.js";
12
- import "../chunk-QGAWDLYX.js";
11
+ } from "../chunk-IAQHWJUO.js";
13
12
  import "../chunk-S5H6GH6M.js";
14
13
  import "../chunk-QAGGJHAF.js";
15
14
  import "../chunk-MFHXCHRI.js";
15
+ import "../chunk-QGAWDLYX.js";
16
16
  import "../chunk-W2245F6G.js";
17
- import "../chunk-DEDZKZ6G.js";
18
- import "../chunk-TZ7DKL2G.js";
19
- import "../chunk-7YL7NJJF.js";
17
+ import "../chunk-JBWSK2YD.js";
18
+ import "../chunk-OBA6NW4S.js";
19
+ import "../chunk-XACXNDFL.js";
20
20
  import "../chunk-2L7PYYJK.js";
21
21
  import "../chunk-AVTEPAWI.js";
22
22
  import "../chunk-2ESYSVXG.js";
@@ -21,13 +21,13 @@ import {
21
21
  TrackingIn,
22
22
  Typewriter,
23
23
  catalog
24
- } from "../chunk-ZS3A3QUM.js";
24
+ } from "../chunk-ZDL7XEXW.js";
25
25
  import "../chunk-U4V4FZGE.js";
26
26
  import "../chunk-DLF4WVSE.js";
27
27
  import "../chunk-LT4PWSR2.js";
28
28
  import "../chunk-FWSJLHSV.js";
29
- import "../chunk-ZFEXATWN.js";
30
29
  import "../chunk-XHGZ2E77.js";
30
+ import "../chunk-ZFEXATWN.js";
31
31
  import "../chunk-W2245F6G.js";
32
32
  import "../chunk-2ESYSVXG.js";
33
33
  export {
@@ -30,14 +30,14 @@ import {
30
30
  VisualDocsSnippet,
31
31
  VoiceWaveform,
32
32
  catalog
33
- } from "../chunk-A76GTLSA.js";
33
+ } from "../chunk-VLJOIUHL.js";
34
34
  import {
35
35
  DashboardPopulate
36
36
  } from "../chunk-S5H6GH6M.js";
37
+ import "../chunk-QAGGJHAF.js";
37
38
  import "../chunk-LT4PWSR2.js";
38
39
  import "../chunk-FWSJLHSV.js";
39
40
  import "../chunk-XHGZ2E77.js";
40
- import "../chunk-QAGGJHAF.js";
41
41
  import "../chunk-W2245F6G.js";
42
42
  import "../chunk-2ESYSVXG.js";
43
43
  export {