@cesdk/engine 1.64.0-nightly.20251030 → 1.64.0-nightly.20251104

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/index.d.ts CHANGED
@@ -62,10 +62,29 @@ export declare interface AddVideoOptions {
62
62
  }
63
63
 
64
64
  /**
65
- * The easing options for the camera animation.
65
+ * The shorthand block type IDs for the animation blocks. These are the IDs used to create new animations
66
+ * using `cesdk.engine.block.createAnimation(id)`.
66
67
  * @public
67
68
  */
68
- export declare type AnimationEasing = 'Linear' | 'EaseIn' | 'EaseOut' | 'EaseInOut' | 'EaseInQuart' | 'EaseOutQuart' | 'EaseInOutQuart' | 'EaseInQuint' | 'EaseOutQuint' | 'EaseInOutQuint' | 'EaseInBack' | 'EaseOutBack' | 'EaseInOutBack' | 'EaseInSpring' | 'EaseOutSpring' | 'EaseInOutSpring';
69
+ export declare const ANIMATION_TYPES: readonly ["slide", "pan", "fade", "blur", "grow", "zoom", "pop", "wipe", "baseline", "crop_zoom", "spin", "spin_loop", "fade_loop", "blur_loop", "pulsating_loop", "breathing_loop", "jump_loop", "squeeze_loop", "sway_loop", "typewriter_text", "block_swipe_text", "spread_text", "merge_text", "ken_burns"];
70
+
71
+ /** @public */
72
+ export declare type AnimationBaselineDirection = (typeof AnimationBaselineDirectionValues)[number];
73
+
74
+ /** @public */
75
+ export declare const AnimationBaselineDirectionValues: readonly ["Up", "Right", "Down", "Left"];
76
+
77
+ /** @public */
78
+ export declare type AnimationBlockSwipeTextDirection = (typeof AnimationBlockSwipeTextDirectionValues)[number];
79
+
80
+ /** @public */
81
+ export declare const AnimationBlockSwipeTextDirectionValues: readonly ["Up", "Right", "Down", "Left"];
82
+
83
+ /** @public */
84
+ export declare type AnimationEasing = (typeof AnimationEasingValues)[number];
85
+
86
+ /** @public */
87
+ export declare const AnimationEasingValues: readonly ["Linear", "EaseIn", "EaseOut", "EaseInOut", "EaseInQuart", "EaseOutQuart", "EaseInOutQuart", "EaseInQuint", "EaseOutQuint", "EaseInOutQuint", "EaseInBack", "EaseOutBack", "EaseInOutBack", "EaseInSpring", "EaseOutSpring", "EaseInOutSpring"];
69
88
 
70
89
  /**
71
90
  * Configuration options for animations.
@@ -80,6 +99,30 @@ export declare type AnimationEntry = {
80
99
  easing?: AnimationEasing;
81
100
  };
82
101
 
102
+ /** @public */
103
+ export declare type AnimationGrowDirection = (typeof AnimationGrowDirectionValues)[number];
104
+
105
+ /** @public */
106
+ export declare const AnimationGrowDirectionValues: readonly ["Horizontal", "Vertical", "All"];
107
+
108
+ /** @public */
109
+ export declare type AnimationJumpLoopDirection = (typeof AnimationJumpLoopDirectionValues)[number];
110
+
111
+ /** @public */
112
+ export declare const AnimationJumpLoopDirectionValues: readonly ["Up", "Right", "Down", "Left"];
113
+
114
+ /** @public */
115
+ export declare type AnimationKenBurnsDirection = (typeof AnimationKenBurnsDirectionValues)[number];
116
+
117
+ /** @public */
118
+ export declare const AnimationKenBurnsDirectionValues: readonly ["Up", "Right", "Down", "Left"];
119
+
120
+ /** @public */
121
+ export declare type AnimationMergeTextDirection = (typeof AnimationMergeTextDirectionValues)[number];
122
+
123
+ /** @public */
124
+ export declare const AnimationMergeTextDirectionValues: readonly ["Right", "Left"];
125
+
83
126
  /**
84
127
  * Options for configuring animations (in, loop, out animations).
85
128
  * @public
@@ -93,6 +136,18 @@ export declare type AnimationOptions = {
93
136
  out?: AnimationEntry;
94
137
  };
95
138
 
139
+ /** @public */
140
+ export declare type AnimationSpinDirection = (typeof AnimationSpinDirectionValues)[number];
141
+
142
+ /** @public */
143
+ export declare const AnimationSpinDirectionValues: readonly ["Clockwise", "CounterClockwise"];
144
+
145
+ /** @public */
146
+ export declare type AnimationSpinLoopDirection = (typeof AnimationSpinLoopDirectionValues)[number];
147
+
148
+ /** @public */
149
+ export declare const AnimationSpinLoopDirectionValues: readonly ["Clockwise", "CounterClockwise"];
150
+
96
151
  /**
97
152
  * The block type IDs for the animation blocks. These are the IDs used to create new animations
98
153
  * using `cesdk.engine.block.createAnimation(id)`.
@@ -108,12 +163,20 @@ export declare type AnimationType = AnimationTypeShorthand | AnimationTypeLongha
108
163
  */
109
164
  export declare type AnimationTypeLonghand = `//ly.img.ubq/animation/${AnimationTypeShorthand}`;
110
165
 
111
- /**
112
- * The shorthand block type IDs for the animation blocks. These are the IDs used to create new animations
113
- * using `cesdk.engine.block.createAnimation(id)`.
114
- * @public
115
- */
116
- export declare type AnimationTypeShorthand = 'slide' | 'pan' | 'fade' | 'blur' | 'grow' | 'zoom' | 'pop' | 'wipe' | 'baseline' | 'crop_zoom' | 'spin' | 'spin_loop' | 'fade_loop' | 'blur_loop' | 'pulsating_loop' | 'breathing_loop' | 'jump_loop' | 'squeeze_loop' | 'sway_loop' | 'typewriter_text' | 'block_swipe_text' | 'spread_text' | 'merge_text' | 'ken_burns';
166
+ /** @public */
167
+ export declare type AnimationTypeShorthand = (typeof ANIMATION_TYPES)[number];
168
+
169
+ /** @public */
170
+ export declare type AnimationTypewriterTextWritingStyle = (typeof AnimationTypewriterTextWritingStyleValues)[number];
171
+
172
+ /** @public */
173
+ export declare const AnimationTypewriterTextWritingStyleValues: readonly ["Character", "Word"];
174
+
175
+ /** @public */
176
+ export declare type AnimationWipeDirection = (typeof AnimationWipeDirectionValues)[number];
177
+
178
+ /** @public */
179
+ export declare const AnimationWipeDirectionValues: readonly ["Up", "Right", "Down", "Left"];
117
180
 
118
181
  /**
119
182
  * Represents the application MIME types used in the editor.
@@ -820,7 +883,7 @@ export declare interface AssetFixedSize {
820
883
  type: 'FixedSize';
821
884
  width: number;
822
885
  height: number;
823
- designUnit: DesignUnit;
886
+ designUnit: SceneDesignUnit;
824
887
  }
825
888
 
826
889
  /**
@@ -1240,42 +1303,11 @@ export declare interface AudioTrackInfo {
1240
1303
  language: string;
1241
1304
  }
1242
1305
 
1243
- /**
1244
- * Represents the blend mode of a layer or effect.
1245
- *
1246
- * @categoryDescription Blend Mode
1247
- * Defines the possible blend modes for a layer or effect.
1248
- * - 'PassThrough': The layer or effect is not blended and is rendered as is.
1249
- * - 'Normal': The layer or effect is blended normally.
1250
- * - 'Darken': The layer or effect is blended to darken the underlying content.
1251
- * - 'Multiply': The layer or effect is blended to multiply the underlying content.
1252
- * - 'ColorBurn': The layer or effect is blended to burn the underlying content.
1253
- * - 'LinearBurn': The layer or effect is blended to linearly burn the underlying content.
1254
- * - 'DarkenColor': The layer or effect is blended to darken the underlying content based on color.
1255
- * - 'Lighten': The layer or effect is blended to lighten the underlying content.
1256
- * - 'Screen': The layer or effect is blended to screen the underlying content.
1257
- * - 'ColorDodge': The layer or effect is blended to dodge the underlying content.
1258
- * - 'LinearDodge': The layer or effect is blended to linearly dodge the underlying content.
1259
- * - 'LightenColor': The layer or effect is blended to lighten the underlying content based on color.
1260
- * - 'Overlay': The layer or effect is blended to overlay the underlying content.
1261
- * - 'SoftLight': The layer or effect is blended to soft light the underlying content.
1262
- * - 'HardLight': The layer or effect is blended to hard light the underlying content.
1263
- * - 'VividLight': The layer or effect is blended to vivid light the underlying content.
1264
- * - 'LinearLight': The layer or effect is blended to linearly light the underlying content.
1265
- * - 'PinLight': The layer or effect is blended to pin light the underlying content.
1266
- * - 'HardMix': The layer or effect is blended to hard mix the underlying content.
1267
- * - 'Difference': The layer or effect is blended to difference the underlying content.
1268
- * - 'Exclusion': The layer or effect is blended to exclude the underlying content.
1269
- * - 'Subtract': The layer or effect is blended to subtract the underlying content.
1270
- * - 'Divide': The layer or effect is blended to divide the underlying content.
1271
- * - 'Hue': The layer or effect is blended to hue the underlying content.
1272
- * - 'Saturation': The layer or effect is blended to saturate the underlying content.
1273
- * - 'Color': The layer or effect is blended to color the underlying content.
1274
- * - 'Luminosity': The layer or effect is blended to luminosity the underlying content.
1275
- *
1276
- * @public
1277
- */
1278
- export declare type BlendMode = 'PassThrough' | 'Normal' | 'Darken' | 'Multiply' | 'ColorBurn' | 'LinearBurn' | 'DarkenColor' | 'Lighten' | 'Screen' | 'ColorDodge' | 'LinearDodge' | 'LightenColor' | 'Overlay' | 'SoftLight' | 'HardLight' | 'VividLight' | 'LinearLight' | 'PinLight' | 'HardMix' | 'Difference' | 'Exclusion' | 'Subtract' | 'Divide' | 'Hue' | 'Saturation' | 'Color' | 'Luminosity';
1306
+ /** @public */
1307
+ export declare type BlendMode = (typeof BlendModeValues)[number];
1308
+
1309
+ /** @public */
1310
+ export declare const BlendModeValues: readonly ["PassThrough", "Normal", "Darken", "Multiply", "ColorBurn", "LinearBurn", "DarkenColor", "Lighten", "Screen", "ColorDodge", "LinearDodge", "LightenColor", "Overlay", "SoftLight", "HardLight", "VividLight", "LinearLight", "PinLight", "HardMix", "Difference", "Exclusion", "Subtract", "Divide", "Hue", "Saturation", "Color", "Luminosity"];
1279
1311
 
1280
1312
  /**
1281
1313
  * Create, manipulate, and query the building blocks of your design.
@@ -2069,7 +2101,7 @@ export declare class BlockAPI {
2069
2101
  * @param id - The block to query.
2070
2102
  * @returns The current mode for the x position: 'Absolute' or 'Percent'.
2071
2103
  */
