@cueframe/kernel 0.2.20 → 0.2.22

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 (55) hide show
  1. package/dist/_members/composition/scene/schema.d.ts +76 -1
  2. package/dist/_members/errors/registry.d.ts +6 -0
  3. package/dist/animate/preparation-facts.js +2 -2
  4. package/dist/animate.js +3 -3
  5. package/dist/authoring/scene.js +2 -2
  6. package/dist/authoring.js +4 -4
  7. package/dist/{chunk-IRVRWQWD.js → chunk-7YL7NJJF.js} +9 -4
  8. package/dist/{chunk-YTQQ24BU.js → chunk-B2SS3H6Y.js} +1 -1
  9. package/dist/{chunk-P5POI4O2.js → chunk-BAVEHXVC.js} +5 -4
  10. package/dist/{chunk-PSMIDGQA.js → chunk-CDZBSLVA.js} +2 -2
  11. package/dist/{chunk-XUU5PK6J.js → chunk-DEDZKZ6G.js} +2 -2
  12. package/dist/{chunk-DFAESPHN.js → chunk-DJWCD3RF.js} +7 -1
  13. package/dist/{chunk-EGR6QWLX.js → chunk-E54DK225.js} +1 -1
  14. package/dist/{chunk-E25S4EQC.js → chunk-EDDIDBI6.js} +1 -1
  15. package/dist/{chunk-WL2NULVQ.js → chunk-EVUXHHQY.js} +1 -1
  16. package/dist/{chunk-L5XVJQQV.js → chunk-K4VE64CR.js} +1 -1
  17. package/dist/{chunk-TWI22U3C.js → chunk-LD4XQQRL.js} +1 -1
  18. package/dist/{chunk-OSV6UUP3.js → chunk-MNPKGS7X.js} +1 -1
  19. package/dist/{chunk-OTZDVUAM.js → chunk-NG7DP46H.js} +1 -1
  20. package/dist/{chunk-ELE2VHXO.js → chunk-PQDALM2G.js} +3 -3
  21. package/dist/{chunk-5TMLB4WM.js → chunk-PRSRV7AT.js} +2 -2
  22. package/dist/{chunk-CHWA3TQM.js → chunk-QWXUYVHX.js} +1 -0
  23. package/dist/{chunk-OAVJUZIC.js → chunk-TZ7DKL2G.js} +1 -1
  24. package/dist/{chunk-STTZC7NN.js → chunk-URQQTAHZ.js} +2467 -2296
  25. package/dist/{chunk-BWLYZQ7I.js → chunk-VDSO2KZY.js} +1 -1
  26. package/dist/{chunk-IHMKU4PM.js → chunk-WLU5XPDG.js} +2 -2
  27. package/dist/{chunk-HPWJQNBU.js → chunk-YV5AYMNK.js} +1 -1
  28. package/dist/component-runtime/browserOptions.js +2 -2
  29. package/dist/component-runtime/render.js +3 -3
  30. package/dist/component-runtime.js +4 -4
  31. package/dist/compose.js +7 -7
  32. package/dist/composition/projection.js +2 -2
  33. package/dist/composition/scene/schema.json +2 -1
  34. package/dist/composition/scene.js +3 -1
  35. package/dist/composition-ops.js +11 -6
  36. package/dist/composition.js +2 -2
  37. package/dist/core/render.js +4 -4
  38. package/dist/core/select.js +2 -2
  39. package/dist/core.js +4 -4
  40. package/dist/director/ai-sdk.js +3 -3
  41. package/dist/director/domain.js +2 -2
  42. package/dist/director.js +3 -3
  43. package/dist/errors.js +1 -1
  44. package/dist/mcp/adapter.js +3 -3
  45. package/dist/mcp/core.js +1 -1
  46. package/dist/mcp/curation.js +1 -1
  47. package/dist/mcp/server.js +4 -4
  48. package/dist/mcp.js +4 -4
  49. package/dist/primitives/effects.js +4 -4
  50. package/dist/primitives/layouts.js +4 -4
  51. package/dist/primitives/scenes.js +4 -4
  52. package/dist/primitives.js +6 -6
  53. package/dist/render-harness/cardAssetAdmission.js +2 -2
  54. package/dist/render-harness.js +9 -9
  55. package/package.json +9 -9
