@cueframe/kernel 0.2.36 → 0.2.38
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 +16 -0
- package/dist/_members/plane/contract.d.ts +29 -20
- 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-EGNTUGAM.js → chunk-AG7HKF2U.js} +1 -1
- package/dist/{chunk-LL5GI3IS.js → chunk-BLDL2EKL.js} +2 -2
- package/dist/{chunk-F2HXB6RG.js → chunk-GA6NRDK3.js} +56 -28
- package/dist/{chunk-AYZPTH7L.js → chunk-ID5QY7V6.js} +34 -6
- package/dist/{chunk-ZBQQFAE7.js → chunk-JNOM4FW3.js} +1 -1
- package/dist/{chunk-HLW3P5ZP.js → chunk-MJWRC7G7.js} +4 -4
- package/dist/{chunk-CMC6MLR3.js → chunk-POTCIQTA.js} +1 -1
- package/dist/{chunk-6A6AYPWO.js → chunk-S3HHEJMZ.js} +1 -1
- package/dist/{chunk-6VTNIYSR.js → chunk-ZUJCWFS7.js} +1 -1
- package/dist/compose.js +18 -18
- package/dist/composition/graphics-plan.js +1 -1
- package/dist/composition/ops.js +3 -3
- package/dist/composition/validators.js +8 -2
- package/dist/composition-ops.js +3 -3
- package/dist/composition.js +8 -2
- package/dist/{context-43UC63RY.js → context-KNFL62QR.js} +4 -4
- package/dist/mcp/adapter.js +2 -2
- package/dist/mcp/core.js +1 -1
- package/dist/mcp/server.js +3 -3
- package/dist/mcp.js +3 -3
- package/dist/plane/contract.js +2 -2
- package/dist/primitives.js +18 -18
- package/package.json +12 -12
|
@@ -302,6 +302,20 @@ export declare const Transition: z.ZodObject<{
|
|
|
302
302
|
duration: z.ZodNumber;
|
|
303
303
|
}, z.core.$strip>;
|
|
304
304
|
export type Transition = z.infer<typeof Transition>;
|
|
305
|
+
/**
|
|
306
|
+
* Where a clip's CENTRE sits, as a FRACTION of the frame: 0.5,0.5 is the centre,
|
|
307
|
+
* 0,0 the top-left corner, 1,1 the bottom-right. The renderer turns this straight
|
|
308
|
+
* into CSS `left`/`top` percentages (`x * 100`), so a value authored in pixels is
|
|
309
|
+
* not slightly off — it is hundreds of frame-widths off-canvas and the clip draws
|
|
310
|
+
* NOTHING. CUE-39: a card animated to `position.x: 180` rendered as sixteen black
|
|
311
|
+
* stills, and the contract had never said what the unit was.
|
|
312
|
+
*
|
|
313
|
+
* Overshoot is legitimate — an entrance slides in from just outside the frame —
|
|
314
|
+
* so the bound is a whole frame either side. Past that it is a unit mistake, and
|
|
315
|
+
* the refusal says so, the way `fontSize` refuses px.
|
|
316
|
+
*/
|
|
317
|
+
export declare const POSITION_MIN = -1;
|
|
318
|
+
export declare const POSITION_MAX = 2;
|
|
305
319
|
export declare const Region: z.ZodObject<{
|
|
306
320
|
x: z.ZodNumber;
|
|
307
321
|
y: z.ZodNumber;
|
|
@@ -359,6 +373,8 @@ export declare const KeyframeChannel: z.ZodArray<z.ZodObject<{
|
|
|
359
373
|
export type KeyframeChannel = z.infer<typeof KeyframeChannel>;
|
|
360
374
|
export declare const ANIMATABLE_PARAMS: readonly ["opacity", "scale", "rotation", "position.x", "position.y", "volume"];
|
|
361
375
|
export type AnimatableParam = (typeof ANIMATABLE_PARAMS)[number];
|
|
376
|
+
/** The bound each channel's keyframe VALUES carry — one rule shared with the scalar field. */
|
|
377
|
+
export declare const ANIMATABLE_VALUE: Record<AnimatableParam, z.ZodNumber>;
|
|
362
378
|
export declare const TimelineClip: z.ZodObject<{
|
|
363
379
|
id: z.ZodString;
|
|
364
380
|
startTime: z.ZodNumber;
|
|
@@ -2,32 +2,41 @@ import { z } from "zod";
|
|
|
2
2
|
/**
|
|
3
3
|
* Still-capture budget. ONE definition, because the batch a caller may ask for
|
|
4
4
|
* and the time the renderer is given to serve it are the same number seen from
|
|
5
|
-
* two ends
|
|
6
|
-
* provably could not finish.
|
|
5
|
+
* two ends.
|
|
7
6
|
*
|
|
8
|
-
*
|
|
9
|
-
*
|
|
10
|
-
*
|
|
11
|
-
*
|
|
12
|
-
* and failed with an untyped `render_still_failed`.
|
|
7
|
+
* THE BUDGET IS A TIMEOUT, NOT A RESERVATION. Work that finishes early costs
|
|
8
|
+
* nothing extra; a generous budget only delays the error on work that is
|
|
9
|
+
* genuinely stuck. Setting it tight buys nothing and fails real renders, which
|
|
10
|
+
* is exactly what happened.
|
|
13
11
|
*
|
|
14
|
-
*
|
|
15
|
-
* `@modal.batched`, so up to CO_BATCHED_CALLERS callers share ONE harness run
|
|
16
|
-
* and one ceiling. The largest per-caller batch that survives the worst case is
|
|
17
|
-
* therefore the largest N where
|
|
12
|
+
* History, because both mistakes are instructive (CUE-39):
|
|
18
13
|
*
|
|
19
|
-
*
|
|
14
|
+
* 1. The Modal worker computed `min(280, 60 + 45 * beats)`. The per-beat term is
|
|
15
|
+
* dead above four beats — the cap TRUNCATES a budget the caller can never
|
|
16
|
+
* meet instead of refusing the batch — and `timestamps` had no maximum, so a
|
|
17
|
+
* 124-beat request was accepted and failed five minutes later.
|
|
18
|
+
* 2. The first fix derived MAX from the worker's 300s function timeout as though
|
|
19
|
+
* that were physics. It is a decorator value we choose. Worse, it was derived
|
|
20
|
+
* so the worst case EXACTLY fit (276 <= 280), leaving zero headroom: seven
|
|
21
|
+
* in-bound batches on a 31-clip composition with alpha layers then failed,
|
|
22
|
+
* because that composition costs ~4s per still and the constant said 3s.
|
|
20
23
|
*
|
|
21
|
-
*
|
|
22
|
-
*
|
|
23
|
-
*
|
|
24
|
-
*
|
|
25
|
-
*
|
|
24
|
+
* So PER_BEAT is now the HEAVY end with real headroom, not the median. A light
|
|
25
|
+
* composition finishing in a third of its budget is free; a heavy one exceeding
|
|
26
|
+
* a tight budget is an outage. MEASURED on prod 2026-09-17: 52 stills of a
|
|
27
|
+
* 5-track / 31-clip / 60s composition with alpha layers completed inside 216s
|
|
28
|
+
* (<=4.15s each), while 72 stills exceeded 276s.
|
|
29
|
+
*
|
|
30
|
+
* MAX_STILL_BEATS_PER_BATCH is a product choice, not a derivation: it admits the
|
|
31
|
+
* verify lane's worst case (6 eval beats x 3 burst frames). The invariant a test
|
|
32
|
+
* pins is that the worst case COMFORTABLY fits, and that the ceiling stays under
|
|
33
|
+
* the worker's own function timeout.
|
|
26
34
|
*/
|
|
27
35
|
export declare const STILL_BUDGET_BASE_S = 60;
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
36
|
+
/** Heavy-composition cost with headroom; measured ~4s/still, budgeted at 10. */
|
|
37
|
+
export declare const STILL_BUDGET_PER_BEAT_S = 10;
|
|
38
|
+
/** Under `render_still_worker`'s `timeout=` decorator, which is ours to set. */
|
|
39
|
+
export declare const STILL_BUDGET_CEILING_S = 840;
|
|
31
40
|
/** `STILL_BATCH_MAX` on the still worker: callers sharing one harness run. */
|
|
32
41
|
export declare const CO_BATCHED_CALLERS = 4;
|
|
33
42
|
export declare const MAX_STILL_BEATS_PER_BATCH = 18;
|
|
@@ -4,13 +4,13 @@ import {
|
|
|
4
4
|
buildPlannerTools,
|
|
5
5
|
buildToolsFromSchemas,
|
|
6
6
|
extractProviderError
|
|
7
|
-
} from "../chunk-
|
|
8
|
-
import "../chunk-
|
|
7
|
+
} from "../chunk-S3HHEJMZ.js";
|
|
8
|
+
import "../chunk-MJWRC7G7.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-POTCIQTA.js";
|
|
12
|
+
import "../chunk-AG7HKF2U.js";
|
|
13
|
+
import "../chunk-ID5QY7V6.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-ZUJCWFS7.js";
|
|
4
|
+
import "../chunk-POTCIQTA.js";
|
|
5
|
+
import "../chunk-AG7HKF2U.js";
|
|
6
|
+
import "../chunk-ID5QY7V6.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-MJWRC7G7.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-POTCIQTA.js";
|
|
13
|
+
import "../chunk-AG7HKF2U.js";
|
|
14
|
+
import "../chunk-ID5QY7V6.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-S3HHEJMZ.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-MJWRC7G7.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-ZUJCWFS7.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-POTCIQTA.js";
|
|
59
|
+
import "./chunk-AG7HKF2U.js";
|
|
60
|
+
import "./chunk-ID5QY7V6.js";
|
|
61
61
|
import "./chunk-WPZKOVYF.js";
|
|
62
62
|
import "./chunk-B7J5UUUV.js";
|
|
63
63
|
import "./chunk-KYRDKK2D.js";
|
|
@@ -2,7 +2,7 @@ import {
|
|
|
2
2
|
querySchemaShape,
|
|
3
3
|
serializeQuery,
|
|
4
4
|
waitForJob
|
|
5
|
-
} from "./chunk-
|
|
5
|
+
} from "./chunk-JNOM4FW3.js";
|
|
6
6
|
import {
|
|
7
7
|
CURATED_TOOLS
|
|
8
8
|
} from "./chunk-5YO4LAB7.js";
|
|
@@ -23,7 +23,7 @@ import {
|
|
|
23
23
|
text,
|
|
24
24
|
textWithData,
|
|
25
25
|
withMedia
|
|
26
|
-
} from "./chunk-
|
|
26
|
+
} from "./chunk-GA6NRDK3.js";
|
|
27
27
|
|
|
28
28
|
// ../mcp/src/prompts.ts
|
|
29
29
|
var skillListCache = null;
|
|
@@ -1282,6 +1282,10 @@ var briefCreateRequestSeededGraphicsItemSourceThreeParallaxMax = 0.3;
|
|
|
1282
1282
|
var briefCreateRequestSeededGraphicsItemOpacityMin = 0;
|
|
1283
1283
|
var briefCreateRequestSeededGraphicsItemOpacityMax = 1;
|
|
1284
1284
|
var briefCreateRequestSeededGraphicsItemScaleExclusiveMin = 0;
|
|
1285
|
+
var briefCreateRequestSeededGraphicsItemPositionXMin = -1;
|
|
1286
|
+
var briefCreateRequestSeededGraphicsItemPositionXMax = 2;
|
|
1287
|
+
var briefCreateRequestSeededGraphicsItemPositionYMin = -1;
|
|
1288
|
+
var briefCreateRequestSeededGraphicsItemPositionYMax = 2;
|
|
1285
1289
|
var briefCreateRequestSeededGraphicsItemRegionXMin = 0;
|
|
1286
1290
|
var briefCreateRequestSeededGraphicsItemRegionXMax = 1;
|
|
1287
1291
|
var briefCreateRequestSeededGraphicsItemRegionYMin = 0;
|
|
@@ -1429,9 +1433,9 @@ var BriefCreateRequest = zod19.strictObject({
|
|
|
1429
1433
|
"scale": zod19.number().gt(briefCreateRequestSeededGraphicsItemScaleExclusiveMin).optional(),
|
|
1430
1434
|
"rotation": zod19.number().optional(),
|
|
1431
1435
|
"position": zod19.strictObject({
|
|
1432
|
-
"x": zod19.number(),
|
|
1433
|
-
"y": zod19.number()
|
|
1434
|
-
}).optional(),
|
|
1436
|
+
"x": zod19.number().min(briefCreateRequestSeededGraphicsItemPositionXMin).max(briefCreateRequestSeededGraphicsItemPositionXMax),
|
|
1437
|
+
"y": zod19.number().min(briefCreateRequestSeededGraphicsItemPositionYMin).max(briefCreateRequestSeededGraphicsItemPositionYMax)
|
|
1438
|
+
}).optional().describe("Clip CENTRE as a fraction of the frame: {x:0.5,y:0.5} is dead centre, 0 to 1 is inside the frame, and a little overshoot (down to -1, up to 2) is how an entrance starts off-canvas. NOT pixels: the renderer maps x to `left: x*100%`, so `x: 180` sits 180 frame-widths away and draws nothing."),
|
|
1435
1439
|
"region": zod19.strictObject({
|
|
1436
1440
|
"x": zod19.number().min(briefCreateRequestSeededGraphicsItemRegionXMin).max(briefCreateRequestSeededGraphicsItemRegionXMax),
|
|
1437
1441
|
"y": zod19.number().min(briefCreateRequestSeededGraphicsItemRegionYMin).max(briefCreateRequestSeededGraphicsItemRegionYMax),
|
|
@@ -1459,7 +1463,7 @@ var BriefCreateRequest = zod19.strictObject({
|
|
|
1459
1463
|
zod19.number()
|
|
1460
1464
|
])
|
|
1461
1465
|
})]).optional()
|
|
1462
|
-
})).min(briefCreateRequestSeededGraphicsItemAnimateMinOne)).optional()
|
|
1466
|
+
})).min(briefCreateRequestSeededGraphicsItemAnimateMinOne)).optional().describe("Keyframe channels, clip-relative seconds. Each channel's values use the SAME unit as the scalar it animates: `opacity` 0 to 1, `scale` a multiplier (>0), `rotation` degrees, `position.x`/`position.y` a FRACTION of the frame like `position` (0.5 = centre; NOT pixels), `volume` 0 to 4.")
|
|
1463
1467
|
})).max(briefCreateRequestSeededGraphicsMax).optional().describe("Client-authored graphic clips the Director must carry VERBATIM: seeded into the design loop's base composition as LOCKED clips (never re-authored, never discarded)."),
|
|
1464
1468
|
"exclusions": zod19.array(BriefExclusion).max(briefCreateRequestExclusionsMax).optional(),
|
|
1465
1469
|
"gates": BriefGates.optional(),
|
|
@@ -1536,6 +1540,10 @@ var briefResponseSeededGraphicsItemSourceThreeParallaxMax = 0.3;
|
|
|
1536
1540
|
var briefResponseSeededGraphicsItemOpacityMin = 0;
|
|
1537
1541
|
var briefResponseSeededGraphicsItemOpacityMax = 1;
|
|
1538
1542
|
var briefResponseSeededGraphicsItemScaleExclusiveMin = 0;
|
|
1543
|
+
var briefResponseSeededGraphicsItemPositionXMin = -1;
|
|
1544
|
+
var briefResponseSeededGraphicsItemPositionXMax = 2;
|
|
1545
|
+
var briefResponseSeededGraphicsItemPositionYMin = -1;
|
|
1546
|
+
var briefResponseSeededGraphicsItemPositionYMax = 2;
|
|
1539
1547
|
var briefResponseSeededGraphicsItemRegionXMin = 0;
|
|
1540
1548
|
var briefResponseSeededGraphicsItemRegionXMax = 1;
|
|
1541
1549
|
var briefResponseSeededGraphicsItemRegionYMin = 0;
|
|
@@ -1686,9 +1694,9 @@ var BriefResponse = zod21.strictObject({
|
|
|
1686
1694
|
"scale": zod21.number().gt(briefResponseSeededGraphicsItemScaleExclusiveMin).optional(),
|
|
1687
1695
|
"rotation": zod21.number().optional(),
|
|
1688
1696
|
"position": zod21.strictObject({
|
|
1689
|
-
"x": zod21.number(),
|
|
1690
|
-
"y": zod21.number()
|
|
1691
|
-
}).optional(),
|
|
1697
|
+
"x": zod21.number().min(briefResponseSeededGraphicsItemPositionXMin).max(briefResponseSeededGraphicsItemPositionXMax),
|
|
1698
|
+
"y": zod21.number().min(briefResponseSeededGraphicsItemPositionYMin).max(briefResponseSeededGraphicsItemPositionYMax)
|
|
1699
|
+
}).optional().describe("Clip CENTRE as a fraction of the frame: {x:0.5,y:0.5} is dead centre, 0 to 1 is inside the frame, and a little overshoot (down to -1, up to 2) is how an entrance starts off-canvas. NOT pixels: the renderer maps x to `left: x*100%`, so `x: 180` sits 180 frame-widths away and draws nothing."),
|
|
1692
1700
|
"region": zod21.strictObject({
|
|
1693
1701
|
"x": zod21.number().min(briefResponseSeededGraphicsItemRegionXMin).max(briefResponseSeededGraphicsItemRegionXMax),
|
|
1694
1702
|
"y": zod21.number().min(briefResponseSeededGraphicsItemRegionYMin).max(briefResponseSeededGraphicsItemRegionYMax),
|
|
@@ -1716,7 +1724,7 @@ var BriefResponse = zod21.strictObject({
|
|
|
1716
1724
|
zod21.number()
|
|
1717
1725
|
])
|
|
1718
1726
|
})]).optional()
|
|
1719
|
-
})).min(briefResponseSeededGraphicsItemAnimateMinOne)).optional()
|
|
1727
|
+
})).min(briefResponseSeededGraphicsItemAnimateMinOne)).optional().describe("Keyframe channels, clip-relative seconds. Each channel's values use the SAME unit as the scalar it animates: `opacity` 0 to 1, `scale` a multiplier (>0), `rotation` degrees, `position.x`/`position.y` a FRACTION of the frame like `position` (0.5 = centre; NOT pixels), `volume` 0 to 4.")
|
|
1720
1728
|
})).max(briefResponseSeededGraphicsMax).optional().describe("Client-authored graphic clips the Director must carry VERBATIM: seeded into the design loop's base composition as LOCKED clips (never re-authored, never discarded)."),
|
|
1721
1729
|
"exclusions": zod21.array(BriefExclusion).max(briefResponseExclusionsMax).optional(),
|
|
1722
1730
|
"gates": BriefGates.optional(),
|
|
@@ -1786,6 +1794,10 @@ var briefPatchRequestSeededGraphicsItemSourceThreeParallaxMax = 0.3;
|
|
|
1786
1794
|
var briefPatchRequestSeededGraphicsItemOpacityMin = 0;
|
|
1787
1795
|
var briefPatchRequestSeededGraphicsItemOpacityMax = 1;
|
|
1788
1796
|
var briefPatchRequestSeededGraphicsItemScaleExclusiveMin = 0;
|
|
1797
|
+
var briefPatchRequestSeededGraphicsItemPositionXMin = -1;
|
|
1798
|
+
var briefPatchRequestSeededGraphicsItemPositionXMax = 2;
|
|
1799
|
+
var briefPatchRequestSeededGraphicsItemPositionYMin = -1;
|
|
1800
|
+
var briefPatchRequestSeededGraphicsItemPositionYMax = 2;
|
|
1789
1801
|
var briefPatchRequestSeededGraphicsItemRegionXMin = 0;
|
|
1790
1802
|
var briefPatchRequestSeededGraphicsItemRegionXMax = 1;
|
|
1791
1803
|
var briefPatchRequestSeededGraphicsItemRegionYMin = 0;
|
|
@@ -1932,9 +1944,9 @@ var BriefPatchRequest = zod23.strictObject({
|
|
|
1932
1944
|
"scale": zod23.number().gt(briefPatchRequestSeededGraphicsItemScaleExclusiveMin).optional(),
|
|
1933
1945
|
"rotation": zod23.number().optional(),
|
|
1934
1946
|
"position": zod23.strictObject({
|
|
1935
|
-
"x": zod23.number(),
|
|
1936
|
-
"y": zod23.number()
|
|
1937
|
-
}).optional(),
|
|
1947
|
+
"x": zod23.number().min(briefPatchRequestSeededGraphicsItemPositionXMin).max(briefPatchRequestSeededGraphicsItemPositionXMax),
|
|
1948
|
+
"y": zod23.number().min(briefPatchRequestSeededGraphicsItemPositionYMin).max(briefPatchRequestSeededGraphicsItemPositionYMax)
|
|
1949
|
+
}).optional().describe("Clip CENTRE as a fraction of the frame: {x:0.5,y:0.5} is dead centre, 0 to 1 is inside the frame, and a little overshoot (down to -1, up to 2) is how an entrance starts off-canvas. NOT pixels: the renderer maps x to `left: x*100%`, so `x: 180` sits 180 frame-widths away and draws nothing."),
|
|
1938
1950
|
"region": zod23.strictObject({
|
|
1939
1951
|
"x": zod23.number().min(briefPatchRequestSeededGraphicsItemRegionXMin).max(briefPatchRequestSeededGraphicsItemRegionXMax),
|
|
1940
1952
|
"y": zod23.number().min(briefPatchRequestSeededGraphicsItemRegionYMin).max(briefPatchRequestSeededGraphicsItemRegionYMax),
|
|
@@ -1962,7 +1974,7 @@ var BriefPatchRequest = zod23.strictObject({
|
|
|
1962
1974
|
zod23.number()
|
|
1963
1975
|
])
|
|
1964
1976
|
})]).optional()
|
|
1965
|
-
})).min(briefPatchRequestSeededGraphicsItemAnimateMinOne)).optional()
|
|
1977
|
+
})).min(briefPatchRequestSeededGraphicsItemAnimateMinOne)).optional().describe("Keyframe channels, clip-relative seconds. Each channel's values use the SAME unit as the scalar it animates: `opacity` 0 to 1, `scale` a multiplier (>0), `rotation` degrees, `position.x`/`position.y` a FRACTION of the frame like `position` (0.5 = centre; NOT pixels), `volume` 0 to 4.")
|
|
1966
1978
|
})).max(briefPatchRequestSeededGraphicsMax).optional().describe("Client-authored graphic clips the Director must carry VERBATIM: seeded into the design loop's base composition as LOCKED clips (never re-authored, never discarded)."),
|
|
1967
1979
|
"exclusions": zod23.array(BriefExclusion).max(briefPatchRequestExclusionsMax).optional(),
|
|
1968
1980
|
"gates": BriefGates.optional(),
|
|
@@ -2513,6 +2525,10 @@ var compositionTracksItemContentsItemOneSourceThreeParallaxMax = 0.3;
|
|
|
2513
2525
|
var compositionTracksItemContentsItemOneOpacityMin = 0;
|
|
2514
2526
|
var compositionTracksItemContentsItemOneOpacityMax = 1;
|
|
2515
2527
|
var compositionTracksItemContentsItemOneScaleExclusiveMin = 0;
|
|
2528
|
+
var compositionTracksItemContentsItemOnePositionXMin = -1;
|
|
2529
|
+
var compositionTracksItemContentsItemOnePositionXMax = 2;
|
|
2530
|
+
var compositionTracksItemContentsItemOnePositionYMin = -1;
|
|
2531
|
+
var compositionTracksItemContentsItemOnePositionYMax = 2;
|
|
2516
2532
|
var compositionTracksItemContentsItemOneRegionXMin = 0;
|
|
2517
2533
|
var compositionTracksItemContentsItemOneRegionXMax = 1;
|
|
2518
2534
|
var compositionTracksItemContentsItemOneRegionYMin = 0;
|
|
@@ -2678,9 +2694,9 @@ var Composition = zod57.strictObject({
|
|
|
2678
2694
|
"scale": zod57.number().gt(compositionTracksItemContentsItemOneScaleExclusiveMin).optional(),
|
|
2679
2695
|
"rotation": zod57.number().optional(),
|
|
2680
2696
|
"position": zod57.strictObject({
|
|
2681
|
-
"x": zod57.number(),
|
|
2682
|
-
"y": zod57.number()
|
|
2683
|
-
}).optional(),
|
|
2697
|
+
"x": zod57.number().min(compositionTracksItemContentsItemOnePositionXMin).max(compositionTracksItemContentsItemOnePositionXMax),
|
|
2698
|
+
"y": zod57.number().min(compositionTracksItemContentsItemOnePositionYMin).max(compositionTracksItemContentsItemOnePositionYMax)
|
|
2699
|
+
}).optional().describe("Clip CENTRE as a fraction of the frame: {x:0.5,y:0.5} is dead centre, 0 to 1 is inside the frame, and a little overshoot (down to -1, up to 2) is how an entrance starts off-canvas. NOT pixels: the renderer maps x to `left: x*100%`, so `x: 180` sits 180 frame-widths away and draws nothing."),
|
|
2684
2700
|
"region": zod57.strictObject({
|
|
2685
2701
|
"x": zod57.number().min(compositionTracksItemContentsItemOneRegionXMin).max(compositionTracksItemContentsItemOneRegionXMax),
|
|
2686
2702
|
"y": zod57.number().min(compositionTracksItemContentsItemOneRegionYMin).max(compositionTracksItemContentsItemOneRegionYMax),
|
|
@@ -2708,7 +2724,7 @@ var Composition = zod57.strictObject({
|
|
|
2708
2724
|
zod57.number()
|
|
2709
2725
|
])
|
|
2710
2726
|
})]).optional()
|
|
2711
|
-
})).min(compositionTracksItemContentsItemOneAnimateMinOne)).optional()
|
|
2727
|
+
})).min(compositionTracksItemContentsItemOneAnimateMinOne)).optional().describe("Keyframe channels, clip-relative seconds. Each channel's values use the SAME unit as the scalar it animates: `opacity` 0 to 1, `scale` a multiplier (>0), `rotation` degrees, `position.x`/`position.y` a FRACTION of the frame like `position` (0.5 = centre; NOT pixels), `volume` 0 to 4.")
|
|
2712
2728
|
}), zod57.strictObject({
|
|
2713
2729
|
"id": zod57.string().min(1),
|
|
2714
2730
|
"startTime": zod57.number().min(compositionTracksItemContentsItemTwoStartTimeMin).describe("Timeline start (seconds)."),
|
|
@@ -5881,6 +5897,10 @@ var compositionOpThreeClipSourceThreeParallaxMax = 0.3;
|
|
|
5881
5897
|
var compositionOpThreeClipOpacityMin = 0;
|
|
5882
5898
|
var compositionOpThreeClipOpacityMax = 1;
|
|
5883
5899
|
var compositionOpThreeClipScaleExclusiveMin = 0;
|
|
5900
|
+
var compositionOpThreeClipPositionXMin = -1;
|
|
5901
|
+
var compositionOpThreeClipPositionXMax = 2;
|
|
5902
|
+
var compositionOpThreeClipPositionYMin = -1;
|
|
5903
|
+
var compositionOpThreeClipPositionYMax = 2;
|
|
5884
5904
|
var compositionOpThreeClipRegionXMin = 0;
|
|
5885
5905
|
var compositionOpThreeClipRegionXMax = 1;
|
|
5886
5906
|
var compositionOpThreeClipRegionYMin = 0;
|
|
@@ -5929,6 +5949,10 @@ var compositionOpFivePatchSourceThreeParallaxMax = 0.3;
|
|
|
5929
5949
|
var compositionOpFivePatchOpacityMin = 0;
|
|
5930
5950
|
var compositionOpFivePatchOpacityMax = 1;
|
|
5931
5951
|
var compositionOpFivePatchScaleExclusiveMin = 0;
|
|
5952
|
+
var compositionOpFivePatchPositionXMin = -1;
|
|
5953
|
+
var compositionOpFivePatchPositionXMax = 2;
|
|
5954
|
+
var compositionOpFivePatchPositionYMin = -1;
|
|
5955
|
+
var compositionOpFivePatchPositionYMax = 2;
|
|
5932
5956
|
var compositionOpFivePatchRegionXMin = 0;
|
|
5933
5957
|
var compositionOpFivePatchRegionXMax = 1;
|
|
5934
5958
|
var compositionOpFivePatchRegionYMin = 0;
|
|
@@ -5977,6 +6001,10 @@ var compositionOpSevenClipsItemSourceThreeParallaxMax = 0.3;
|
|
|
5977
6001
|
var compositionOpSevenClipsItemOpacityMin = 0;
|
|
5978
6002
|
var compositionOpSevenClipsItemOpacityMax = 1;
|
|
5979
6003
|
var compositionOpSevenClipsItemScaleExclusiveMin = 0;
|
|
6004
|
+
var compositionOpSevenClipsItemPositionXMin = -1;
|
|
6005
|
+
var compositionOpSevenClipsItemPositionXMax = 2;
|
|
6006
|
+
var compositionOpSevenClipsItemPositionYMin = -1;
|
|
6007
|
+
var compositionOpSevenClipsItemPositionYMax = 2;
|
|
5980
6008
|
var compositionOpSevenClipsItemRegionXMin = 0;
|
|
5981
6009
|
var compositionOpSevenClipsItemRegionXMax = 1;
|
|
5982
6010
|
var compositionOpSevenClipsItemRegionYMin = 0;
|
|
@@ -6165,9 +6193,9 @@ var CompositionOp = zod66.union([zod66.strictObject({
|
|
|
6165
6193
|
"scale": zod66.number().gt(compositionOpThreeClipScaleExclusiveMin).optional(),
|
|
6166
6194
|
"rotation": zod66.number().optional(),
|
|
6167
6195
|
"position": zod66.strictObject({
|
|
6168
|
-
"x": zod66.number(),
|
|
6169
|
-
"y": zod66.number()
|
|
6170
|
-
}).optional(),
|
|
6196
|
+
"x": zod66.number().min(compositionOpThreeClipPositionXMin).max(compositionOpThreeClipPositionXMax),
|
|
6197
|
+
"y": zod66.number().min(compositionOpThreeClipPositionYMin).max(compositionOpThreeClipPositionYMax)
|
|
6198
|
+
}).optional().describe("Clip CENTRE as a fraction of the frame: {x:0.5,y:0.5} is dead centre, 0 to 1 is inside the frame, and a little overshoot (down to -1, up to 2) is how an entrance starts off-canvas. NOT pixels: the renderer maps x to `left: x*100%`, so `x: 180` sits 180 frame-widths away and draws nothing."),
|
|
6171
6199
|
"region": zod66.strictObject({
|
|
6172
6200
|
"x": zod66.number().min(compositionOpThreeClipRegionXMin).max(compositionOpThreeClipRegionXMax),
|
|
6173
6201
|
"y": zod66.number().min(compositionOpThreeClipRegionYMin).max(compositionOpThreeClipRegionYMax),
|
|
@@ -6195,7 +6223,7 @@ var CompositionOp = zod66.union([zod66.strictObject({
|
|
|
6195
6223
|
zod66.number()
|
|
6196
6224
|
])
|
|
6197
6225
|
})]).optional()
|
|
6198
|
-
})).min(compositionOpThreeClipAnimateMinOne)).optional()
|
|
6226
|
+
})).min(compositionOpThreeClipAnimateMinOne)).optional().describe("Keyframe channels, clip-relative seconds. Each channel's values use the SAME unit as the scalar it animates: `opacity` 0 to 1, `scale` a multiplier (>0), `rotation` degrees, `position.x`/`position.y` a FRACTION of the frame like `position` (0.5 = centre; NOT pixels), `volume` 0 to 4.")
|
|
6199
6227
|
}),
|
|
6200
6228
|
"trackId": zod66.string().optional(),
|
|
6201
6229
|
"newTrack": zod66.boolean().optional(),
|
|
@@ -6314,9 +6342,9 @@ var CompositionOp = zod66.union([zod66.strictObject({
|
|
|
6314
6342
|
"scale": zod66.number().gt(compositionOpFivePatchScaleExclusiveMin).optional(),
|
|
6315
6343
|
"rotation": zod66.number().optional(),
|
|
6316
6344
|
"position": zod66.strictObject({
|
|
6317
|
-
"x": zod66.number(),
|
|
6318
|
-
"y": zod66.number()
|
|
6319
|
-
}).optional(),
|
|
6345
|
+
"x": zod66.number().min(compositionOpFivePatchPositionXMin).max(compositionOpFivePatchPositionXMax),
|
|
6346
|
+
"y": zod66.number().min(compositionOpFivePatchPositionYMin).max(compositionOpFivePatchPositionYMax)
|
|
6347
|
+
}).optional().describe("Clip CENTRE as a fraction of the frame: {x:0.5,y:0.5} is dead centre, 0 to 1 is inside the frame, and a little overshoot (down to -1, up to 2) is how an entrance starts off-canvas. NOT pixels: the renderer maps x to `left: x*100%`, so `x: 180` sits 180 frame-widths away and draws nothing."),
|
|
6320
6348
|
"region": zod66.strictObject({
|
|
6321
6349
|
"x": zod66.number().min(compositionOpFivePatchRegionXMin).max(compositionOpFivePatchRegionXMax),
|
|
6322
6350
|
"y": zod66.number().min(compositionOpFivePatchRegionYMin).max(compositionOpFivePatchRegionYMax),
|
|
@@ -6344,7 +6372,7 @@ var CompositionOp = zod66.union([zod66.strictObject({
|
|
|
6344
6372
|
zod66.number()
|
|
6345
6373
|
])
|
|
6346
6374
|
})]).optional()
|
|
6347
|
-
})).min(compositionOpFivePatchAnimateMinOne)).optional()
|
|
6375
|
+
})).min(compositionOpFivePatchAnimateMinOne)).optional().describe("Keyframe channels, clip-relative seconds. Each channel's values use the SAME unit as the scalar it animates: `opacity` 0 to 1, `scale` a multiplier (>0), `rotation` degrees, `position.x`/`position.y` a FRACTION of the frame like `position` (0.5 = centre; NOT pixels), `volume` 0 to 4.")
|
|
6348
6376
|
})
|
|
6349
6377
|
}).describe("Patch an existing clip by id (cross-family). The patch is a partial TimelineClip. NOTE: `source` is REPLACED wholesale \u2014 the patch merges at the top level only, so a partial `source` WIPES the source fields you omit. Patch the whole source object when changing it. (To change reframe/excluded ranges, prefer setCropIntents / addExcludedRange, not a source patch.)"), zod66.strictObject({
|
|
6350
6378
|
"type": zod66.literal("removeClipsByMediaId"),
|
|
@@ -6459,9 +6487,9 @@ var CompositionOp = zod66.union([zod66.strictObject({
|
|
|
6459
6487
|
"scale": zod66.number().gt(compositionOpSevenClipsItemScaleExclusiveMin).optional(),
|
|
6460
6488
|
"rotation": zod66.number().optional(),
|
|
6461
6489
|
"position": zod66.strictObject({
|
|
6462
|
-
"x": zod66.number(),
|
|
6463
|
-
"y": zod66.number()
|
|
6464
|
-
}).optional(),
|
|
6490
|
+
"x": zod66.number().min(compositionOpSevenClipsItemPositionXMin).max(compositionOpSevenClipsItemPositionXMax),
|
|
6491
|
+
"y": zod66.number().min(compositionOpSevenClipsItemPositionYMin).max(compositionOpSevenClipsItemPositionYMax)
|
|
6492
|
+
}).optional().describe("Clip CENTRE as a fraction of the frame: {x:0.5,y:0.5} is dead centre, 0 to 1 is inside the frame, and a little overshoot (down to -1, up to 2) is how an entrance starts off-canvas. NOT pixels: the renderer maps x to `left: x*100%`, so `x: 180` sits 180 frame-widths away and draws nothing."),
|
|
6465
6493
|
"region": zod66.strictObject({
|
|
6466
6494
|
"x": zod66.number().min(compositionOpSevenClipsItemRegionXMin).max(compositionOpSevenClipsItemRegionXMax),
|
|
6467
6495
|
"y": zod66.number().min(compositionOpSevenClipsItemRegionYMin).max(compositionOpSevenClipsItemRegionYMax),
|
|
@@ -6489,7 +6517,7 @@ var CompositionOp = zod66.union([zod66.strictObject({
|
|
|
6489
6517
|
zod66.number()
|
|
6490
6518
|
])
|
|
6491
6519
|
})]).optional()
|
|
6492
|
-
})).min(compositionOpSevenClipsItemAnimateMinOne)).optional()
|
|
6520
|
+
})).min(compositionOpSevenClipsItemAnimateMinOne)).optional().describe("Keyframe channels, clip-relative seconds. Each channel's values use the SAME unit as the scalar it animates: `opacity` 0 to 1, `scale` a multiplier (>0), `rotation` degrees, `position.x`/`position.y` a FRACTION of the frame like `position` (0.5 = centre; NOT pixels), `volume` 0 to 4.")
|
|
6493
6521
|
}))
|
|
6494
6522
|
}).describe("Replace the overlay channel wholesale with the given clips (bulk set, not a merge)."), zod66.strictObject({
|
|
6495
6523
|
"type": zod66.literal("addMarker"),
|
|
@@ -106,10 +106,13 @@ var Transition = z2.object({
|
|
|
106
106
|
type: z2.string().min(1),
|
|
107
107
|
duration: z2.number().positive()
|
|
108
108
|
});
|
|
109
|
-
var
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
109
|
+
var POSITION_MIN = -1;
|
|
110
|
+
var POSITION_MAX = 2;
|
|
111
|
+
var positionUnit = (axis) => `position.${axis} is a FRACTION of the frame (0.5 = centre, 0 to 1 inside it, ${POSITION_MIN} to ${POSITION_MAX} with entrance/exit overshoot) \u2014 px values are not accepted`;
|
|
112
|
+
var PositionAxis = (axis) => z2.number().min(POSITION_MIN, positionUnit(axis)).max(POSITION_MAX, positionUnit(axis));
|
|
113
|
+
var Position = z2.object({ x: PositionAxis("x"), y: PositionAxis("y") }).describe(
|
|
114
|
+
"Clip CENTRE as a fraction of the frame: {x:0.5,y:0.5} is dead centre, 0 to 1 is inside the frame, and a little overshoot (down to -1, up to 2) is how an entrance starts off-canvas. NOT pixels: the renderer maps x to `left: x*100%`, so `x: 180` sits 180 frame-widths away and draws nothing."
|
|
115
|
+
);
|
|
113
116
|
var Region = z2.object({
|
|
114
117
|
x: z2.number().min(0).max(1),
|
|
115
118
|
y: z2.number().min(0).max(1),
|
|
@@ -139,6 +142,14 @@ var ANIMATABLE_PARAMS = [
|
|
|
139
142
|
"position.y",
|
|
140
143
|
"volume"
|
|
141
144
|
];
|
|
145
|
+
var ANIMATABLE_VALUE = {
|
|
146
|
+
opacity: z2.number().min(0, "opacity is 0 to 1").max(1, "opacity is 0 to 1"),
|
|
147
|
+
scale: z2.number().positive("scale is a multiplier and must be > 0"),
|
|
148
|
+
rotation: z2.number(),
|
|
149
|
+
"position.x": PositionAxis("x"),
|
|
150
|
+
"position.y": PositionAxis("y"),
|
|
151
|
+
volume: z2.number().min(0, "volume is 0 to 4").max(4, "volume is 0 to 4")
|
|
152
|
+
};
|
|
142
153
|
var TimelineClip = z2.object({
|
|
143
154
|
id: z2.string().min(1),
|
|
144
155
|
startTime: z2.number().nonnegative(),
|
|
@@ -155,16 +166,30 @@ var TimelineClip = z2.object({
|
|
|
155
166
|
transitionIn: Transition.optional(),
|
|
156
167
|
linkGroupId: z2.string().min(1).optional(),
|
|
157
168
|
animate: z2.record(z2.string(), KeyframeChannel).superRefine((channels, ctx) => {
|
|
158
|
-
for (const key of Object.
|
|
169
|
+
for (const [key, channel] of Object.entries(channels)) {
|
|
159
170
|
if (!ANIMATABLE_PARAMS.includes(key)) {
|
|
160
171
|
ctx.addIssue({
|
|
161
172
|
code: z2.ZodIssueCode.custom,
|
|
162
173
|
path: [key],
|
|
163
174
|
message: `"${key}" is not an animatable param (${ANIMATABLE_PARAMS.join(", ")})`
|
|
164
175
|
});
|
|
176
|
+
continue;
|
|
165
177
|
}
|
|
178
|
+
const bound = ANIMATABLE_VALUE[key];
|
|
179
|
+
channel.forEach((kf, i) => {
|
|
180
|
+
const res = bound.safeParse(kf.value);
|
|
181
|
+
if (!res.success) {
|
|
182
|
+
ctx.addIssue({
|
|
183
|
+
code: z2.ZodIssueCode.custom,
|
|
184
|
+
path: [key, i, "value"],
|
|
185
|
+
message: res.error.issues[0]?.message ?? `invalid ${key} keyframe value`
|
|
186
|
+
});
|
|
187
|
+
}
|
|
188
|
+
});
|
|
166
189
|
}
|
|
167
|
-
}).
|
|
190
|
+
}).describe(
|
|
191
|
+
"Keyframe channels, clip-relative seconds. Each channel's values use the SAME unit as the scalar it animates: `opacity` 0 to 1, `scale` a multiplier (>0), `rotation` degrees, `position.x`/`position.y` a FRACTION of the frame like `position` (0.5 = centre; NOT pixels), `volume` 0 to 4."
|
|
192
|
+
).optional()
|
|
168
193
|
}).strict();
|
|
169
194
|
var Gap = z2.object({
|
|
170
195
|
id: z2.string().min(1),
|
|
@@ -465,6 +490,8 @@ export {
|
|
|
465
490
|
CompositionClipSource,
|
|
466
491
|
ClipSource,
|
|
467
492
|
Transition,
|
|
493
|
+
POSITION_MIN,
|
|
494
|
+
POSITION_MAX,
|
|
468
495
|
Region,
|
|
469
496
|
ClipFit,
|
|
470
497
|
PerClipEffect,
|
|
@@ -472,6 +499,7 @@ export {
|
|
|
472
499
|
Keyframe,
|
|
473
500
|
KeyframeChannel,
|
|
474
501
|
ANIMATABLE_PARAMS,
|
|
502
|
+
ANIMATABLE_VALUE,
|
|
475
503
|
TimelineClip,
|
|
476
504
|
Gap,
|
|
477
505
|
TrackContent,
|
|
@@ -7,13 +7,13 @@ import {
|
|
|
7
7
|
} from "./chunk-7AZLFN26.js";
|
|
8
8
|
import {
|
|
9
9
|
selectAllOverlays
|
|
10
|
-
} from "./chunk-
|
|
10
|
+
} from "./chunk-POTCIQTA.js";
|
|
11
11
|
import {
|
|
12
12
|
ComposePlan
|
|
13
|
-
} from "./chunk-
|
|
13
|
+
} from "./chunk-AG7HKF2U.js";
|
|
14
14
|
import {
|
|
15
15
|
OverlayClipSource
|
|
16
|
-
} from "./chunk-
|
|
16
|
+
} from "./chunk-ID5QY7V6.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-KNFL62QR.js");
|
|
67
67
|
return buildDirectorContext(capabilities);
|
|
68
68
|
}
|
|
69
69
|
},
|
package/dist/compose.js
CHANGED
|
@@ -5,39 +5,39 @@ import {
|
|
|
5
5
|
} from "./chunk-QDBVYZSF.js";
|
|
6
6
|
import "./chunk-JQMPHKLU.js";
|
|
7
7
|
import "./chunk-ZZRBKGDA.js";
|
|
8
|
+
import {
|
|
9
|
+
catalog as catalog4
|
|
10
|
+
} from "./chunk-JRJQECCF.js";
|
|
11
|
+
import {
|
|
12
|
+
catalog as catalog7
|
|
13
|
+
} from "./chunk-TE3PNQG6.js";
|
|
14
|
+
import {
|
|
15
|
+
catalog
|
|
16
|
+
} from "./chunk-RBWS5XHE.js";
|
|
17
|
+
import "./chunk-DLF4WVSE.js";
|
|
18
|
+
import "./chunk-U4V4FZGE.js";
|
|
8
19
|
import {
|
|
9
20
|
catalog as catalog3
|
|
10
21
|
} from "./chunk-FVDFPJHT.js";
|
|
22
|
+
import "./chunk-QGAWDLYX.js";
|
|
11
23
|
import {
|
|
12
24
|
catalog as catalog6
|
|
13
25
|
} from "./chunk-VLJOIUHL.js";
|
|
26
|
+
import "./chunk-S5H6GH6M.js";
|
|
27
|
+
import "./chunk-QAGGJHAF.js";
|
|
28
|
+
import {
|
|
29
|
+
catalog as catalog5
|
|
30
|
+
} from "./chunk-RAXHCRVV.js";
|
|
14
31
|
import {
|
|
15
32
|
catalog as catalog2
|
|
16
33
|
} from "./chunk-WAUVKF2F.js";
|
|
34
|
+
import "./chunk-MFHXCHRI.js";
|
|
17
35
|
import {
|
|
18
36
|
catalog as catalog8
|
|
19
37
|
} from "./chunk-RL5SO653.js";
|
|
20
|
-
import {
|
|
21
|
-
catalog as catalog4
|
|
22
|
-
} from "./chunk-JRJQECCF.js";
|
|
23
|
-
import {
|
|
24
|
-
catalog as catalog7
|
|
25
|
-
} from "./chunk-TE3PNQG6.js";
|
|
26
|
-
import "./chunk-QGAWDLYX.js";
|
|
27
|
-
import "./chunk-S5H6GH6M.js";
|
|
28
|
-
import "./chunk-QAGGJHAF.js";
|
|
29
|
-
import "./chunk-MFHXCHRI.js";
|
|
30
|
-
import {
|
|
31
|
-
catalog
|
|
32
|
-
} from "./chunk-RBWS5XHE.js";
|
|
33
|
-
import "./chunk-DLF4WVSE.js";
|
|
34
|
-
import "./chunk-U4V4FZGE.js";
|
|
35
38
|
import "./chunk-LT4PWSR2.js";
|
|
36
39
|
import "./chunk-FWSJLHSV.js";
|
|
37
40
|
import "./chunk-ZFEXATWN.js";
|
|
38
|
-
import {
|
|
39
|
-
catalog as catalog5
|
|
40
|
-
} from "./chunk-RAXHCRVV.js";
|
|
41
41
|
import "./chunk-XHGZ2E77.js";
|
|
42
42
|
import "./chunk-W2245F6G.js";
|
|
43
43
|
import "./chunk-JBWSK2YD.js";
|
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-POTCIQTA.js";
|
|
24
|
+
import "../chunk-AG7HKF2U.js";
|
|
25
|
+
import "../chunk-ID5QY7V6.js";
|
|
26
26
|
import "../chunk-WPZKOVYF.js";
|
|
27
27
|
import "../chunk-B7J5UUUV.js";
|
|
28
28
|
import "../chunk-KYRDKK2D.js";
|
|
@@ -48,9 +48,10 @@ import {
|
|
|
48
48
|
WebhookDeliveryStatus,
|
|
49
49
|
WebhookDestination,
|
|
50
50
|
YoutubeDestination
|
|
51
|
-
} from "../chunk-
|
|
51
|
+
} from "../chunk-AG7HKF2U.js";
|
|
52
52
|
import {
|
|
53
53
|
ANIMATABLE_PARAMS,
|
|
54
|
+
ANIMATABLE_VALUE,
|
|
54
55
|
AlphaLayerClipSource,
|
|
55
56
|
CaptionSegment,
|
|
56
57
|
CaptionStyle,
|
|
@@ -74,6 +75,8 @@ import {
|
|
|
74
75
|
MediaClipSource,
|
|
75
76
|
OpaqueId,
|
|
76
77
|
OverlayClipSource,
|
|
78
|
+
POSITION_MAX,
|
|
79
|
+
POSITION_MIN,
|
|
77
80
|
PerClipEffect,
|
|
78
81
|
Region,
|
|
79
82
|
TimelineClip,
|
|
@@ -82,7 +85,7 @@ import {
|
|
|
82
85
|
Transition,
|
|
83
86
|
captionWords,
|
|
84
87
|
captionsAreBehindSubject
|
|
85
|
-
} from "../chunk-
|
|
88
|
+
} from "../chunk-ID5QY7V6.js";
|
|
86
89
|
import {
|
|
87
90
|
AUTHORED_GRAPHIC_KINDS
|
|
88
91
|
} from "../chunk-WPZKOVYF.js";
|
|
@@ -97,6 +100,7 @@ import "../chunk-AVTEPAWI.js";
|
|
|
97
100
|
import "../chunk-2ESYSVXG.js";
|
|
98
101
|
export {
|
|
99
102
|
ANIMATABLE_PARAMS,
|
|
103
|
+
ANIMATABLE_VALUE,
|
|
100
104
|
AUTHORED_GRAPHIC_KINDS,
|
|
101
105
|
AlphaLayerClipSource,
|
|
102
106
|
AudioPaletteRef,
|
|
@@ -136,6 +140,8 @@ export {
|
|
|
136
140
|
MuxDestination,
|
|
137
141
|
OpaqueId,
|
|
138
142
|
OverlayClipSource,
|
|
143
|
+
POSITION_MAX,
|
|
144
|
+
POSITION_MIN,
|
|
139
145
|
PerClipEffect,
|
|
140
146
|
PlanAssetRequest,
|
|
141
147
|
PlanCut,
|
package/dist/composition-ops.js
CHANGED
|
@@ -11,8 +11,8 @@ import {
|
|
|
11
11
|
findClipById,
|
|
12
12
|
findMarkerById,
|
|
13
13
|
findTrackContainingClipId
|
|
14
|
-
} from "./chunk-
|
|
15
|
-
import "./chunk-
|
|
14
|
+
} from "./chunk-POTCIQTA.js";
|
|
15
|
+
import "./chunk-AG7HKF2U.js";
|
|
16
16
|
import {
|
|
17
17
|
CaptionSegment,
|
|
18
18
|
CaptionStyle,
|
|
@@ -23,7 +23,7 @@ import {
|
|
|
23
23
|
TimelineClip,
|
|
24
24
|
Track,
|
|
25
25
|
Transition
|
|
26
|
-
} from "./chunk-
|
|
26
|
+
} from "./chunk-ID5QY7V6.js";
|
|
27
27
|
import "./chunk-WPZKOVYF.js";
|
|
28
28
|
import {
|
|
29
29
|
ReframeSegment
|
package/dist/composition.js
CHANGED
|
@@ -149,9 +149,10 @@ import {
|
|
|
149
149
|
WebhookDeliveryStatus,
|
|
150
150
|
WebhookDestination,
|
|
151
151
|
YoutubeDestination
|
|
152
|
-
} from "./chunk-
|
|
152
|
+
} from "./chunk-AG7HKF2U.js";
|
|
153
153
|
import {
|
|
154
154
|
ANIMATABLE_PARAMS,
|
|
155
|
+
ANIMATABLE_VALUE,
|
|
155
156
|
AlphaLayerClipSource,
|
|
156
157
|
CaptionSegment,
|
|
157
158
|
CaptionStyle,
|
|
@@ -175,6 +176,8 @@ import {
|
|
|
175
176
|
MediaClipSource,
|
|
176
177
|
OpaqueId,
|
|
177
178
|
OverlayClipSource,
|
|
179
|
+
POSITION_MAX,
|
|
180
|
+
POSITION_MIN,
|
|
178
181
|
PerClipEffect,
|
|
179
182
|
Region,
|
|
180
183
|
TimelineClip,
|
|
@@ -183,7 +186,7 @@ import {
|
|
|
183
186
|
Transition,
|
|
184
187
|
captionWords,
|
|
185
188
|
captionsAreBehindSubject
|
|
186
|
-
} from "./chunk-
|
|
189
|
+
} from "./chunk-ID5QY7V6.js";
|
|
187
190
|
import {
|
|
188
191
|
AUTHORED_GRAPHIC_KINDS
|
|
189
192
|
} from "./chunk-WPZKOVYF.js";
|
|
@@ -286,6 +289,7 @@ function deriveReframedComposition(source, targetFormat, perceptionByClipId) {
|
|
|
286
289
|
}
|
|
287
290
|
export {
|
|
288
291
|
ANIMATABLE_PARAMS,
|
|
292
|
+
ANIMATABLE_VALUE,
|
|
289
293
|
AUTHORED_GRAPHIC_KINDS,
|
|
290
294
|
AlphaLayerClipSource,
|
|
291
295
|
AudioPaletteRef,
|
|
@@ -344,6 +348,8 @@ export {
|
|
|
344
348
|
MuxDestination,
|
|
345
349
|
OpaqueId,
|
|
346
350
|
OverlayClipSource,
|
|
351
|
+
POSITION_MAX,
|
|
352
|
+
POSITION_MIN,
|
|
347
353
|
PerClipEffect,
|
|
348
354
|
PlanAssetRequest,
|
|
349
355
|
PlanCut,
|
|
@@ -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-ZUJCWFS7.js";
|
|
4
|
+
import "./chunk-POTCIQTA.js";
|
|
5
|
+
import "./chunk-AG7HKF2U.js";
|
|
6
|
+
import "./chunk-ID5QY7V6.js";
|
|
7
7
|
import "./chunk-WPZKOVYF.js";
|
|
8
8
|
import "./chunk-B7J5UUUV.js";
|
|
9
9
|
import "./chunk-KYRDKK2D.js";
|
package/dist/mcp/adapter.js
CHANGED
|
@@ -2,7 +2,7 @@ import {
|
|
|
2
2
|
querySchemaShape,
|
|
3
3
|
serializeQuery,
|
|
4
4
|
waitForJob
|
|
5
|
-
} from "../chunk-
|
|
5
|
+
} from "../chunk-JNOM4FW3.js";
|
|
6
6
|
import {
|
|
7
7
|
CURATED_TOOLS
|
|
8
8
|
} from "../chunk-5YO4LAB7.js";
|
|
@@ -16,7 +16,7 @@ import {
|
|
|
16
16
|
opById,
|
|
17
17
|
safeParse,
|
|
18
18
|
sniffImageMediaType
|
|
19
|
-
} from "../chunk-
|
|
19
|
+
} from "../chunk-GA6NRDK3.js";
|
|
20
20
|
import "../chunk-2ESYSVXG.js";
|
|
21
21
|
|
|
22
22
|
// ../mcp/src/adapter.ts
|
package/dist/mcp/core.js
CHANGED
package/dist/mcp/server.js
CHANGED
|
@@ -7,10 +7,10 @@ import {
|
|
|
7
7
|
registerRawTools,
|
|
8
8
|
registerSkillPrompts,
|
|
9
9
|
titleCase
|
|
10
|
-
} from "../chunk-
|
|
11
|
-
import "../chunk-
|
|
10
|
+
} from "../chunk-BLDL2EKL.js";
|
|
11
|
+
import "../chunk-JNOM4FW3.js";
|
|
12
12
|
import "../chunk-5YO4LAB7.js";
|
|
13
|
-
import "../chunk-
|
|
13
|
+
import "../chunk-GA6NRDK3.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-
|
|
11
|
-
import "./chunk-
|
|
10
|
+
} from "./chunk-BLDL2EKL.js";
|
|
11
|
+
import "./chunk-JNOM4FW3.js";
|
|
12
12
|
import "./chunk-5YO4LAB7.js";
|
|
13
|
-
import "./chunk-
|
|
13
|
+
import "./chunk-GA6NRDK3.js";
|
|
14
14
|
import "./chunk-2ESYSVXG.js";
|
|
15
15
|
export {
|
|
16
16
|
API_URLS,
|
package/dist/plane/contract.js
CHANGED
|
@@ -3,8 +3,8 @@ import "../chunk-2ESYSVXG.js";
|
|
|
3
3
|
// ../plane/src/contract.ts
|
|
4
4
|
import { z } from "zod";
|
|
5
5
|
var STILL_BUDGET_BASE_S = 60;
|
|
6
|
-
var STILL_BUDGET_PER_BEAT_S =
|
|
7
|
-
var STILL_BUDGET_CEILING_S =
|
|
6
|
+
var STILL_BUDGET_PER_BEAT_S = 10;
|
|
7
|
+
var STILL_BUDGET_CEILING_S = 840;
|
|
8
8
|
var CO_BATCHED_CALLERS = 4;
|
|
9
9
|
var MAX_STILL_BEATS_PER_BATCH = 18;
|
|
10
10
|
function stillBudgetSeconds(beats) {
|
package/dist/primitives.js
CHANGED
|
@@ -1,36 +1,36 @@
|
|
|
1
|
+
import {
|
|
2
|
+
catalog as catalog4
|
|
3
|
+
} from "./chunk-JRJQECCF.js";
|
|
4
|
+
import {
|
|
5
|
+
catalog as catalog7
|
|
6
|
+
} from "./chunk-TE3PNQG6.js";
|
|
7
|
+
import {
|
|
8
|
+
catalog
|
|
9
|
+
} from "./chunk-RBWS5XHE.js";
|
|
10
|
+
import "./chunk-DLF4WVSE.js";
|
|
11
|
+
import "./chunk-U4V4FZGE.js";
|
|
1
12
|
import {
|
|
2
13
|
catalog as catalog3
|
|
3
14
|
} from "./chunk-FVDFPJHT.js";
|
|
15
|
+
import "./chunk-QGAWDLYX.js";
|
|
4
16
|
import {
|
|
5
17
|
catalog as catalog6
|
|
6
18
|
} from "./chunk-VLJOIUHL.js";
|
|
19
|
+
import "./chunk-S5H6GH6M.js";
|
|
20
|
+
import "./chunk-QAGGJHAF.js";
|
|
21
|
+
import {
|
|
22
|
+
catalog as catalog5
|
|
23
|
+
} from "./chunk-RAXHCRVV.js";
|
|
7
24
|
import {
|
|
8
25
|
catalog as catalog2
|
|
9
26
|
} from "./chunk-WAUVKF2F.js";
|
|
27
|
+
import "./chunk-MFHXCHRI.js";
|
|
10
28
|
import {
|
|
11
29
|
catalog as catalog8
|
|
12
30
|
} from "./chunk-RL5SO653.js";
|
|
13
|
-
import {
|
|
14
|
-
catalog as catalog4
|
|
15
|
-
} from "./chunk-JRJQECCF.js";
|
|
16
|
-
import {
|
|
17
|
-
catalog as catalog7
|
|
18
|
-
} from "./chunk-TE3PNQG6.js";
|
|
19
|
-
import "./chunk-QGAWDLYX.js";
|
|
20
|
-
import "./chunk-S5H6GH6M.js";
|
|
21
|
-
import "./chunk-QAGGJHAF.js";
|
|
22
|
-
import "./chunk-MFHXCHRI.js";
|
|
23
|
-
import {
|
|
24
|
-
catalog
|
|
25
|
-
} from "./chunk-RBWS5XHE.js";
|
|
26
|
-
import "./chunk-DLF4WVSE.js";
|
|
27
|
-
import "./chunk-U4V4FZGE.js";
|
|
28
31
|
import "./chunk-LT4PWSR2.js";
|
|
29
32
|
import "./chunk-FWSJLHSV.js";
|
|
30
33
|
import "./chunk-ZFEXATWN.js";
|
|
31
|
-
import {
|
|
32
|
-
catalog as catalog5
|
|
33
|
-
} from "./chunk-RAXHCRVV.js";
|
|
34
34
|
import "./chunk-XHGZ2E77.js";
|
|
35
35
|
import "./chunk-W2245F6G.js";
|
|
36
36
|
import "./chunk-JBWSK2YD.js";
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@cueframe/kernel",
|
|
3
|
-
"version": "0.2.
|
|
3
|
+
"version": "0.2.38",
|
|
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": [
|
|
@@ -16,26 +16,26 @@
|
|
|
16
16
|
"devDependencies": {
|
|
17
17
|
"tsup": "^8.3.5",
|
|
18
18
|
"typescript": "^5.9.3",
|
|
19
|
-
"@cueframe/account-model": "0.1.0",
|
|
20
|
-
"@cueframe/animate": "0.1.0",
|
|
21
19
|
"@cueframe/authoring": "0.1.0",
|
|
20
|
+
"@cueframe/animate": "0.1.0",
|
|
21
|
+
"@cueframe/brand-derivation": "0.1.0",
|
|
22
22
|
"@cueframe/cloud-import": "0.1.0",
|
|
23
|
+
"@cueframe/account-model": "0.1.0",
|
|
23
24
|
"@cueframe/compose": "0.1.0",
|
|
24
|
-
"@cueframe/composition-ops": "0.1.0",
|
|
25
25
|
"@cueframe/composition": "0.1.0",
|
|
26
|
-
"@cueframe/
|
|
26
|
+
"@cueframe/component-runtime": "0.1.0",
|
|
27
27
|
"@cueframe/core": "0.1.0",
|
|
28
28
|
"@cueframe/errors": "0.1.0",
|
|
29
|
-
"@cueframe/
|
|
29
|
+
"@cueframe/composition-ops": "0.1.0",
|
|
30
30
|
"@cueframe/foundation": "0.1.0",
|
|
31
|
-
"@cueframe/component-runtime": "0.1.0",
|
|
32
|
-
"@cueframe/mcp": "0.1.0",
|
|
33
|
-
"@cueframe/primitives": "0.1.0",
|
|
34
|
-
"@cueframe/perception": "0.1.0",
|
|
35
31
|
"@cueframe/nle-export": "0.1.0",
|
|
36
|
-
"@cueframe/
|
|
32
|
+
"@cueframe/perception": "0.1.0",
|
|
37
33
|
"@cueframe/render-harness": "0.1.0",
|
|
38
|
-
"@cueframe/
|
|
34
|
+
"@cueframe/mcp": "0.1.0",
|
|
35
|
+
"@cueframe/plane": "0.1.0",
|
|
36
|
+
"@cueframe/director": "0.1.0",
|
|
37
|
+
"@cueframe/media-model": "0.1.0",
|
|
38
|
+
"@cueframe/primitives": "0.1.0"
|
|
39
39
|
},
|
|
40
40
|
"peerDependencies": {
|
|
41
41
|
"gsap": "3.13.0",
|