2072
- getPositionXMode(id: DesignBlockId): PositionMode;
2104
+ getPositionXMode(id: DesignBlockId): PositionXMode;
2073
2105
  /**
2074
2106
  * Gets the Y position of a block.
2075
2107
  *
@@ -2085,7 +2117,7 @@ export declare class BlockAPI {
2085
2117
  * @param id - The block to query.
2086
2118
  * @returns The current mode for the y position: 'Absolute' or 'Percent'.
2087
2119
  */
2088
- getPositionYMode(id: DesignBlockId): PositionMode;
2120
+ getPositionYMode(id: DesignBlockId): PositionYMode;
2089
2121
  /**
2090
2122
  * Sets the X position of a block.
2091
2123
  *
@@ -2111,7 +2143,7 @@ export declare class BlockAPI {
2111
2143
  * @param id - The block to update.
2112
2144
  * @param mode - The x position mode: 'Absolute' or 'Percent'.
2113
2145
  */
2114
- setPositionXMode(id: DesignBlockId, mode: PositionMode): void;
2146
+ setPositionXMode(id: DesignBlockId, mode: PositionXMode): void;
2115
2147
  /**
2116
2148
  * Sets the Y position of a block.
2117
2149
  *
@@ -2137,7 +2169,7 @@ export declare class BlockAPI {
2137
2169
  * @param id - The block to update.
2138
2170
  * @param mode - The y position mode: 'Absolute' or 'Percent'.
2139
2171
  */
2140
- setPositionYMode(id: DesignBlockId, mode: PositionMode): void;
2172
+ setPositionYMode(id: DesignBlockId, mode: PositionYMode): void;
2141
2173
  /**
2142
2174
  * Sets a block to always be rendered on top of its siblings.
2143
2175
  *
@@ -2300,7 +2332,7 @@ export declare class BlockAPI {
2300
2332
  * @param id - The block to query.
2301
2333
  * @returns The current mode for the width: 'Absolute', 'Percent' or 'Auto'.
2302
2334
  */
2303
- getWidthMode(id: DesignBlockId): SizeMode;
2335
+ getWidthMode(id: DesignBlockId): WidthMode;
2304
2336
  /**
2305
2337
  * Gets the height of a block in the current height mode.
2306
2338
  *
@@ -2324,7 +2356,7 @@ export declare class BlockAPI {
2324
2356
  * @param id - The block to query.
2325
2357
  * @returns The current mode for the height: 'Absolute', 'Percent' or 'Auto'.
2326
2358
  */
2327
- getHeightMode(id: DesignBlockId): SizeMode;
2359
+ getHeightMode(id: DesignBlockId): HeightMode;
2328
2360
  /**
2329
2361
  * Update a block's size.
2330
2362
  *
@@ -2379,7 +2411,7 @@ export declare class BlockAPI {
2379
2411
  * @param id - The block to update.
2380
2412
  * @param mode - The width mode: 'Absolute', 'Percent' or 'Auto'.
2381
2413
  */
2382
- setWidthMode(id: DesignBlockId, mode: SizeMode): void;
2414
+ setWidthMode(id: DesignBlockId, mode: WidthMode): void;
2383
2415
  /**
2384
2416
  * Sets the height of a block in the current height mode.
2385
2417
  *
@@ -2407,7 +2439,7 @@ export declare class BlockAPI {
2407
2439
  * @param id - The block to update.
2408
2440
  * @param mode - The height mode: 'Absolute', 'Percent' or 'Auto'.
2409
2441
  */
2410
- setHeightMode(id: DesignBlockId, mode: SizeMode): void;
2442
+ setHeightMode(id: DesignBlockId, mode: HeightMode): void;
2411
2443
  /**
2412
2444
  * Gets the final calculated X position of a block's frame.
2413
2445
  *
@@ -2636,7 +2668,7 @@ export declare class BlockAPI {
2636
2668
  * @param ids - A non-empty array of block ids.
2637
2669
  * @param horizontalBlockAlignment - How they should be aligned: 'Left', 'Right', or 'Center'.
2638
2670
  */
2639
- alignHorizontally(ids: DesignBlockId[], horizontalBlockAlignment: HorizontalBlockAlignment): void;
2671
+ alignHorizontally(ids: DesignBlockId[], horizontalBlockAlignment: TextHorizontalAlignment): void;
2640
2672
  /**
2641
2673
  * Aligns blocks vertically.
2642
2674
  *
@@ -2646,7 +2678,7 @@ export declare class BlockAPI {
2646
2678
  * @param ids - A non-empty array of block ids.
2647
2679
  * @param verticalBlockAlignment - How they should be aligned: 'Top', 'Bottom', or 'Center'.
2648
2680
  */
2649
- alignVertically(ids: DesignBlockId[], verticalBlockAlignment: VerticalBlockAlignment): void;
2681
+ alignVertically(ids: DesignBlockId[], verticalBlockAlignment: TextVerticalAlignment): void;
2650
2682
  /**
2651
2683
  * Checks if a set of blocks can be aligned.
2652
2684
  *
@@ -2776,7 +2808,7 @@ export declare class BlockAPI {
2776
2808
  * @param property - The name of the property to set.
2777
2809
  * @param value - The value to set.
2778
2810
  */
2779
- setBool(id: DesignBlockId, property: string, value: boolean): void;
2811
+ setBool(id: DesignBlockId, property: BoolPropertyName, value: boolean): void;
2780
2812
  /**
2781
2813
  * Gets a boolean property from a block.
2782
2814
  *
@@ -2789,7 +2821,7 @@ export declare class BlockAPI {
2789
2821
  * @param property - The name of the property to query.
2790
2822
  * @returns The value of the property.
2791
2823
  */
2792
- getBool(id: DesignBlockId, property: string): boolean;
2824
+ getBool(id: DesignBlockId, property: BoolPropertyName): boolean;
2793
2825
  /**
2794
2826
  * Sets an integer property on a block.
2795
2827
  *
@@ -2802,7 +2834,7 @@ export declare class BlockAPI {
2802
2834
  * @param property - The name of the property to set.
2803
2835
  * @param value - The value to set.
2804
2836
  */
2805
- setInt(id: DesignBlockId, property: string, value: number): void;
2837
+ setInt(id: DesignBlockId, property: IntPropertyName, value: number): void;
2806
2838
  /**
2807
2839
  * Gets an integer property from a block.
2808
2840
  *
@@ -2815,7 +2847,7 @@ export declare class BlockAPI {
2815
2847
  * @param property - The name of the property to query.
2816
2848
  * @returns The value of the property.
2817
2849
  */
2818
- getInt(id: DesignBlockId, property: string): number;
2850
+ getInt(id: DesignBlockId, property: IntPropertyName): number;
2819
2851
  /**
2820
2852
  * Sets a float property on a block.
2821
2853
  *
@@ -2829,7 +2861,7 @@ export declare class BlockAPI {
2829
2861
  * @param property - The name of the property to set.
2830
2862
  * @param value - The value to set.
2831
2863
  */
2832
- setFloat(id: DesignBlockId, property: string, value: number): void;
2864
+ setFloat(id: DesignBlockId, property: FloatPropertyName, value: number): void;
2833
2865
  /**
2834
2866
  * Gets a float property from a block.
2835
2867
  *
@@ -2842,7 +2874,7 @@ export declare class BlockAPI {
2842
2874
  * @param property - The name of the property to query.
2843
2875
  * @returns The value of the property.
2844
2876
  */
2845
- getFloat(id: DesignBlockId, property: string): number;
2877
+ getFloat(id: DesignBlockId, property: FloatPropertyName): number;
2846
2878
  /**
2847
2879
  * Sets a double-precision float property on a block.
2848
2880
  *
@@ -2855,7 +2887,7 @@ export declare class BlockAPI {
2855
2887
  * @param property - The name of the property to set.
2856
2888
  * @param value - The value to set.
2857
2889
  */
2858
- setDouble(id: DesignBlockId, property: string, value: number): void;
2890
+ setDouble(id: DesignBlockId, property: DoublePropertyName, value: number): void;
2859
2891
  /**
2860
2892
  * Gets a double-precision float property from a block.
2861
2893
  *
@@ -2868,7 +2900,7 @@ export declare class BlockAPI {
2868
2900
  * @param property - The name of the property to query.
2869
2901
  * @returns The value of the property.
2870
2902
  */
2871
- getDouble(id: DesignBlockId, property: string): number;
2903
+ getDouble(id: DesignBlockId, property: DoublePropertyName): number;
2872
2904
  /**
2873
2905
  * Sets a string property on a block.
2874
2906
  *
@@ -2882,7 +2914,7 @@ export declare class BlockAPI {
2882
2914
  * @param property - The name of the property to set.
2883
2915
  * @param value - The value to set.
2884
2916
  */
2885
- setString(id: DesignBlockId, property: string, value: string): void;
2917
+ setString(id: DesignBlockId, property: StringPropertyName, value: string): void;
2886
2918
  /**
2887
2919
  * Gets a string property from a block.
2888
2920
  *
@@ -2896,7 +2928,7 @@ export declare class BlockAPI {
2896
2928
  * @param property - The name of the property to query.
2897
2929
  * @returns The value of the property.
2898
2930
  */
2899
- getString(id: DesignBlockId, property: string): string;
2931
+ getString(id: DesignBlockId, property: StringPropertyName): string;
2900
2932
  /**
2901
2933
  * Sets a color property on a block.
2902
2934
  *
@@ -2910,7 +2942,7 @@ export declare class BlockAPI {
2910
2942
  * @param property - The name of the property to set.
2911
2943
  * @param value - The value to set.
2912
2944
  */
2913
- setColor(id: DesignBlockId, property: string, value: Color): void;
2945
+ setColor(id: DesignBlockId, property: ColorPropertyName, value: Color): void;
2914
2946
  /**
2915
2947
  * Gets a color property from a block.
2916
2948
  *
@@ -2923,7 +2955,7 @@ export declare class BlockAPI {
2923
2955
  * @param property - The name of the property to query.
2924
2956
  * @returns The value of the property.
2925
2957
  */
2926
- getColor(id: DesignBlockId, property: string): Color;
2958
+ getColor(id: DesignBlockId, property: ColorPropertyName): Color;
2927
2959
  /**
2928
2960
  * Sets a color property on a block using RGBA values.
2929
2961
  *
@@ -3019,7 +3051,7 @@ export declare class BlockAPI {
3019
3051
  * @param property - The name of the property to query, e.g. 'fill/image/sourceSet'.
3020
3052
  * @returns The block's source set.
3021
3053
  */
3022
- getSourceSet(id: DesignBlockId, property: string): Source[];
3054
+ getSourceSet(id: DesignBlockId, property: SourceSetPropertyName): Source[];
3023
3055
  /**
3024
3056
  * Sets the source set for a block property.
3025
3057
  *
@@ -3038,7 +3070,7 @@ export declare class BlockAPI {
3038
3070
  * @param property - The name of the property to set.
3039
3071
  * @param sourceSet - The block's new source set.
3040
3072
  */
3041
- setSourceSet(id: DesignBlockId, property: string, sourceSet: Source[]): void;
3073
+ setSourceSet(id: DesignBlockId, property: SourceSetPropertyName, sourceSet: Source[]): void;
3042
3074
  /**
3043
3075
  * Adds an image file URI to a source set property.
3044
3076
  *
@@ -3054,7 +3086,7 @@ export declare class BlockAPI {
3054
3086
  * @param uri - The source to add to the source set.
3055
3087
  * @returns A promise that resolves when the operation is complete.
3056
3088
  */