@@ -347,7 +347,82 @@ export declare function sceneShotImageSlots(spec: Pick<SceneShotSpecV2, 'layers'
347
347
  /** Distinct video media ids in first-use order, recursively through groups. */
348
348
  export declare function sceneShotVideoSlots(spec: Pick<SceneShotSpecV2, 'layers'>): string[];
349
349
  export declare function sceneShotSurfaceCount(spec: Pick<SceneShotSpecV2, 'layers'>): number;
350
+ /**
351
+ * What a scene shot IS, for a caller reading the published contract.
352
+ *
353
+ * It lives HERE, on the schema, because it is generated from here into
354
+ * `scene/schema.json` and on into `api/openapi.json`. It used to exist only
355
+ * inside the published `api/openapi.json`, kept alive by the public repo's
356
+ * `vendor-scene-schema.mjs` reading its own previous output and writing it
357
+ * back — a hand-authored value surviving inside a generated artifact, which
358
+ * meant regenerating the contract from source would silently delete the only
359
+ * description of the feature.
360
+ */
361
+ export declare const SCENE_SHOT_SPEC_V2_DESCRIPTION = "A version-2 scene shot: a self-contained 3D world-object shot that scene.add / scene.update materializes into an ordinary component clip. The shot owns its layers, camera, lighting, backdrop and normalized local animation; the composition owns start, duration, ordering, cuts and transitions. Coordinates are REFERENCE PIXELS: origin at frame centre, +X right, +Y down, +Z toward the viewer. referenceSize must have the SAME aspect ratio as the composition format; mismatch fails instead of cropping. At equal aspect ratio the shot scales uniformly by outputWidth/referenceWidth. A segment's easing belongs to the keyframe it ARRIVES at; the first keyframe has no easing. Authoring limits: 32 layers, 4 devices, 16 distinct image slots, 256 keyframes per channel, 2048 keyframes per shot. Version 2 supports nested groups, procedural slab/page/phone/laptop objects, screen- and world-space text, admitted image/component/video surfaces, fixed photographic and generated studio environments, transparent/solid/linear/radial backdrops, constraints, focus, grain and vignette. Raw HTML, custom shader props, imported GLB models, arbitrary external HDR environments, skeletal animation and physics are refused with an exact field path.";
350
362
  /** Agent-facing schema generated from the same Zod contract used by runtime parsing. */
351
- export declare const sceneShotJsonSchema: z.core.ZodStandardJSONSchemaPayload<z.ZodType<SceneShotSpecV2, unknown, z.core.$ZodTypeInternals<SceneShotSpecV2, unknown>>>;
363
+ export declare const sceneShotJsonSchema: {
364
+ description: string;
365
+ "~standard": z.core.ZodStandardSchemaWithJSON<z.ZodType<SceneShotSpecV2, unknown, z.core.$ZodTypeInternals<SceneShotSpecV2, unknown>>>;
366
+ $schema?: "https://json-schema.org/draft/2020-12/schema" | "http://json-schema.org/draft-07/schema#" | "http://json-schema.org/draft-04/schema#";
367
+ $id?: string;
368
+ $anchor?: string;
369
+ $ref?: string;
370
+ $dynamicRef?: string;
371
+ $dynamicAnchor?: string;
372
+ $vocabulary?: Record<string, boolean>;
373
+ $comment?: string;
374
+ $defs?: Record<string, z.core.JSONSchema.JSONSchema>;
375
+ type?: z.core.JSONSchema.SchemaType | z.core.JSONSchema.SchemaType[];
376
+ additionalItems?: z.core.JSONSchema._JSONSchema;
377
+ unevaluatedItems?: z.core.JSONSchema._JSONSchema;
378
+ prefixItems?: z.core.JSONSchema._JSONSchema[];
379
+ items?: z.core.JSONSchema._JSONSchema | z.core.JSONSchema._JSONSchema[];
380
+ contains?: z.core.JSONSchema._JSONSchema;
381
+ additionalProperties?: z.core.JSONSchema._JSONSchema;
382
+ unevaluatedProperties?: z.core.JSONSchema._JSONSchema;
383
+ properties?: Record<string, z.core.JSONSchema._JSONSchema>;
384
+ patternProperties?: Record<string, z.core.JSONSchema._JSONSchema>;
385
+ dependentSchemas?: Record<string, z.core.JSONSchema._JSONSchema>;
386
+ propertyNames?: z.core.JSONSchema._JSONSchema;
387
+ if?: z.core.JSONSchema._JSONSchema;
388
+ then?: z.core.JSONSchema._JSONSchema;
389
+ else?: z.core.JSONSchema._JSONSchema;
390
+ allOf?: z.core.JSONSchema.JSONSchema[];
391
+ anyOf?: z.core.JSONSchema.JSONSchema[];
392
+ oneOf?: z.core.JSONSchema.JSONSchema[];
393
+ not?: z.core.JSONSchema._JSONSchema;
394
+ multipleOf?: number;
395
+ maximum?: number;
396
+ exclusiveMaximum?: number | boolean;
397
+ minimum?: number;
398
+ exclusiveMinimum?: number | boolean;
399
+ maxLength?: number;
400
+ minLength?: number;
401
+ pattern?: string;
402
+ maxItems?: number;
403
+ minItems?: number;
404
+ uniqueItems?: boolean;
405
+ maxContains?: number;
406
+ minContains?: number;
407
+ maxProperties?: number;
408
+ minProperties?: number;
409
+ required?: string[];
410
+ dependentRequired?: Record<string, string[]>;
411
+ enum?: Array<string | number | boolean | null>;
412
+ const?: string | number | boolean | null;
413
+ id?: string;
414
+ title?: string;
415
+ default?: unknown;
416
+ deprecated?: boolean;
417
+ readOnly?: boolean;
418
+ writeOnly?: boolean;
419
+ nullable?: boolean;
420
+ examples?: unknown[];
421
+ format?: string;
422
+ contentMediaType?: string;
423
+ contentEncoding?: string;
424
+ contentSchema?: z.core.JSONSchema.JSONSchema;
425
+ _prefault?: unknown;
426
+ };
352
427
  export declare function sceneShotJsonSchemaText(): string;
353
428
  export {};
@@ -349,6 +349,12 @@ export declare const ERROR_CODES: {
349
349
  readonly retryable: false;
350
350
  readonly httpStatus: 422;
351
351
  };
352
+ readonly composition_too_large: {
353
+ readonly stage: "validate";
354
+ readonly category: "authoring";
355
+ readonly retryable: false;
356
+ readonly httpStatus: 413;
357
+ };
352
358
  readonly overlapping_hero_overlays: {
353
359
  readonly stage: "validate";
354
360
  readonly category: "authoring";
@@ -4,11 +4,11 @@ import {
4
4
  sceneGrainPreparationCpuAllocationV1,
5
5
  scenePresetBuilderDescriptorV1,
6
6
  sceneSlabPreparationFactsV1
7
- } from "../chunk-OAVJUZIC.js";
7
+ } from "../chunk-TZ7DKL2G.js";
8
8
  import {
9
9
  photographicStudioPreparationFactsV1,
10
10
  sceneFocusPreparationAllocationsV1
11
- } from "../chunk-IRVRWQWD.js";
11
+ } from "../chunk-7YL7NJJF.js";
12
12
  import "../chunk-2L7PYYJK.js";
