@imgly/codesign-mcp 0.1.2 → 0.1.5
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/assets/docs/api/index.d.ts +457 -27
- package/dist/assets/inline.generated.js +1 -1
- package/dist/assets/inline.generated.js.map +1 -1
- package/dist/cli.js +14 -0
- package/dist/cli.js.map +1 -1
- package/dist/test/test/tools/edit.test.js +11 -11
- package/dist/test/test/tools/edit.test.js.map +1 -1
- package/dist/test/tsconfig.test.tsbuildinfo +1 -1
- package/dist/tools/edit.d.ts.map +1 -1
- package/dist/tools/edit.js +6 -13
- package/dist/tools/edit.js.map +1 -1
- package/dist/viewer/spa-assets.generated.js +1 -1
- package/dist/viewer/spa-assets.generated.js.map +1 -1
- package/package.json +7 -4
|
@@ -103,7 +103,7 @@ export declare type AnimationEntry = {
|
|
|
103
103
|
export declare type AnimationGrowDirection = (typeof AnimationGrowDirectionValues)[number];
|
|
104
104
|
|
|
105
105
|
/** @public */
|
|
106
|
-
export declare const AnimationGrowDirectionValues: readonly ["Horizontal", "Vertical", "TopLeft", "TopRight", "BottomLeft", "BottomRight"
|
|
106
|
+
export declare const AnimationGrowDirectionValues: readonly ["Horizontal", "Vertical", "All", "TopLeft", "TopRight", "BottomLeft", "BottomRight"];
|
|
107
107
|
|
|
108
108
|
/** @public */
|
|
109
109
|
export declare type AnimationJumpLoopDirection = (typeof AnimationJumpLoopDirectionValues)[number];
|
|
@@ -136,12 +136,6 @@ export declare type AnimationOptions = {
|
|
|
136
136
|
out?: AnimationEntry;
|
|
137
137
|
};
|
|
138
138
|
|
|
139
|
-
/** @public */
|
|
140
|
-
export declare type AnimationScaleLoopDirection = (typeof AnimationScaleLoopDirectionValues)[number];
|
|
141
|
-
|
|
142
|
-
/** @public */
|
|
143
|
-
export declare const AnimationScaleLoopDirectionValues: readonly ["Horizontal", "Vertical", "TopLeft", "TopRight", "BottomLeft", "BottomRight", "All"];
|
|
144
|
-
|
|
145
139
|
/** @public */
|
|
146
140
|
export declare type AnimationSpinDirection = (typeof AnimationSpinDirectionValues)[number];
|
|
147
141
|
|
|
@@ -1028,6 +1022,8 @@ export declare interface AssetPayload {
|
|
|
1028
1022
|
typeface?: Typeface;
|
|
1029
1023
|
transformPreset?: AssetTransformPreset;
|
|
1030
1024
|
properties?: AssetProperty[];
|
|
1025
|
+
/** A declarative style preset the engine applies to text/caption blocks. */
|
|
1026
|
+
stylePreset?: AssetStylePreset;
|
|
1031
1027
|
}
|
|
1032
1028
|
|
|
1033
1029
|
/**
|
|
@@ -1317,6 +1313,166 @@ export declare interface AssetStringProperty {
|
|
|
1317
1313
|
defaultValue: string;
|
|
1318
1314
|
}
|
|
1319
1315
|
|
|
1316
|
+
/**
|
|
1317
|
+
* A declarative style preset the engine applies to text and caption blocks. The engine parses and
|
|
1318
|
+
* applies it identically on every platform. Lives in {@link AssetPayload.stylePreset}.
|
|
1319
|
+
*
|
|
1320
|
+
* Most of the look is in {@link AssetStylePreset.properties}; the other fields cover the font,
|
|
1321
|
+
* size-relative scaling and animations.
|
|
1322
|
+
* @public
|
|
1323
|
+
*/
|
|
1324
|
+
export declare interface AssetStylePreset {
|
|
1325
|
+
/**
|
|
1326
|
+
* The block type this preset is for. Used as the type to create when the preset is applied with no
|
|
1327
|
+
* target block, and as the apply filter (it only restyles a block of this type). Omitted applies to any
|
|
1328
|
+
* block. Style presets target text and caption blocks; the value is the longhand id, which the engine
|
|
1329
|
+
* matches against the block's `getType()`.
|
|
1330
|
+
*/
|
|
1331
|
+
blockType?: '//ly.img.ubq/text' | '//ly.img.ubq/caption';
|
|
1332
|
+
/**
|
|
1333
|
+
* How the preset combines with the block's current look. `'replace'` (the default) also clears the
|
|
1334
|
+
* decorations and animations the preset omits, so switching presets never stacks; `'merge'` layers
|
|
1335
|
+
* the preset on top, keeping everything it does not set. Either way the block's text content is never
|
|
1336
|
+
* touched, and its size only changes when the preset asks for it (`fontSize.resizeExistingOnApply`,
|
|
1337
|
+
* or a `text/path` baseline adopting its bounding box).
|
|
1338
|
+
*/
|
|
1339
|
+
mode?: 'replace' | 'merge';
|
|
1340
|
+
/**
|
|
1341
|
+
* Font to apply. The engine resolves `family` against the registered typefaces and matches
|
|
1342
|
+
* `weight`/`style`. Ignored when the family is empty or not registered.
|
|
1343
|
+
*/
|
|
1344
|
+
typeface?: {
|
|
1345
|
+
family: string;
|
|
1346
|
+
weight?: FontWeight;
|
|
1347
|
+
style?: FontStyle;
|
|
1348
|
+
};
|
|
1349
|
+
/**
|
|
1350
|
+
* Scene-relative font size. `scale` is a unitless multiplier on the scene's base font size (1 = the
|
|
1351
|
+
* base size), sizing a block created from the preset. With `resizeExistingOnApply: true` the same size
|
|
1352
|
+
* also resizes an existing block on apply. For an absolute size, set `properties['text/fontSize']`
|
|
1353
|
+
* instead (it takes precedence).
|
|
1354
|
+
*/
|
|
1355
|
+
fontSize?: {
|
|
1356
|
+
scale: number;
|
|
1357
|
+
resizeExistingOnApply?: boolean;
|
|
1358
|
+
};
|
|
1359
|
+
/**
|
|
1360
|
+
* Lengths that scale with the block's font size. Each entry sets its `property` to `ratio × fontSize`
|
|
1361
|
+
* — e.g. `{ property: 'stroke/width', ratio: 0.012 }` makes the stroke width `0.012 × fontSize`. Keeps
|
|
1362
|
+
* a preset's stroke width, drop-shadow offset/blur, … proportional at any size.
|
|
1363
|
+
*/
|
|
1364
|
+
scaleWithFontSize?: Array<{
|
|
1365
|
+
property: AssetStylePresetScalableProperty;
|
|
1366
|
+
ratio: number;
|
|
1367
|
+
}>;
|
|
1368
|
+
/**
|
|
1369
|
+
* The bulk of the look: typography plus the `fill/*`, `stroke/*`, `dropShadow/*` and
|
|
1370
|
+
* `backgroundColor/*` decorations with their `…/enabled` toggles. Known paths are value-checked and
|
|
1371
|
+
* autocomplete. See {@link AssetStylePresetProperties}.
|
|
1372
|
+
*/
|
|
1373
|
+
properties?: AssetStylePresetProperties;
|
|
1374
|
+
/** Entrance animation. */
|
|
1375
|
+
inAnimation?: AssetStylePresetAnimation;
|
|
1376
|
+
/** Exit animation. */
|
|
1377
|
+
outAnimation?: AssetStylePresetAnimation;
|
|
1378
|
+
/** Looping animation. */
|
|
1379
|
+
loopAnimation?: AssetStylePresetAnimation;
|
|
1380
|
+
}
|
|
1381
|
+
|
|
1382
|
+
/**
|
|
1383
|
+
* An animation slot of an {@link AssetStylePreset} (`inAnimation`, `outAnimation` or `loopAnimation`).
|
|
1384
|
+
* @public
|
|
1385
|
+
*/
|
|
1386
|
+
export declare interface AssetStylePresetAnimation {
|
|
1387
|
+
/** The animation block type to apply, e.g. `'//ly.img.ubq/animation/slide'`. */
|
|
1388
|
+
type: AnimationTypeLonghand;
|
|
1389
|
+
/** Configures the animation as a map of its property paths to values. */
|
|
1390
|
+
properties?: AssetStylePresetAnimationProperties;
|
|
1391
|
+
}
|
|
1392
|
+
|
|
1393
|
+
/**
|
|
1394
|
+
* The parameters of an {@link AssetStylePresetAnimation}: a map of the animation's property paths to
|
|
1395
|
+
* values. The animation's `animation/*` properties (e.g. `animation/slide/fade`,
|
|
1396
|
+
* `animation/grow/scaleFactor`) are value-checked and autocomplete, as are the animation controls
|
|
1397
|
+
* (`playback/duration`, `animationEasing`, `textWritingStyle`, `textWritingOverlap`); any other
|
|
1398
|
+
* property path is still accepted. These are animation paths, distinct from the block-property paths
|
|
1399
|
+
* in {@link AssetStylePresetProperties}.
|
|
1400
|
+
* @public
|
|
1401
|
+
*/
|
|
1402
|
+
export declare type AssetStylePresetAnimationProperties = {
|
|
1403
|
+
[K in Extract<BoolPropertyName, `animation/${string}`>]?: boolean;
|
|
1404
|
+
} & {
|
|
1405
|
+
[K in Extract<EnumPropertyName, `animation/${string}`>]?: string;
|
|
1406
|
+
} & {
|
|
1407
|
+
[K in Extract<FloatPropertyName, `animation/${string}`>]?: number;
|
|
1408
|
+
} & {
|
|
1409
|
+
[K in Extract<ColorPropertyName, `animation/${string}`>]?: RGBColor | RGBAColor;
|
|
1410
|
+
} & {
|
|
1411
|
+
/** Animation controls applied outside the `animation/*` properties. */
|
|
1412
|
+
'playback/duration'?: number;
|
|
1413
|
+
animationEasing?: string;
|
|
1414
|
+
textWritingStyle?: string;
|
|
1415
|
+
textWritingOverlap?: number;
|
|
1416
|
+
} & {
|
|
1417
|
+
[path: string]: AssetStylePresetPropertyValue;
|
|
1418
|
+
};
|
|
1419
|
+
|
|
1420
|
+
/**
|
|
1421
|
+
* The look of an {@link AssetStylePreset}: a map of property paths to values. Known paths are
|
|
1422
|
+
* value-checked and autocomplete (e.g. `stroke/enabled` must be a boolean, `stroke/width` a number,
|
|
1423
|
+
* `fill/solid/color` a color); any other property path is still accepted with the broader
|
|
1424
|
+
* {@link AssetStylePresetPropertyValue}. Keys without a `/` are namespaced to the block (`text/` or
|
|
1425
|
+
* `caption/`); keys with a `/` are used verbatim.
|
|
1426
|
+
* @public
|
|
1427
|
+
*/
|
|
1428
|
+
export declare type AssetStylePresetProperties = {
|
|
1429
|
+
[K in BoolPropertyName as string extends K ? never : K]?: boolean;
|
|
1430
|
+
} & {
|
|
1431
|
+
[K in IntPropertyName as string extends K ? never : K]?: number;
|
|
1432
|
+
} & {
|
|
1433
|
+
[K in FloatPropertyName as string extends K ? never : K]?: number;
|
|
1434
|
+
} & {
|
|
1435
|
+
[K in DoublePropertyName as string extends K ? never : K]?: number;
|
|
1436
|
+
} & {
|
|
1437
|
+
[K in StringPropertyName as string extends K ? never : K]?: string;
|
|
1438
|
+
} & {
|
|
1439
|
+
[K in EnumPropertyName as string extends K ? never : K]?: string;
|
|
1440
|
+
} & {
|
|
1441
|
+
[K in ColorPropertyName as string extends K ? never : K]?: RGBColor | RGBAColor;
|
|
1442
|
+
} & {
|
|
1443
|
+
/**
|
|
1444
|
+
* The text-on-path baseline (see `setTextOnPath`): a single-subpath SVG path string in the block's
|
|
1445
|
+
* local coordinate space wraps the block's text on the path and resizes the block to the path's
|
|
1446
|
+
* bounding box; an explicit `null` clears the path and restores normal layout. This is a virtual
|
|
1447
|
+
* preset property — the baseline path is not a reflected block property, so the engine routes it
|
|
1448
|
+
* through `setTextOnPath`, inheriting its validation. Pair it with `text/pathOffset` and
|
|
1449
|
+
* `text/pathFlipped` (plain reflected properties) to fully define the path state. Which curve is
|
|
1450
|
+
* applied is identified by the path value itself — compare `getTextOnPath` against an entry's
|
|
1451
|
+
* `text/path`.
|
|
1452
|
+
*/
|
|
1453
|
+
'text/path'?: string | null;
|
|
1454
|
+
} & {
|
|
1455
|
+
[path: string]: AssetStylePresetPropertyValue;
|
|
1456
|
+
};
|
|
1457
|
+
|
|
1458
|
+
/**
|
|
1459
|
+
* A value a style preset can set on a property: a boolean, number, string (including enum values) or
|
|
1460
|
+
* an RGB(A) color. Colors must be RGB(A) (`{ r, g, b, a? }`); CMYK and spot colors are not supported in
|
|
1461
|
+
* presets. Structs and source sets cannot be set from a preset. A `null` value is ignored for regular
|
|
1462
|
+
* properties; for the virtual `text/path` property it clears the baseline path.
|
|
1463
|
+
* @public
|
|
1464
|
+
*/
|
|
1465
|
+
export declare type AssetStylePresetPropertyValue = boolean | number | string | RGBColor | RGBAColor | null;
|
|
1466
|
+
|
|
1467
|
+
/**
|
|
1468
|
+
* A length property a style preset may scale with the block's font size (see
|
|
1469
|
+
* {@link AssetStylePreset.scaleWithFontSize}). Restricted to the decoration lengths for which scaling is
|
|
1470
|
+
* meaningful — stroke width, drop-shadow offset/blur and the caption background corner radius — not
|
|
1471
|
+
* arbitrary numeric properties like `rotation` or `opacity`.
|
|
1472
|
+
* @public
|
|
1473
|
+
*/
|
|
1474
|
+
export declare type AssetStylePresetScalableProperty = 'stroke/width' | 'dropShadow/offset/x' | 'dropShadow/offset/y' | 'dropShadow/blurRadius/x' | 'dropShadow/blurRadius/y' | 'backgroundColor/cornerRadius';
|
|
1475
|
+
|
|
1320
1476
|
/**
|
|
1321
1477
|
* Transform preset payload
|
|
1322
1478
|
* @public
|
|
@@ -5103,6 +5259,22 @@ export declare class BlockAPI {
|
|
|
5103
5259
|
* @returns The unique typefaces in the range.
|
|
5104
5260
|
*/
|
|
5105
5261
|
getTypefaces(id: DesignBlockId, from?: number, to?: number): Typeface[];
|
|
5262
|
+
/**
|
|
5263
|
+
* Gets all text runs within a range of text.
|
|
5264
|
+
*
|
|
5265
|
+
* Each run represents a contiguous span of text with uniform formatting.
|
|
5266
|
+
*
|
|
5267
|
+
* ```javascript
|
|
5268
|
+
* const runs = engine.block.getTextRuns(text);
|
|
5269
|
+
* ```
|
|
5270
|
+
*
|
|
5271
|
+
* @category Block Text
|
|
5272
|
+
* @param id - The text block to query.
|
|
5273
|
+
* @param from - The start index of the UTF-16 range. Defaults to the start of the current selection or text.
|
|
5274
|
+
* @param to - The end index of the UTF-16 range. Defaults to the end of the current selection or text.
|
|
5275
|
+
* @returns The ordered list of text runs covering the requested range.
|
|
5276
|
+
*/
|
|
5277
|
+
getTextRuns(id: DesignBlockId, from?: number, to?: number): TextRunInfo[];
|
|
5106
5278
|
/**
|
|
5107
5279
|
* Gets the current text cursor or selection range.
|
|
5108
5280
|
*
|
|
@@ -5185,6 +5357,56 @@ export declare class BlockAPI {
|
|
|
5185
5357
|
* @returns The effective alignment ('Left', 'Right', or 'Center').
|
|
5186
5358
|
*/
|
|
5187
5359
|
getTextEffectiveHorizontalAlignment(id: DesignBlockId): 'Left' | 'Right' | 'Center';
|
|
5360
|
+
/**
|
|
5361
|
+
* Sets the SVG path that the text baseline follows.
|
|
5362
|
+
* Pass `null` to restore normal straight-line text layout.
|
|
5363
|
+
*
|
|
5364
|
+
* @category Block Text
|
|
5365
|
+
* @param id - The text block to modify.
|
|
5366
|
+
* @param svgPath - An SVG path string in the block's local coordinate space, or `null` to clear.
|
|
5367
|
+
*/
|
|
5368
|
+
setTextOnPath(id: DesignBlockId, svgPath: string | null): void;
|
|
5369
|
+
/**
|
|
5370
|
+
* Gets the SVG path currently used as the text baseline.
|
|
5371
|
+
*
|
|
5372
|
+
* @category Block Text
|
|
5373
|
+
* @param id - The text block to query.
|
|
5374
|
+
* @returns The SVG path string, or `null` if no path is set.
|
|
5375
|
+
*/
|
|
5376
|
+
getTextOnPath(id: DesignBlockId): string | null;
|
|
5377
|
+
/**
|
|
5378
|
+
* Sets the start offset along the baseline path as a proportion of the path length.
|
|
5379
|
+
* Values are clamped to `[-1, 1]`; `1` and `-1` wrap back to the path start.
|
|
5380
|
+
*
|
|
5381
|
+
* @category Block Text
|
|
5382
|
+
* @param id - The text block to modify.
|
|
5383
|
+
* @param offset - The proportional offset. Positive values move the text forward along the path.
|
|
5384
|
+
*/
|
|
5385
|
+
setTextOnPathOffset(id: DesignBlockId, offset: number): void;
|
|
5386
|
+
/**
|
|
5387
|
+
* Gets the start offset along the baseline path as a proportion of the path length.
|
|
5388
|
+
*
|
|
5389
|
+
* @category Block Text
|
|
5390
|
+
* @param id - The text block to query.
|
|
5391
|
+
* @returns The proportional offset in `[-1, 1]`.
|
|
5392
|
+
*/
|
|
5393
|
+
getTextOnPathOffset(id: DesignBlockId): number;
|
|
5394
|
+
/**
|
|
5395
|
+
* Sets whether text is placed on the opposite side of the baseline path.
|
|
5396
|
+
*
|
|
5397
|
+
* @category Block Text
|
|
5398
|
+
* @param id - The text block to modify.
|
|
5399
|
+
* @param flipped - When `true`, text sits on the underside of the curve and reads in the reverse direction.
|
|
5400
|
+
*/
|
|
5401
|
+
setTextOnPathFlipped(id: DesignBlockId, flipped: boolean): void;
|
|
5402
|
+
/**
|
|
5403
|
+
* Gets whether the text-on-path rendering is flipped.
|
|
5404
|
+
*
|
|
5405
|
+
* @category Block Text
|
|
5406
|
+
* @param id - The text block to query.
|
|
5407
|
+
* @returns `true` when text is on the underside of the curve.
|
|
5408
|
+
*/
|
|
5409
|
+
getTextOnPathFlipped(id: DesignBlockId): boolean;
|
|
5188
5410
|
/**
|
|
5189
5411
|
* Checks if a block has fill properties.
|
|
5190
5412
|
*
|
|
@@ -6189,18 +6411,25 @@ export declare class BlockAPI {
|
|
|
6189
6411
|
/** @public */
|
|
6190
6412
|
export declare type BlockEnumType = {
|
|
6191
6413
|
'blend/mode': BlendMode;
|
|
6414
|
+
'contentFill/horizontalAlignment': HorizontalContentFillAlignment;
|
|
6192
6415
|
'contentFill/mode': ContentFillMode;
|
|
6416
|
+
'contentFill/verticalAlignment': VerticalContentFillAlignment;
|
|
6193
6417
|
'height/mode': HeightMode;
|
|
6194
|
-
'page/guides/source': PageGuidesSource;
|
|
6195
6418
|
'position/x/mode': PositionXMode;
|
|
6196
6419
|
'position/y/mode': PositionYMode;
|
|
6197
6420
|
'scene/designUnit': SceneDesignUnit;
|
|
6421
|
+
'scene/fontSizeUnit': SceneFontSizeUnit;
|
|
6198
6422
|
'scene/layout': SceneLayout;
|
|
6199
6423
|
'scene/mode': SceneMode;
|
|
6200
6424
|
'width/mode': WidthMode;
|
|
6425
|
+
'page/guides/source': PageGuidesSource;
|
|
6201
6426
|
'stroke/cap': StrokeCap;
|
|
6202
6427
|
'stroke/cornerGeometry': StrokeCornerGeometry;
|
|
6428
|
+
'stroke/dashEndCap': StrokeDashEndCap;
|
|
6429
|
+
'stroke/dashStartCap': StrokeDashStartCap;
|
|
6430
|
+
'stroke/endCap': StrokeEndCap;
|
|
6203
6431
|
'stroke/position': StrokePosition;
|
|
6432
|
+
'stroke/startCap': StrokeStartCap;
|
|
6204
6433
|
'stroke/style': StrokeStyle;
|
|
6205
6434
|
'text/horizontalAlignment': TextHorizontalAlignment;
|
|
6206
6435
|
'text/verticalAlignment': TextVerticalAlignment;
|
|
@@ -6219,7 +6448,6 @@ export declare type BlockEnumType = {
|
|
|
6219
6448
|
'animation/block_swipe_text/direction': AnimationBlockSwipeTextDirection;
|
|
6220
6449
|
'animation/merge_text/direction': AnimationMergeTextDirection;
|
|
6221
6450
|
'animation/ken_burns/direction': AnimationKenBurnsDirection;
|
|
6222
|
-
'animation/scale_loop/direction': AnimationScaleLoopDirection;
|
|
6223
6451
|
'fill/pixelStream/orientation': FillPixelStreamOrientation;
|
|
6224
6452
|
'shape/vector_path/fillRule': ShapeVectorPathFillRule;
|
|
6225
6453
|
};
|
|
@@ -6328,7 +6556,7 @@ export declare type BlurTypeShorthand = (typeof BLUR_TYPES)[number];
|
|
|
6328
6556
|
export declare type BooleanOperation = 'Difference' | 'Intersection' | 'Union' | 'XOR';
|
|
6329
6557
|
|
|
6330
6558
|
/** @public */
|
|
6331
|
-
export declare type BoolPropertyName = 'alwaysOnBottom' | 'alwaysOnTop' | 'clipped' | 'flip/horizontal' | 'flip/vertical' | 'highlightEnabled' | 'includedInExport' | 'placeholder/enabled' | 'playback/playing' | 'playback/soloPlaybackEnabled' | 'scene/aspectRatioLock' | 'selected' | 'selectionEnabled' | 'transformLocked' | 'visible' | 'blur/enabled' | 'dropShadow/clip' | 'dropShadow/enabled' | 'fill/enabled' | 'page/guides/gridEnabled' | 'page/guides/gridSnapEnabled' | 'page/marginEnabled' | 'placeholderControls/showButton' | 'placeholderControls/showOverlay' | 'playback/looping' | 'playback/muted' | 'stroke/enabled' | 'backgroundColor/enabled' | 'placeholderBehavior/enabled' | 'text/automaticFontSizeEnabled' | 'text/clipLinesOutsideOfFrame' | 'text/hasClippedLines' | 'text/
|
|
6559
|
+
export declare type BoolPropertyName = 'alwaysOnBottom' | 'alwaysOnTop' | 'clipped' | 'flip/horizontal' | 'flip/vertical' | 'highlightEnabled' | 'includedInExport' | 'placeholder/enabled' | 'playback/playing' | 'playback/soloPlaybackEnabled' | 'scene/aspectRatioLock' | 'scene/extendedPanningArea' | 'selected' | 'selectionEnabled' | 'transformLocked' | 'visible' | 'blur/enabled' | 'dropShadow/clip' | 'dropShadow/enabled' | 'fill/enabled' | 'fill/overprint' | 'page/guides/gridEnabled' | 'page/guides/gridSnapEnabled' | 'page/marginEnabled' | 'placeholderControls/showButton' | 'placeholderControls/showOverlay' | 'playback/looping' | 'playback/muted' | 'stroke/enabled' | 'stroke/overprint' | 'backgroundColor/enabled' | 'placeholderBehavior/enabled' | 'text/automaticFontSizeEnabled' | 'text/clipLinesOutsideOfFrame' | 'text/hasClippedLines' | 'text/pathFlipped' | 'text/useContextualLigatures' | 'text/useDiscretionaryLigatures' | 'text/useKerning' | 'text/useLigatures' | 'track/automaticallyManageBlockOffsets' | 'caption/automaticFontSizeEnabled' | 'caption/clipLinesOutsideOfFrame' | 'caption/hasClippedLines' | 'caption/pathFlipped' | 'caption/useContextualLigatures' | 'caption/useDiscretionaryLigatures' | 'caption/useKerning' | 'caption/useLigatures' | 'captionTrack/automaticallyManageBlockOffsets' | 'animation/slide/fade' | 'animation/pan/fade' | 'animation/blur/fade' | 'animation/zoom/fade' | 'animation/crop_zoom/fade' | 'animation/spin/fade' | 'animation/block_swipe_text/useTextColor' | 'animation/spread_text/fade' | 'animation/ken_burns/fade' | 'effect/enabled' | (string & {});
|
|
6332
6560
|
|
|
6333
6561
|
/**
|
|
6334
6562
|
* Represents a buffer of data.
|
|
@@ -6549,6 +6777,30 @@ export declare type ContentFillMode = (typeof ContentFillModeValues)[number];
|
|
|
6549
6777
|
/** @public */
|
|
6550
6778
|
export declare const ContentFillModeValues: readonly ["Crop", "Cover", "Contain"];
|
|
6551
6779
|
|
|
6780
|
+
/** @public */
|
|
6781
|
+
export declare type ControlGizmoMoveHandleVisibility = (typeof ControlGizmoMoveHandleVisibilityValues)[number];
|
|
6782
|
+
|
|
6783
|
+
/** @public */
|
|
6784
|
+
export declare const ControlGizmoMoveHandleVisibilityValues: readonly ["auto", "always", "never"];
|
|
6785
|
+
|
|
6786
|
+
/** @public */
|
|
6787
|
+
export declare type ControlGizmoResizeHandlesVisibility = (typeof ControlGizmoResizeHandlesVisibilityValues)[number];
|
|
6788
|
+
|
|
6789
|
+
/** @public */
|
|
6790
|
+
export declare const ControlGizmoResizeHandlesVisibilityValues: readonly ["auto", "always", "never"];
|
|
6791
|
+
|
|
6792
|
+
/** @public */
|
|
6793
|
+
export declare type ControlGizmoRotateHandlesVisibility = (typeof ControlGizmoRotateHandlesVisibilityValues)[number];
|
|
6794
|
+
|
|
6795
|
+
/** @public */
|
|
6796
|
+
export declare const ControlGizmoRotateHandlesVisibilityValues: readonly ["auto", "always", "never"];
|
|
6797
|
+
|
|
6798
|
+
/** @public */
|
|
6799
|
+
export declare type ControlGizmoScaleHandlesVisibility = (typeof ControlGizmoScaleHandlesVisibilityValues)[number];
|
|
6800
|
+
|
|
6801
|
+
/** @public */
|
|
6802
|
+
export declare const ControlGizmoScaleHandlesVisibilityValues: readonly ["auto", "always", "never"];
|
|
6803
|
+
|
|
6552
6804
|
/**
|
|
6553
6805
|
* Options for creating a video scene.
|
|
6554
6806
|
* @public
|
|
@@ -6594,6 +6846,12 @@ declare class CreativeEngine {
|
|
|
6594
6846
|
event: EventAPI;
|
|
6595
6847
|
scene: SceneAPI;
|
|
6596
6848
|
variable: VariableAPI;
|
|
6849
|
+
/**
|
|
6850
|
+
* Register, run, and discover named, overridable actions. On headless Node the registry
|
|
6851
|
+
* starts with only the engine-default `ly.img.*` actions (no host UI), but the API is
|
|
6852
|
+
* identical to the browser engine.
|
|
6853
|
+
*/
|
|
6854
|
+
actions: EngineActions;
|
|
6597
6855
|
version: string;
|
|
6598
6856
|
|
|
6599
6857
|
/**
|
|
@@ -6829,7 +7087,7 @@ export declare type DoubleClickSelectionMode = (typeof DoubleClickSelectionModeV
|
|
|
6829
7087
|
export declare const DoubleClickSelectionModeValues: readonly ["Direct", "Hierarchical"];
|
|
6830
7088
|
|
|
6831
7089
|
/** @public */
|
|
6832
|
-
export declare type DoublePropertyName = 'playback/time' | 'playback/duration' | 'playback/timeOffset' | 'audio/totalDuration' | 'playback/trimLength' | 'playback/trimOffset' | 'fill/video/totalDuration' |
|
|
7090
|
+
export declare type DoublePropertyName = 'playback/time' | 'playback/duration' | 'playback/timeOffset' | 'audio/totalDuration' | 'playback/trimLength' | 'playback/trimOffset' | 'fill/video/totalDuration' | (string & {});
|
|
6833
7091
|
|
|
6834
7092
|
/**
|
|
6835
7093
|
* Information about a single audio track from a video.
|
|
@@ -8009,6 +8267,97 @@ export declare type EffectTypeLonghand = `//ly.img.ubq/effect/${EffectTypeShorth
|
|
|
8009
8267
|
/** @public */
|
|
8010
8268
|
export declare type EffectTypeShorthand = (typeof EFFECT_TYPES)[number];
|
|
8011
8269
|
|
|
8270
|
+
/** @public Known action ids from {@link EngineActionsRegistry}. */
|
|
8271
|
+
export declare type EngineActionId = keyof EngineActionsRegistry & string;
|
|
8272
|
+
|
|
8273
|
+
/** @public Info about a registered action, from {@link EngineActions.list}. */
|
|
8274
|
+
export declare interface EngineActionInfo {
|
|
8275
|
+
/** The action id, e.g. `nudge`. */
|
|
8276
|
+
id: string;
|
|
8277
|
+
/** Whether the action currently says it can run. */
|
|
8278
|
+
enabled: boolean;
|
|
8279
|
+
/** Optional JSON description of the arguments it accepts. */
|
|
8280
|
+
argSchema: string | null;
|
|
8281
|
+
}
|
|
8282
|
+
|
|
8283
|
+
/**
|
|
8284
|
+
* @public Named, overridable actions for one engine. Actions are either JS
|
|
8285
|
+
* closures you register or engine defaults (e.g. undo/redo), and
|
|
8286
|
+
* either kind can override the other by reusing the id.
|
|
8287
|
+
*
|
|
8288
|
+
* JS-registered actions run directly in JS, so on the web you get full fidelity:
|
|
8289
|
+
* {@link get} hands back the raw function and {@link run} passes args/results by
|
|
8290
|
+
* reference (non-serializable payloads like File/Blob work). The engine also keeps
|
|
8291
|
+
* a JSON trampoline per action so defaults run natively and host actions stay
|
|
8292
|
+
* reachable across the FFI — that path is JSON-only and async. Engine defaults you
|
|
8293
|
+
* have not overridden are reachable only via {@link run}; {@link get} returns undefined.
|
|
8294
|
+
*
|
|
8295
|
+
* @remarks Main-thread only. {@link get} is web-only; use run/has/list cross-platform.
|
|
8296
|
+
*/
|
|
8297
|
+
export declare class EngineActions {
|
|
8298
|
+
#private;
|
|
8299
|
+
|
|
8300
|
+
/**
|
|
8301
|
+
* Register an action, replacing any existing one with the same id.
|
|
8302
|
+
*
|
|
8303
|
+
* @param id - The action id (e.g. `undo`). Reusing an engine default's id overrides it.
|
|
8304
|
+
* @param fn - The action body (sync or async). On the web it runs directly with
|
|
8305
|
+
* any JS values. Across the FFI args/results are JSON, so only serializable
|
|
8306
|
+
* payloads work there.
|
|
8307
|
+
*/
|
|
8308
|
+
register<K extends EngineActionId>(id: K, fn: EngineActionsRegistry[K] extends (...args: any[]) => any ? EngineActionsRegistry[K] : EngineCustomActionFunction): void;
|
|
8309
|
+
register(id: string, fn: EngineCustomActionFunction): void;
|
|
8310
|
+
/**
|
|
8311
|
+
* Get the raw registered function for an id so you can call it synchronously.
|
|
8312
|
+
*
|
|
8313
|
+
* Returns the exact function you registered. Returns `undefined` for unknown ids
|
|
8314
|
+
* and engine-default native actions (which have no JS function) — use {@link run}
|
|
8315
|
+
* for those.
|
|
8316
|
+
*
|
|
8317
|
+
* @remarks Web-only.
|
|
8318
|
+
*/
|
|
8319
|
+
get<K extends EngineActionId>(id: K): EngineActionsRegistry[K] | undefined;
|
|
8320
|
+
get(id: string): EngineCustomActionFunction | undefined;
|
|
8321
|
+
/**
|
|
8322
|
+
* Run an action by id and return its result as a Promise.
|
|
8323
|
+
*
|
|
8324
|
+
* JS-registered actions are called directly (args/result by reference). Engine
|
|
8325
|
+
* defaults go across the FFI (JSON args/result).
|
|
8326
|
+
*
|
|
8327
|
+
* @param id - The action id.
|
|
8328
|
+
* @param args - Arguments forwarded to the action.
|
|
8329
|
+
* @returns The action's result, or a rejection if the id is unknown or it threw.
|
|
8330
|
+
*/
|
|
8331
|
+
run<K extends EngineActionId>(id: K, ...args: EngineActionsRegistry[K] extends (...args: infer A) => any ? A : unknown[]): Promise<EngineActionsRegistry[K] extends (...args: any[]) => infer R ? Awaited<R> : unknown>;
|
|
8332
|
+
run<R = unknown>(id: string, ...args: unknown[]): Promise<R>;
|
|
8333
|
+
/** Whether an action with this id is registered (host or engine default). */
|
|
8334
|
+
has(id: string): boolean;
|
|
8335
|
+
/**
|
|
8336
|
+
* Remove a host action, or revert an overridden engine default to its built-in.
|
|
8337
|
+
*
|
|
8338
|
+
* If you override an engine default (such as `select` or `undo`), unregistering the id restores
|
|
8339
|
+
* the default rather than leaving it unhandled. A custom id you registered yourself is removed
|
|
8340
|
+
* entirely. Returns `false` only when the id is unknown.
|
|
8341
|
+
*/
|
|
8342
|
+
unregister(id: string): boolean;
|
|
8343
|
+
/** List registered actions, optionally filtered by a `*` glob matcher on the id. */
|
|
8344
|
+
list(options?: {
|
|
8345
|
+
matcher?: string;
|
|
8346
|
+
}): EngineActionInfo[];
|
|
8347
|
+
|
|
8348
|
+
}
|
|
8349
|
+
|
|
8350
|
+
/**
|
|
8351
|
+
* @public Hook for hosts to add strongly-typed action ids. Augment via
|
|
8352
|
+
* `declare module '@cesdk/engine'` to get autocomplete on register/run while
|
|
8353
|
+
* still allowing custom string ids.
|
|
8354
|
+
*/
|
|
8355
|
+
export declare interface EngineActionsRegistry {
|
|
8356
|
+
}
|
|
8357
|
+
|
|
8358
|
+
/** @public A generic, untyped action function for custom ids. */
|
|
8359
|
+
export declare type EngineCustomActionFunction = (...args: any[]) => unknown;
|
|
8360
|
+
|
|
8012
8361
|
/**
|
|
8013
8362
|
* Represents an engine plugin.
|
|
8014
8363
|
*
|
|
@@ -8038,10 +8387,10 @@ export declare type EnginePluginContext = {
|
|
|
8038
8387
|
};
|
|
8039
8388
|
|
|
8040
8389
|
/** @public */
|
|
8041
|
-
export declare type EnumPropertyName = 'blend/mode' | 'contentFill/mode' | 'height/mode' | 'position/x/mode' | 'position/y/mode' | 'scene/designUnit' | 'scene/layout' | 'scene/mode' | 'width/mode' | 'page/guides/source' | 'stroke/cornerGeometry' | 'stroke/position' | 'stroke/style' | 'text/horizontalAlignment' | 'text/verticalAlignment' | 'cutout/type' | 'caption/horizontalAlignment' | 'caption/verticalAlignment' | 'animationEasing' | 'textAnimationWritingStyle' | 'animation/grow/direction' | 'animation/wipe/direction' | 'animation/baseline/direction' | 'animation/spin/direction' | 'animation/spin_loop/direction' | 'animation/jump_loop/direction' | 'animation/typewriter_text/writingStyle' | 'animation/block_swipe_text/direction' | 'animation/merge_text/direction' | 'animation/ken_burns/direction' | '
|
|
8390
|
+
export declare type EnumPropertyName = 'blend/mode' | 'contentFill/horizontalAlignment' | 'contentFill/mode' | 'contentFill/verticalAlignment' | 'height/mode' | 'position/x/mode' | 'position/y/mode' | 'scene/designUnit' | 'scene/fontSizeUnit' | 'scene/layout' | 'scene/mode' | 'width/mode' | 'page/guides/source' | 'stroke/cap' | 'stroke/cornerGeometry' | 'stroke/dashEndCap' | 'stroke/dashStartCap' | 'stroke/endCap' | 'stroke/position' | 'stroke/startCap' | 'stroke/style' | 'text/horizontalAlignment' | 'text/verticalAlignment' | 'cutout/type' | 'caption/horizontalAlignment' | 'caption/verticalAlignment' | 'animationEasing' | 'textAnimationWritingStyle' | 'animation/grow/direction' | 'animation/wipe/direction' | 'animation/baseline/direction' | 'animation/spin/direction' | 'animation/spin_loop/direction' | 'animation/jump_loop/direction' | 'animation/typewriter_text/writingStyle' | 'animation/block_swipe_text/direction' | 'animation/merge_text/direction' | 'animation/ken_burns/direction' | 'fill/pixelStream/orientation' | 'shape/vector_path/fillRule' | (string & {});
|
|
8042
8391
|
|
|
8043
8392
|
/** @public */
|
|
8044
|
-
export declare type EnumValues = BlendMode | ContentFillMode |
|
|
8393
|
+
export declare type EnumValues = BlendMode | HorizontalContentFillAlignment | ContentFillMode | VerticalContentFillAlignment | HeightMode | PositionXMode | PositionYMode | SceneDesignUnit | SceneFontSizeUnit | SceneLayout | SceneMode | WidthMode | PageGuidesSource | StrokeCap | StrokeCornerGeometry | StrokeDashEndCap | StrokeDashStartCap | StrokeEndCap | StrokePosition | StrokeStartCap | StrokeStyle | TextHorizontalAlignment | TextVerticalAlignment | CutoutType | CaptionHorizontalAlignment | CaptionVerticalAlignment | AnimationEasing | TextAnimationWritingStyle | AnimationGrowDirection | AnimationWipeDirection | AnimationBaselineDirection | AnimationSpinDirection | AnimationSpinLoopDirection | AnimationJumpLoopDirection | AnimationTypewriterTextWritingStyle | AnimationBlockSwipeTextDirection | AnimationMergeTextDirection | AnimationKenBurnsDirection | FillPixelStreamOrientation | ShapeVectorPathFillRule | (string & {});
|
|
8045
8394
|
|
|
8046
8395
|
/**
|
|
8047
8396
|
* @public Subscribe to block lifecycle events in the design engine.
|
|
@@ -8268,7 +8617,7 @@ declare interface Flip {
|
|
|
8268
8617
|
}
|
|
8269
8618
|
|
|
8270
8619
|
/** @public */
|
|
8271
|
-
export declare type FloatPropertyName = 'globalBoundingBox/height' | 'globalBoundingBox/width' | 'globalBoundingBox/x' | 'globalBoundingBox/y' | 'height' | 'lastFrame/height' | 'lastFrame/width' | 'lastFrame/x' | 'lastFrame/y' | 'position/x' | 'position/y' | 'rotation' | 'scene/dpi' | 'scene/pageDimensions/height' | 'scene/pageDimensions/width' | 'scene/pixelScaleFactor' | 'width' | 'camera/pixelRatio' | 'camera/resolution/height' | 'camera/resolution/width' | 'camera/zoomLevel' | 'dropShadow/blurRadius/x' | 'dropShadow/blurRadius/y' | 'dropShadow/offset/x' | 'dropShadow/offset/y' | 'page/guides/gridSpacingX' | 'page/guides/gridSpacingY' | 'page/margin/bottom' | 'page/margin/left' | 'page/margin/right' | 'page/margin/top' | 'playback/speed' | 'playback/volume' | 'stroke/width' | 'opacity' | 'backgroundColor/cornerRadius' | 'backgroundColor/paddingBottom' | 'backgroundColor/paddingLeft' | 'backgroundColor/paddingRight' | 'backgroundColor/paddingTop' | 'text/fontSize' | 'text/letterSpacing' | 'text/lineHeight' | 'text/maxAutomaticFontSize' | 'text/minAutomaticFontSize' | 'text/paragraphSpacing' | 'cutout/offset' | 'cutout/smoothing' | 'caption/fontSize' | 'caption/letterSpacing' | 'caption/lineHeight' | 'caption/maxAutomaticFontSize' | 'caption/minAutomaticFontSize' | 'caption/paragraphSpacing' | 'animation/slide/direction' | 'textAnimationOverlap' | 'animation/pan/direction' | 'animation/pan/distance' | 'animation/blur/intensity' | 'animation/grow/scaleFactor' | 'animation/crop_zoom/scale' | 'animation/spin/intensity' | 'animation/blur_loop/intensity' | 'animation/pulsating_loop/intensity' | 'animation/breathing_loop/intensity' | 'animation/jump_loop/intensity' | 'animation/sway_loop/intensity' | 'animation/
|
|
8620
|
+
export declare type FloatPropertyName = 'globalBoundingBox/height' | 'globalBoundingBox/width' | 'globalBoundingBox/x' | 'globalBoundingBox/y' | 'height' | 'lastFrame/height' | 'lastFrame/width' | 'lastFrame/x' | 'lastFrame/y' | 'movement/constraint' | 'position/x' | 'position/y' | 'rotation' | 'scene/dpi' | 'scene/pageDimensions/height' | 'scene/pageDimensions/width' | 'scene/pixelScaleFactor' | 'width' | 'camera/pixelRatio' | 'camera/resolution/height' | 'camera/resolution/width' | 'camera/zoomLevel' | 'dropShadow/blurRadius/x' | 'dropShadow/blurRadius/y' | 'dropShadow/offset/x' | 'dropShadow/offset/y' | 'page/guides/gridSpacingX' | 'page/guides/gridSpacingY' | 'page/margin/bottom' | 'page/margin/left' | 'page/margin/right' | 'page/margin/top' | 'page/marginScale' | 'playback/speed' | 'playback/volume' | 'stroke/dashOffset' | 'stroke/width' | 'opacity' | 'backgroundColor/cornerRadius' | 'backgroundColor/paddingBottom' | 'backgroundColor/paddingLeft' | 'backgroundColor/paddingRight' | 'backgroundColor/paddingTop' | 'text/fontSize' | 'text/letterSpacing' | 'text/lineHeight' | 'text/maxAutomaticFontSize' | 'text/minAutomaticFontSize' | 'text/paragraphSpacing' | 'text/pathOffset' | 'cutout/offset' | 'cutout/smoothing' | 'caption/fontSize' | 'caption/letterSpacing' | 'caption/lineHeight' | 'caption/maxAutomaticFontSize' | 'caption/minAutomaticFontSize' | 'caption/paragraphSpacing' | 'caption/pathOffset' | 'animation/slide/direction' | 'textAnimationOverlap' | 'animation/pan/direction' | 'animation/pan/distance' | 'animation/blur/intensity' | 'animation/grow/scaleFactor' | 'animation/crop_zoom/scale' | 'animation/spin/intensity' | 'animation/blur_loop/intensity' | 'animation/pulsating_loop/intensity' | 'animation/breathing_loop/intensity' | 'animation/jump_loop/intensity' | 'animation/sway_loop/intensity' | 'animation/spread_text/intensity' | 'animation/merge_text/intensity' | 'animation/ken_burns/travelDistanceRatio' | 'animation/ken_burns/zoomIntensity' | 'blur/uniform/intensity' | 'blur/linear/blurRadius' | 'blur/linear/x1' | 'blur/linear/x2' | 'blur/linear/y1' | 'blur/linear/y2' | 'blur/mirrored/blurRadius' | 'blur/mirrored/gradientSize' | 'blur/mirrored/size' | 'blur/mirrored/x1' | 'blur/mirrored/x2' | 'blur/mirrored/y1' | 'blur/mirrored/y2' | 'blur/radial/blurRadius' | 'blur/radial/gradientRadius' | 'blur/radial/radius' | 'blur/radial/x' | 'blur/radial/y' | 'effect/adjustments/blacks' | 'effect/adjustments/brightness' | 'effect/adjustments/clarity' | 'effect/adjustments/contrast' | 'effect/adjustments/exposure' | 'effect/adjustments/gamma' | 'effect/adjustments/highlights' | 'effect/adjustments/saturation' | 'effect/adjustments/shadows' | 'effect/adjustments/sharpness' | 'effect/adjustments/temperature' | 'effect/adjustments/whites' | 'effect/cross_cut/offset' | 'effect/cross_cut/slices' | 'effect/cross_cut/speedV' | 'effect/cross_cut/time' | 'effect/dot_pattern/blur' | 'effect/dot_pattern/dots' | 'effect/dot_pattern/size' | 'effect/duotone_filter/intensity' | 'effect/extrude_blur/amount' | 'effect/glow/amount' | 'effect/glow/darkness' | 'effect/glow/size' | 'effect/green_screen/colorMatch' | 'effect/green_screen/smoothness' | 'effect/green_screen/spill' | 'effect/half_tone/angle' | 'effect/half_tone/scale' | 'effect/linocut/scale' | 'effect/liquid/amount' | 'effect/liquid/scale' | 'effect/liquid/time' | 'effect/lut_filter/intensity' | 'effect/outliner/amount' | 'effect/outliner/passthrough' | 'effect/posterize/levels' | 'effect/radial_pixel/radius' | 'effect/radial_pixel/segments' | 'effect/recolor/brightnessMatch' | 'effect/recolor/colorMatch' | 'effect/recolor/smoothness' | 'effect/shifter/amount' | 'effect/shifter/angle' | 'effect/tilt_shift/amount' | 'effect/tilt_shift/position' | 'effect/tv_glitch/distortion' | 'effect/tv_glitch/distortion2' | 'effect/tv_glitch/rollSpeed' | 'effect/tv_glitch/speed' | 'effect/vignette/darkness' | 'effect/vignette/offset' | 'fill/gradient/linear/endPointX' | 'fill/gradient/linear/endPointY' | 'fill/gradient/linear/startPointX' | 'fill/gradient/linear/startPointY' | 'fill/gradient/radial/centerPointX' | 'fill/gradient/radial/centerPointY' | 'fill/gradient/radial/radius' | 'fill/gradient/conical/centerPointX' | 'fill/gradient/conical/centerPointY' | 'shape/rect/cornerRadiusBL' | 'shape/rect/cornerRadiusBR' | 'shape/rect/cornerRadiusTL' | 'shape/rect/cornerRadiusTR' | 'shape/polygon/cornerRadius' | 'shape/star/cornerRadius' | 'shape/star/innerDiameter' | 'shape/vector_path/cornerRadius' | 'shape/vector_path/height' | 'shape/vector_path/width' | (string & {});
|
|
8272
8621
|
|
|
8273
8622
|
/**
|
|
8274
8623
|
* Individual font within a typeface. Field optionality matches `@cesdk/engine`
|
|
@@ -9470,10 +9819,10 @@ export declare type SceneLayout = (typeof SceneLayoutValues)[number];
|
|
|
9470
9819
|
/** @public */
|
|
9471
9820
|
export declare const SceneLayoutValues: readonly ["Free", "VerticalStack", "HorizontalStack", "DepthStack"];
|
|
9472
9821
|
|
|
9473
|
-
/** @public
|
|
9822
|
+
/** @public */
|
|
9474
9823
|
export declare type SceneMode = (typeof SceneModeValues)[number];
|
|
9475
9824
|
|
|
9476
|
-
/** @public
|
|
9825
|
+
/** @public */
|
|
9477
9826
|
export declare const SceneModeValues: readonly ["Design", "Video"];
|
|
9478
9827
|
|
|
9479
9828
|
/**
|
|
@@ -9494,29 +9843,33 @@ export declare const SceneModeValues: readonly ["Design", "Video"];
|
|
|
9494
9843
|
export declare type Scope = 'text/edit' | 'text/character' | 'fill/change' | 'fill/changeType' | 'stroke/change' | 'shape/change' | 'layer/move' | 'layer/resize' | 'layer/rotate' | 'layer/flip' | 'layer/crop' | 'layer/opacity' | 'layer/blendMode' | 'layer/visibility' | 'layer/clipping' | 'appearance/adjustments' | 'appearance/filter' | 'appearance/effect' | 'appearance/blur' | 'appearance/shadow' | 'appearance/animation' | 'lifecycle/destroy' | 'lifecycle/duplicate' | 'editor/add' | 'editor/select';
|
|
9495
9844
|
|
|
9496
9845
|
/** @public */
|
|
9497
|
-
export declare type SettingBoolPropertyName = '
|
|
9846
|
+
export declare type SettingBoolPropertyName = 'doubleClickToCropEnabled' | 'showBuildVersion' | 'placeholderControls/showButton' | 'placeholderControls/showOverlay' | 'blockAnimations/enabled' | 'playback/showAllBlocks' | 'grid/enabled' | 'grid/snapEnabled' | 'archival/bundleOnlyUsedFontVariants' | 'touch/dragStartCanSelect' | 'touch/singlePointPanning' | 'mouse/enableZoom' | 'mouse/enableScroll' | 'controlGizmo/showCropHandles' | 'controlGizmo/showMoveHandles' | 'controlGizmo/dynamicMoveHandleVisibility' | 'controlGizmo/showResizeHandles' | 'controlGizmo/showScaleHandles' | 'controlGizmo/showRotateHandles' | 'controlGizmo/showCropScaleHandles' | 'page/title/show' | 'page/title/showPageTitleTemplate' | 'page/title/appendPageName' | 'page/title/showOnSinglePage' | 'page/title/canEdit' | 'page/dimOutOfPageAreas' | 'page/allowCropInteraction' | 'page/allowResizeInteraction' | 'page/restrictResizeInteractionToFixedAspectRatio' | 'page/allowRotateInteraction' | 'page/allowMoveInteraction' | 'page/marqueeSelectOnBodyDrag' | 'page/restrictPageSelectionToBorderAndTitle' | 'page/moveChildrenWhenCroppingFill' | 'page/selectWhenNoBlocksSelected' | 'page/highlightWhenCropping' | 'page/allowShapeChange' | 'page/highlightDropTarget' | 'page/reparentBlocksToSceneWhenOutOfPage' | 'page/flipDimensionsOn90DegreeCropRotation' | 'clampThumbnailTextureSizes' | 'useSystemFontFallback' | 'forceSystemEmojis' | (string & {});
|
|
9498
9847
|
|
|
9499
9848
|
/** @public */
|
|
9500
|
-
export declare type SettingColorPropertyName = 'clearColor' | 'handleFillColor' | 'highlightColor' | 'pageHighlightColor' | 'placeholderHighlightColor' | 'snappingGuideColor' | 'rotationSnappingGuideColor' | 'cropOverlayColor' | 'textVariableHighlightColor' | 'borderOutlineColor' | 'progressColor' | 'errorStateColor' | 'page/title/color' | 'page/marginFillColor' | 'page/marginFrameColor' | 'page/innerBorderColor' | 'page/outerBorderColor' | 'colorMaskingSettings/maskColor' |
|
|
9849
|
+
export declare type SettingColorPropertyName = 'clearColor' | 'handleFillColor' | 'highlightColor' | 'pageHighlightColor' | 'placeholderHighlightColor' | 'snappingGuideColor' | 'rotationSnappingGuideColor' | 'cropOverlayColor' | 'textVariableHighlightColor' | 'borderOutlineColor' | 'progressColor' | 'errorStateColor' | 'grid/color' | 'page/title/color' | 'page/marginFillColor' | 'page/marginFrameColor' | 'page/innerBorderColor' | 'page/outerBorderColor' | 'colorMaskingSettings/maskColor' | (string & {});
|
|
9501
9850
|
|
|
9502
9851
|
/** @public */
|
|
9503
|
-
export declare type SettingEnumPropertyName = 'touch/pinchAction' | 'touch/rotateAction' | 'camera/clamping/overshootMode' | 'doubleClickSelectionMode' | 'colorPicker/colorMode' | 'timeline/trackVisibility' | (string & {});
|
|
9852
|
+
export declare type SettingEnumPropertyName = 'touch/pinchAction' | 'touch/rotateAction' | 'camera/clamping/overshootMode' | 'controlGizmo/moveHandleVisibility' | 'controlGizmo/resizeHandlesVisibility' | 'controlGizmo/scaleHandlesVisibility' | 'controlGizmo/rotateHandlesVisibility' | 'doubleClickSelectionMode' | 'colorPicker/colorMode' | 'timeline/trackVisibility' | (string & {});
|
|
9504
9853
|
|
|
9505
9854
|
/** @public */
|
|
9506
9855
|
export declare type SettingEnumType = {
|
|
9507
9856
|
'touch/pinchAction': TouchPinchAction;
|
|
9508
9857
|
'touch/rotateAction': TouchRotateAction;
|
|
9509
9858
|
'camera/clamping/overshootMode': CameraClampingOvershootMode;
|
|
9859
|
+
'controlGizmo/moveHandleVisibility': ControlGizmoMoveHandleVisibility;
|
|
9860
|
+
'controlGizmo/resizeHandlesVisibility': ControlGizmoResizeHandlesVisibility;
|
|
9861
|
+
'controlGizmo/scaleHandlesVisibility': ControlGizmoScaleHandlesVisibility;
|
|
9862
|
+
'controlGizmo/rotateHandlesVisibility': ControlGizmoRotateHandlesVisibility;
|
|
9510
9863
|
doubleClickSelectionMode: DoubleClickSelectionMode;
|
|
9511
9864
|
'colorPicker/colorMode': ColorPickerColorMode;
|
|
9512
9865
|
'timeline/trackVisibility': TimelineTrackVisibility;
|
|
9513
9866
|
};
|
|
9514
9867
|
|
|
9515
9868
|
/** @public */
|
|
9516
|
-
export declare type SettingEnumValues = TouchPinchAction | TouchRotateAction | CameraClampingOvershootMode | DoubleClickSelectionMode | ColorPickerColorMode | TimelineTrackVisibility | (string & {});
|
|
9869
|
+
export declare type SettingEnumValues = TouchPinchAction | TouchRotateAction | CameraClampingOvershootMode | ControlGizmoMoveHandleVisibility | ControlGizmoResizeHandlesVisibility | ControlGizmoScaleHandlesVisibility | ControlGizmoRotateHandlesVisibility | DoubleClickSelectionMode | ColorPickerColorMode | TimelineTrackVisibility | (string & {});
|
|
9517
9870
|
|
|
9518
9871
|
/** @public */
|
|
9519
|
-
export declare type SettingFloatPropertyName = 'positionSnappingThreshold' | 'rotationSnappingThreshold' | '
|
|
9872
|
+
export declare type SettingFloatPropertyName = 'positionSnappingThreshold' | 'rotationSnappingThreshold' | 'grid/spacingX' | 'grid/spacingY' | 'controlGizmo/blockScaleDownLimit' | 'listIndentPerLevel' | (string & {});
|
|
9520
9873
|
|
|
9521
9874
|
/** @public */
|
|
9522
9875
|
export declare type SettingIntPropertyName = 'maxImageSize' | 'maxPreviewResolution' | (string & {});
|
|
@@ -9546,15 +9899,15 @@ export declare interface Settings {
|
|
|
9546
9899
|
'controlGizmo/showCropHandles': boolean;
|
|
9547
9900
|
/** Whether to display the outer handles that scale the full image during crop. */
|
|
9548
9901
|
'controlGizmo/showCropScaleHandles': boolean;
|
|
9549
|
-
/**
|
|
9902
|
+
/** @deprecated Use `controlGizmo/moveHandleVisibility`. `false` hides the move handle. */
|
|
9550
9903
|
'controlGizmo/showMoveHandles': boolean;
|
|
9551
|
-
/**
|
|
9904
|
+
/** @deprecated Use `controlGizmo/moveHandleVisibility`. `false` shows the move handle at any block size. */
|
|
9552
9905
|
'controlGizmo/dynamicMoveHandleVisibility': boolean;
|
|
9553
|
-
/**
|
|
9906
|
+
/** @deprecated Use `controlGizmo/resizeHandlesVisibility`. `false` hides the edge (resize) handles. */
|
|
9554
9907
|
'controlGizmo/showResizeHandles': boolean;
|
|
9555
|
-
/**
|
|
9908
|
+
/** @deprecated Use `controlGizmo/rotateHandlesVisibility`. `false` hides the rotation handle. */
|
|
9556
9909
|
'controlGizmo/showRotateHandles': boolean;
|
|
9557
|
-
/**
|
|
9910
|
+
/** @deprecated Use `controlGizmo/scaleHandlesVisibility`. `false` hides the corner (scale) handles. */
|
|
9558
9911
|
'controlGizmo/showScaleHandles': boolean;
|
|
9559
9912
|
/** Enable double-click to enter crop mode. */
|
|
9560
9913
|
doubleClickToCropEnabled: boolean;
|
|
@@ -9730,6 +10083,26 @@ export declare interface Settings {
|
|
|
9730
10083
|
handleFillColor: Color;
|
|
9731
10084
|
/** Color of the grid lines. */
|
|
9732
10085
|
'grid/color': Color;
|
|
10086
|
+
/**
|
|
10087
|
+
* When the move handle is shown: 'auto' (by block size), 'always' (even while editing text, not in crop
|
|
10088
|
+
* mode), or 'never'. Replaces deprecated `controlGizmo/showMoveHandles`/`dynamicMoveHandleVisibility`.
|
|
10089
|
+
*/
|
|
10090
|
+
'controlGizmo/moveHandleVisibility': 'auto' | 'always' | 'never';
|
|
10091
|
+
/**
|
|
10092
|
+
* When the edge (resize) handles are shown: 'auto' (default), 'always' (even while editing text, not in
|
|
10093
|
+
* crop mode), or 'never'. Replaces the deprecated `controlGizmo/showResizeHandles`.
|
|
10094
|
+
*/
|
|
10095
|
+
'controlGizmo/resizeHandlesVisibility': 'auto' | 'always' | 'never';
|
|
10096
|
+
/**
|
|
10097
|
+
* When the corner (scale) handles are shown: 'auto' (default), 'always' (even while editing text, not in
|
|
10098
|
+
* crop mode), or 'never'. Replaces the deprecated `controlGizmo/showScaleHandles`.
|
|
10099
|
+
*/
|
|
10100
|
+
'controlGizmo/scaleHandlesVisibility': 'auto' | 'always' | 'never';
|
|
10101
|
+
/**
|
|
10102
|
+
* When the rotation handle is shown: 'auto' (default), 'always' (even while editing text, not in crop
|
|
10103
|
+
* mode), or 'never'. Replaces the deprecated `controlGizmo/showRotateHandles`.
|
|
10104
|
+
*/
|
|
10105
|
+
'controlGizmo/rotateHandlesVisibility': 'auto' | 'always' | 'never';
|
|
9733
10106
|
/** The selection mode for double-click: Direct selects the clicked element, Hierarchical traverses the hierarchy. */
|
|
9734
10107
|
doubleClickSelectionMode: 'Direct' | 'Hierarchical';
|
|
9735
10108
|
/** The action performed for pinch gestures: None, Zoom, Scale, Auto, or Dynamic. */
|
|
@@ -9768,6 +10141,7 @@ export declare interface Settings {
|
|
|
9768
10141
|
|
|
9769
10142
|
|
|
9770
10143
|
|
|
10144
|
+
|
|
9771
10145
|
|
|
9772
10146
|
|
|
9773
10147
|
}
|
|
@@ -9968,7 +10342,7 @@ export declare interface SpotColor {
|
|
|
9968
10342
|
}
|
|
9969
10343
|
|
|
9970
10344
|
/** @public */
|
|
9971
|
-
export declare type StringPropertyName = 'name' | 'scene/pageFormatId' | 'type' | 'uuid' | 'page/titleTemplate' | 'audio/fileURI' | 'text/externalReference' | 'text/fontFileUri' | 'text/text' | 'text/typeface' | 'cutout/path' | 'caption/externalReference' | 'caption/fontFileUri' | 'caption/text' | 'caption/typeface' | 'effect/lut_filter/lutFileURI' | 'fill/image/externalReference' | 'fill/image/imageFileURI' | 'fill/image/previewFileURI' | 'fill/video/fileURI' | 'shape/vector_path/path' | (string & {});
|
|
10345
|
+
export declare type StringPropertyName = 'name' | 'scene/pageFormatId' | 'type' | 'uuid' | 'page/titleTemplate' | 'audio/fileURI' | 'text/externalReference' | 'text/fontFileUri' | 'text/pathExternalRef' | 'text/text' | 'text/typeface' | 'cutout/path' | 'caption/externalReference' | 'caption/fontFileUri' | 'caption/pathExternalRef' | 'caption/text' | 'caption/typeface' | 'effect/lut_filter/filterId' | 'effect/lut_filter/lutFileURI' | 'fill/image/externalReference' | 'fill/image/imageFileURI' | 'fill/image/previewFileURI' | 'fill/video/fileURI' | 'shape/vector_path/path' | (string & {});
|
|
9972
10346
|
|
|
9973
10347
|
/** @public */
|
|
9974
10348
|
export declare type StrokeCap = (typeof StrokeCapValues)[number];
|
|
@@ -9982,12 +10356,36 @@ export declare type StrokeCornerGeometry = (typeof StrokeCornerGeometryValues)[n
|
|
|
9982
10356
|
/** @public */
|
|
9983
10357
|
export declare const StrokeCornerGeometryValues: readonly ["Bevel", "Miter", "Round"];
|
|
9984
10358
|
|
|
10359
|
+
/** @public */
|
|
10360
|
+
export declare type StrokeDashEndCap = (typeof StrokeDashEndCapValues)[number];
|
|
10361
|
+
|
|
10362
|
+
/** @public */
|
|
10363
|
+
export declare const StrokeDashEndCapValues: readonly ["Butt", "Round", "Square"];
|
|
10364
|
+
|
|
10365
|
+
/** @public */
|
|
10366
|
+
export declare type StrokeDashStartCap = (typeof StrokeDashStartCapValues)[number];
|
|
10367
|
+
|
|
10368
|
+
/** @public */
|
|
10369
|
+
export declare const StrokeDashStartCapValues: readonly ["Butt", "Round", "Square"];
|
|
10370
|
+
|
|
10371
|
+
/** @public */
|
|
10372
|
+
export declare type StrokeEndCap = (typeof StrokeEndCapValues)[number];
|
|
10373
|
+
|
|
10374
|
+
/** @public */
|
|
10375
|
+
export declare const StrokeEndCapValues: readonly ["Butt", "Round", "Square"];
|
|
10376
|
+
|
|
9985
10377
|
/** @public */
|
|
9986
10378
|
export declare type StrokePosition = (typeof StrokePositionValues)[number];
|
|
9987
10379
|
|
|
9988
10380
|
/** @public */
|
|
9989
10381
|
export declare const StrokePositionValues: readonly ["Center", "Inner", "Outer"];
|
|
9990
10382
|
|
|
10383
|
+
/** @public */
|
|
10384
|
+
export declare type StrokeStartCap = (typeof StrokeStartCapValues)[number];
|
|
10385
|
+
|
|
10386
|
+
/** @public */
|
|
10387
|
+
export declare const StrokeStartCapValues: readonly ["Butt", "Round", "Square"];
|
|
10388
|
+
|
|
9991
10389
|
/** @public */
|
|
9992
10390
|
export declare type StrokeStyle = (typeof StrokeStyleValues)[number];
|
|
9993
10391
|
|
|
@@ -10108,6 +10506,38 @@ export { TextHorizontalAlignment }
|
|
|
10108
10506
|
/** @public */
|
|
10109
10507
|
export declare const TextHorizontalAlignmentValues: readonly ["Left", "Right", "Center", "Auto"];
|
|
10110
10508
|
|
|
10509
|
+
/**
|
|
10510
|
+
* Represents a single contiguous text run with uniform formatting.
|
|
10511
|
+
*
|
|
10512
|
+
* @public
|
|
10513
|
+
*/
|
|
10514
|
+
export declare interface TextRunInfo {
|
|
10515
|
+
/** Start grapheme index (inclusive). */
|
|
10516
|
+
from: number;
|
|
10517
|
+
/** End grapheme index (exclusive). */
|
|
10518
|
+
to: number;
|
|
10519
|
+
/** The text content of this run. */
|
|
10520
|
+
text: string;
|
|
10521
|
+
/** The text color. */
|
|
10522
|
+
color: Color;
|
|
10523
|
+
/** The font weight. */
|
|
10524
|
+
fontWeight: FontWeight;
|
|
10525
|
+
/** The font style. */
|
|
10526
|
+
fontStyle: FontStyle;
|
|
10527
|
+
/** The font size in points. */
|
|
10528
|
+
fontSize: number;
|
|
10529
|
+
/** The text case transformation. */
|
|
10530
|
+
textCase: TextCase;
|
|
10531
|
+
/** The typeface used by this run. */
|
|
10532
|
+
typeface: Typeface;
|
|
10533
|
+
/** The resolved font file URI. */
|
|
10534
|
+
resolvedFontFileUri: string;
|
|
10535
|
+
/** The text decoration configuration of this run. */
|
|
10536
|
+
textDecoration: TextDecorationConfig;
|
|
10537
|
+
/** Additional kerning offset in em units. */
|
|
10538
|
+
kerning: number;
|
|
10539
|
+
}
|
|
10540
|
+
|
|
10111
10541
|
/** @public */
|
|
10112
10542
|
declare type TextVerticalAlignment = (typeof TextVerticalAlignmentValues)[number];
|
|
10113
10543
|
export { TextVerticalAlignment }
|