3057
- addImageFileURIToSourceSet(id: DesignBlockId, property: string, uri: string): Promise<void>;
3089
+ addImageFileURIToSourceSet(id: DesignBlockId, property: SourceSetPropertyName, uri: string): Promise<void>;
3058
3090
  /**
3059
3091
  * Adds a video file URI to a source set property.
3060
3092
  *
@@ -3070,7 +3102,7 @@ export declare class BlockAPI {
3070
3102
  * @param uri - The source to add to the source set.
3071
3103
  * @returns A promise that resolves when the operation is complete.
3072
3104
  */
3073
- addVideoFileURIToSourceSet(id: DesignBlockId, property: string, uri: string): Promise<void>;
3105
+ addVideoFileURIToSourceSet(id: DesignBlockId, property: SourceSetPropertyName, uri: string): Promise<void>;
3074
3106
  /**
3075
3107
  * Sets an enum property on a block.
3076
3108
  *
@@ -3084,7 +3116,8 @@ export declare class BlockAPI {
3084
3116
  * @param property - The name of the property to set.
3085
3117
  * @param value - The enum value as a string.
3086
3118
  */
3087
- setEnum<T extends string = string>(id: DesignBlockId, property: string, value: T): void;
3119
+ setEnum<T extends keyof BlockEnumType>(id: DesignBlockId, property: T, value: BlockEnumType[T]): void;
3120
+ setEnum(id: DesignBlockId, property: string, value: string): void;
3088
3121
  /**
3089
3122
  * Gets an enum property from a block.
3090
3123
  *
@@ -3098,7 +3131,8 @@ export declare class BlockAPI {
3098
3131
  * @param property - The name of the property to query.
3099
3132
  * @returns The value as a string.
3100
3133
  */
3101
- getEnum<T extends string = string>(id: DesignBlockId, property: string): T;
3134
+ getEnum<T extends keyof BlockEnumType>(id: DesignBlockId, property: T): BlockEnumType[T];
3135
+ getEnum(id: DesignBlockId, property: string): string;
3102
3136
  /**
3103
3137
  * Checks if a block has crop properties.
3104
3138
  *
@@ -5021,6 +5055,14 @@ export declare class BlockAPI {
5021
5055
  * @param muted - Whether the audio should be muted.
5022
5056
  */
5023
5057
  setMuted(id: DesignBlockId, muted: boolean): void;
5058
+ /**
5059
+ * Checks if a block's audio is muted due to engine rules.
5060
+ *
5061
+ * @category Block Video
5062
+ * @param id - The block to query.
5063
+ * @returns Whether the block is force muted.
5064
+ */
5065
+ isForceMuted(id: DesignBlockId): boolean;
5024
5066
  /**
5025
5067
  * Checks if a block's audio is muted.
5026
5068
  *
@@ -5048,10 +5090,12 @@ export declare class BlockAPI {
5048
5090
  /**
5049
5091
  * Sets the playback speed multiplier of a block that supports playback control.
5050
5092
  * Note: This also adjusts the trim and duration of the block.
5093
+ * Video fills running faster than 3.0x are force muted until reduced to 3.0x or below.
5051
5094
  *
5052
5095
  * @category Block Video
5053
5096
  * @param id - The block or video fill to update.
5054
- * @param speed - The desired playback speed multiplier with a range of [0.25, 3.0].
5097
+ * @param speed - The desired playback speed multiplier. Valid range is [0.25, 3.0] for audio blocks and
5098
+ * [0.25, infinity) for video fills.
5055
5099
  */
5056
5100
  setPlaybackSpeed(id: DesignBlockId, speed: number): void;
5057
5101
  /**
@@ -5374,6 +5418,40 @@ export declare class BlockAPI {
5374
5418
  moveToBackgroundTrack(block: DesignBlockId): void;
5375
5419
  }
5376
5420
 
5421
+ /** @public */
5422
+ export declare type BlockEnumType = {
5423
+ 'blend/mode': BlendMode;
5424
+ 'contentFill/mode': ContentFillMode;
5425
+ 'height/mode': HeightMode;
5426
+ 'position/x/mode': PositionXMode;
5427
+ 'position/y/mode': PositionYMode;
5428
+ 'scene/designUnit': SceneDesignUnit;
5429
+ 'scene/layout': SceneLayout;
5430
+ 'scene/mode': SceneMode;
5431
+ 'width/mode': WidthMode;
5432
+ 'stroke/cornerGeometry': StrokeCornerGeometry;
5433
+ 'stroke/position': StrokePosition;
5434
+ 'stroke/style': StrokeStyle;
5435
+ 'text/horizontalAlignment': TextHorizontalAlignment;
5436
+ 'text/verticalAlignment': TextVerticalAlignment;
5437
+ 'cutout/type': CutoutType;
5438
+ 'caption/horizontalAlignment': CaptionHorizontalAlignment;
5439
+ 'caption/verticalAlignment': CaptionVerticalAlignment;
5440
+ animationEasing: AnimationEasing;
5441
+ textAnimationWritingStyle: TextAnimationWritingStyle;
5442
+ 'animation/grow/direction': AnimationGrowDirection;
5443
+ 'animation/wipe/direction': AnimationWipeDirection;
5444
+ 'animation/baseline/direction': AnimationBaselineDirection;
5445
+ 'animation/spin/direction': AnimationSpinDirection;
5446
+ 'animation/spin_loop/direction': AnimationSpinLoopDirection;
5447
+ 'animation/jump_loop/direction': AnimationJumpLoopDirection;
5448
+ 'animation/typewriter_text/writingStyle': AnimationTypewriterTextWritingStyle;
5449
+ 'animation/block_swipe_text/direction': AnimationBlockSwipeTextDirection;
5450
+ 'animation/merge_text/direction': AnimationMergeTextDirection;
5451
+ 'animation/ken_burns/direction': AnimationKenBurnsDirection;
5452
+ 'fill/pixelStream/orientation': FillPixelStreamOrientation;
5453
+ };
5454
+
5377
5455
  /**
5378
5456
  * Represents an event related to a design block.
5379
5457
  *
@@ -5439,6 +5517,13 @@ export declare interface BlockStateReady {
5439
5517
  type: 'Ready';
5440
5518
  }
5441
5519
 
5520
+ /**
5521
+ * The shorthand block type IDs for the blur blocks. These are the IDs used to create new blurs
5522
+ * using `cesdk.engine.block.createBlur(id)`.
5523
+ * @public
5524
+ */
5525
+ export declare const BLUR_TYPES: readonly ["uniform", "linear", "mirrored", "radial"];
5526
+
5442
5527
  /**
5443
5528
  * Dispatched on the engine canvas when the text input has been blurred.
5444
5529
  * Call `preventDefault()` to disallow this and refocus the engine text input.
@@ -5467,12 +5552,8 @@ export declare type BlurType = BlurTypeShorthand | BlurTypeLonghand;
5467
5552
  */
5468
5553
  export declare type BlurTypeLonghand = `//ly.img.ubq/blur/${BlurTypeShorthand}`;
5469
5554
 
5470
- /**
5471
- * The shorthand block type IDs for the blur blocks. These are the IDs used to create new blurs
5472
- * using `cesdk.engine.block.createBlur(id)`.
5473
- * @public
5474
- */
5475
- export declare type BlurTypeShorthand = 'uniform' | 'linear' | 'mirrored' | 'radial';
5555
+ /** @public */
5556
+ export declare type BlurTypeShorthand = (typeof BLUR_TYPES)[number];
5476
5557
 
5477
5558
  /**
5478
5559
  * Represents the names of boolean operations.
@@ -5487,6 +5568,9 @@ export declare type BlurTypeShorthand = 'uniform' | 'linear' | 'mirrored' | 'rad
5487
5568
  */
5488
5569
  export declare type BooleanOperation = 'Difference' | 'Intersection' | 'Union' | 'XOR';
5489
5570
 
5571
+ /** @public */
5572
+ export declare type BoolPropertyName = 'alwaysOnBottom' | 'alwaysOnTop' | 'clipped' | 'flip/horizontal' | 'flip/vertical' | 'highlightEnabled' | 'includedInExport' | 'placeholder/enabled' | 'playback/playing' | 'playback/soloPlaybackEnabled' | 'scene/aspectRatioLock' | 'selected' | 'transformLocked' | 'visible' | 'blur/enabled' | 'dropShadow/clip' | 'dropShadow/enabled' | 'fill/enabled' | 'page/marginEnabled' | 'placeholderControls/showButton' | 'placeholderControls/showOverlay' | 'playback/looping' | 'playback/muted' | 'stroke/enabled' | 'backgroundColor/enabled' | 'placeholderBehavior/enabled' | 'text/automaticFontSizeEnabled' | 'text/clipLinesOutsideOfFrame' | 'text/hasClippedLines' | 'track/automaticallyManageBlockOffsets' | 'caption/automaticFontSizeEnabled' | 'caption/clipLinesOutsideOfFrame' | 'caption/hasClippedLines' | '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 & {});
5573
+
5490
5574
  /**
5491
5575
  * Represents a buffer of data.
5492
5576
  *
@@ -5500,12 +5584,30 @@ export declare interface Buffer {
5500
5584
  buffer: Uint8Array;
5501
5585
  }
5502
5586
 
5587
+ /** @public */
5588
+ export declare type CameraClampingOvershootMode = (typeof CameraClampingOvershootModeValues)[number];
5589
+
5590
+ /** @public */
5591
+ export declare const CameraClampingOvershootModeValues: readonly ["Center", "Reverse"];
5592
+
5503
5593
  /**
5504
5594
  * An HTML Canvas or an Offscreen Canvas
5505
5595
  * @public
5506
5596
  */
5507
5597
  export declare type Canvas = HTMLCanvasElement | OffscreenCanvas_2;
5508
5598
 
5599
+ /** @public */
5600
+ export declare type CaptionHorizontalAlignment = (typeof CaptionHorizontalAlignmentValues)[number];
5601
+
5602
+ /** @public */
5603
+ export declare const CaptionHorizontalAlignmentValues: readonly ["Left", "Right", "Center"];
5604
+
5605
+ /** @public */
5606
+ export declare type CaptionVerticalAlignment = (typeof CaptionVerticalAlignmentValues)[number];
5607
+
5608
+ /** @public */
5609
+ export declare const CaptionVerticalAlignmentValues: readonly ["Top", "Bottom", "Center"];
5610
+
5509
5611
  /**
5510
5612
  * Throws an error if the current browser does not support video exporting.
5511
5613
  * @public
@@ -5569,6 +5671,9 @@ export declare interface CMYKColor {
5569
5671
  */
5570
5672
  export declare type Color = RGBAColor | CMYKColor | SpotColor;
5571
5673
 