13
13
  import "../chunk-2ESYSVXG.js";
14
14
  export {
package/dist/animate.js CHANGED
@@ -102,7 +102,7 @@ import {
102
102
  useStage,
103
103
  weightsAt,
104
104
  worldTransform
105
- } from "./chunk-XUU5PK6J.js";
105
+ } from "./chunk-DEDZKZ6G.js";
106
106
  import {
107
107
  DEFAULT_LIGHTING_PROFILE,
108
108
  DEVICE_GLASS_OPACITY_ENCODED,
@@ -161,7 +161,7 @@ import {
161
161
  studioShadowFrustum,
162
162
  verifyPhotographicStudioHdr,
163
163
  withNormalisedFaceUv
164
- } from "./chunk-OAVJUZIC.js";
164
+ } from "./chunk-TZ7DKL2G.js";
165
165
  import {
166
166
  ALLOWED_BAKE_SCALES,
167
167
  DEFAULT_BAKE_SCALE,
@@ -183,7 +183,7 @@ import {
183
183
  projectedSlotEdges,
184
184
  sceneFocusPreparationAllocationsV1,
185
185
  selectSceneBakeScale
186
- } from "./chunk-IRVRWQWD.js";
186
+ } from "./chunk-7YL7NJJF.js";
187
187
  import "./chunk-2L7PYYJK.js";
