@cueframe/kernel 0.2.50 → 0.2.52

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 (51) hide show
  1. package/dist/_members/composition/validators/composition.d.ts +20 -0
  2. package/dist/_members/composition/validators/render.d.ts +2 -0
  3. package/dist/_members/composition-ops/index.d.ts +12 -0
  4. package/dist/_members/core/render/compositionAudioAndDepth.d.ts +8 -2
  5. package/dist/_members/core/render/compositionRender.d.ts +14 -0
  6. package/dist/_members/core/render/index.d.ts +1 -1
  7. package/dist/_members/core/render/types.d.ts +1 -0
  8. package/dist/authoring/build-tools.js +5 -5
  9. package/dist/authoring/context.js +4 -4
  10. package/dist/authoring/tools.js +4 -4
  11. package/dist/authoring.js +12 -12
  12. package/dist/{chunk-AOIY7NGF.js → chunk-2M65KQNG.js} +63 -0
  13. package/dist/{chunk-INYP56TC.js → chunk-3I43W7DP.js} +145 -9
  14. package/dist/{chunk-FYS2XUKJ.js → chunk-3OG2674K.js} +1 -1
  15. package/dist/{chunk-NLXQ7WTH.js → chunk-5JCLZPMV.js} +1 -1
  16. package/dist/{chunk-LZEX2GAY.js → chunk-CV3QQUMK.js} +27 -1
  17. package/dist/{chunk-OVV35ZS2.js → chunk-FSEB4LSU.js} +1 -1
  18. package/dist/{chunk-WIPIYUY2.js → chunk-IHXMBXXL.js} +11 -5
  19. package/dist/{chunk-XSBVOXSB.js → chunk-JWW54N24.js} +1 -1
  20. package/dist/{chunk-KY3QBG7O.js → chunk-KMDZDH5E.js} +4 -4
  21. package/dist/{chunk-LO3DH776.js → chunk-MBSQKRDF.js} +1 -1
  22. package/dist/{chunk-IHWC75AN.js → chunk-QVBUYWW6.js} +1 -1
  23. package/dist/{chunk-XVJU63TF.js → chunk-WZ22ZYXD.js} +4 -4
  24. package/dist/compose.js +23 -23
  25. package/dist/composition/graphics-plan.js +7 -7
  26. package/dist/composition/ops.js +3 -3
  27. package/dist/composition/projection.js +1 -1
  28. package/dist/composition/validators.js +6 -2
  29. package/dist/composition-ops.js +9 -5
  30. package/dist/composition.js +82 -78
  31. package/dist/{context-AIUJG7R4.js → context-2MBCDTCZ.js} +4 -4
  32. package/dist/core/render.js +7 -1
  33. package/dist/core.js +5 -1
  34. package/dist/mcp/adapter.js +2 -2
  35. package/dist/mcp/core.js +1 -1
  36. package/dist/mcp/scene-shot.js +2 -2
  37. package/dist/mcp/server.js +13 -9
  38. package/dist/mcp.js +13 -9
  39. package/dist/primitives/effects.js +2 -2
  40. package/dist/primitives/hero-text.js +2 -2
  41. package/dist/primitives/scenes.js +2 -2
  42. package/dist/primitives/text.js +2 -2
  43. package/dist/primitives/ui-blocks.js +4 -4
  44. package/dist/primitives.js +20 -20
  45. package/dist/render-harness.js +5 -1
  46. package/package.json +10 -10
  47. package/dist/{chunk-O3SJTX6S.js → chunk-4B4V3HYW.js} +4 -4
  48. package/dist/{chunk-7SXY6NFW.js → chunk-5ZQLMPDY.js} +3 -3
  49. package/dist/{chunk-RL5SO653.js → chunk-7SQOXIWR.js} +3 -3
  50. package/dist/{chunk-B3GSTQLR.js → chunk-VLJOIUHL.js} +6 -6
  51. package/dist/{chunk-RBWS5XHE.js → chunk-X34KW2SL.js} +4 -4
@@ -335,6 +335,11 @@ export declare const ClipFit: z.ZodEnum<{
335
335
  cover: "cover";
336
336
  }>;
337
337
  export type ClipFit = z.infer<typeof ClipFit>;
