@cueframe/kernel 0.2.49 → 0.2.50
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/composition/validators/composition.d.ts +49 -0
- package/dist/_members/composition/validators/render.d.ts +24 -0
- package/dist/_members/composition-ops/index.d.ts +12 -0
- package/dist/_members/primitives/captions/placement.d.ts +6 -1
- package/dist/authoring/build-tools.js +5 -5
- package/dist/authoring/context.js +4 -4
- package/dist/authoring/tools.js +4 -4
- package/dist/authoring.js +6 -6
- package/dist/{chunk-CFIQY4OE.js → chunk-4WBSXHQA.js} +8 -4
- package/dist/{chunk-4FKNPTLX.js → chunk-IHWC75AN.js} +1 -1
- package/dist/{chunk-BBNF4QLD.js → chunk-KY3QBG7O.js} +4 -4
- package/dist/{chunk-AG7HKF2U.js → chunk-LO3DH776.js} +1 -1
- package/dist/{chunk-ID5QY7V6.js → chunk-LZEX2GAY.js} +8 -0
- package/dist/{chunk-VEQTURKN.js → chunk-NLXQ7WTH.js} +1 -1
- package/dist/{chunk-SLUTOUWI.js → chunk-OVV35ZS2.js} +1 -1
- package/dist/{chunk-DJRKEUK3.js → chunk-WIPIYUY2.js} +3 -3
- package/dist/{chunk-E3FYYVCG.js → chunk-XVJU63TF.js} +2 -2
- package/dist/composition/graphics-plan.js +1 -1
- package/dist/composition/ops.js +3 -3
- package/dist/composition/validators.js +4 -2
- package/dist/composition-ops.js +6 -6
- package/dist/composition.js +4 -2
- package/dist/{context-YNR73FNI.js → context-AIUJG7R4.js} +4 -4
- package/dist/core/render.js +2 -2
- package/dist/core.js +2 -2
- package/dist/mcp/adapter.js +1 -1
- package/dist/mcp/curation.js +1 -1
- package/dist/mcp/server.js +8 -8
- package/dist/mcp.js +8 -8
- package/dist/primitives/captions.js +34 -12
- package/dist/render-harness.js +8 -8
- package/package.json +11 -11
- package/dist/{chunk-4QMRY7KU.js → chunk-INYP56TC.js} +8 -8
|
@@ -323,6 +323,13 @@ export declare const Region: z.ZodObject<{
|
|
|
323
323
|
h: z.ZodNumber;
|
|
324
324
|
}, z.core.$strip>;
|
|
325
325
|
export type Region = z.infer<typeof Region>;
|
|
326
|
+
/** A caption layout box must stay wholly within the output frame. */
|
|
327
|
+
export declare const CaptionRegion: z.ZodObject<{
|
|
328
|
+
x: z.ZodNumber;
|
|
329
|
+
y: z.ZodNumber;
|
|
330
|
+
w: z.ZodNumber;
|
|
331
|
+
h: z.ZodNumber;
|
|
332
|
+
}, z.core.$strip>;
|
|
326
333
|
export declare const ClipFit: z.ZodEnum<{
|
|
327
334
|
contain: "contain";
|
|
328
335
|
cover: "cover";
|
|
@@ -910,6 +917,12 @@ export declare const CaptionStyle: z.ZodObject<{
|
|
|
910
917
|
center: "center";
|
|
911
918
|
bottom: "bottom";
|
|
912
919
|
}>>;
|
|
920
|
+
region: z.ZodOptional<z.ZodObject<{
|
|
921
|
+
x: z.ZodNumber;
|
|
922
|
+
y: z.ZodNumber;
|
|
923
|
+
w: z.ZodNumber;
|
|
924
|
+
h: z.ZodNumber;
|
|
925
|
+
}, z.core.$strip>>;
|
|
913
926
|
textTransform: z.ZodOptional<z.ZodEnum<{
|
|
914
927
|
none: "none";
|
|
915
928
|
uppercase: "uppercase";
|
|
@@ -998,6 +1011,12 @@ export declare const CompositionCaptions: z.ZodDiscriminatedUnion<[z.ZodObject<{
|
|
|
998
1011
|
center: "center";
|
|
999
1012
|
bottom: "bottom";
|
|
1000
1013
|
}>>;
|
|
1014
|
+
region: z.ZodOptional<z.ZodObject<{
|
|
1015
|
+
x: z.ZodNumber;
|
|
1016
|
+
y: z.ZodNumber;
|
|
1017
|
+
w: z.ZodNumber;
|
|
1018
|
+
h: z.ZodNumber;
|
|
1019
|
+
}, z.core.$strip>>;
|
|
1001
1020
|
textTransform: z.ZodOptional<z.ZodEnum<{
|
|
1002
1021
|
none: "none";
|
|
1003
1022
|
uppercase: "uppercase";
|
|
@@ -1073,6 +1092,12 @@ export declare const CompositionCaptions: z.ZodDiscriminatedUnion<[z.ZodObject<{
|
|
|
1073
1092
|
center: "center";
|
|
1074
1093
|
bottom: "bottom";
|
|
1075
1094
|
}>>;
|
|
1095
|
+
region: z.ZodOptional<z.ZodObject<{
|
|
1096
|
+
x: z.ZodNumber;
|
|
1097
|
+
y: z.ZodNumber;
|
|
1098
|
+
w: z.ZodNumber;
|
|
1099
|
+
h: z.ZodNumber;
|
|
1100
|
+
}, z.core.$strip>>;
|
|
1076
1101
|
textTransform: z.ZodOptional<z.ZodEnum<{
|
|
1077
1102
|
none: "none";
|
|
1078
1103
|
uppercase: "uppercase";
|
|
@@ -1341,6 +1366,12 @@ export declare const Composition: z.ZodObject<{
|
|
|
1341
1366
|
center: "center";
|
|
1342
1367
|
bottom: "bottom";
|
|
1343
1368
|
}>>;
|
|
1369
|
+
region: z.ZodOptional<z.ZodObject<{
|
|
1370
|
+
x: z.ZodNumber;
|
|
1371
|
+
y: z.ZodNumber;
|
|
1372
|
+
w: z.ZodNumber;
|
|
1373
|
+
h: z.ZodNumber;
|
|
1374
|
+
}, z.core.$strip>>;
|
|
1344
1375
|
textTransform: z.ZodOptional<z.ZodEnum<{
|
|
1345
1376
|
none: "none";
|
|
1346
1377
|
uppercase: "uppercase";
|
|
@@ -1416,6 +1447,12 @@ export declare const Composition: z.ZodObject<{
|
|
|
1416
1447
|
center: "center";
|
|
1417
1448
|
bottom: "bottom";
|
|
1418
1449
|
}>>;
|
|
1450
|
+
region: z.ZodOptional<z.ZodObject<{
|
|
1451
|
+
x: z.ZodNumber;
|
|
1452
|
+
y: z.ZodNumber;
|
|
1453
|
+
w: z.ZodNumber;
|
|
1454
|
+
h: z.ZodNumber;
|
|
1455
|
+
}, z.core.$strip>>;
|
|
1419
1456
|
textTransform: z.ZodOptional<z.ZodEnum<{
|
|
1420
1457
|
none: "none";
|
|
1421
1458
|
uppercase: "uppercase";
|
|
@@ -1725,6 +1762,12 @@ export declare const CompositionVersion: z.ZodObject<{
|
|
|
1725
1762
|
center: "center";
|
|
1726
1763
|
bottom: "bottom";
|
|
1727
1764
|
}>>;
|
|
1765
|
+
region: z.ZodOptional<z.ZodObject<{
|
|
1766
|
+
x: z.ZodNumber;
|
|
1767
|
+
y: z.ZodNumber;
|
|
1768
|
+
w: z.ZodNumber;
|
|
1769
|
+
h: z.ZodNumber;
|
|
1770
|
+
}, z.core.$strip>>;
|
|
1728
1771
|
textTransform: z.ZodOptional<z.ZodEnum<{
|
|
1729
1772
|
none: "none";
|
|
1730
1773
|
uppercase: "uppercase";
|
|
@@ -1800,6 +1843,12 @@ export declare const CompositionVersion: z.ZodObject<{
|
|
|
1800
1843
|
center: "center";
|
|
1801
1844
|
bottom: "bottom";
|
|
1802
1845
|
}>>;
|
|
1846
|
+
region: z.ZodOptional<z.ZodObject<{
|
|
1847
|
+
x: z.ZodNumber;
|
|
1848
|
+
y: z.ZodNumber;
|
|
1849
|
+
w: z.ZodNumber;
|
|
1850
|
+
h: z.ZodNumber;
|
|
1851
|
+
}, z.core.$strip>>;
|
|
1803
1852
|
textTransform: z.ZodOptional<z.ZodEnum<{
|
|
1804
1853
|
none: "none";
|
|
1805
1854
|
uppercase: "uppercase";
|
|
@@ -269,6 +269,12 @@ export declare const RenderSnapshot: z.ZodObject<{
|
|
|
269
269
|
center: "center";
|
|
270
270
|
bottom: "bottom";
|
|
271
271
|
}>>;
|
|
272
|
+
region: z.ZodOptional<z.ZodObject<{
|
|
273
|
+
x: z.ZodNumber;
|
|
274
|
+
y: z.ZodNumber;
|
|
275
|
+
w: z.ZodNumber;
|
|
276
|
+
h: z.ZodNumber;
|
|
277
|
+
}, z.core.$strip>>;
|
|
272
278
|
textTransform: z.ZodOptional<z.ZodEnum<{
|
|
273
279
|
none: "none";
|
|
274
280
|
uppercase: "uppercase";
|
|
@@ -344,6 +350,12 @@ export declare const RenderSnapshot: z.ZodObject<{
|
|
|
344
350
|
center: "center";
|
|
345
351
|
bottom: "bottom";
|
|
346
352
|
}>>;
|
|
353
|
+
region: z.ZodOptional<z.ZodObject<{
|
|
354
|
+
x: z.ZodNumber;
|
|
355
|
+
y: z.ZodNumber;
|
|
356
|
+
w: z.ZodNumber;
|
|
357
|
+
h: z.ZodNumber;
|
|
358
|
+
}, z.core.$strip>>;
|
|
347
359
|
textTransform: z.ZodOptional<z.ZodEnum<{
|
|
348
360
|
none: "none";
|
|
349
361
|
uppercase: "uppercase";
|
|
@@ -1101,6 +1113,12 @@ export declare const RenderJob: z.ZodObject<{
|
|
|
1101
1113
|
center: "center";
|
|
1102
1114
|
bottom: "bottom";
|
|
1103
1115
|
}>>;
|
|
1116
|
+
region: z.ZodOptional<z.ZodObject<{
|
|
1117
|
+
x: z.ZodNumber;
|
|
1118
|
+
y: z.ZodNumber;
|
|
1119
|
+
w: z.ZodNumber;
|
|
1120
|
+
h: z.ZodNumber;
|
|
1121
|
+
}, z.core.$strip>>;
|
|
1104
1122
|
textTransform: z.ZodOptional<z.ZodEnum<{
|
|
1105
1123
|
none: "none";
|
|
1106
1124
|
uppercase: "uppercase";
|
|
@@ -1176,6 +1194,12 @@ export declare const RenderJob: z.ZodObject<{
|
|
|
1176
1194
|
center: "center";
|
|
1177
1195
|
bottom: "bottom";
|
|
1178
1196
|
}>>;
|
|
1197
|
+
region: z.ZodOptional<z.ZodObject<{
|
|
1198
|
+
x: z.ZodNumber;
|
|
1199
|
+
y: z.ZodNumber;
|
|
1200
|
+
w: z.ZodNumber;
|
|
1201
|
+
h: z.ZodNumber;
|
|
1202
|
+
}, z.core.$strip>>;
|
|
1179
1203
|
textTransform: z.ZodOptional<z.ZodEnum<{
|
|
1180
1204
|
none: "none";
|
|
1181
1205
|
uppercase: "uppercase";
|
|
@@ -661,6 +661,12 @@ export declare const CompositionOp: z.ZodDiscriminatedUnion<[z.ZodObject<{
|
|
|
661
661
|
center: "center";
|
|
662
662
|
bottom: "bottom";
|
|
663
663
|
}>>>;
|
|
664
|
+
region: z.ZodOptional<z.ZodOptional<z.ZodObject<{
|
|
665
|
+
x: z.ZodNumber;
|
|
666
|
+
y: z.ZodNumber;
|
|
667
|
+
w: z.ZodNumber;
|
|
668
|
+
h: z.ZodNumber;
|
|
669
|
+
}, z.core.$strip>>>;
|
|
664
670
|
textTransform: z.ZodOptional<z.ZodOptional<z.ZodEnum<{
|
|
665
671
|
none: "none";
|
|
666
672
|
uppercase: "uppercase";
|
|
@@ -738,6 +744,12 @@ export declare const CompositionOp: z.ZodDiscriminatedUnion<[z.ZodObject<{
|
|
|
738
744
|
center: "center";
|
|
739
745
|
bottom: "bottom";
|
|
740
746
|
}>>>;
|
|
747
|
+
region: z.ZodOptional<z.ZodOptional<z.ZodObject<{
|
|
748
|
+
x: z.ZodNumber;
|
|
749
|
+
y: z.ZodNumber;
|
|
750
|
+
w: z.ZodNumber;
|
|
751
|
+
h: z.ZodNumber;
|
|
752
|
+
}, z.core.$strip>>>;
|
|
741
753
|
textTransform: z.ZodOptional<z.ZodOptional<z.ZodEnum<{
|
|
742
754
|
none: "none";
|
|
743
755
|
uppercase: "uppercase";
|
|
@@ -2,4 +2,9 @@ import type { CSSProperties } from 'react';
|
|
|
2
2
|
export declare function resolveCaptionPlacement(position: 'top' | 'center' | 'bottom' | undefined, region: {
|
|
3
3
|
y: number;
|
|
4
4
|
h: number;
|
|
5
|
-
} | undefined
|
|
5
|
+
} | undefined, authoredRegion?: {
|
|
6
|
+
x: number;
|
|
7
|
+
y: number;
|
|
8
|
+
w: number;
|
|
9
|
+
h: number;
|
|
10
|
+
}): CSSProperties;
|
|
@@ -4,13 +4,13 @@ import {
|
|
|
4
4
|
buildPlannerTools,
|
|
5
5
|
buildToolsFromSchemas,
|
|
6
6
|
extractProviderError
|
|
7
|
-
} from "../chunk-
|
|
8
|
-
import "../chunk-
|
|
7
|
+
} from "../chunk-IHWC75AN.js";
|
|
8
|
+
import "../chunk-KY3QBG7O.js";
|
|
9
9
|
import "../chunk-JOURGVOR.js";
|
|
10
10
|
import "../chunk-7AZLFN26.js";
|
|
11
|
-
import "../chunk-
|
|
12
|
-
import "../chunk-
|
|
13
|
-
import "../chunk-
|
|
11
|
+
import "../chunk-NLXQ7WTH.js";
|
|
12
|
+
import "../chunk-LO3DH776.js";
|
|
13
|
+
import "../chunk-LZEX2GAY.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-
|
|
4
|
-
import "../chunk-
|
|
5
|
-
import "../chunk-
|
|
6
|
-
import "../chunk-
|
|
3
|
+
} from "../chunk-OVV35ZS2.js";
|
|
4
|
+
import "../chunk-NLXQ7WTH.js";
|
|
5
|
+
import "../chunk-LO3DH776.js";
|
|
6
|
+
import "../chunk-LZEX2GAY.js";
|
|
7
7
|
import "../chunk-WPZKOVYF.js";
|
|
8
8
|
import "../chunk-B7J5UUUV.js";
|
|
9
9
|
import "../chunk-KYRDKK2D.js";
|
package/dist/authoring/tools.js
CHANGED
|
@@ -6,12 +6,12 @@ import {
|
|
|
6
6
|
COMPOSE_ROLE_TOOLS,
|
|
7
7
|
COMPOSE_ROLE_TOOL_NAMES,
|
|
8
8
|
dispatchComposeRoleTool
|
|
9
|
-
} from "../chunk-
|
|
9
|
+
} from "../chunk-KY3QBG7O.js";
|
|
10
10
|
import "../chunk-JOURGVOR.js";
|
|
11
11
|
import "../chunk-7AZLFN26.js";
|
|
12
|
-
import "../chunk-
|
|
13
|
-
import "../chunk-
|
|
14
|
-
import "../chunk-
|
|
12
|
+
import "../chunk-NLXQ7WTH.js";
|
|
13
|
+
import "../chunk-LO3DH776.js";
|
|
14
|
+
import "../chunk-LZEX2GAY.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-
|
|
14
|
+
} from "./chunk-IHWC75AN.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-
|
|
23
|
+
} from "./chunk-KY3QBG7O.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-
|
|
30
|
+
} from "./chunk-OVV35ZS2.js";
|
|
31
31
|
import {
|
|
32
32
|
buildFastModel,
|
|
33
33
|
buildModel,
|
|
@@ -55,9 +55,9 @@ import {
|
|
|
55
55
|
import "./chunk-ILO4NEZ3.js";
|
|
56
56
|
import "./chunk-7AZLFN26.js";
|
|
57
57
|
import "./chunk-VG2ND6PX.js";
|
|
58
|
-
import "./chunk-
|
|
59
|
-
import "./chunk-
|
|
60
|
-
import "./chunk-
|
|
58
|
+
import "./chunk-NLXQ7WTH.js";
|
|
59
|
+
import "./chunk-LO3DH776.js";
|
|
60
|
+
import "./chunk-LZEX2GAY.js";
|
|
61
61
|
import "./chunk-WPZKOVYF.js";
|
|
62
62
|
import "./chunk-B7J5UUUV.js";
|
|
63
63
|
import "./chunk-KYRDKK2D.js";
|
|
@@ -525,21 +525,25 @@ ${j.tsxSource}`,
|
|
|
525
525
|
name: "prepare_media",
|
|
526
526
|
operationId: "purchaseMediaFact",
|
|
527
527
|
pathArgs: { mediaItemId: "id" },
|
|
528
|
-
description: 'Prepare the perception artifact an authored edit needs BEFORE sighted review. Pass body.kind="subjectTrack" for face/active-speaker reframing, or body.kind="matte" for a true zPlane:"behind-subject" graphic. Pass body.intent {startSec,endSec} using SOURCE time (the media trim, not timeline time); it is required for mattes and strongly recommended for subject tracks so the prepared fact exactly matches the clip and quote. This is the supported product path \u2014 never accept a preview that silently flattens depth or ignores speaker tracking. Returns a fact receipt; poll get_media_facts
|
|
529
|
-
okFormat: (j, a) =>
|
|
528
|
+
description: 'Prepare the perception artifact an authored edit needs BEFORE sighted review. Pass body.kind="subjectTrack" for face/active-speaker reframing, or body.kind="matte" for a true zPlane:"behind-subject" graphic. Pass body.intent {startSec,endSec} using SOURCE time (the media trim, not timeline time); it is required for mattes and strongly recommended for subject tracks so the prepared fact exactly matches the clip and quote. This is the supported product path \u2014 never accept a preview that silently flattens depth or ignores speaker tracking. Returns a fact receipt; with intent, poll get_media_facts using the same kind/window until exact.state is ready; without intent, omit all three filters and find the whole-source subjectTrack in facts until status is ready (failed is terminal). Existing pending/ready facts are reused without another charge.',
|
|
529
|
+
okFormat: (j, a) => {
|
|
530
|
+
const intent = a.body?.intent;
|
|
531
|
+
const poll = intent ? `Poll get_media_facts(mediaItemId="${a.mediaItemId}", kind="${a.body.kind}", startSec=${intent.startSec}, endSec=${intent.endSec}) until exact.state is ready before preview_frame or score_composition.` : `Poll get_media_facts(mediaItemId="${a.mediaItemId}") without filters; find the subjectTrack fact in facts whose source window runs from 0 to the media duration (get_media_context.durationSec) and wait until its status is ready before preview_frame or score_composition.`;
|
|
532
|
+
return `Media preparation ${j.alreadyExisted ? "reused" : "started"}.
|
|
530
533
|
|
|
531
534
|
factId: ${j.factId}
|
|
532
535
|
status: ${j.status}
|
|
533
536
|
quotedUsd: ${j.quotedUsd}
|
|
534
537
|
|
|
535
|
-
|
|
538
|
+
${poll}`;
|
|
539
|
+
},
|
|
536
540
|
annotations: { idempotentHint: true }
|
|
537
541
|
},
|
|
538
542
|
{
|
|
539
543
|
name: "get_media_facts",
|
|
540
544
|
operationId: "listMediaFacts",
|
|
541
545
|
pathArgs: { mediaItemId: "id" },
|
|
542
|
-
description: "Read prepared subject tracks and behind-subject mattes for one media item. For an exact readiness check, pass kind + startSec + endSec together using the same SOURCE window sent to prepare_media; exact.state is pending | ready | failed | available | unavailable.
|
|
546
|
+
description: "Read prepared subject tracks and behind-subject mattes for one media item. For an exact readiness check, pass kind + startSec + endSec together using the same SOURCE window sent to prepare_media; exact.state is pending | ready | failed | available | unavailable. If subjectTrack was prepared without intent, omit all three filters and check the whole-source subjectTrack in facts instead. Wait for the required fact to be ready before preview_frame / score_composition.",
|
|
543
547
|
annotations: { readOnlyHint: true, idempotentHint: true }
|
|
544
548
|
},
|
|
545
549
|
{
|
|
@@ -7,13 +7,13 @@ import {
|
|
|
7
7
|
} from "./chunk-7AZLFN26.js";
|
|
8
8
|
import {
|
|
9
9
|
selectAllOverlays
|
|
10
|
-
} from "./chunk-
|
|
10
|
+
} from "./chunk-NLXQ7WTH.js";
|
|
11
11
|
import {
|
|
12
12
|
ComposePlan
|
|
13
|
-
} from "./chunk-
|
|
13
|
+
} from "./chunk-LO3DH776.js";
|
|
14
14
|
import {
|
|
15
15
|
OverlayClipSource
|
|
16
|
-
} from "./chunk-
|
|
16
|
+
} from "./chunk-LZEX2GAY.js";
|
|
17
17
|
|
|
18
18
|
// ../authoring/src/tools/toolSets.ts
|
|
19
19
|
var COMPOSE_PLANNER_TOOLS = [
|
|
@@ -63,7 +63,7 @@ var COMPOSE_ROLE_TOOLS = Object.freeze({
|
|
|
63
63
|
schema: z.object({}),
|
|
64
64
|
metadata: { label: "Get Context" },
|
|
65
65
|
handler: async (_args, capabilities) => {
|
|
66
|
-
const { buildDirectorContext } = await import("./context-
|
|
66
|
+
const { buildDirectorContext } = await import("./context-AIUJG7R4.js");
|
|
67
67
|
return buildDirectorContext(capabilities);
|
|
68
68
|
}
|
|
69
69
|
},
|
|
@@ -119,6 +119,10 @@ var Region = z2.object({
|
|
|
119
119
|
w: z2.number().positive().max(1),
|
|
120
120
|
h: z2.number().positive().max(1)
|
|
121
121
|
});
|
|
122
|
+
var CaptionRegion = Region.refine(
|
|
123
|
+
(r) => r.x + r.w <= 1 && r.y + r.h <= 1,
|
|
124
|
+
"captions style.region must fit within the normalized frame"
|
|
125
|
+
);
|
|
122
126
|
var ClipFit = z2.enum(["cover", "contain"]);
|
|
123
127
|
var PerClipEffect = z2.object({
|
|
124
128
|
primitiveId: z2.string().min(1),
|
|
@@ -253,6 +257,9 @@ var CaptionStyle = z2.object({
|
|
|
253
257
|
backgroundColor: z2.string().optional(),
|
|
254
258
|
plate: z2.enum(["glass", "solid", "none"]).optional(),
|
|
255
259
|
position: z2.enum(["top", "center", "bottom"]).optional(),
|
|
260
|
+
region: CaptionRegion.optional().describe(
|
|
261
|
+
"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."
|
|
262
|
+
),
|
|
256
263
|
textTransform: z2.enum(["none", "uppercase", "capitalize"]).optional(),
|
|
257
264
|
emphasisColor: z2.string().optional(),
|
|
258
265
|
emphasisGradient: z2.string().optional(),
|
|
@@ -493,6 +500,7 @@ export {
|
|
|
493
500
|
POSITION_MIN,
|
|
494
501
|
POSITION_MAX,
|
|
495
502
|
Region,
|
|
503
|
+
CaptionRegion,
|
|
496
504
|
ClipFit,
|
|
497
505
|
PerClipEffect,
|
|
498
506
|
KeyframeEasing,
|
|
@@ -3,13 +3,13 @@ import {
|
|
|
3
3
|
projectMediaPlaybackSpans,
|
|
4
4
|
sliceTranscriptWords,
|
|
5
5
|
splitIntoSentences
|
|
6
|
-
} from "./chunk-
|
|
6
|
+
} from "./chunk-INYP56TC.js";
|
|
7
7
|
import {
|
|
8
8
|
createHeadlessStore,
|
|
9
9
|
findClipById,
|
|
10
10
|
findMarkerById,
|
|
11
11
|
findTrackContainingClipId
|
|
12
|
-
} from "./chunk-
|
|
12
|
+
} from "./chunk-NLXQ7WTH.js";
|
|
13
13
|
import {
|
|
14
14
|
CaptionSegment,
|
|
15
15
|
CaptionStyle,
|
|
@@ -20,7 +20,7 @@ import {
|
|
|
20
20
|
TimelineClip,
|
|
21
21
|
Track,
|
|
22
22
|
Transition
|
|
23
|
-
} from "./chunk-
|
|
23
|
+
} from "./chunk-LZEX2GAY.js";
|
|
24
24
|
import {
|
|
25
25
|
ReframeSegment
|
|
26
26
|
} from "./chunk-B7J5UUUV.js";
|
|
@@ -10,7 +10,7 @@ import {
|
|
|
10
10
|
} from "./chunk-XSBVOXSB.js";
|
|
11
11
|
import {
|
|
12
12
|
CURATED_TOOLS
|
|
13
|
-
} from "./chunk-
|
|
13
|
+
} from "./chunk-4WBSXHQA.js";
|
|
14
14
|
import {
|
|
15
15
|
GENERATED_OPERATIONS,
|
|
16
16
|
apiErrorFrom,
|
|
@@ -31,7 +31,7 @@ import {
|
|
|
31
31
|
} from "./chunk-AOIY7NGF.js";
|
|
32
32
|
import {
|
|
33
33
|
CompositionOp
|
|
34
|
-
} from "./chunk-
|
|
34
|
+
} from "./chunk-WIPIYUY2.js";
|
|
35
35
|
|
|
36
36
|
// ../mcp/src/prompts.ts
|
|
37
37
|
var skillListCache = null;
|
package/dist/composition/ops.js
CHANGED
|
@@ -20,9 +20,9 @@ import {
|
|
|
20
20
|
selectMediaClipAt,
|
|
21
21
|
selectSceneMarkers,
|
|
22
22
|
selectTracksByKind
|
|
23
|
-
} from "../chunk-
|
|
24
|
-
import "../chunk-
|
|
25
|
-
import "../chunk-
|
|
23
|
+
} from "../chunk-NLXQ7WTH.js";
|
|
24
|
+
import "../chunk-LO3DH776.js";
|
|
25
|
+
import "../chunk-LZEX2GAY.js";
|
|
26
26
|
import "../chunk-WPZKOVYF.js";
|
|
27
27
|
import "../chunk-B7J5UUUV.js";
|
|
28
28
|
import "../chunk-KYRDKK2D.js";
|
|
@@ -48,11 +48,12 @@ import {
|
|
|
48
48
|
WebhookDeliveryStatus,
|
|
49
49
|
WebhookDestination,
|
|
50
50
|
YoutubeDestination
|
|
51
|
-
} from "../chunk-
|
|
51
|
+
} from "../chunk-LO3DH776.js";
|
|
52
52
|
import {
|
|
53
53
|
ANIMATABLE_PARAMS,
|
|
54
54
|
ANIMATABLE_VALUE,
|
|
55
55
|
AlphaLayerClipSource,
|
|
56
|
+
CaptionRegion,
|
|
56
57
|
CaptionSegment,
|
|
57
58
|
CaptionStyle,
|
|
58
59
|
CaptionWord,
|
|
@@ -85,7 +86,7 @@ import {
|
|
|
85
86
|
Transition,
|
|
86
87
|
captionWords,
|
|
87
88
|
captionsAreBehindSubject
|
|
88
|
-
} from "../chunk-
|
|
89
|
+
} from "../chunk-LZEX2GAY.js";
|
|
89
90
|
import {
|
|
90
91
|
AUTHORED_GRAPHIC_KINDS
|
|
91
92
|
} from "../chunk-WPZKOVYF.js";
|
|
@@ -105,6 +106,7 @@ export {
|
|
|
105
106
|
AlphaLayerClipSource,
|
|
106
107
|
AudioPaletteRef,
|
|
107
108
|
BrandKit,
|
|
109
|
+
CaptionRegion,
|
|
108
110
|
CaptionSegment,
|
|
109
111
|
CaptionStyle,
|
|
110
112
|
CaptionWord,
|
package/dist/composition-ops.js
CHANGED
|
@@ -20,16 +20,16 @@ import {
|
|
|
20
20
|
replaceRegion,
|
|
21
21
|
resolveClipKind,
|
|
22
22
|
wrapWithOpRecorder
|
|
23
|
-
} from "./chunk-
|
|
24
|
-
import "./chunk-
|
|
23
|
+
} from "./chunk-WIPIYUY2.js";
|
|
24
|
+
import "./chunk-INYP56TC.js";
|
|
25
25
|
import "./chunk-QH3YI3ND.js";
|
|
26
|
+
import "./chunk-JPMVNMF3.js";
|
|
26
27
|
import "./chunk-IMIUHG2E.js";
|
|
27
28
|
import "./chunk-VZ7TYX6Z.js";
|
|
28
|
-
import "./chunk-JPMVNMF3.js";
|
|
29
29
|
import "./chunk-T56BK7NS.js";
|
|
30
|
-
import "./chunk-
|
|
31
|
-
import "./chunk-
|
|
32
|
-
import "./chunk-
|
|
30
|
+
import "./chunk-NLXQ7WTH.js";
|
|
31
|
+
import "./chunk-LO3DH776.js";
|
|
32
|
+
import "./chunk-LZEX2GAY.js";
|
|
33
33
|
import "./chunk-WPZKOVYF.js";
|
|
34
34
|
import "./chunk-B7J5UUUV.js";
|
|
35
35
|
import "./chunk-KYRDKK2D.js";
|
package/dist/composition.js
CHANGED
|
@@ -149,11 +149,12 @@ import {
|
|
|
149
149
|
WebhookDeliveryStatus,
|
|
150
150
|
WebhookDestination,
|
|
151
151
|
YoutubeDestination
|
|
152
|
-
} from "./chunk-
|
|
152
|
+
} from "./chunk-LO3DH776.js";
|
|
153
153
|
import {
|
|
154
154
|
ANIMATABLE_PARAMS,
|
|
155
155
|
ANIMATABLE_VALUE,
|
|
156
156
|
AlphaLayerClipSource,
|
|
157
|
+
CaptionRegion,
|
|
157
158
|
CaptionSegment,
|
|
158
159
|
CaptionStyle,
|
|
159
160
|
CaptionWord,
|
|
@@ -186,7 +187,7 @@ import {
|
|
|
186
187
|
Transition,
|
|
187
188
|
captionWords,
|
|
188
189
|
captionsAreBehindSubject
|
|
189
|
-
} from "./chunk-
|
|
190
|
+
} from "./chunk-LZEX2GAY.js";
|
|
190
191
|
import {
|
|
191
192
|
AUTHORED_GRAPHIC_KINDS
|
|
192
193
|
} from "./chunk-WPZKOVYF.js";
|
|
@@ -306,6 +307,7 @@ export {
|
|
|
306
307
|
COVIEW_MAX_SILHOUETTE_W,
|
|
307
308
|
COVIEW_MIN_BAND_COVERAGE,
|
|
308
309
|
CURRENT_MATTE_BAKE_VERSION,
|
|
310
|
+
CaptionRegion,
|
|
309
311
|
CaptionSegment,
|
|
310
312
|
CaptionStyle,
|
|
311
313
|
CaptionWord,
|
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
import {
|
|
2
2
|
buildDirectorContext
|
|
3
|
-
} from "./chunk-
|
|
4
|
-
import "./chunk-
|
|
5
|
-
import "./chunk-
|
|
6
|
-
import "./chunk-
|
|
3
|
+
} from "./chunk-OVV35ZS2.js";
|
|
4
|
+
import "./chunk-NLXQ7WTH.js";
|
|
5
|
+
import "./chunk-LO3DH776.js";
|
|
6
|
+
import "./chunk-LZEX2GAY.js";
|
|
7
7
|
import "./chunk-WPZKOVYF.js";
|
|
8
8
|
import "./chunk-B7J5UUUV.js";
|
|
9
9
|
import "./chunk-KYRDKK2D.js";
|
package/dist/core/render.js
CHANGED
|
@@ -68,15 +68,15 @@ import {
|
|
|
68
68
|
splitIntoSentences,
|
|
69
69
|
validateComposition,
|
|
70
70
|
visiblePackedHostWindows
|
|
71
|
-
} from "../chunk-
|
|
71
|
+
} from "../chunk-INYP56TC.js";
|
|
72
72
|
import {
|
|
73
73
|
buildEasedZooms,
|
|
74
74
|
buildPannedCenters,
|
|
75
75
|
easeOutCubic
|
|
76
76
|
} from "../chunk-QH3YI3ND.js";
|
|
77
|
+
import "../chunk-JPMVNMF3.js";
|
|
77
78
|
import "../chunk-IMIUHG2E.js";
|
|
78
79
|
import "../chunk-VZ7TYX6Z.js";
|
|
79
|
-
import "../chunk-JPMVNMF3.js";
|
|
80
80
|
import "../chunk-T56BK7NS.js";
|
|
81
81
|
import "../chunk-KYRDKK2D.js";
|
|
82
82
|
import "../chunk-WREYUH2E.js";
|
package/dist/core.js
CHANGED
|
@@ -10,11 +10,11 @@ import {
|
|
|
10
10
|
ensureEven,
|
|
11
11
|
extractCaptionWordsFromDoc,
|
|
12
12
|
isEmphasized
|
|
13
|
-
} from "./chunk-
|
|
13
|
+
} from "./chunk-INYP56TC.js";
|
|
14
14
|
import "./chunk-QH3YI3ND.js";
|
|
15
|
+
import "./chunk-JPMVNMF3.js";
|
|
15
16
|
import "./chunk-IMIUHG2E.js";
|
|
16
17
|
import "./chunk-VZ7TYX6Z.js";
|
|
17
|
-
import "./chunk-JPMVNMF3.js";
|
|
18
18
|
import "./chunk-T56BK7NS.js";
|
|
19
19
|
import "./chunk-KYRDKK2D.js";
|
|
20
20
|
import "./chunk-WREYUH2E.js";
|
package/dist/mcp/adapter.js
CHANGED
package/dist/mcp/curation.js
CHANGED
package/dist/mcp/server.js
CHANGED
|
@@ -8,21 +8,21 @@ import {
|
|
|
8
8
|
registerRawTools,
|
|
9
9
|
registerSkillPrompts,
|
|
10
10
|
titleCase
|
|
11
|
-
} from "../chunk-
|
|
11
|
+
} from "../chunk-XVJU63TF.js";
|
|
12
12
|
import "../chunk-FYS2XUKJ.js";
|
|
13
13
|
import "../chunk-XSBVOXSB.js";
|
|
14
|
-
import "../chunk-
|
|
14
|
+
import "../chunk-4WBSXHQA.js";
|
|
15
15
|
import "../chunk-AOIY7NGF.js";
|
|
16
|
-
import "../chunk-
|
|
17
|
-
import "../chunk-
|
|
16
|
+
import "../chunk-WIPIYUY2.js";
|
|
17
|
+
import "../chunk-INYP56TC.js";
|
|
18
18
|
import "../chunk-QH3YI3ND.js";
|
|
19
|
+
import "../chunk-JPMVNMF3.js";
|
|
19
20
|
import "../chunk-IMIUHG2E.js";
|
|
20
21
|
import "../chunk-VZ7TYX6Z.js";
|
|
21
|
-
import "../chunk-JPMVNMF3.js";
|
|
22
22
|
import "../chunk-T56BK7NS.js";
|
|
23
|
-
import "../chunk-
|
|
24
|
-
import "../chunk-
|
|
25
|
-
import "../chunk-
|
|
23
|
+
import "../chunk-NLXQ7WTH.js";
|
|
24
|
+
import "../chunk-LO3DH776.js";
|
|
25
|
+
import "../chunk-LZEX2GAY.js";
|
|
26
26
|
import "../chunk-WPZKOVYF.js";
|
|
27
27
|
import "../chunk-B7J5UUUV.js";
|
|
28
28
|
import "../chunk-KYRDKK2D.js";
|
package/dist/mcp.js
CHANGED
|
@@ -8,21 +8,21 @@ import {
|
|
|
8
8
|
buildServer,
|
|
9
9
|
registerCuratedTools,
|
|
10
10
|
registerRawTools
|
|
11
|
-
} from "./chunk-
|
|
11
|
+
} from "./chunk-XVJU63TF.js";
|
|
12
12
|
import "./chunk-FYS2XUKJ.js";
|
|
13
13
|
import "./chunk-XSBVOXSB.js";
|
|
14
|
-
import "./chunk-
|
|
14
|
+
import "./chunk-4WBSXHQA.js";
|
|
15
15
|
import "./chunk-AOIY7NGF.js";
|
|
16
|
-
import "./chunk-
|
|
17
|
-
import "./chunk-
|
|
16
|
+
import "./chunk-WIPIYUY2.js";
|
|
17
|
+
import "./chunk-INYP56TC.js";
|
|
18
18
|
import "./chunk-QH3YI3ND.js";
|
|
19
|
+
import "./chunk-JPMVNMF3.js";
|
|
19
20
|
import "./chunk-IMIUHG2E.js";
|
|
20
21
|
import "./chunk-VZ7TYX6Z.js";
|
|
21
|
-
import "./chunk-JPMVNMF3.js";
|
|
22
22
|
import "./chunk-T56BK7NS.js";
|
|
23
|
-
import "./chunk-
|
|
24
|
-
import "./chunk-
|
|
25
|
-
import "./chunk-
|
|
23
|
+
import "./chunk-NLXQ7WTH.js";
|
|
24
|
+
import "./chunk-LO3DH776.js";
|
|
25
|
+
import "./chunk-LZEX2GAY.js";
|
|
26
26
|
import "./chunk-WPZKOVYF.js";
|
|
27
27
|
import "./chunk-B7J5UUUV.js";
|
|
28
28
|
import "./chunk-KYRDKK2D.js";
|
|
@@ -93,7 +93,20 @@ function assignTimeline(raw, lingerMs) {
|
|
|
93
93
|
}
|
|
94
94
|
|
|
95
95
|
// ../execution/primitives/src/captions/placement.ts
|
|
96
|
-
|
|
96
|
+
var percent = (fraction) => `${Number((fraction * 100).toFixed(4))}%`;
|
|
97
|
+
function resolveCaptionPlacement(position, region, authoredRegion) {
|
|
98
|
+
if (authoredRegion) {
|
|
99
|
+
return {
|
|
100
|
+
position: "absolute",
|
|
101
|
+
left: percent(authoredRegion.x),
|
|
102
|
+
top: percent(authoredRegion.y),
|
|
103
|
+
width: percent(authoredRegion.w),
|
|
104
|
+
height: percent(authoredRegion.h),
|
|
105
|
+
display: "flex",
|
|
106
|
+
justifyContent: "flex-start",
|
|
107
|
+
alignItems: "flex-start"
|
|
108
|
+
};
|
|
109
|
+
}
|
|
97
110
|
const vertical = position === "top" ? { top: "8%" } : position === "center" ? { top: "50%", transform: "translateY(-50%)" } : position === "bottom" ? { bottom: "10%" } : region ? { bottom: `${Math.max(0, (1 - (region.y + region.h)) * 100)}%` } : { bottom: "10%" };
|
|
98
111
|
return {
|
|
99
112
|
position: "absolute",
|
|
@@ -153,16 +166,16 @@ function addTokenToBox(box, token, fontFamily, fontSize, fontWeight, emphasis) {
|
|
|
153
166
|
fontWeight: String(tokenWeight)
|
|
154
167
|
});
|
|
155
168
|
}
|
|
156
|
-
function makeBoxFactory(maxWidth, fontFamily, fontSize, fontWeight, emphasis) {
|
|
169
|
+
function makeBoxFactory(maxWidth, maxLines, fontFamily, fontSize, fontWeight, emphasis) {
|
|
157
170
|
return () => {
|
|
158
|
-
const box = fillTextBox({ maxBoxWidth: maxWidth, maxLines
|
|
171
|
+
const box = fillTextBox({ maxBoxWidth: maxWidth, maxLines });
|
|
159
172
|
return {
|
|
160
173
|
add: (token) => !addTokenToBox(box, token, fontFamily, fontSize, fontWeight, emphasis).exceedsBox
|
|
161
174
|
};
|
|
162
175
|
};
|
|
163
176
|
}
|
|
164
|
-
function layoutTokensIntoLines(tokens, maxWidth, fontFamily, fontSize, fontWeight, emphasis) {
|
|
165
|
-
const box = fillTextBox({ maxBoxWidth: maxWidth, maxLines
|
|
177
|
+
function layoutTokensIntoLines(tokens, maxWidth, maxLines, fontFamily, fontSize, fontWeight, emphasis) {
|
|
178
|
+
const box = fillTextBox({ maxBoxWidth: maxWidth, maxLines });
|
|
166
179
|
const lines = [[]];
|
|
167
180
|
for (const token of tokens) {
|
|
168
181
|
const result = addTokenToBox(box, token, fontFamily, fontSize, fontWeight, emphasis);
|
|
@@ -211,7 +224,15 @@ function Captions({
|
|
|
211
224
|
const maxWidthPercent = style.maxWidthPercent ?? 80;
|
|
212
225
|
const plateStyle = plateStyleFor(style.plate ?? "glass", style.backgroundColor);
|
|
213
226
|
const fontSize = Math.round(height * (style.fontSize / 100));
|
|
214
|
-
const
|
|
227
|
+
const authoredRegion = userStyle?.region;
|
|
228
|
+
const regionWidth = authoredRegion ? width * authoredRegion.w : width;
|
|
229
|
+
const maxTextWidth = authoredRegion ? Math.min(width * (maxWidthPercent / 100), regionWidth - fontSize * 1.6) : width * (maxWidthPercent / 100);
|
|
230
|
+
const availableHeight = authoredRegion ? height * authoredRegion.h - fontSize * 0.8 : Infinity;
|
|
231
|
+
const lineHeight = fontSize * Math.max(1, emphasisScale) * 1.2;
|
|
232
|
+
const maxLines = authoredRegion ? Math.min(3, Math.floor((availableHeight + fontSize * 0.25) / (lineHeight + fontSize * 0.25))) : 3;
|
|
233
|
+
if (authoredRegion && (maxTextWidth <= 0 || maxLines < 1)) {
|
|
234
|
+
throw new Error("Caption style.region is too small for one caption line at the authored font size");
|
|
235
|
+
}
|
|
215
236
|
const { emphasisStartMs, annotateKind } = useMemo(() => {
|
|
216
237
|
const emph = /* @__PURE__ */ new Set();
|
|
217
238
|
const ann = /* @__PURE__ */ new Map();
|
|
@@ -228,10 +249,10 @@ function Captions({
|
|
|
228
249
|
const pages = useMemo(
|
|
229
250
|
() => paginateCaptionSegments(segments, {
|
|
230
251
|
combineMs: COMBINE_TOKENS_MS,
|
|
231
|
-
makeBox: makeBoxFactory(maxTextWidth, style.fontFamily, fontSize, style.fontWeight, emphasisLayout),
|
|
252
|
+
makeBox: makeBoxFactory(maxTextWidth, maxLines, style.fontFamily, fontSize, style.fontWeight, emphasisLayout),
|
|
232
253
|
lingerMs: CAPTION_LINGER_MS
|
|
233
254
|
}),
|
|
234
|
-
[segments, maxTextWidth, fontSize, style.fontFamily, style.fontWeight, emphasisLayout]
|
|
255
|
+
[segments, maxTextWidth, maxLines, fontSize, style.fontFamily, style.fontWeight, emphasisLayout]
|
|
235
256
|
);
|
|
236
257
|
if (pages.length === 0) return null;
|
|
237
258
|
const currentTimeMs = frame / fps * 1e3;
|
|
@@ -259,12 +280,13 @@ function Captions({
|
|
|
259
280
|
const lines = layoutTokensIntoLines(
|
|
260
281
|
currentPage.tokens,
|
|
261
282
|
maxTextWidth,
|
|
283
|
+
maxLines,
|
|
262
284
|
style.fontFamily,
|
|
263
285
|
fontSize,
|
|
264
286
|
style.fontWeight,
|
|
265
287
|
emphasisLayout
|
|
266
288
|
);
|
|
267
|
-
const wrapperStyle = resolveCaptionPlacement(userStyle?.position, region);
|
|
289
|
+
const wrapperStyle = resolveCaptionPlacement(userStyle?.position, region, authoredRegion);
|
|
268
290
|
return /* @__PURE__ */ React.createElement(AbsoluteFill, { style: { pointerEvents: "none" } }, /* @__PURE__ */ React.createElement("div", { style: wrapperStyle }, /* @__PURE__ */ React.createElement(
|
|
269
291
|
"div",
|
|
270
292
|
{
|
|
@@ -272,12 +294,12 @@ function Captions({
|
|
|
272
294
|
opacity: groupOpacity,
|
|
273
295
|
display: "flex",
|
|
274
296
|
flexDirection: "column",
|
|
275
|
-
alignItems: "center",
|
|
297
|
+
alignItems: authoredRegion ? "flex-start" : "center",
|
|
276
298
|
gap: `${fontSize * 0.25}px`,
|
|
277
299
|
padding: `${fontSize * 0.4}px ${fontSize * 0.8}px`,
|
|
278
300
|
borderRadius: fontSize * 0.5,
|
|
279
301
|
...plateStyle,
|
|
280
|
-
maxWidth: `${maxWidthPercent}%`,
|
|
302
|
+
maxWidth: authoredRegion ? "100%" : `${maxWidthPercent}%`,
|
|
281
303
|
boxSizing: "border-box"
|
|
282
304
|
}
|
|
283
305
|
},
|
|
@@ -317,7 +339,7 @@ function Captions({
|
|
|
317
339
|
if (emphasisPlate && e && last && last.emph) last.tokens.push(t);
|
|
318
340
|
else segs.push({ tokens: [t], emph: e });
|
|
319
341
|
}
|
|
320
|
-
return /* @__PURE__ */ React.createElement("div", { key: lineIdx, style: { display: "flex", justifyContent: "center", alignItems: "baseline", gap: `${fontSize * 0.35}px` } }, segs.map((seg, si) => {
|
|
342
|
+
return /* @__PURE__ */ React.createElement("div", { key: lineIdx, style: { display: "flex", justifyContent: authoredRegion ? "flex-start" : "center", alignItems: "baseline", gap: `${fontSize * 0.35}px` } }, segs.map((seg, si) => {
|
|
321
343
|
const first = seg.tokens[0];
|
|
322
344
|
const { opacity, scale, y } = entranceOf(first, seg.emph);
|
|
323
345
|
const entranceTransform = `translateY(${y}px) scale(${scale})`;
|
package/dist/render-harness.js
CHANGED
|
@@ -1,3 +1,9 @@
|
|
|
1
|
+
import {
|
|
2
|
+
assertCardHtmlAssetFree
|
|
3
|
+
} from "./chunk-DV7ZFVL4.js";
|
|
4
|
+
import {
|
|
5
|
+
assertCardFontsAdmitted
|
|
6
|
+
} from "./chunk-ACURZCPN.js";
|
|
1
7
|
import {
|
|
2
8
|
assertNoRemoteRefs,
|
|
3
9
|
assetSlots,
|
|
@@ -5,13 +11,7 @@ import {
|
|
|
5
11
|
isRemoteUrl,
|
|
6
12
|
renderInputAssets
|
|
7
13
|
} from "./chunk-KSRFYFUZ.js";
|
|
8
|
-
import {
|
|
9
|
-
assertCardHtmlAssetFree
|
|
10
|
-
} from "./chunk-DV7ZFVL4.js";
|
|
11
14
|
import "./chunk-OSMXQV5V.js";
|
|
12
|
-
import {
|
|
13
|
-
assertCardFontsAdmitted
|
|
14
|
-
} from "./chunk-ACURZCPN.js";
|
|
15
15
|
import "./chunk-MYBK6DKF.js";
|
|
16
16
|
import "./chunk-BVA3537Z.js";
|
|
17
17
|
import {
|
|
@@ -46,11 +46,11 @@ import {
|
|
|
46
46
|
parseSceneComponentCaptureIntentV1,
|
|
47
47
|
prepareSceneShotRenderInput,
|
|
48
48
|
readSceneShotManifest
|
|
49
|
-
} from "./chunk-
|
|
49
|
+
} from "./chunk-INYP56TC.js";
|
|
50
50
|
import "./chunk-QH3YI3ND.js";
|
|
51
|
+
import "./chunk-JPMVNMF3.js";
|
|
51
52
|
import "./chunk-IMIUHG2E.js";
|
|
52
53
|
import "./chunk-VZ7TYX6Z.js";
|
|
53
|
-
import "./chunk-JPMVNMF3.js";
|
|
54
54
|
import "./chunk-T56BK7NS.js";
|
|
55
55
|
import "./chunk-KYRDKK2D.js";
|
|
56
56
|
import "./chunk-WREYUH2E.js";
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@cueframe/kernel",
|
|
3
|
-
"version": "0.2.
|
|
3
|
+
"version": "0.2.50",
|
|
4
4
|
"type": "module",
|
|
5
5
|
"description": "Publish-only aggregate of CueFrame's isomorphic kernel packages — composition, primitives, authoring, MCP, and friends shipped as one npm artifact. Members remain separate workspace packages; this only changes what ships.",
|
|
6
6
|
"files": [
|
|
@@ -19,23 +19,23 @@
|
|
|
19
19
|
"@cueframe/account-model": "0.1.0",
|
|
20
20
|
"@cueframe/animate": "0.1.0",
|
|
21
21
|
"@cueframe/authoring": "0.1.0",
|
|
22
|
-
"@cueframe/brand-derivation": "0.1.0",
|
|
23
|
-
"@cueframe/compose": "0.1.0",
|
|
24
|
-
"@cueframe/cloud-import": "0.1.0",
|
|
25
|
-
"@cueframe/composition": "0.1.0",
|
|
26
22
|
"@cueframe/composition-ops": "0.1.0",
|
|
23
|
+
"@cueframe/cloud-import": "0.1.0",
|
|
24
|
+
"@cueframe/compose": "0.1.0",
|
|
25
|
+
"@cueframe/brand-derivation": "0.1.0",
|
|
27
26
|
"@cueframe/component-runtime": "0.1.0",
|
|
28
27
|
"@cueframe/core": "0.1.0",
|
|
29
|
-
"@cueframe/
|
|
28
|
+
"@cueframe/composition": "0.1.0",
|
|
30
29
|
"@cueframe/errors": "0.1.0",
|
|
31
|
-
"@cueframe/
|
|
32
|
-
"@cueframe/mcp": "0.1.0",
|
|
33
|
-
"@cueframe/media-model": "0.1.0",
|
|
30
|
+
"@cueframe/director": "0.1.0",
|
|
34
31
|
"@cueframe/nle-export": "0.1.0",
|
|
32
|
+
"@cueframe/media-model": "0.1.0",
|
|
33
|
+
"@cueframe/mcp": "0.1.0",
|
|
34
|
+
"@cueframe/foundation": "0.1.0",
|
|
35
35
|
"@cueframe/perception": "0.1.0",
|
|
36
36
|
"@cueframe/plane": "0.1.0",
|
|
37
|
-
"@cueframe/
|
|
38
|
-
"@cueframe/
|
|
37
|
+
"@cueframe/render-harness": "0.1.0",
|
|
38
|
+
"@cueframe/primitives": "0.1.0"
|
|
39
39
|
},
|
|
40
40
|
"peerDependencies": {
|
|
41
41
|
"gsap": "3.13.0",
|
|
@@ -3,14 +3,6 @@ import {
|
|
|
3
3
|
buildEasedZooms,
|
|
4
4
|
buildPannedCenters
|
|
5
5
|
} from "./chunk-QH3YI3ND.js";
|
|
6
|
-
import {
|
|
7
|
-
flattenCompoundClips,
|
|
8
|
-
hasCompoundClips
|
|
9
|
-
} from "./chunk-IMIUHG2E.js";
|
|
10
|
-
import {
|
|
11
|
-
compositionHasVo,
|
|
12
|
-
roleDefaultGainDb
|
|
13
|
-
} from "./chunk-VZ7TYX6Z.js";
|
|
14
6
|
import {
|
|
15
7
|
DOMINANCE_WEIGHTS,
|
|
16
8
|
ENTER_SEC,
|
|
@@ -29,6 +21,14 @@ import {
|
|
|
29
21
|
segmentShots,
|
|
30
22
|
stabilizeSelectionHysteresis
|
|
31
23
|
} from "./chunk-JPMVNMF3.js";
|
|
24
|
+
import {
|
|
25
|
+
flattenCompoundClips,
|
|
26
|
+
hasCompoundClips
|
|
27
|
+
} from "./chunk-IMIUHG2E.js";
|
|
28
|
+
import {
|
|
29
|
+
compositionHasVo,
|
|
30
|
+
roleDefaultGainDb
|
|
31
|
+
} from "./chunk-VZ7TYX6Z.js";
|
|
32
32
|
import {
|
|
33
33
|
SHOT_SCALE_TARGET,
|
|
34
34
|
shotScaleZoom
|