188
188
  import "./chunk-AVTEPAWI.js";
189
189
  import "./chunk-2ESYSVXG.js";
@@ -13,7 +13,7 @@ import {
13
13
  sceneTrackIdFor,
14
14
  validateSceneAdd,
15
15
  validateSceneUpdate
16
- } from "../chunk-EGR6QWLX.js";
16
+ } from "../chunk-E54DK225.js";
17
17
  import {
18
18
  SCENE_TRANSITION_KINDS,
19
19
  collectSceneClipIssues,
@@ -22,7 +22,7 @@ import {
22
22
  offFrameLattice,
23
23
  readSceneSourceRef,
24
24
  sceneClipShapeIssues
25
- } from "../chunk-IRVRWQWD.js";
25
+ } from "../chunk-7YL7NJJF.js";
26
26
  import "../chunk-2L7PYYJK.js";
27
27
  import "../chunk-2ESYSVXG.js";
28
28
  export {
package/dist/authoring.js CHANGED
@@ -4,7 +4,7 @@ import {
4
4
  hasSceneOp,
5
5
  isSceneOp,
6
6
  materializeSceneOpsCore
7
- } from "./chunk-EGR6QWLX.js";
7
+ } from "./chunk-E54DK225.js";
8
8
  import {
9
9
  ZERO_USAGE,
10
10
  buildDirectorTools,
@@ -48,7 +48,7 @@ import {
48
48
  formatPlanSteps,
49
49
  initCodeGenPrompts
50
50
  } from "./chunk-Y4HPN4BC.js";
51
- import "./chunk-OSV6UUP3.js";
51
+ import "./chunk-MNPKGS7X.js";
52
52
  import {
53
53
  cssLayoutVars
54
54
  } from "./chunk-W5W3FDDI.js";
@@ -62,12 +62,12 @@ import "./chunk-WPZKOVYF.js";
62
62
  import "./chunk-B7J5UUUV.js";
63
63
  import "./chunk-KYRDKK2D.js";
64
64
  import "./chunk-WREYUH2E.js";
65
- import "./chunk-CHWA3TQM.js";
65
+ import "./chunk-QWXUYVHX.js";
66
66
  import "./chunk-7PA7FGLD.js";
67
67
  import {
68
68
  collectSceneClipIssues,
69
69
  isSceneShotClip
70
- } from "./chunk-IRVRWQWD.js";
70
+ } from "./chunk-7YL7NJJF.js";
71
71
  import "./chunk-2L7PYYJK.js";
72
72
  import "./chunk-AVTEPAWI.js";
73
73
  import "./chunk-2ESYSVXG.js";
@@ -1172,10 +1172,14 @@ function sceneShotSurfaceCount(spec2) {
1172
1172
  });
1173
1173
  return count;
1174
1174
  }