338
+ export declare const CaptionVisibility: z.ZodEnum<{
339
+ visible: "visible";
340
+ hidden: "hidden";
341
+ }>;
342
+ export type CaptionVisibility = z.infer<typeof CaptionVisibility>;
338
343
  export declare const PerClipEffect: z.ZodObject<{
339
344
  primitiveId: z.ZodString;
340
345
  params: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
@@ -543,6 +548,10 @@ export declare const TimelineClip: z.ZodObject<{
543
548
  contain: "contain";
544
549
  cover: "cover";
545
550
  }>>;
551
+ captionVisibility: z.ZodOptional<z.ZodEnum<{
552
+ visible: "visible";
553
+ hidden: "hidden";
554
+ }>>;
546
555
  effects: z.ZodOptional<z.ZodArray<z.ZodObject<{
547
556
  primitiveId: z.ZodString;
548
557
  params: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
@@ -698,6 +707,7 @@ export declare const TrackContent: z.ZodPipe<z.ZodUnknown, z.ZodTransform<{
698
707
  h: number;
699
708
  } | undefined;
700
709
  fit?: "contain" | "cover" | undefined;
710
+ captionVisibility?: "visible" | "hidden" | undefined;
701
711
  effects?: {
702
712
  primitiveId: string;
703
713
  params?: Record<string, unknown> | undefined;
@@ -857,6 +867,7 @@ export declare const Track: z.ZodObject<{
857
867
  h: number;
858
868
  } | undefined;
859
869
  fit?: "contain" | "cover" | undefined;
870
+ captionVisibility?: "visible" | "hidden" | undefined;
860
871
  effects?: {
861
872
  primitiveId: string;
862
873
  params?: Record<string, unknown> | undefined;
@@ -1148,6 +1159,13 @@ export declare function captionsAreBehindSubject(captions: {
1148
1159
  } | null | undefined): boolean;
1149
1160
  export type CompositionCaptions = z.infer<typeof CompositionCaptions>;
1150
1161
  export declare function captionWords(c: CompositionCaptions): CaptionWord[];
1162
+ /** One shared invariant for schema parsing, pure ops, and hosted writes. */
1163
+ export declare function captionVisibilityIssues(composition: {
1164
+ tracks: Track[];
1165
+ }): Array<{
1166
+ trackIndex: number;
1167
+ contentIndex: number;
1168
+ }>;
1151
1169
  export declare const Composition: z.ZodObject<{
1152
1170
  v: z.ZodLiteral<1>;
1153
1171
  format: z.ZodObject<{
@@ -1302,6 +1320,7 @@ export declare const Composition: z.ZodObject<{
1302
1320
  h: number;
1303
1321
  } | undefined;
1304
1322
  fit?: "contain" | "cover" | undefined;
1323
+ captionVisibility?: "visible" | "hidden" | undefined;
1305
1324
  effects?: {
1306
1325
  primitiveId: string;
1307
1326
  params?: Record<string, unknown> | undefined;
@@ -1698,6 +1717,7 @@ export declare const CompositionVersion: z.ZodObject<{
1698
1717
  h: number;
1699
1718
  } | undefined;
1700
1719
  fit?: "contain" | "cover" | undefined;
1720
+ captionVisibility?: "visible" | "hidden" | undefined;
1701
1721
  effects?: {
1702
1722
  primitiveId: string;
1703
1723
  params?: Record<string, unknown> | undefined;
@@ -205,6 +205,7 @@ export declare const RenderSnapshot: z.ZodObject<{
205
205
  h: number;
206
206
  } | undefined;
207
207
  fit?: "contain" | "cover" | undefined;
208
+ captionVisibility?: "visible" | "hidden" | undefined;
208
209
  effects?: {
209
210
  primitiveId: string;
210
211
  params?: Record<string, unknown> | undefined;
@@ -1049,6 +1050,7 @@ export declare const RenderJob: z.ZodObject<{
1049
1050
  h: number;
1050
1051
  } | undefined;
1051
1052
  fit?: "contain" | "cover" | undefined;
1053
+ captionVisibility?: "visible" | "hidden" | undefined;
1052
1054
  effects?: {
1053
1055
  primitiveId: string;
1054
1056
  params?: Record<string, unknown> | undefined;
@@ -170,6 +170,10 @@ export declare const CompositionOp: z.ZodDiscriminatedUnion<[z.ZodObject<{
170
170
  contain: "contain";
171
171
  cover: "cover";
172
172
  }>>;
173
+ captionVisibility: z.ZodOptional<z.ZodEnum<{
174
+ visible: "visible";
175
+ hidden: "hidden";
176
+ }>>;
173
177
  effects: z.ZodOptional<z.ZodArray<z.ZodObject<{
174
178
  primitiveId: z.ZodString;
175
179
  params: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
@@ -363,6 +367,10 @@ export declare const CompositionOp: z.ZodDiscriminatedUnion<[z.ZodObject<{
363
367
  contain: "contain";
364
368
  cover: "cover";
365
369
  }>>>;
370
+ captionVisibility: z.ZodOptional<z.ZodOptional<z.ZodEnum<{
371
+ visible: "visible";
372
+ hidden: "hidden";
373
+ }>>>;
366
374
  effects: z.ZodOptional<z.ZodOptional<z.ZodArray<z.ZodObject<{
367
375
  primitiveId: z.ZodString;
368
376
  params: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
@@ -552,6 +560,10 @@ export declare const CompositionOp: z.ZodDiscriminatedUnion<[z.ZodObject<{
552
560
  contain: "contain";
553
561
  cover: "cover";
554
562
  }>>;
563
+ captionVisibility: z.ZodOptional<z.ZodEnum<{
564
+ visible: "visible";
565
+ hidden: "hidden";
566
+ }>>;
555
567
  effects: z.ZodOptional<z.ZodArray<z.ZodObject<{
556
568
  primitiveId: z.ZodString;
557
569
  params: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
@@ -7,13 +7,19 @@ export declare function assertBehindSubjectCaptionCoverage(captionSegments: Rend
7
7
  width: number;
8
8
  height: number;
9
9
  }, effects?: readonly CompositionEffect[]): void;
10
+ /** The geometry needed to decide which video picture is visible, without an asset URL. */
11
+ export type VisiblePictureClip = Pick<CompositionClip, 'id' | 'trackId' | 'contentIndex' | 'layerIndex' | 'timelineStartFrames' | 'durationInFrames'> & Partial<Pick<CompositionClip, 'region' | 'fit' | 'sourceWidth' | 'sourceHeight' | 'cropTrajectory' | 'cropTrajectoryUrl' | 'captionVisibility' | 'packedUrl' | 'mediaType'>> & {
12
+ hasClipEffects?: boolean;
13
+ hasCropIntent?: boolean;
14
+ };
10
15
  /** The visible full-frame picture at each interval, following the renderer's zIndex/layer order. */
11
- export declare function visiblePackedHostWindows(clips: readonly CompositionClip[], startFrame: number, endFrame: number, output: {
16
+ export declare function visiblePackedHostWindows(clips: readonly VisiblePictureClip[], startFrame: number, endFrame: number, output: {
12
17
  width: number;
13
18
  height: number;
14
- }, effects?: readonly CompositionEffect[]): Array<{
19
+ }, effects?: readonly CompositionEffect[], hostMode?: 'packed-only' | 'all-video-candidates'): Array<{
15
20
  startFrame: number;
16
21
  endFrame: number;
17
22
  hostClipId?: string;
18
23
  candidateClipIds: string[];
24
+ captionVisible: boolean;
19
25
  }>;
@@ -2,10 +2,24 @@ import type { Composition, Format, TimelineClip as WireClip } from "../../compos
2
2
  import type { RenderInput } from "./types.js";
3
3
  import type { TrajectoryData } from "../../composition/reframe/trajectory.js";
4
4
  import { type PreparedRenderInputLeaseV1, type SceneShotPreparationDependenciesV1 } from "./sceneShotPreparation.js";
5
+ import { visiblePackedHostWindows } from "./compositionAudioAndDepth.js";
5
6
  export { validateComposition } from "./compositionValidation.js";
6
7
  export { assertBehindSubjectCaptionCoverage, visiblePackedHostWindows } from "./compositionAudioAndDepth.js";
7
8
  /** Re-exported from `trackProjection`, where the frame-lattice helpers it belongs with now live. */
8
9
  export { playableSpans, projectMediaPlaybackSpans } from "./trackProjection.js";
10
+ /**
11
+ * Project the saved video timeline into candidate visible-picture windows for fact planning.
12
+ * No source URL or matte binding is created here. A hostClipId names the uniquely visible
13
+ * video candidate; callers must still check that its exact matte exists and is ready.
14
+ */
15
+ export declare function captionVisibilityWindowsForComposition(composition: Composition, sourceDimensions: Record<string, {
16
+ width: number;
17
+ height: number;
18
+ }>): {
19
+ fps: number;
20
+ windows: ReturnType<typeof visiblePackedHostWindows>;
21
+ mediaIdByProjectedClipId: Record<string, string>;
22
+ };
9
23
  export declare function compositionFormatDimensions(format: Format): {
10
24
  width: number;
11
25
  height: number;
@@ -11,7 +11,7 @@ export type { EmphasisWord } from './emphasis.js';
11
11
  export type { DocNode, TranscriptUtterance } from './captions.js';
12
12
  export { buildEmphasisSet, isEmphasized } from './emphasis.js';
13
13
  export { extractCaptionWordsFromDoc, sliceTranscriptWords, splitIntoSentences } from './captions.js';
14
- export { compositionToRenderInput, referencedMediaIds, assembleRenderInput, assemblePreparedRenderInput, validateComposition, compositionFormatDimensions, playableSpans, projectMediaPlaybackSpans, assertBehindSubjectCaptionCoverage, visiblePackedHostWindows, } from './compositionRender.js';
14
+ export { compositionToRenderInput, referencedMediaIds, assembleRenderInput, assemblePreparedRenderInput, validateComposition, compositionFormatDimensions, captionVisibilityWindowsForComposition, playableSpans, projectMediaPlaybackSpans, assertBehindSubjectCaptionCoverage, visiblePackedHostWindows, } from './compositionRender.js';
15
15
  export { bookendFrames, resolveBookendTimeline, CARD_BOOKEND_DEFAULT_MS, VIDEO_BOOKEND_DEFAULT_MS, } from './bookends.js';
16
16
  export type { BookendTimeline } from './bookends.js';
17
17
  export { DEFAULT_FPS, DEFAULT_WIDTH, DEFAULT_HEIGHT, DEFAULT_RENDER_SETTINGS, FORMAT_PRESETS, RESOLUTION_PRESETS, bppToCrf, ensureEven, qualityToCrf, resolutionToOutputSize, } from './exportSettings.js';
@@ -69,6 +69,7 @@ export interface CompositionClip extends ProjectedVisualIdentity {
69
69
  h: number;
70
70
  };
71
71
  fit?: 'cover' | 'contain';
72
+ captionVisibility?: 'visible' | 'hidden';
72
73
  mediaType?: 'video' | 'audio' | 'image';
73
74
  kenBurns?: 'in' | 'out' | 'pan-l' | 'pan-r' | 'none';
74
75
  reframe?: Reframe;
@@ -4,13 +4,13 @@ import {
4
4
  buildPlannerTools,
5
5
  buildToolsFromSchemas,
6
6
  extractProviderError
7
- } from "../chunk-IHWC75AN.js";
8
- import "../chunk-KY3QBG7O.js";
7
+ } from "../chunk-QVBUYWW6.js";
8
+ import "../chunk-KMDZDH5E.js";
9
9
  import "../chunk-JOURGVOR.js";
10
10
  import "../chunk-7AZLFN26.js";
11
- import "../chunk-NLXQ7WTH.js";
12
- import "../chunk-LO3DH776.js";
13
- import "../chunk-LZEX2GAY.js";
11
+ import "../chunk-5JCLZPMV.js";
12
+ import "../chunk-MBSQKRDF.js";
13
+ import "../chunk-CV3QQUMK.js";
14
14
  import "../chunk-WPZKOVYF.js";
15
15
  import "../chunk-B7J5UUUV.js";
16
16
  import "../chunk-KYRDKK2D.js";
@@ -1,9 +1,9 @@
1
1
  import {
2
2
  buildDirectorContext
3
- } from "../chunk-OVV35ZS2.js";
4
- import "../chunk-NLXQ7WTH.js";
5
- import "../chunk-LO3DH776.js";
6
- import "../chunk-LZEX2GAY.js";
3
+ } from "../chunk-FSEB4LSU.js";
4
+ import "../chunk-5JCLZPMV.js";
5
+ import "../chunk-MBSQKRDF.js";
6
+ import "../chunk-CV3QQUMK.js";
7
7
  import "../chunk-WPZKOVYF.js";
8
8
  import "../chunk-B7J5UUUV.js";
9
9
  import "../chunk-KYRDKK2D.js";
@@ -6,12 +6,12 @@ import {
6
6
  COMPOSE_ROLE_TOOLS,
7
7
  COMPOSE_ROLE_TOOL_NAMES,
8
8
  dispatchComposeRoleTool
9
- } from "../chunk-KY3QBG7O.js";
9
+ } from "../chunk-KMDZDH5E.js";
10
10
  import "../chunk-JOURGVOR.js";
11
11
  import "../chunk-7AZLFN26.js";
12
- import "../chunk-NLXQ7WTH.js";
13
- import "../chunk-LO3DH776.js";
14
- import "../chunk-LZEX2GAY.js";
12
+ import "../chunk-5JCLZPMV.js";
13
+ import "../chunk-MBSQKRDF.js";
14
+ import "../chunk-CV3QQUMK.js";
15
15
  import "../chunk-WPZKOVYF.js";
16
16
  import "../chunk-B7J5UUUV.js";
17
17
  import "../chunk-KYRDKK2D.js";
package/dist/authoring.js CHANGED
@@ -11,7 +11,7 @@ import {
11
11
  buildPlannerTools,
12
12
  buildToolsFromSchemas,
13
13
  extractProviderError
14
- } from "./chunk-IHWC75AN.js";
14
+ } from "./chunk-QVBUYWW6.js";
15
15
  import {
16
16
  COMPOSE_MOTION_TOOLS,
17
17
  COMPOSE_MOTION_VERIFY_TOOLS,
@@ -20,14 +20,14 @@ import {
20
20
  COMPOSE_ROLE_TOOLS,
21
21
  COMPOSE_ROLE_TOOL_NAMES,
22
22
  dispatchComposeRoleTool
23
- } from "./chunk-KY3QBG7O.js";
23
+ } from "./chunk-KMDZDH5E.js";
24
24
  import {
25
25
  AgentFixableCaptureError,
26
26
  getExcludedTools
27
27
  } from "./chunk-JOURGVOR.js";
28
28
  import {
29
29
  buildDirectorContext
30
- } from "./chunk-OVV35ZS2.js";
30
+ } from "./chunk-FSEB4LSU.js";
31
31
  import {
32
32
  buildFastModel,
33
33
  buildModel,
@@ -48,22 +48,22 @@ import {
48
48
  formatPlanSteps,
49
49
  initCodeGenPrompts
50
50
  } from "./chunk-Y4HPN4BC.js";
51
- import "./chunk-6WQHVYJD.js";
52
- import {
53
- cssLayoutVars
54
- } from "./chunk-Z6NY6MCL.js";
55
- import "./chunk-ILO4NEZ3.js";
56
51
  import "./chunk-7AZLFN26.js";
57
- import "./chunk-VG2ND6PX.js";
58
- import "./chunk-NLXQ7WTH.js";
59
- import "./chunk-LO3DH776.js";
60
- import "./chunk-LZEX2GAY.js";
52
+ import "./chunk-5JCLZPMV.js";
53
+ import "./chunk-MBSQKRDF.js";
54
+ import "./chunk-CV3QQUMK.js";
61
55
  import "./chunk-WPZKOVYF.js";
62
56
  import "./chunk-B7J5UUUV.js";
63
57
  import "./chunk-KYRDKK2D.js";
58
+ import "./chunk-6WQHVYJD.js";
59
+ import {
60
+ cssLayoutVars
61
+ } from "./chunk-Z6NY6MCL.js";
64
62
  import "./chunk-WREYUH2E.js";
63
+ import "./chunk-ILO4NEZ3.js";
65
64
  import "./chunk-E63UEO5C.js";
66
65
  import "./chunk-7PA7FGLD.js";
66
+ import "./chunk-VG2ND6PX.js";
67
67
  import {
68
68
  collectSceneClipIssues,
69
69
  isSceneShotClip
@@ -1436,6 +1436,7 @@ var BriefCreateRequest = zod19.strictObject({
1436
1436
  "h": zod19.number().gt(briefCreateRequestSeededGraphicsItemRegionHExclusiveMin).max(briefCreateRequestSeededGraphicsItemRegionHMax)
1437
1437
  }).optional(),
1438
1438
  "fit": zod19.enum(["cover", "contain"]).optional(),
1439
+ "captionVisibility": zod19.enum(["visible", "hidden"]).optional().describe("Video media clip only. Hide native captions while this clip is the visible full-frame picture; caption words and timings remain stored and resume when another visible clip takes over."),
1439
1440
  "effects": zod19.array(zod19.strictObject({
1440
1441
  "primitiveId": zod19.string().min(1),
1441
1442
  "params": zod19.record(zod19.string(), zod19.unknown()).optional()
@@ -1697,6 +1698,7 @@ var BriefResponse = zod21.strictObject({
1697
1698
  "h": zod21.number().gt(briefResponseSeededGraphicsItemRegionHExclusiveMin).max(briefResponseSeededGraphicsItemRegionHMax)
1698
1699
  }).optional(),
1699
1700
  "fit": zod21.enum(["cover", "contain"]).optional(),
1701
+ "captionVisibility": zod21.enum(["visible", "hidden"]).optional().describe("Video media clip only. Hide native captions while this clip is the visible full-frame picture; caption words and timings remain stored and resume when another visible clip takes over."),
1700
1702
  "effects": zod21.array(zod21.strictObject({
1701
1703
  "primitiveId": zod21.string().min(1),
1702
1704
  "params": zod21.record(zod21.string(), zod21.unknown()).optional()
@@ -1947,6 +1949,7 @@ var BriefPatchRequest = zod23.strictObject({
1947
1949
  "h": zod23.number().gt(briefPatchRequestSeededGraphicsItemRegionHExclusiveMin).max(briefPatchRequestSeededGraphicsItemRegionHMax)
1948
1950
  }).optional(),
1949
1951
  "fit": zod23.enum(["cover", "contain"]).optional(),
1952
+ "captionVisibility": zod23.enum(["visible", "hidden"]).optional().describe("Video media clip only. Hide native captions while this clip is the visible full-frame picture; caption words and timings remain stored and resume when another visible clip takes over."),
1950
1953
  "effects": zod23.array(zod23.strictObject({
1951
1954
  "primitiveId": zod23.string().min(1),
1952
1955
  "params": zod23.record(zod23.string(), zod23.unknown()).optional()
@@ -2584,6 +2587,14 @@ var compositionCaptionsOneSegmentsItemWordsItemEndMsMin = 0;
2584
2587
  var compositionCaptionsOneStyleFontSizeMax = 15;
2585
2588
  var compositionCaptionsOneStyleFontWeightMin = 100;
2586
2589
  var compositionCaptionsOneStyleFontWeightMax = 900;
2590
+ var compositionCaptionsOneStyleRegionXMin = 0;
2591
+ var compositionCaptionsOneStyleRegionXMax = 1;
2592
+ var compositionCaptionsOneStyleRegionYMin = 0;
2593
+ var compositionCaptionsOneStyleRegionYMax = 1;
2594
+ var compositionCaptionsOneStyleRegionWExclusiveMin = 0;
2595
+ var compositionCaptionsOneStyleRegionWMax = 1;
2596
+ var compositionCaptionsOneStyleRegionHExclusiveMin = 0;
2597
+ var compositionCaptionsOneStyleRegionHMax = 1;
2587
2598
  var compositionCaptionsOneStyleEmphasisScaleExclusiveMin = 0;
2588
2599
  var compositionCaptionsOneStyleEmphasisFontWeightMin = 100;
2589
2600
  var compositionCaptionsOneStyleEmphasisFontWeightMax = 900;
@@ -2598,6 +2609,14 @@ var compositionCaptionsTwoSegmentsItemWordsItemEndMsMin = 0;
2598
2609
  var compositionCaptionsTwoStyleFontSizeMax = 15;
2599
2610
  var compositionCaptionsTwoStyleFontWeightMin = 100;
2600
2611
  var compositionCaptionsTwoStyleFontWeightMax = 900;
2612
+ var compositionCaptionsTwoStyleRegionXMin = 0;
2613
+ var compositionCaptionsTwoStyleRegionXMax = 1;
2614
+ var compositionCaptionsTwoStyleRegionYMin = 0;
2615
+ var compositionCaptionsTwoStyleRegionYMax = 1;
2616
+ var compositionCaptionsTwoStyleRegionWExclusiveMin = 0;
2617
+ var compositionCaptionsTwoStyleRegionWMax = 1;
2618
+ var compositionCaptionsTwoStyleRegionHExclusiveMin = 0;
2619
+ var compositionCaptionsTwoStyleRegionHMax = 1;
2601
2620
  var compositionCaptionsTwoStyleEmphasisScaleExclusiveMin = 0;
2602
2621
  var compositionCaptionsTwoStyleEmphasisFontWeightMin = 100;
2603
2622
  var compositionCaptionsTwoStyleEmphasisFontWeightMax = 900;
@@ -2739,6 +2758,7 @@ var Composition = zod58.strictObject({
2739
2758
  "h": zod58.number().gt(compositionTracksItemContentsItemOneRegionHExclusiveMin).max(compositionTracksItemContentsItemOneRegionHMax)
2740
2759
  }).optional(),
2741
2760
  "fit": zod58.enum(["cover", "contain"]).optional(),
2761
+ "captionVisibility": zod58.enum(["visible", "hidden"]).optional().describe("Video media clip only. Hide native captions while this clip is the visible full-frame picture; caption words and timings remain stored and resume when another visible clip takes over."),
2742
2762
  "effects": zod58.array(zod58.strictObject({
2743
2763
  "primitiveId": zod58.string().min(1),
2744
2764
  "params": zod58.record(zod58.string(), zod58.unknown()).optional()
@@ -2797,6 +2817,12 @@ var Composition = zod58.strictObject({
2797
2817
  "backgroundColor": zod58.string().optional(),
2798
2818
  "plate": zod58.enum(["glass", "solid", "none"]).optional(),
2799
2819
  "position": zod58.enum(["top", "center", "bottom"]).optional(),
2820
+ "region": zod58.strictObject({
2821
+ "x": zod58.number().min(compositionCaptionsOneStyleRegionXMin).max(compositionCaptionsOneStyleRegionXMax),
2822
+ "y": zod58.number().min(compositionCaptionsOneStyleRegionYMin).max(compositionCaptionsOneStyleRegionYMax),
2823
+ "w": zod58.number().gt(compositionCaptionsOneStyleRegionWExclusiveMin).max(compositionCaptionsOneStyleRegionWMax),
2824
+ "h": zod58.number().gt(compositionCaptionsOneStyleRegionHExclusiveMin).max(compositionCaptionsOneStyleRegionHMax)
2825
+ }).optional().describe("Optional caption layout box {x,y,w,h} in normalized output-frame coordinates. Overrides position; text starts at its top edge and wraps/pages within its width and height."),
2800
2826
  "textTransform": zod58.enum(["none", "uppercase", "capitalize"]).optional(),
2801
2827
  "emphasisColor": zod58.string().optional(),
2802
2828
  "emphasisGradient": zod58.string().optional(),
@@ -2842,6 +2868,12 @@ var Composition = zod58.strictObject({
2842
2868
  "backgroundColor": zod58.string().optional(),
2843
2869
  "plate": zod58.enum(["glass", "solid", "none"]).optional(),
2844
2870
  "position": zod58.enum(["top", "center", "bottom"]).optional(),
2871
+ "region": zod58.strictObject({
2872
+ "x": zod58.number().min(compositionCaptionsTwoStyleRegionXMin).max(compositionCaptionsTwoStyleRegionXMax),
2873
+ "y": zod58.number().min(compositionCaptionsTwoStyleRegionYMin).max(compositionCaptionsTwoStyleRegionYMax),
2874
+ "w": zod58.number().gt(compositionCaptionsTwoStyleRegionWExclusiveMin).max(compositionCaptionsTwoStyleRegionWMax),
2875
+ "h": zod58.number().gt(compositionCaptionsTwoStyleRegionHExclusiveMin).max(compositionCaptionsTwoStyleRegionHMax)
2876
+ }).optional().describe("Optional caption layout box {x,y,w,h} in normalized output-frame coordinates. Overrides position; text starts at its top edge and wraps/pages within its width and height."),
2845
2877
  "textTransform": zod58.enum(["none", "uppercase", "capitalize"]).optional(),
2846
2878
  "emphasisColor": zod58.string().optional(),
2847
2879
  "emphasisGradient": zod58.string().optional(),
@@ -6072,6 +6104,14 @@ var compositionOpOneoneSegmentsOneItemBiasYMax = 0.3;
6072
6104
  var compositionOpOnethreeStyleFontSizeMax = 15;
6073
6105
  var compositionOpOnethreeStyleFontWeightMin = 100;
6074
6106
  var compositionOpOnethreeStyleFontWeightMax = 900;
6107
+ var compositionOpOnethreeStyleRegionXMin = 0;
6108
+ var compositionOpOnethreeStyleRegionXMax = 1;
6109
+ var compositionOpOnethreeStyleRegionYMin = 0;
6110
+ var compositionOpOnethreeStyleRegionYMax = 1;
6111
+ var compositionOpOnethreeStyleRegionWExclusiveMin = 0;
6112
+ var compositionOpOnethreeStyleRegionWMax = 1;
6113
+ var compositionOpOnethreeStyleRegionHExclusiveMin = 0;
6114
+ var compositionOpOnethreeStyleRegionHMax = 1;
6075
6115
  var compositionOpOnethreeStyleEmphasisScaleExclusiveMin = 0;
6076
6116
  var compositionOpOnethreeStyleEmphasisFontWeightMin = 100;
6077
6117
  var compositionOpOnethreeStyleEmphasisFontWeightMax = 900;
@@ -6086,6 +6126,14 @@ var compositionOpOnefiveSegmentsItemWordsItemEndMsMin = 0;
6086
6126
  var compositionOpOnefiveStyleFontSizeMax = 15;
6087
6127
  var compositionOpOnefiveStyleFontWeightMin = 100;
6088
6128
  var compositionOpOnefiveStyleFontWeightMax = 900;
6129
+ var compositionOpOnefiveStyleRegionXMin = 0;
6130
+ var compositionOpOnefiveStyleRegionXMax = 1;
6131
+ var compositionOpOnefiveStyleRegionYMin = 0;
6132
+ var compositionOpOnefiveStyleRegionYMax = 1;
6133
+ var compositionOpOnefiveStyleRegionWExclusiveMin = 0;
6134
+ var compositionOpOnefiveStyleRegionWMax = 1;
6135
+ var compositionOpOnefiveStyleRegionHExclusiveMin = 0;
6136
+ var compositionOpOnefiveStyleRegionHMax = 1;
6089
6137
  var compositionOpOnefiveStyleEmphasisScaleExclusiveMin = 0;
6090
6138
  var compositionOpOnefiveStyleEmphasisFontWeightMin = 100;
6091
6139
  var compositionOpOnefiveStyleEmphasisFontWeightMax = 900;
@@ -6238,6 +6286,7 @@ var CompositionOp = zod67.union([zod67.strictObject({
6238
6286
  "h": zod67.number().gt(compositionOpThreeClipRegionHExclusiveMin).max(compositionOpThreeClipRegionHMax)
6239
6287
  }).optional(),
6240
6288
  "fit": zod67.enum(["cover", "contain"]).optional(),
6289
+ "captionVisibility": zod67.enum(["visible", "hidden"]).optional().describe("Video media clip only. Hide native captions while this clip is the visible full-frame picture; caption words and timings remain stored and resume when another visible clip takes over."),
6241
6290
  "effects": zod67.array(zod67.strictObject({
6242
6291
  "primitiveId": zod67.string().min(1),
6243
6292
  "params": zod67.record(zod67.string(), zod67.unknown()).optional()
@@ -6387,6 +6436,7 @@ var CompositionOp = zod67.union([zod67.strictObject({
6387
6436
  "h": zod67.number().gt(compositionOpFivePatchRegionHExclusiveMin).max(compositionOpFivePatchRegionHMax)
6388
6437
  }).optional(),
6389
6438
  "fit": zod67.enum(["cover", "contain"]).optional(),
6439
+ "captionVisibility": zod67.enum(["visible", "hidden"]).optional().describe("Video media clip only. Hide native captions while this clip is the visible full-frame picture; caption words and timings remain stored and resume when another visible clip takes over."),
6390
6440
  "effects": zod67.array(zod67.strictObject({
6391
6441
  "primitiveId": zod67.string().min(1),
6392
6442
  "params": zod67.record(zod67.string(), zod67.unknown()).optional()
@@ -6532,6 +6582,7 @@ var CompositionOp = zod67.union([zod67.strictObject({
6532
6582
  "h": zod67.number().gt(compositionOpSevenClipsItemRegionHExclusiveMin).max(compositionOpSevenClipsItemRegionHMax)
6533
6583
  }).optional(),
6534
6584
  "fit": zod67.enum(["cover", "contain"]).optional(),
6585
+ "captionVisibility": zod67.enum(["visible", "hidden"]).optional().describe("Video media clip only. Hide native captions while this clip is the visible full-frame picture; caption words and timings remain stored and resume when another visible clip takes over."),
6535
6586
  "effects": zod67.array(zod67.strictObject({
6536
6587
  "primitiveId": zod67.string().min(1),
6537
6588
  "params": zod67.record(zod67.string(), zod67.unknown()).optional()
@@ -6628,6 +6679,12 @@ var CompositionOp = zod67.union([zod67.strictObject({
6628
6679
  "backgroundColor": zod67.string().optional(),
6629
6680
  "plate": zod67.enum(["glass", "solid", "none"]).optional(),
6630
6681
  "position": zod67.enum(["top", "center", "bottom"]).optional(),
6682
+ "region": zod67.strictObject({
6683
+ "x": zod67.number().min(compositionOpOnethreeStyleRegionXMin).max(compositionOpOnethreeStyleRegionXMax),
6684
+ "y": zod67.number().min(compositionOpOnethreeStyleRegionYMin).max(compositionOpOnethreeStyleRegionYMax),
6685
+ "w": zod67.number().gt(compositionOpOnethreeStyleRegionWExclusiveMin).max(compositionOpOnethreeStyleRegionWMax),
6686
+ "h": zod67.number().gt(compositionOpOnethreeStyleRegionHExclusiveMin).max(compositionOpOnethreeStyleRegionHMax)
6687
+ }).optional().describe("Optional caption layout box {x,y,w,h} in normalized output-frame coordinates. Overrides position; text starts at its top edge and wraps/pages within its width and height."),
6631
6688
  "textTransform": zod67.enum(["none", "uppercase", "capitalize"]).optional(),
6632
6689
  "emphasisColor": zod67.string().optional(),
6633
6690
  "emphasisGradient": zod67.string().optional(),
@@ -6675,6 +6732,12 @@ var CompositionOp = zod67.union([zod67.strictObject({
6675
6732
  "backgroundColor": zod67.string().optional(),
6676
6733
  "plate": zod67.enum(["glass", "solid", "none"]).optional(),
6677
6734
  "position": zod67.enum(["top", "center", "bottom"]).optional(),
6735
+ "region": zod67.strictObject({
6736
+ "x": zod67.number().min(compositionOpOnefiveStyleRegionXMin).max(compositionOpOnefiveStyleRegionXMax),
6737
+ "y": zod67.number().min(compositionOpOnefiveStyleRegionYMin).max(compositionOpOnefiveStyleRegionYMax),
6738
+ "w": zod67.number().gt(compositionOpOnefiveStyleRegionWExclusiveMin).max(compositionOpOnefiveStyleRegionWMax),
6739
+ "h": zod67.number().gt(compositionOpOnefiveStyleRegionHExclusiveMin).max(compositionOpOnefiveStyleRegionHMax)
6740
+ }).optional().describe("Optional caption layout box {x,y,w,h} in normalized output-frame coordinates. Overrides position; text starts at its top edge and wraps/pages within its width and height."),
6678
6741
  "textTransform": zod67.enum(["none", "uppercase", "capitalize"]).optional(),
6679
6742
  "emphasisColor": zod67.string().optional(),
6680
6743
  "emphasisGradient": zod67.string().optional(),