5674
+ /** @public */
5675
+ export declare type ColorPropertyName = 'dropShadow/color' | 'fill/solid/color' | 'stroke/color' | 'backgroundColor/color' | 'animation/block_swipe_text/blockColor' | 'effect/duotone_filter/darkColor' | 'effect/duotone_filter/lightColor' | 'effect/green_screen/fromColor' | 'effect/recolor/fromColor' | 'effect/recolor/toColor' | 'fill/color/value' | (string & {});
5676
+
5572
5677
  /**
5573
5678
  * Represents the color space used in the editor.
5574
5679
  *
@@ -5677,19 +5782,11 @@ export declare interface Configuration {
5677
5782
  role?: RoleString;
5678
5783
  }
5679
5784
 
5680
- /**
5681
- * Represents the mode for filling content within a block.
5682
- *
5683
- * The `ContentFillMode` type provides a set of values that control the mode for
5684
- * filling content within a block. These options include settings for cropping,
5685
- * covering, and containing the content.
5686
- *
5687
- * @categoryDescription ContentFillMode
5688
- * Methods for configuring the mode for filling content within a block.
5689
- *
5690
- * @public
5691
- */
5692
- export declare type ContentFillMode = 'Crop' | 'Cover' | 'Contain';
5785
+ /** @public */
5786
+ export declare type ContentFillMode = (typeof ContentFillModeValues)[number];
5787
+
5788
+ /** @public */
5789
+ export declare const ContentFillModeValues: readonly ["Crop", "Cover", "Contain"];
5693
5790
 
5694
5791
  /**
5695
5792
  * Creates a derived reactive property from one or more sources.
@@ -5827,6 +5924,11 @@ export declare function _createTrackedProperty<T, U = any>(getter: () => T, sett
5827
5924
  */