1175
- var sceneShotJsonSchema = z.toJSONSchema(SceneShotSpecV2Schema, {
1176
- target: "draft-2020-12",
1177
- io: "input"
1178
- });
1175
+ var SCENE_SHOT_SPEC_V2_DESCRIPTION = "A version-2 scene shot: a self-contained 3D world-object shot that scene.add / scene.update materializes into an ordinary component clip. The shot owns its layers, camera, lighting, backdrop and normalized local animation; the composition owns start, duration, ordering, cuts and transitions. Coordinates are REFERENCE PIXELS: origin at frame centre, +X right, +Y down, +Z toward the viewer. referenceSize must have the SAME aspect ratio as the composition format; mismatch fails instead of cropping. At equal aspect ratio the shot scales uniformly by outputWidth/referenceWidth. A segment's easing belongs to the keyframe it ARRIVES at; the first keyframe has no easing. Authoring limits: 32 layers, 4 devices, 16 distinct image slots, 256 keyframes per channel, 2048 keyframes per shot. Version 2 supports nested groups, procedural slab/page/phone/laptop objects, screen- and world-space text, admitted image/component/video surfaces, fixed photographic and generated studio environments, transparent/solid/linear/radial backdrops, constraints, focus, grain and vignette. Raw HTML, custom shader props, imported GLB models, arbitrary external HDR environments, skeletal animation and physics are refused with an exact field path.";
1176
+ var sceneShotJsonSchema = {
1177
+ ...z.toJSONSchema(SceneShotSpecV2Schema, {
1178
+ target: "draft-2020-12",
1179
+ io: "input"
1180
+ }),
1181
+ description: SCENE_SHOT_SPEC_V2_DESCRIPTION
1182
+ };
1179
1183
  function sceneShotJsonSchemaText() {
1180
1184
  return `${JSON.stringify(sceneShotJsonSchema, null, 2)}
1181
1185
  `;
@@ -3437,6 +3441,7 @@ export {
3437
3441
  sceneShotImageSlots,
3438
3442
  sceneShotVideoSlots,
3439
3443
  sceneShotSurfaceCount,
3444
+ SCENE_SHOT_SPEC_V2_DESCRIPTION,
3440
3445
  sceneShotJsonSchema,
3441
3446
  sceneShotJsonSchemaText,
3442
3447
  contentFrame,
@@ -1,6 +1,6 @@
1
1
  import {
2
2
  CueframeError
3
- } from "./chunk-CHWA3TQM.js";
3
+ } from "./chunk-QWXUYVHX.js";
4
4
 
5
5
  // ../execution/render-harness/src/cardAssetAdmission.ts
6
6
  import parseCss from "css-tree/parser";
@@ -2,10 +2,10 @@ import {
2
2
  querySchemaShape,
3
3
  serializeQuery,
4
4
  waitForJob
5
- } from "./chunk-OTZDVUAM.js";
5
+ } from "./chunk-NG7DP46H.js";
6
6
  import {
7
7
  CURATED_TOOLS
8
- } from "./chunk-DFAESPHN.js";
8
+ } from "./chunk-DJWCD3RF.js";
9
9
  import {
10
10
  GENERATED_OPERATIONS,
11
11
  apiErrorFrom,
@@ -22,7 +22,7 @@ import {
22
22
  sniffImageMediaType,
23
23
  text,
24
24
  withMedia
25
- } from "./chunk-STTZC7NN.js";
25
+ } from "./chunk-URQQTAHZ.js";
26
26
 
27
27
  // ../mcp/src/prompts.ts
28
28
  var skillListCache = null;
@@ -2948,7 +2948,8 @@ var SCENE_SHOT_SCHEMA = deepFreeze({
2948
2948
  }
2949
2949
  ]
2950
2950
  }
2951
- }
2951
+ },
2952
+ "description": "A version-2 scene shot: a self-contained 3D world-object shot that scene.add / scene.update materializes into an ordinary component clip. The shot owns its layers, camera, lighting, backdrop and normalized local animation; the composition owns start, duration, ordering, cuts and transitions. Coordinates are REFERENCE PIXELS: origin at frame centre, +X right, +Y down, +Z toward the viewer. referenceSize must have the SAME aspect ratio as the composition format; mismatch fails instead of cropping. At equal aspect ratio the shot scales uniformly by outputWidth/referenceWidth. A segment's easing belongs to the keyframe it ARRIVES at; the first keyframe has no easing. Authoring limits: 32 layers, 4 devices, 16 distinct image slots, 256 keyframes per channel, 2048 keyframes per shot. Version 2 supports nested groups, procedural slab/page/phone/laptop objects, screen- and world-space text, admitted image/component/video surfaces, fixed photographic and generated studio environments, transparent/solid/linear/radial backdrops, constraints, focus, grain and vignette. Raw HTML, custom shader props, imported GLB models, arbitrary external HDR environments, skeletal animation and physics are refused with an exact field path."
2952
2953
  });
2953
2954
  var SCENE_SHOT_SCHEMA_DESCRIPTION = "A version-2 scene shot: a self-contained 3D world-object shot that scene.add / scene.update materializes into an ordinary component clip. The shot owns its layers, camera, lighting, backdrop and normalized local animation; the composition owns start, duration, ordering, cuts and transitions. Coordinates are REFERENCE PIXELS: origin at frame centre, +X right, +Y down, +Z toward the viewer. referenceSize must have the SAME aspect ratio as the composition format; mismatch fails instead of cropping. At equal aspect ratio the shot scales uniformly by outputWidth/referenceWidth. A segment's easing belongs to the keyframe it ARRIVES at; the first keyframe has no easing. Authoring limits: 32 layers, 4 devices, 16 distinct image slots, 256 keyframes per channel, 2048 keyframes per shot. Version 2 supports nested groups, procedural slab/page/phone/laptop objects, screen- and world-space text, admitted image/component/video surfaces, fixed photographic and generated studio environments, transparent/solid/linear/radial backdrops, constraints, focus, grain and vignette. Raw HTML, custom shader props, imported GLB models, arbitrary external HDR environments, skeletal animation and physics are refused with an exact field path.";
2954
2955
  var SCENE_SHOT_EXAMPLE_SHOTS = deepFreeze([
@@ -15,7 +15,7 @@ import {
15
15
  componentBrowserBackend,
16
16
  componentBrowserOptions,
17
17
  readGpuAttestation
18
- } from "./chunk-BWLYZQ7I.js";
18
+ } from "./chunk-VDSO2KZY.js";
19
19
  import {
20
20
  ComponentCapturePageRasterAttestationV1,
21
21
  ComponentGraphicsApiV2,
@@ -28,7 +28,7 @@ import {
28
28
  } from "./chunk-ZVG446DJ.js";
29
29
  import {
30
30
  parseSceneShotSpecV2
31
- } from "./chunk-IRVRWQWD.js";
31
+ } from "./chunk-7YL7NJJF.js";
32
32
  import {
33
33
  BUNDLED_FONT_FACES
34
34
  } from "./chunk-AVTEPAWI.js";
@@ -19,7 +19,7 @@ import {
19
19
  slabTriangleCount,
20
20
  takeSceneEnvironment,
21
21
  useSceneActualResourceRegistrarV1
22
- } from "./chunk-OAVJUZIC.js";
22
+ } from "./chunk-TZ7DKL2G.js";
23
23
  import {
24
24
  PHOTOGRAPHIC_STUDIO_RIG_ID,
25
25
  SCENE_SLAB_CONTENT_OFFSET,
@@ -31,7 +31,7 @@ import {
31
31
  sceneTextureBytes,
32
32
  sceneVideoMidpointAddressV1,
33
33
  selectSceneBakeScale
34
- } from "./chunk-IRVRWQWD.js";
34
+ } from "./chunk-7YL7NJJF.js";
35
35
  import {
36
36
  resolveCaptionFaces
37
37
  } from "./chunk-AVTEPAWI.js";
@@ -639,10 +639,16 @@ Render it with create_render(projectId="${a.projectId}", body={ compositionId: "
639
639
  },
640
640
  annotations: { readOnlyHint: true }
641
641
  },