5828
5925
  declare class CreativeEngine {
5829
5926
  #private;
5927
+ /**
5928
+ * The version of the CE.SDK package.
5929
+ * @category Engine Management
5930
+ */
5931
+ static readonly version: string;
5830
5932
  /**
5831
5933
  * Manage and interact with assets in the engine.
5832
5934
  * @category Core APIs
@@ -5945,8 +6047,8 @@ declare class CreativeEngine {
5945
6047
  * - `'ly.img.filter.lut'` - LUT effects of various kinds
5946
6048
  * - `'ly.img.filter.duotone'` - Color effects of various kinds
5947
6049
  *
5948
- * These assets are parsed from the IMG.LY CDN at `\{\{base_url\}\}/<id>/content.json`, where
5949
- * `base_url` defaults to 'https://cdn.img.ly/assets/v4'.
6050
+ * These assets are parsed at `\{\{base_url\}\}/<id>/content.json`, where
6051
+ * `base_url` defaults to the IMG.LY CDN.
5950
6052
  * Each source is created via `addLocalSource` and populated with the parsed assets. To modify the available
5951
6053
  * assets, you may either exclude certain IDs via `excludeAssetSourceIds` or alter the sources after creation.
5952
6054
  *
@@ -5955,7 +6057,7 @@ declare class CreativeEngine {
5955
6057
  * @returns A promise that resolves when all asset sources are loaded.
5956
6058
  */
5957
6059
  addDefaultAssetSources({ baseURL, excludeAssetSourceIds }?: {
5958
- /** The source of the asset definitions, must be absolute. Defaults to `'https://cdn.img.ly/assets/v4'`. */
6060
+ /** The source of the asset definitions, must be absolute. Defaults to IMG.LY CDN. */
5959
6061
  baseURL?: string;
5960
6062
  /** A list of IDs, that will be ignored during load. */
5961
6063
  excludeAssetSourceIds?: DefaultAssetSourceId[];
@@ -5978,7 +6080,7 @@ declare class CreativeEngine {
5978
6080
  * @returns A promise that resolves when all demo asset sources are loaded.
5979
6081
  */
5980
6082
  addDemoAssetSources({ baseURL, excludeAssetSourceIds, sceneMode, withUploadAssetSources }?: {
5981
- /** The source of the demo asset definitions, must be absolute. Defaults to `'https://cdn.img.ly/assets/demo/v2'`. */
6083
+ /** The source of the demo asset definitions, must be absolute. Defaults to IMG.LY CDN. */
5982
6084
  baseURL?: string;
5983
6085
  /** A list of IDs, that will be ignored during load */
5984
6086
  excludeAssetSourceIds?: DemoAssetSourceId[];
@@ -5987,6 +6089,22 @@ declare class CreativeEngine {
5987
6089
  /** If 'true' asset sources for uploads are added (default false) */
5988
6090
  withUploadAssetSources?: boolean;
5989
6091
  }): Promise<void>;
6092
+ /**
6093
+ * Returns the configured base URL for the engine's assets.
6094
+ *
6095
+ * @category Engine Management
6096
+ * @returns The absolute base URL configured for this engine instance.
6097
+ *
6098
+ * @example
6099
+ * ```typescript
6100
+ * const engine = await CreativeEngine.init({
6101
+ * baseURL: 'https://my-cdn.example.com/assets/'
6102
+ * });
6103
+ *
6104
+ * console.log(engine.getBaseURL()); // 'https://my-cdn.example.com/assets/'
6105
+ * ```
6106
+ */
6107
+ getBaseURL(): string;
5990
6108
 
5991
6109
 
5992
6110
  }
@@ -6005,20 +6123,6 @@ export declare interface CursorEvent extends CustomEvent<string> {
6005
6123
  preventDefault(): void;
6006
6124
  }
6007
6125
 
6008
- /**
6009
- * Represents the operation performed on a cutout.
6010
- *
6011
- * @categoryDescription Cutout Operation
6012
- * Defines the possible operations for a cutout.
6013
- * - 'Difference': The difference between two shapes.
6014
- * - 'Intersection': The intersection of two shapes.
6015
- * - 'Union': The union of two shapes.
6016
- * - 'XOR': The exclusive OR of two shapes.
6017
- *
6018
- * @public
6019
- */
6020
- export declare type CutoutOperation = 'Difference' | 'Intersection' | 'Union' | 'XOR';
6021
-
6022
6126
  /**
6023
6127
  * Represents the type of a cutout.
6024
6128
  *
@@ -6029,7 +6133,13 @@ export declare type CutoutOperation = 'Difference' | 'Intersection' | 'Union' |
6029
6133
  *
6030
6134
  * @public
6031
6135
  */
6032
- export declare type CutoutType = 'Solid' | 'Dashed';
6136
+ export declare type CutoutOperation = 'Difference' | 'Intersection' | 'Union' | 'XOR';
6137
+
6138
+ /** @public */
6139
+ export declare type CutoutType = (typeof CutoutTypeValues)[number];
6140
+
6141
+ /** @public */
6142
+ export declare const CutoutTypeValues: readonly ["Solid", "Dashed"];
6033
6143
 
6034
6144
  /**
6035
6145
  * Represents the default asset source IDs used in the editor.
@@ -6075,6 +6185,13 @@ export declare function defaultLogger(message: string, level?: LogLevel): void;
6075
6185
  */
6076
6186
  export declare type DemoAssetSourceId = 'ly.img.template' | 'ly.img.image.upload' | 'ly.img.video.upload' | 'ly.img.audio.upload' | 'ly.img.image' | 'ly.img.video' | 'ly.img.video.template' | 'ly.img.audio' | 'ly.img.textComponents';
6077
6187
 
6188
+ /**
6189
+ * The shorthand block type IDs for the top-level design blocks. These are the IDs used to create new blocks
6190
+ * using `cesdk.engine.block.create(id)`.
6191
+ * @public
6192
+ */
6193
+ export declare const DESIGN_BLOCK_TYPES: readonly ["scene", "stack", "camera", "page", "graphic", "audio", "text", "group", "cutout", "track", "caption", "captionTrack"];
6194
+
6078
6195
  /**
6079
6196
  * A numerical identifier for a design block
6080
6197
  * @public
@@ -6096,18 +6213,17 @@ export declare type DesignBlockType = DesignBlockTypeShorthand | DesignBlockType
6096
6213
  */
6097
6214
  export declare type DesignBlockTypeLonghand = `//ly.img.ubq/${DesignBlockTypeShorthand}`;
6098
6215
 
6099
- /**
6100
- * The shorthand block type IDs for the top-level design blocks. These are the IDs used to create new blocks
6101
- * using `cesdk.engine.block.create(id)`.
6102
- * @public
6103
- */
6104
- export declare type DesignBlockTypeShorthand = 'scene' | 'stack' | 'camera' | 'page' | 'graphic' | 'audio' | 'text' | 'group' | 'cutout' | 'track' | 'caption' | 'captionTrack';
6216
+ /** @public */
6217
+ export declare type DesignBlockTypeShorthand = (typeof DESIGN_BLOCK_TYPES)[number];
6105
6218
 
6106
- /**
6107
- * The unit type in which the page values (size, distances, etc.) are defined.
6108
- * @public
6109
- */
6110
- export declare type DesignUnit = 'Pixel' | 'Millimeter' | 'Inch';
6219
+ /** @public */
6220
+ export declare type DoubleClickSelectionMode = (typeof DoubleClickSelectionModeValues)[number];
6221
+
6222
+ /** @public */
6223
+ export declare const DoubleClickSelectionModeValues: readonly ["Direct", "Hierarchical"];
6224
+
6225
+ /** @public */
6226
+ export declare type DoublePropertyName = 'playback/time' | 'playback/duration' | 'playback/timeOffset' | 'audio/totalDuration' | 'playback/trimLength' | 'playback/trimOffset' | 'fill/video/totalDuration' | (string & {});
6111
6227
 
6112
6228
  /**
6113
6229
  * Information about a single audio track from a video.
@@ -6161,14 +6277,6 @@ export declare type EditMode = 'Transform' | 'Crop' | 'Text' | 'Playback' | 'Tri
6161
6277
  * resource handling, and global scope controls. It serves as the central configuration and control interface
6162
6278
  * for the design editor engine.
6163
6279
  *
6164
- * ## Settings API
6165
- *
6166
- * The recommended way to work with settings is through the unified API:
6167
- * - `setSetting<K>(key: K, value: Settings[K])` - Set any setting value
6168
- * - `getSetting<K>(key: K): Settings[K]` - Get any setting value
6169
- *
6170
- * Legacy methods are available in the `deprecated` namespace for backward compatibility.
6171
- *
6172
6280
  * @categoryDescription Edit Mode Management
6173
6281
  * Control the editor's current editing mode and interaction state.
6174
6282
  *
@@ -6420,7 +6528,7 @@ export declare class EditorAPI {
6420
6528
  onRoleChanged: (callback: (role: RoleString) => void) => (() => void);
6421
6529
  /**
6422
6530
  * Set a setting value using the unified API.
6423
- * The type of the value is automatically inferred from the key.
6531
+ * The value type is automatically validated based on the key.
6424
6532
  *
6425
6533
  * @category Editor Settings
6426
6534
  * @param keypath - The setting key from Settings
@@ -6468,102 +6576,114 @@ export declare class EditorAPI {
6468
6576
  /**
6469
6577
  * Set a boolean setting value.
6470
6578
  *
6471
- * @deprecated Use setSetting() instead.
6472
- *
6473
6579
  * @category Editor Settings
6474
6580
  * @param keypath - The settings keypath, e.g. `doubleClickToCropEnabled`.
6475
6581
  * @param value - The boolean value to set.
6476
6582
  * @throws Error if the keypath is invalid.
6477
6583
  */
6478
- setSettingBool(keypath: OptionalPrefix<SettingsBool>, value: boolean): void;
6584
+ setSettingBool(keypath: SettingsBool, value: boolean): void;
6585
+ /** @deprecated Support for `ubq://` prefixed keypaths will be removed in a future release. */
6586
+ setSettingBool(keypath: `ubq://${SettingsBool}`, value: boolean): void;
6479
6587
  /**
6480
6588
  * Get a boolean setting value.
6481
6589
  *
6482
- * @deprecated Use getSetting() instead.
6483
6590
  * @category Editor Settings
6484
6591
  * @param keypath - The settings keypath, e.g. `doubleClickToCropEnabled`.
6485
6592
  * @returns The boolean value of the setting.
6486
6593
  * @throws Error if the keypath is invalid.
6487
6594
  */
6488
- getSettingBool(keypath: OptionalPrefix<SettingsBool>): boolean;
6595
+ getSettingBool(keypath: SettingsBool): boolean;
6596
+ /** @deprecated Support for `ubq://` prefixed keypaths will be removed in a future release. */
6597
+ getSettingBool(keypath: `ubq://${SettingsBool}`): boolean;
6598
+ getSettingBool(keypath: SettingBoolPropertyName): boolean;
6489
6599
  /**
6490
6600
  * Set an integer setting value.
6491
6601
  *
6492
- * @deprecated Use setSetting() instead.
6493
6602
  * @category Editor Settings
6494
6603
  * @param keypath - The settings keypath.
6495
6604
  * @param value - The integer value to set.
6496
6605
  * @throws Error if the keypath is invalid.
6497
6606
  */
6498
6607
  setSettingInt(keypath: SettingsInt, value: number): void;
6608
+ setSettingInt(keypath: SettingIntPropertyName, value: number): void;
6499
6609
  /**
6500
6610
  * Get an integer setting value.
6501
6611
  *
6502
- * @deprecated Use getSetting() instead.
6503
6612
  * @category Editor Settings
6504
6613
  * @param keypath - The settings keypath.
6505
6614
  * @returns The integer value of the setting.
6506
6615
  * @throws Error if the keypath is invalid.
6507
6616
  */
6508
6617
  getSettingInt(keypath: SettingsInt): number;
6618
+ getSettingInt(keypath: SettingIntPropertyName): number;
6509
6619
  /**
6510
6620
  * Set a float setting value.
6511
6621
  *
6512
- * @deprecated Use setSetting() instead.
6513
6622
  * @category Editor Settings
6514
6623
  * @param keypath - The settings keypath, e.g. `positionSnappingThreshold`.
6515
6624
  * @param value - The float value to set.
6516
6625
  * @throws Error if the keypath is invalid.
6517
6626
  */
6518
- setSettingFloat(keypath: OptionalPrefix<SettingsFloat>, value: number): void;
6627
+ setSettingFloat(keypath: SettingsFloat, value: number): void;
6628
+ /** @deprecated Support for `ubq://` prefixed keypaths will be removed in a future release. */
6629
+ setSettingFloat(keypath: `ubq://${SettingsFloat}`, value: number): void;
6630
+ setSettingFloat(keypath: SettingFloatPropertyName, value: number): void;
6519
6631
  /**
6520
6632
  * Get a float setting value.
6521
6633
  *
6522
- * @deprecated Use getSetting() instead.
6523
6634
  * @category Editor Settings
6524
6635
  * @param keypath - The settings keypath, e.g. `positionSnappingThreshold`.
6525
6636
  * @returns The float value of the setting.
6526
6637
  * @throws Error if the keypath is invalid.
6527
6638
  */
6528
- getSettingFloat(keypath: OptionalPrefix<SettingsFloat>): number;
6639
+ getSettingFloat(keypath: SettingsFloat): number;
6640
+ /** @deprecated Support for `ubq://` prefixed keypaths will be removed in a future release. */
6641
+ getSettingFloat(keypath: `ubq://${SettingsFloat}`): number;
6642
+ getSettingFloat(keypath: SettingFloatPropertyName): number;
6529
6643
  /**
6530
6644
  * Set a string setting value.
6531
6645
  *
6532
- * @deprecated Use setSetting() instead.
6533
6646
  * @category Editor Settings
6534
6647
  * @param keypath - The settings keypath, e.g. `license`.
6535
6648
  * @param value - The string value to set.
6536
6649
  * @throws Error if the keypath is invalid.
6537
6650
  */
6538
- setSettingString(keypath: OptionalPrefix<SettingsString>, value: string): void;
6651
+ setSettingString(keypath: SettingsString, value: string): void;
6652
+ /** @deprecated Support for `ubq://` prefixed keypaths will be removed in a future release. */
6653
+ setSettingString(keypath: `ubq://${SettingsString}`, value: string): void;
6654
+ setSettingString(keypath: SettingStringPropertyName, value: string): void;
6539
6655
  /**
6540
6656
  * Get a string setting value.
6541
6657
  *
6542
- * @deprecated Use getSetting() instead.
6543
6658
  * @category Editor Settings
6544
6659
  * @param keypath - The settings keypath, e.g. `license`.
6545
6660
  * @returns The string value of the setting.
6546
6661
  * @throws Error if the keypath is invalid.
6547
6662
  */
6548
- getSettingString(keypath: OptionalPrefix<SettingsString>): string;
6663
+ getSettingString(keypath: SettingsString): string;
6664
+ /** @deprecated Support for `ubq://` prefixed keypaths will be removed in a future release. */
6665
+ getSettingString(keypath: `ubq://${SettingsString}`): string;
6666
+ getSettingString(keypath: SettingStringPropertyName): string;
6549
6667
  /**
6550
6668
  * Set a color setting.
6551
- *
6552
- * @deprecated Use setSetting() instead.
6553
6669
  * @category Editor Settings
6554
6670
  * @param keypath - The settings keypath, e.g. `highlightColor`.
6555
6671
  * @param value - The The value to set.
6556
6672
  */
6557
- setSettingColor(keypath: OptionalPrefix<SettingsColor>, value: Color): void;
6673
+ setSettingColor(keypath: SettingsColor, value: Color): void;
6674
+ /** @deprecated Support for `ubq://` prefixed keypaths will be removed in a future release. */
6675
+ setSettingColor(keypath: `ubq://${SettingsColor}`, value: Color): void;
6676
+ setSettingColor(keypath: SettingColorPropertyName, value: Color): void;
6558
6677
  /**
6559
6678
  * Get a color setting.
6560
- *
6561
- * @deprecated Use getSetting() instead.
6562
6679
  * @category Editor Settings
6563
6680
  * @param keypath - The settings keypath, e.g. `highlightColor`.
6564
6681
  * @throws An error, if the keypath is invalid.
6565
6682
  */
6566
- getSettingColor(keypath: OptionalPrefix<SettingsColor>): Color;
6683
+ getSettingColor(keypath: SettingsColor): Color;
6684
+ /** @deprecated Support for `ubq://` prefixed keypaths will be removed in a future release. */
6685
+ getSettingColor(keypath: `ubq://${SettingsColor}`): Color;
6686
+ getSettingColor(keypath: SettingColorPropertyName): Color;
6567
6687
  /**
6568
6688
  * Set a color setting.
6569
6689
  * @param keypath - The settings keypath, e.g. `highlightColor`.
@@ -6573,39 +6693,38 @@ export declare class EditorAPI {
6573
6693
  * @param a - The alpha color component in the range of 0 to 1.
6574
6694
  * @deprecated Use setSettingColor() instead.
6575
6695
  */
6576
- setSettingColorRGBA(keypath: OptionalPrefix<SettingsColorRGBA>, r: number, g: number, b: number, a?: number): void;
6696
+ setSettingColorRGBA(keypath: SettingsColorRGBA | `ubq://${SettingsColorRGBA}`, r: number, g: number, b: number, a?: number): void;
6577
6697
  /**
6578
6698
  * Get a color setting.
6579
6699
  * @param keypath - The settings keypath, e.g. `highlightColor`.
6580
6700
  * @returns A tuple of channels red, green, blue and alpha in the range of 0 to 1.
6581
6701
  * @deprecated Use getSettingColor() instead.
6582
6702
  */
6583
- getSettingColorRGBA(keypath: OptionalPrefix<SettingsColorRGBA>): RGBA;
6703
+ getSettingColorRGBA(keypath: SettingsColorRGBA | `ubq://${SettingsColorRGBA}`): RGBA;
6584
6704
  /**
6585
6705
  * Set an enum setting.
6586
- *
6587
- * @deprecated Use setSetting() instead.
6588
6706
  * @category Editor Settings
6589
6707
  * @param keypath - The settings keypath, e.g. `doubleClickSelectionMode`.
6590
6708
  * @param value - The enum value as string.
6591
6709
  */
6592
- setSettingEnum<T extends keyof SettingsEnum>(keypath: T, value: SettingsEnum[T]): void;
6710
+ setSettingEnum<T extends keyof SettingEnumType>(keypath: T, value: SettingEnumType[T]): void;
6711
+ setSettingEnum(keypath: string, value: string): void;
6593
6712
  /**
6594
6713
  * Get an enum setting.
6595
- *
6596
- * @deprecated Use getSetting() instead.
6597
6714
  * @category Editor Settings
6598
6715
  * @param keypath - The settings keypath, e.g. `doubleClickSelectionMode`.
6599
6716
  * @returns The value as string.
6600
6717
  */
6601
- getSettingEnum<T extends keyof SettingsEnum>(keypath: T): SettingsEnum[T];
6718
+ getSettingEnum<T extends keyof SettingEnumType>(keypath: T): SettingEnumType[T];
6719
+ getSettingEnum(keypath: string): string;
6602
6720
  /**
6603
6721
  * Get the possible enum options for a given enum setting.
6604
6722
  * @category Editor Settings
6605
6723
  * @param keypath - The settings keypath, e.g. `doubleClickSelectionMode`.
6606
6724
  * @returns The possible enum options as strings.
6607
6725
  */
6608
- getSettingEnumOptions<T extends keyof SettingsEnum>(keypath: T): string[];
6726
+ getSettingEnumOptions<T extends keyof SettingEnumType>(keypath: T): SettingEnumType[T][];
6727
+ getSettingEnumOptions(keypath: string): string[];
6609
6728
  /**
6610
6729
  * Set the user role and apply role-dependent defaults.
6611
6730
  *
@@ -6627,7 +6746,7 @@ export declare class EditorAPI {
6627
6746
  * @category Editor Settings
6628
6747
  * @returns A list of settings keypaths.
6629
6748
  */
6630
- findAllSettings(): SettingKey[];
6749
+ findAllSettings(): string[];
6631
6750
  /**
6632
6751
  * Returns the type of a setting.
6633
6752
  * @category Editor Settings
@@ -6983,6 +7102,37 @@ export declare class EditorAPI {
6983
7102
  * @param enabled - Whether or not the block should show highlighting when selected or hovered.
6984
7103
  */
6985
7104
  setHighlightingEnabled(id: DesignBlockId, enabled: boolean): void;
7105
+ /**
7106
+ * Set global safe area insets for UI overlays.
7107
+ *
7108
+ * Safe area insets define UI-safe regions by specifying padding from screen edges.
7109
+ * These insets are automatically applied to all camera operations (zoom, pan, clamping)
7110
+ * to ensure important content remains visible when UI elements overlap the viewport edges.
7111
+ * Set to zero to disable (default state).
7112
+ *
7113
+ * @param insets - The inset values in CSS pixels (device-independent)
7114
+ * @public
7115
+ * @category Viewport
7116
+ */
7117
+ setSafeAreaInsets(insets: {
7118
+ left?: number;
7119
+ top?: number;
7120
+ right?: number;
7121
+ bottom?: number;
7122
+ }): void;
7123
+ /**
7124
+ * Get the current global safe area insets configuration.
7125
+ *
7126
+ * @returns The current inset values in CSS pixels (device-independent)
7127
+ * @public
7128
+ * @category Viewport
7129
+ */
7130
+ getSafeAreaInsets(): {
7131
+ left: number;
7132
+ top: number;
7133
+ right: number;
7134
+ bottom: number;
7135
+ };
6986
7136
  /**
6987
7137
  * Checks whether the block can currently be selected.
6988
7138
  *
@@ -7007,6 +7157,13 @@ export declare class EditorAPI {
7007
7157
  setSelectionEnabled(id: DesignBlockId, enabled: boolean): void;
7008
7158
  }
7009
7159
 
7160
+ /**
7161
+ * The shorthand block type IDs for the effect blocks. These are the IDs used to create new effects
7162
+ * using `cesdk.engine.block.createEffect(id)`.
7163
+ * @public
7164
+ */
7165
+ export declare const EFFECT_TYPES: readonly ["adjustments", "cross_cut", "dot_pattern", "duotone_filter", "extrude_blur", "glow", "green_screen", "half_tone", "linocut", "liquid", "lut_filter", "mirror", "outliner", "pixelize", "posterize", "radial_pixel", "recolor", "sharpie", "shifter", "tilt_shift", "tv_glitch", "vignette"];
7166
+
7010
7167
  /**
7011
7168
  * The block type IDs for the effect blocks. These are the IDs used to create new effects
7012
7169
  * using `cesdk.engine.block.createEffect(id)`.
@@ -7022,12 +7179,8 @@ export declare type EffectType = EffectTypeShorthand | EffectTypeLonghand;
7022
7179
  */
7023
7180
  export declare type EffectTypeLonghand = `//ly.img.ubq/effect/${EffectTypeShorthand}`;
7024
7181
 
7025
- /**
7026
- * The shorthand block type IDs for the effect blocks. These are the IDs used to create new effects
7027
- * using `cesdk.engine.block.createEffect(id)`.
7028
- * @public
7029
- */
7030
- export declare type EffectTypeShorthand = 'adjustments' | 'cross_cut' | 'dot_pattern' | 'duotone_filter' | 'extrude_blur' | 'glow' | 'green_screen' | 'half_tone' | 'linocut' | 'liquid' | 'lut_filter' | 'mirror' | 'outliner' | 'pixelize' | 'posterize' | 'radial_pixel' | 'recolor' | 'sharpie' | 'shifter' | 'tilt_shift' | 'tv_glitch' | 'vignette';
7182
+ /** @public */
7183
+ export declare type EffectTypeShorthand = (typeof EFFECT_TYPES)[number];
7031
7184
 
7032
7185
  /**
7033
7186
  * Represents an engine plugin.
@@ -7057,6 +7210,12 @@ export declare type EnginePluginContext = {
7057
7210
  engine: CreativeEngine;
7058
7211
  };
7059
7212
 
7213
+ /** @public */
7214
+ export declare type EnumPropertyName = 'blend/mode' | 'contentFill/mode' | 'height/mode' | 'position/x/mode' | 'position/y/mode' | 'scene/designUnit' | 'scene/layout' | 'scene/mode' | 'width/mode' | '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' | 'fill/pixelStream/orientation' | (string & {});
7215
+
7216
+ /** @public */
7217
+ export declare type EnumValues = BlendMode | ContentFillMode | HeightMode | PositionXMode | PositionYMode | SceneDesignUnit | SceneLayout | SceneMode | WidthMode | StrokeCornerGeometry | StrokePosition | StrokeStyle | TextHorizontalAlignment | TextVerticalAlignment | CutoutType | CaptionHorizontalAlignment | CaptionVerticalAlignment | AnimationEasing | TextAnimationWritingStyle | AnimationGrowDirection | AnimationWipeDirection | AnimationBaselineDirection | AnimationSpinDirection | AnimationSpinLoopDirection | AnimationJumpLoopDirection | AnimationTypewriterTextWritingStyle | AnimationBlockSwipeTextDirection | AnimationMergeTextDirection | AnimationKenBurnsDirection | FillPixelStreamOrientation | (string & {});
7218
+
7060
7219
  /**
7061
7220
  * A function that compares two values for equality
7062
7221
  * @public
@@ -7176,6 +7335,19 @@ export declare type ExportOptions = {
7176
7335
  abortSignal?: AbortSignal;
7177
7336
  };
7178
7337
 
7338
+ /**
7339
+ * The shorthand block type IDs for the fill blocks. These are the IDs used to create new fills
7340
+ * using `cesdk.engine.block.createFill(id)`.
7341
+ * @public
7342
+ */
7343
+ export declare const FILL_TYPES: readonly ["color", "gradient/linear", "gradient/radial", "gradient/conical", "image", "video", "pixelStream"];
7344
+
7345
+ /** @public */
7346
+ export declare type FillPixelStreamOrientation = (typeof FillPixelStreamOrientationValues)[number];
7347
+
7348
+ /** @public */
7349
+ export declare const FillPixelStreamOrientationValues: readonly ["Up", "Down", "Left", "Right", "UpMirrored", "DownMirrored", "LeftMirrored", "RightMirrored"];
7350
+
7179
7351
  /**
7180
7352
  * The block type IDs for the fill blocks. These are the IDs used to create new fills
7181
7353
  * using `cesdk.engine.block.createFill(id)`.
@@ -7191,12 +7363,8 @@ export declare type FillType = FillTypeShorthand | FillTypeLonghand;
7191
7363
  */
7192
7364
  export declare type FillTypeLonghand = `//ly.img.ubq/fill/${FillTypeShorthand}`;
7193
7365
 
7194
- /**
7195
- * The shorthand block type IDs for the fill blocks. These are the IDs used to create new fills
7196
- * using `cesdk.engine.block.createFill(id)`.
7197
- * @public
7198
- */
7199
- export declare type FillTypeShorthand = 'color' | 'gradient/linear' | 'gradient/radial' | 'gradient/conical' | 'image' | 'video' | 'pixelStream';
7366
+ /** @public */
7367
+ export declare type FillTypeShorthand = (typeof FILL_TYPES)[number];
7200
7368
 
7201
7369
  /**
7202
7370
  * Represents a query for finding assets.
@@ -7238,6 +7406,9 @@ export declare interface _Flip {
7238
7406
  vertical: boolean;
7239
7407
  }
7240
7408
 
7409
+ /** @public */
7410
+ 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/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/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/innerDiameter' | 'shape/vector_path/height' | 'shape/vector_path/width' | (string & {});
7411
+
7241
7412
  /**
7242
7413
  * Represents a font.
7243
7414
  *
@@ -7255,10 +7426,10 @@ export declare interface Font {
7255
7426
 
7256
7427
  /**
7257
7428
  * Extended design unit type that includes Point for font size operations.
7258
- * Maintains consistency with DesignUnit's capitalized naming convention.
7429
+ * Maintains consistency with SceneDesignUnit's capitalized naming convention.
7259
7430
  * @public
7260
7431
  */
7261
- export declare type FontSizeUnit = DesignUnit | 'Point';
7432
+ export declare type FontSizeUnit = SceneDesignUnit | 'Point';
7262
7433
 
7263
7434
  /**
7264
7435
  * Represents the style of a font.
@@ -7315,6 +7486,12 @@ b: number,
7315
7486
  a: number
7316
7487
  ];
7317
7488
 
7489
+ /** @public */
7490
+ export declare type HeightMode = (typeof HeightModeValues)[number];
7491
+
7492
+ /** @public */
7493
+ export declare const HeightModeValues: readonly ["Absolute", "Percent", "Auto"];
7494
+
7318
7495
  /**
7319
7496
  * Represents a hexadecimal color value (RGB or RGBA) that starts with a '#'.
7320
7497
  *
@@ -7333,25 +7510,8 @@ export declare type HexColorString = string;
7333
7510
  */
7334
7511
  export declare type HistoryId = number;
7335
7512
 
7336
- /**
7337
- * Represents the horizontal alignment of blocks.
7338
- *
7339
- * The `HorizontalBlockAlignment` type provides a set of values that control the
7340
- * horizontal alignment of blocks. These options include settings for aligning
7341
- * blocks to the left, right, or center.
7342
- *
7343
- * @categoryDescription HorizontalBlockAlignment
7344
- * Methods for configuring the horizontal alignment of blocks.
7345
- *
7346
- * @public
7347
- */
7348
- export declare type HorizontalBlockAlignment = 'Left' | 'Right' | 'Center';
7349
-
7350
- /**
7351
- * The horizontal text alignment options.
7352
- * @public
7353
- */
7354
- export declare type HorizontalTextAlignment = 'Left' | 'Right' | 'Center';
7513
+ /** @public */
7514
+ export declare type HorizontalBlockAlignment = TextHorizontalAlignment;
7355
7515
 
7356
7516
  /**
7357
7517
  * A wrapper around a plain canvas
@@ -7394,6 +7554,9 @@ export declare interface HTMLCreativeEngineCanvasElement extends HTMLElement {
7394
7554
  */
7395
7555
  export declare type ImageMimeType = Extract<MimeType_2, 'image/png' | 'image/jpeg' | 'image/webp' | 'image/x-tga'>;
7396
7556
 
7557
+ /** @public */
7558
+ export declare type IntPropertyName = 'effect/lut_filter/horizontalTileCount' | 'effect/lut_filter/verticalTileCount' | 'effect/mirror/side' | 'effect/pixelize/horizontalPixelSize' | 'effect/pixelize/verticalPixelSize' | 'shape/polygon/sides' | 'shape/star/points' | (string & {});
7559
+
7397
7560
  /**
7398
7561
  * Type guard for {@link CMYKColor}.
7399
7562
  *
@@ -7641,10 +7804,7 @@ declare type OffscreenCanvas_2 = {
7641
7804
  };
7642
7805
  export { OffscreenCanvas_2 as OffscreenCanvas }
7643
7806
 
7644
- /**
7645
- * Type helper for settings keypaths that can optionally include the 'ubq://' prefix.
7646
- * @public
7647
- */
7807
+ /** @public */
7648
7808
  export declare type OptionalPrefix<T extends string> = `ubq://${T}` | T;
7649
7809
 
7650
7810
  /** @public */
@@ -7669,19 +7829,20 @@ export declare interface PageDuration {
7669
7829
  */
7670
7830
  export declare type PaletteColor = HexColorString | RGBColor | RGBAColor | SpotColor;
7671
7831
 
7672
- /**
7673
- * Represents the mode for positioning blocks.
7674
- *
7675
- * The `PositionMode` type provides a set of values that control the mode for
7676
- * positioning blocks. These options include settings for absolute positioning,
7677
- * percentage-based positioning, and automatic positioning.
7678
- *
7679
- * @categoryDescription PositionMode
7680
- * Methods for configuring the mode for positioning blocks.
7681
- *
7682
- * @public
7683
- */
7684
- export declare type PositionMode = 'Absolute' | 'Percent' | 'Auto';
7832
+ /** @public */
7833
+ export declare type PositionMode = PositionXMode | PositionYMode;
7834
+
7835
+ /** @public */
7836
+ export declare type PositionXMode = (typeof PositionXModeValues)[number];
7837
+
7838
+ /** @public */
7839
+ export declare const PositionXModeValues: readonly ["Absolute", "Percent", "Auto"];
7840
+
7841
+ /** @public */
7842
+ export declare type PositionYMode = (typeof PositionYModeValues)[number];
7843
+
7844
+ /** @public */
7845
+ export declare const PositionYModeValues: readonly ["Absolute", "Percent", "Auto"];
7685
7846
 
7686
7847
  /**
7687
7848
  * Represents the various types of properties that can be associated with design blocks.
@@ -8145,7 +8306,7 @@ export declare class SceneAPI {
8145
8306
  * @category Scene Properties
8146
8307
  * @param designUnit - The new design unit of the scene
8147
8308
  */
8148
- setDesignUnit(designUnit: DesignUnit): void;
8309
+ setDesignUnit(designUnit: SceneDesignUnit): void;
8149
8310
  /**
8150
8311
  * Returns the design unit of the current scene.
8151
8312
  *
@@ -8156,7 +8317,7 @@ export declare class SceneAPI {
8156
8317
  * @category Scene Properties
8157
8318
  * @returns The current design unit.
8158
8319
  */
8159
- getDesignUnit(): DesignUnit;
8320
+ getDesignUnit(): SceneDesignUnit;
8160
8321
  /**
8161
8322
  * Get the sorted list of pages in the scene.
8162
8323
  *
@@ -8466,17 +8627,25 @@ export declare class SceneAPI {
8466
8627
  setPlaying(play: boolean): void;
8467
8628
  }
8468
8629
 
8469
- /**
8470
- * The scene layout determines how the layout stack should layout its pages.
8471
- * @public
8472
- */
8473
- export declare type SceneLayout = 'Free' | 'VerticalStack' | 'HorizontalStack' | 'DepthStack';
8630
+ /** @public */
8631
+ declare type SceneDesignUnit = (typeof SceneDesignUnitValues)[number];
8632
+ export { SceneDesignUnit as DesignUnit }
8633
+ export { SceneDesignUnit }
8474
8634
 
8475
- /**
8476
- * The mode of the scene defines how the editor and playback should behave.
8477
- * @public
8478
- */
8479
- export declare type SceneMode = 'Design' | 'Video';
8635
+ /** @public */
8636
+ export declare const SceneDesignUnitValues: readonly ["Pixel", "Millimeter", "Inch"];
8637
+
8638
+ /** @public */
8639
+ export declare type SceneLayout = (typeof SceneLayoutValues)[number];
8640
+
8641
+ /** @public */
8642
+ export declare const SceneLayoutValues: readonly ["Free", "VerticalStack", "HorizontalStack", "DepthStack"];
8643
+
8644
+ /** @public */
8645
+ export declare type SceneMode = (typeof SceneModeValues)[number];
8646
+
8647
+ /** @public */
8648
+ export declare const SceneModeValues: readonly ["Design", "Video"];
8480
8649
 
8481
8650
  /**
8482
8651
  * @public
@@ -8495,6 +8664,32 @@ export declare type SceneMode = 'Design' | 'Video';
8495
8664
  */
8496
8665
  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';
8497
8666
 
8667
+ /** @public */
8668
+ export declare type SettingBoolPropertyName = 'alwaysHighlightPlaceholders' | 'doubleClickToCropEnabled' | 'showBuildVersion' | 'placeholderControls/showButton' | 'placeholderControls/showOverlay' | 'blockAnimations/enabled' | 'renderTextCursorAndSelectionInEngine' | 'touch/dragStartCanSelect' | 'touch/singlePointPanning' | 'mouse/enableZoom' | 'mouse/enableScroll' | 'controlGizmo/showCropHandles' | 'controlGizmo/showMoveHandles' | 'controlGizmo/showResizeHandles' | 'controlGizmo/showScaleHandles' | 'controlGizmo/showRotateHandles' | 'controlGizmo/showCropScaleHandles' | 'page/title/show' | 'page/title/showPageTitleTemplate' | 'page/title/appendPageName' | 'page/title/showOnSinglePage' | 'page/dimOutOfPageAreas' | 'page/allowCropInteraction' | 'page/allowResizeInteraction' | 'page/restrictResizeInteractionToFixedAspectRatio' | 'page/allowRotateInteraction' | 'page/allowMoveInteraction' | 'page/moveChildrenWhenCroppingFill' | 'page/selectWhenNoBlocksSelected' | 'colorMaskingSettings/secondPass' | 'clampThumbnailTextureSizes' | 'useSystemFontFallback' | 'forceSystemEmojis' | (string & {});
8669
+
8670
+ /** @public */
8671
+ export declare type SettingColorPropertyName = 'clearColor' | 'handleFillColor' | 'highlightColor' | 'placeholderHighlightColor' | 'snappingGuideColor' | 'rotationSnappingGuideColor' | 'cropOverlayColor' | 'textVariableHighlightColor' | 'borderOutlineColor' | 'progressColor' | 'errorStateColor' | 'page/title/color' | 'page/marginFillColor' | 'page/marginFrameColor' | 'page/innerBorderColor' | 'page/outerBorderColor' | 'colorMaskingSettings/maskColor' | (string & {});
8672
+
8673
+ /** @public */
8674
+ export declare type SettingEnumPropertyName = 'touch/pinchAction' | 'touch/rotateAction' | 'camera/clamping/overshootMode' | 'doubleClickSelectionMode' | (string & {});
8675
+
8676
+ /** @public */
8677
+ export declare type SettingEnumType = {
8678
+ 'touch/pinchAction': TouchPinchAction;
8679
+ 'touch/rotateAction': TouchRotateAction;
8680
+ 'camera/clamping/overshootMode': CameraClampingOvershootMode;
8681
+ doubleClickSelectionMode: DoubleClickSelectionMode;
8682
+ };
8683
+
8684
+ /** @public */
8685
+ export declare type SettingEnumValues = TouchPinchAction | TouchRotateAction | CameraClampingOvershootMode | DoubleClickSelectionMode | (string & {});
8686
+
8687
+ /** @public */
8688
+ export declare type SettingFloatPropertyName = 'positionSnappingThreshold' | 'rotationSnappingThreshold' | 'controlGizmo/blockScaleDownLimit' | (string & {});
8689
+
8690
+ /** @public */
8691
+ export declare type SettingIntPropertyName = 'maxImageSize' | (string & {});
8692
+
8498
8693
  /**
8499
8694
  * Union type of all valid setting keys.
8500
8695
  * @public
@@ -8685,68 +8880,78 @@ export declare interface Settings {
8685
8880
 
8686
8881
  }
8687
8882
 
8688
- /**
8689
- * Represents the boolean settings available in the editor.
8690
- *
8691
- * @deprecated Use keyof Settings or extract the boolean keys from Settings instead.
8692
- * @public
8693
- */
8694
- export declare type SettingsBool = {
8695
- [K in keyof Settings]: Settings[K] extends boolean ? K : never;
8696
- }[keyof Settings];
8883
+ /** @public */
8884
+ export declare type SettingsBool = SettingBoolPropertyName;
8697
8885
 
8698
8886
  /**
8699
8887
  * Represents the color settings available in the editor.
8700
8888
  *
8701
- * @deprecated Use keyof Settings or extract the color keys from Settings instead.
8889
+ * @categoryDescription Color Settings
8890
+ * Defines the possible color settings in the editor.
8891
+ * - 'borderOutlineColor': The color of the border outline.
8892
+ * - 'clearColor': The clear color.
8893
+ * - 'colorMaskingSettings/maskColor': The color used for masking.
8894
+ * - 'cropOverlayColor': The color of the crop overlay.
8895
+ * - 'errorStateColor': The color indicating an error state.
8896
+ * - 'highlightColor': The highlight color.
8897
+ * - 'page/innerBorderColor': The color of the inner border of the page.
8898
+ * - 'page/marginFillColor': The color of the margin fill.
8899
+ * - 'page/marginFrameColor': The color of the margin frame.
8900
+ * - 'page/outerBorderColor': The color of the outer border of the page.
8901
+ * - 'page/title/color': The color of the page title.
8902
+ * - 'placeholderHighlightColor': The highlight color for placeholders.
8903
+ * - 'progressColor': The color indicating progress.
8904
+ * - 'rotationSnappingGuideColor': The color of the rotation snapping guide.
8905
+ * - 'ruleOfThirdsLineColor': The color of the rule of thirds lines.
8906
+ * - 'snappingGuideColor': The color of the snapping guide.
8907
+ * - 'textVariableHighlightColor': The highlight color for text variables.
8908
+ *
8702
8909
  * @public
8703
8910
  */
8704
- export declare type SettingsColor = {
8705
- [K in keyof Settings]: Settings[K] extends Color ? K : never;
8706
- }[keyof Settings];
8911
+ export declare type SettingsColor = SettingColorPropertyName;
8707
8912
 
8708
8913
  /**
8709
8914
  * Represents the color settings available in the editor.
8710
8915
  *
8916
+ * @categoryDescription Color Settings
8917
+ * Defines the possible color settings in the editor.
8918
+ * - 'borderOutlineColor': The color of the border outline.
8919
+ * - 'clearColor': The clear color.
8920
+ * - 'colorMaskingSettings/maskColor': The color used for masking.
8921
+ * - 'cropOverlayColor': The color of the crop overlay.
8922
+ * - 'errorStateColor': The color indicating an error state.
8923
+ * - 'highlightColor': The highlight color.
8924
+ * - 'page/innerBorderColor': The color of the inner border of the page.
8925
+ * - 'page/marginFillColor': The color of the margin fill.
8926
+ * - 'page/marginFrameColor': The color of the margin frame.
8927
+ * - 'page/outerBorderColor': The color of the outer border of the page.
8928
+ * - 'page/title/color': The color of the page title.
8929
+ * - 'placeholderHighlightColor': The highlight color for placeholders.
8930
+ * - 'progressColor': The color indicating progress.
8931
+ * - 'rotationSnappingGuideColor': The color of the rotation snapping guide.
8932
+ * - 'ruleOfThirdsLineColor': The color of the rule of thirds lines.
8933
+ * - 'snappingGuideColor': The color of the snapping guide.
8934
+ * - 'textVariableHighlightColor': The highlight color for text variables.
8935
+ *
8711
8936
  * @public
8712
8937
  * @deprecated Use SettingsColor instead.
8713
8938
  */
8714
8939
  export declare type SettingsColorRGBA = SettingsColor;
8715
8940
 
8716
- /**
8717
- * Represents the enum settings available in the editor.
8718
- *
8719
- * @deprecated Use keyof Settings or extract the enum keys from Settings instead.
8720
- * @public
8721
- */
8722
- export declare type SettingsEnum = Pick<Settings, 'doubleClickSelectionMode' | 'touch/pinchAction' | 'touch/rotateAction' | 'camera/clamping/overshootMode' | 'dock/iconSize'>;
8941
+ /** @public */
8942
+ export declare type SettingsEnum = SettingEnumType;
8723
8943
 
8724
- /**
8725
- * Represents the float settings available in the editor.
8726
- *
8727
- * @deprecated Use keyof Settings or extract the float keys from Settings instead.
8728
- * @public
8729
- */
8730
- export declare type SettingsFloat = Exclude<{
8731
- [K in keyof Settings]: Settings[K] extends number ? K : never;
8732
- }[keyof Settings], SettingsInt>;
8944
+ /** @public */
8945
+ export declare type SettingsFloat = SettingFloatPropertyName;
8733
8946
 
8734
- /**
8735
- * Represents the integer settings available in the editor.
8736
- *
8737
- * @public
8738
- */
8739
- export declare type SettingsInt = 'maxImageSize';
8947
+ /** @public */
8948
+ export declare type SettingsInt = SettingIntPropertyName;
8740
8949
 
8741
- /**
8742
- * Represents the string settings available in the editor.
8743
- *
8744
- * @deprecated Use keyof Settings or extract the string keys from Settings instead.
8745
- * @public
8746
- */
8747
- export declare type SettingsString = Exclude<{
8748
- [K in keyof Settings]: Settings[K] extends string ? K : never;
8749
- }[keyof Settings], keyof SettingsEnum | 'renderMode'>;
8950
+ /** @public */
8951
+ export declare type SettingsString = SettingStringPropertyName;
8952
+
8953
+ /** @public */
8954
+ export declare type SettingStringPropertyName = 'basePath' | 'defaultEmojiFontFileUri' | 'defaultFontFileUri' | 'upload/supportedMimeTypes' | 'license' | 'page/title/separator' | 'page/title/fontFileUri' | 'fallbackFontUri' | (string & {});
8750
8955
 
8751
8956
  /**
8752
8957
  * Represents the type of a setting.
@@ -8770,6 +8975,13 @@ export declare type SettingType = 'Bool' | 'Int' | 'Float' | 'String' | 'Color'
8770
8975
  */
8771
8976
  export declare type SettingValueType<K extends SettingKey> = Settings[K];
8772
8977
 
8978
+ /**
8979
+ * The shorthand block type IDs for the shape blocks. These are the IDs used to create new shapes
8980
+ * using `cesdk.engine.block.createShape(id)`.
8981
+ * @public
8982
+ */
8983
+ export declare const SHAPE_TYPES: readonly ["rect", "line", "ellipse", "polygon", "star", "vector_path"];
8984
+
8773
8985
  /**
8774
8986
  * The block type IDs for the shape blocks. These are the IDs used to create new shapes
8775
8987
  * using `cesdk.engine.block.createShape(id)`.
@@ -8785,12 +8997,8 @@ export declare type ShapeType = ShapeTypeShorthand | ShapeTypeLonghand;
8785
8997
  */
8786
8998
  export declare type ShapeTypeLonghand = `//ly.img.ubq/shape/${ShapeTypeShorthand}`;
8787
8999
 
8788
- /**
8789
- * The shorthand block type IDs for the shape blocks. These are the IDs used to create new shapes
8790
- * using `cesdk.engine.block.createShape(id)`.
8791
- * @public
8792
- */
8793
- export declare type ShapeTypeShorthand = 'rect' | 'line' | 'ellipse' | 'polygon' | 'star' | 'vector_path';
9000
+ /** @public */
9001
+ export declare type ShapeTypeShorthand = (typeof SHAPE_TYPES)[number];
8794
9002
 
8795
9003
  /** @public */
8796
9004
  export declare interface Size2 {
@@ -8798,19 +9006,8 @@ export declare interface Size2 {
8798
9006
  height: number;
8799
9007
  }
8800
9008
 
8801
- /**
8802
- * Represents the mode for sizing blocks.
8803
- *
8804
- * The `SizeMode` type provides a set of values that control the mode for sizing
8805
- * blocks. These options include settings for absolute sizing, percentage-based
8806
- * sizing, and automatic sizing.
8807
- *
8808
- * @categoryDescription SizeMode
8809
- * Methods for configuring the mode for sizing blocks.
8810
- *
8811
- * @public
8812
- */
8813
- export declare type SizeMode = 'Absolute' | 'Percent' | 'Auto';
9009
+ /** @public */
9010
+ export declare type SizeMode = WidthMode | HeightMode;
8814
9011
 
8815
9012
  /**
8816
9013
  * The order to sort by if the asset source supports sorting.
@@ -8838,6 +9035,9 @@ export declare interface _Source<T> {
8838
9035
  emit: (value: T) => void;
8839
9036
  }
8840
9037
 
9038
+ /** @public */
9039
+ export declare type SourceSetPropertyName = 'fill/image/sourceSet' | (string & {});
9040
+
8841
9041
  /**
8842
9042
  * Options for configuring block split operations.
8843
9043
  * @public
@@ -8876,47 +9076,26 @@ export declare interface SpotColor {
8876
9076
  externalReference: string;
8877
9077
  }
8878
9078
 
8879
- /**
8880
- * Represents the corner geometry of a stroke.
8881
- *
8882
- * @categoryDescription Stroke Corner Geometry
8883
- * Defines the possible corner geometries for a stroke.
8884
- * - 'Bevel': A beveled corner.
8885
- * - 'Miter': A mitered corner.
8886
- * - 'Round': A rounded corner.
8887
- *
8888
- * @public
8889
- */
8890
- export declare type StrokeCornerGeometry = 'Bevel' | 'Miter' | 'Round';
9079
+ /** @public */
9080
+ 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 & {});
8891
9081
 
8892
- /**
8893
- * Represents the position of a stroke relative to the shape's boundary.
8894
- *
8895
- * @categoryDescription Stroke Position
8896
- * Defines the possible positions for a stroke relative to the shape's boundary.
8897
- * - 'Center': The stroke is centered on the shape's boundary.
8898
- * - 'Inner': The stroke is inside the shape's boundary.
8899
- * - 'Outer': The stroke is outside the shape's boundary.
8900
- *
8901
- * @public
8902
- */
8903
- export declare type StrokePosition = 'Center' | 'Inner' | 'Outer';
9082
+ /** @public */
9083
+ export declare type StrokeCornerGeometry = (typeof StrokeCornerGeometryValues)[number];
8904
9084
 
8905
- /**
8906
- * Represents the style of a stroke.
8907
- *
8908
- * @categoryDescription Stroke Style
8909
- * Defines the possible styles for a stroke.
8910
- * - 'Dashed': A dashed line stroke.
8911
- * - 'DashedRound': A dashed line stroke with rounded ends.
8912
- * - 'Dotted': A dotted line stroke.
8913
- * - 'LongDashed': A long dashed line stroke.
8914
- * - 'LongDashedRound': A long dashed line stroke with rounded ends.
8915
- * - 'Solid': A solid line stroke.
8916
- *
8917
- * @public
8918
- */
8919
- export declare type StrokeStyle = 'Dashed' | 'DashedRound' | 'Dotted' | 'LongDashed' | 'LongDashedRound' | 'Solid';
9085
+ /** @public */
9086
+ export declare const StrokeCornerGeometryValues: readonly ["Bevel", "Miter", "Round"];
9087
+
9088
+ /** @public */
9089
+ export declare type StrokePosition = (typeof StrokePositionValues)[number];
9090
+
9091
+ /** @public */
9092
+ export declare const StrokePositionValues: readonly ["Center", "Inner", "Outer"];
9093
+
9094
+ /** @public */
9095
+ export declare type StrokeStyle = (typeof StrokeStyleValues)[number];
9096
+
9097
+ /** @public */
9098
+ export declare const StrokeStyleValues: readonly ["Dashed", "DashedRound", "Dotted", "LongDashed", "LongDashedRound", "Solid"];
8920
9099
 
8921
9100
  /**
8922
9101
  * Represents a subscription to an event.
@@ -8957,6 +9136,12 @@ export declare function supportsVideoExport(): Promise<boolean>;
8957
9136
  */
8958
9137
  export declare function supportsWasm(): boolean;
8959
9138
 
9139
+ /** @public */
9140
+ export declare type TextAnimationWritingStyle = (typeof TextAnimationWritingStyleValues)[number];
9141
+
9142
+ /** @public */
9143
+ export declare const TextAnimationWritingStyleValues: readonly ["Block", "Line", "Character", "Word"];
9144
+
8960
9145
  /**
8961
9146
  * Represents the text case of a text block.
8962
9147
  *
@@ -8984,6 +9169,34 @@ export declare interface TextFontSizeOptions {
8984
9169
  to?: number;
8985
9170
  }
8986
9171
 
9172
+ /** @public */
9173
+ declare type TextHorizontalAlignment = (typeof TextHorizontalAlignmentValues)[number];
9174
+ export { TextHorizontalAlignment as HorizontalTextAlignment }
9175
+ export { TextHorizontalAlignment }
9176
+
9177
+ /** @public */
9178
+ export declare const TextHorizontalAlignmentValues: readonly ["Left", "Right", "Center"];
9179
+
9180
+ /** @public */
9181
+ declare type TextVerticalAlignment = (typeof TextVerticalAlignmentValues)[number];
9182
+ export { TextVerticalAlignment }
9183
+ export { TextVerticalAlignment as VerticalTextAlignment }
9184
+
9185
+ /** @public */
9186
+ export declare const TextVerticalAlignmentValues: readonly ["Top", "Bottom", "Center"];
9187
+
9188
+ /** @public */
9189
+ export declare type TouchPinchAction = (typeof TouchPinchActionValues)[number];
9190
+
9191
+ /** @public */
9192
+ export declare const TouchPinchActionValues: readonly ["None", "Zoom", "Scale"];
9193
+
9194
+ /** @public */
9195
+ export declare type TouchRotateAction = (typeof TouchRotateActionValues)[number];
9196
+
9197
+ /** @public */
9198
+ export declare const TouchRotateActionValues: readonly ["None", "Rotate"];
9199
+
8987
9200
  /**
8988
9201
  * Represents a transient resource.
8989
9202
  *
@@ -9204,25 +9417,8 @@ export declare interface Vec3 {
9204
9417
  z: number;
9205
9418
  }
9206
9419
 
9207
- /**
9208
- * Represents the vertical alignment of blocks.
9209
- *
9210
- * The `VerticalBlockAlignment` type provides a set of values that control the
9211
- * vertical alignment of blocks. These options include settings for aligning
9212
- * blocks to the top, bottom, or center.
9213
- *
9214
- * @categoryDescription VerticalBlockAlignment
9215
- * Methods for configuring the vertical alignment of blocks.
9216
- *
9217
- * @public
9218
- */
9219
- export declare type VerticalBlockAlignment = 'Top' | 'Bottom' | 'Center';
9220
-
9221
- /**
9222
- * The vertical text alignment options.
9223
- * @public
9224
- */
9225
- export declare type VerticalTextAlignment = 'Top' | 'Bottom' | 'Center';
9420
+ /** @public */
9421
+ export declare type VerticalBlockAlignment = TextVerticalAlignment;
9226
9422
 
9227
9423
  /**
9228
9424
  * Represents the options for exporting a video.
@@ -9327,6 +9523,12 @@ export declare type VideoExportOptions = {
9327
9523
  */
9328
9524
  export declare type VideoMimeType = Extract<MimeType_2, 'video/mp4' | 'video/quicktime'>;
9329
9525
 
9526
+ /** @public */
9527
+ export declare type WidthMode = (typeof WidthModeValues)[number];
9528
+
9529
+ /** @public */
9530
+ export declare const WidthModeValues: readonly ["Absolute", "Percent", "Auto"];
9531
+
9330
9532
  /**
9331
9533
  * Describes a rectangle on the screen.
9332
9534
  *