642
+ {
643
+ name: "list_render_fonts",
644
+ operationId: "listRenderFonts",
645
+ description: "The fonts the RENDERER can actually draw \u2014 read this BEFORE authoring type, not after a refusal. Per family: the exact family name authoring accepts, the weight RANGES a shipped file declares (a static face has min===max; a variable face gives its axis range), the caption default weights, and whether the bytes are bundled or an aliased metric-compatible stand-in. Anything listed here passes validation by construction: it is derived from the same table the font gate refuses by. Two facts worth reading off it \u2014 every family's `styles` is [\"normal\"], because NO bundled family ships an italic FILE (a real italic comes only from a brand-kit font asset), and a weight outside every range is REFUSED, never synthesised. Contrast search_fonts, which searches the GOOGLE catalog and will happily return families the renderer cannot draw. `manifestVersion` identifies this exact face table; record it beside a composition to state what a font choice was validated against. Covers the bundled set only \u2014 a brand kit's sealed faces are per-org and per-render. No args, read-only, free.",
646
+ annotations: { readOnlyHint: true }
647
+ },
642
648
  {
643
649
  name: "search_fonts",
644
650
  operationId: "searchFonts",
645
- description: "Search web font families by name/style \u2014 returns family names to use in composition/component params. Pass query (+ optional perPage \u226450). Read-only + free; surfaces the Google Fonts catalog (family + category + variants + css2 stylesheet URL). IMPORTANT: this searches the GOOGLE catalog, not what the render can actually draw. Only the faces vendored into the render page are guaranteed to rasterize; naming any other family gets you the generic fallback (Liberation Sans) with no error. create_render returns a `font_not_available` warning naming the guaranteed set \u2014 treat that set, not this catalog, as the list you may choose from. An empty result set here means no match, or the upstream catalog was unavailable.",
651
+ description: "Search web font families by name/style \u2014 returns family names to use in composition/component params. Pass query (+ optional perPage \u226450). Read-only + free; surfaces the Google Fonts catalog (family + category + variants + css2 stylesheet URL). IMPORTANT: this searches the GOOGLE catalog, not what the render can actually draw. Only the faces vendored into the render page are guaranteed to rasterize; naming any other family gets you the generic fallback (Liberation Sans) with no error. Call list_render_fonts for the set you may actually choose from, WITH the admitted weights per family \u2014 treat that, not this catalog, as the list. An empty result set here means no match, or the upstream catalog was unavailable.",
646
652
  okFormat: (j) => `${(j.results || []).length} fonts: ${(j.results || []).map((r) => r.family).slice(0, 10).join(", ")}`,
647
653
  annotations: { readOnlyHint: true }
648
654
  },
@@ -8,7 +8,7 @@ import {
8
8
  sceneShotImageSlots,
9
9
  sceneShotVideoSlots,
10
10
  sceneSpecIssues
11
- } from "./chunk-IRVRWQWD.js";
11
+ } from "./chunk-7YL7NJJF.js";
12
12
 
13
13
  // ../authoring/src/scene/validate.ts
14
14
  var SceneAuthoringError = class extends Error {
@@ -9,7 +9,7 @@ import {
9
9
  import {
10
10
  decodeError,
11
11
  scrubSensitive
12
- } from "./chunk-CHWA3TQM.js";
12
+ } from "./chunk-QWXUYVHX.js";
13
13
 
14
14
  // ../director/src/domain/chat.ts
15
15
  import { z } from "zod";
@@ -1,7 +1,7 @@
1
1
  import {
2
2
  ChatErrorView,
3
3
  DirectorTurnContext
4
- } from "./chunk-E25S4EQC.js";
4
+ } from "./chunk-EDDIDBI6.js";
5
5
  import {
6
6
  GenerationArtifact
7
7
  } from "./chunk-73DQTUWY.js";
@@ -1,7 +1,7 @@
1
1
  import {
2
2
  CueframeError,
3
3
  encodeError
4
- } from "./chunk-CHWA3TQM.js";
4
+ } from "./chunk-QWXUYVHX.js";
5
5
 
6
6
  // ../execution/core/src/render/vcam/constants.ts
7
7
  var P_MIN = 0.5;
@@ -26,7 +26,7 @@ import {
26
26
  perspectiveFor,
27
27
  resolveCamera,
28
28
  useStage
29
- } from "./chunk-XUU5PK6J.js";
29
+ } from "./chunk-DEDZKZ6G.js";
30
30
 
31
31
  // ../execution/primitives/src/effects/blur/index.tsx
32
32
  import React2 from "react";
@@ -6,7 +6,7 @@ import {
6
6
  import {
7
7
  CueframeError,
8
8
  encodeError
9
- } from "./chunk-CHWA3TQM.js";
9
+ } from "./chunk-QWXUYVHX.js";
10
10
 
11
11
  // ../composition/src/projection/cardTokens.ts
12
12
  var CARD_MOTION_VAR_NAMES = [
@@ -5,7 +5,7 @@ import {
5
5
  isOk,
6
6
  opById,
7
7
  safeParse
8
- } from "./chunk-STTZC7NN.js";
8
+ } from "./chunk-URQQTAHZ.js";
9
9
 
10
10
  // ../mcp/src/wait.ts
11
11
  var defaultSleep = (ms) => new Promise((r) => setTimeout(r, ms));
@@ -24,7 +24,7 @@ import {
24
24
  scoreAndRank,
25
25
  segmentShots,
26
26
  stabilizeSelectionHysteresis
27
- } from "./chunk-L5XVJQQV.js";
27
+ } from "./chunk-K4VE64CR.js";
28
28
  import {
29
29
  compositionHasVo,
30
30
  roleDefaultGainDb
@@ -36,7 +36,7 @@ import {
36
36
  import {
37
37
  CueframeError,
38
38
  encodeError
39
- } from "./chunk-CHWA3TQM.js";
39
+ } from "./chunk-QWXUYVHX.js";
40
40
  import {
41
41
  SCENE_CAPTURE_IDENTITY_FIELDS_V1,
42
42
  SCENE_PRESET_TRIANGLES,
@@ -51,7 +51,7 @@ import {
51
51
  sceneFullMipLevels,
52
52
  sceneTextureBytes,
53
53
  selectSceneBakeScale
54
- } from "./chunk-IRVRWQWD.js";
54
+ } from "./chunk-7YL7NJJF.js";
55
55
  import {
56
56
  SCENE_CONTEXT_GL_BUDGET_BYTES,
57
57
  SCENE_MAX_TRIANGLES,
@@ -43,14 +43,14 @@ import {
43
43
  makeDefaultScreenTexture,
44
44
  resolveCamera,
45
45
  useImageTexture
46
- } from "./chunk-XUU5PK6J.js";
46
+ } from "./chunk-DEDZKZ6G.js";
47
47
  import {
48
48
  DEVICE_GLASS_OPACITY_ENCODED,
49
49
  DeviceMesh,
50
50
  StudioRig,
51
51
  deviceDimensions,
52
52
  laptopLayout
53
- } from "./chunk-OAVJUZIC.js";
53
+ } from "./chunk-TZ7DKL2G.js";
54
54
 
55
55
  // ../execution/primitives/src/scenes/changelog-bite/index.tsx
56
56
  import {
@@ -57,6 +57,7 @@ var ERROR_CODES = {
57
57
  unknown_primitive: { stage: "validate", category: "authoring", retryable: false, httpStatus: 422 },
58
58
  disabled_primitive: { stage: "validate", category: "authoring", retryable: false, httpStatus: 422 },
59
59
  invalid_primitive_params: { stage: "validate", category: "authoring", retryable: false, httpStatus: 422 },
60
+ composition_too_large: { stage: "validate", category: "authoring", retryable: false, httpStatus: 413 },
60
61
  overlapping_hero_overlays: { stage: "validate", category: "authoring", retryable: false, httpStatus: 422 },
61
62
  invalid_prop_schema: { stage: "validate", category: "authoring", retryable: false, httpStatus: 422 },
62
63
  invalid_component_source: { stage: "validate", category: "authoring", retryable: false, httpStatus: 422 },
@@ -18,7 +18,7 @@ import {
18
18
  sceneW5GeneratedRigAllocationsV1,
19
19
  sceneW5PresetAllocationsV1,
20
20
  sceneW5WorldTextAllocationsV1
21
- } from "./chunk-IRVRWQWD.js";
21
+ } from "./chunk-7YL7NJJF.js";
22
22
 
23
23
  // ../execution/animate/src/three/toneMapping.ts
24
24
  import {