@cesdk/node 1.77.0-nightly.20260527 → 1.77.0-nightly.20260529

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
@@ -3640,6 +3640,25 @@ export declare class BlockAPI {
3640
3640
  * @param locked - Whether aspect ratio should be locked.
3641
3641
  */
3642
3642
  setCropAspectRatioLocked(id: DesignBlockId, locked: boolean): void;
3643
+ /**
3644
+ * Checks whether the "Original" crop preset (`ContentAspectRatio`) can be applied to a block.
3645
+ *
3646
+ * This runs the same preliminary check the apply path performs: it resolves the intrinsic
3647
+ * content dimensions from the block's image/video fill (an image fill resolves only from its
3648
+ * `sourceSet`; a video fill resolves from its `sourceSet` or the first decoded frame). Use it
3649
+ * to gate UI that would otherwise call the preset and fail — e.g. an unreplaced placeholder
3650
+ * image fill with an empty `sourceSet`.
3651
+ *
3652
+ * ```javascript
3653
+ * const canRevert = engine.block.canRevertToOriginalRatio(block);
3654
+ * ```
3655
+ *
3656
+ * @category Block Crop
3657
+ * @param id - The block to query.
3658
+ * @returns True if the preset would resolve, false if it cannot (no/placeholder fill, empty
3659
+ * sourceSet, video not yet decoded, or unsupported fill type).
3660
+ */
3661
+ canRevertToOriginalRatio(id: DesignBlockId): boolean;
3643
3662
  /**
3644
3663
  * Checks if a block has an opacity property.
3645
3664
  *
@@ -5084,6 +5103,22 @@ export declare class BlockAPI {
5084
5103
  * @returns The unique typefaces in the range.
5085
5104
  */
5086
5105
  getTypefaces(id: DesignBlockId, from?: number, to?: number): Typeface[];
5106
+ /**
5107
+ * Gets all text runs within a range of text.
5108
+ *
5109
+ * Each run represents a contiguous span of text with uniform formatting.
5110
+ *
5111
+ * ```javascript
5112
+ * const runs = engine.block.getTextRuns(text);
5113
+ * ```
5114
+ *
5115
+ * @category Block Text
5116
+ * @param id - The text block to query.
5117
+ * @param from - The start index of the UTF-16 range. Defaults to the start of the current selection or text.
5118
+ * @param to - The end index of the UTF-16 range. Defaults to the end of the current selection or text.
5119
+ * @returns The ordered list of text runs covering the requested range.
5120
+ */
5121
+ getTextRuns(id: DesignBlockId, from?: number, to?: number): TextRunInfo[];
5087
5122
  /**
5088
5123
  * Gets the current text cursor or selection range.
5089
5124
  *
@@ -9464,7 +9499,7 @@ export declare const SceneModeValues: readonly ["Design", "Video"];
9464
9499
  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';
9465
9500
 
9466
9501
  /** @public */
9467
- 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/dynamicMoveHandleVisibility' | 'controlGizmo/showResizeHandles' | 'controlGizmo/showScaleHandles' | 'controlGizmo/showRotateHandles' | 'controlGizmo/showCropScaleHandles' | 'page/title/canEdit' | '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/marqueeSelectOnBodyDrag' | 'page/restrictPageSelectionToBorderAndTitle' | 'page/moveChildrenWhenCroppingFill' | 'page/selectWhenNoBlocksSelected' | 'page/highlightWhenCropping' | 'page/highlightDropTarget' | 'page/reparentBlocksToSceneWhenOutOfPage' | 'colorMaskingSettings/secondPass' | 'clampThumbnailTextureSizes' | 'useSystemFontFallback' | 'forceSystemEmojis' | 'features/textEditModeTransformHandlesEnabled' | 'features/videoStreamingEnabled' | 'grid/enabled' | 'grid/snapEnabled' | 'features/enableAutomaticEnumerations' | 'features/transparentClickThroughEnabled' | 'features/fontLineGapEnabled' | (string & {});
9502
+ export declare type SettingBoolPropertyName = 'alwaysHighlightPlaceholders' | 'doubleClickToCropEnabled' | 'showBuildVersion' | 'placeholderControls/showButton' | 'placeholderControls/showOverlay' | 'blockAnimations/enabled' | 'playback/showAllBlocks' | 'renderTextCursorAndSelectionInEngine' | 'touch/dragStartCanSelect' | 'touch/singlePointPanning' | 'mouse/enableZoom' | 'mouse/enableScroll' | 'controlGizmo/showCropHandles' | 'controlGizmo/showMoveHandles' | 'controlGizmo/dynamicMoveHandleVisibility' | 'controlGizmo/showResizeHandles' | 'controlGizmo/showScaleHandles' | 'controlGizmo/showRotateHandles' | 'controlGizmo/showCropScaleHandles' | 'page/title/canEdit' | '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/marqueeSelectOnBodyDrag' | 'page/restrictPageSelectionToBorderAndTitle' | 'page/moveChildrenWhenCroppingFill' | 'page/selectWhenNoBlocksSelected' | 'page/highlightWhenCropping' | 'page/highlightDropTarget' | 'page/reparentBlocksToSceneWhenOutOfPage' | 'colorMaskingSettings/secondPass' | 'clampThumbnailTextureSizes' | 'useSystemFontFallback' | 'forceSystemEmojis' | 'features/textEditModeTransformHandlesEnabled' | 'features/videoStreamingEnabled' | 'grid/enabled' | 'grid/snapEnabled' | 'features/enableAutomaticEnumerations' | 'features/transparentClickThroughEnabled' | 'features/fontLineGapEnabled' | (string & {});
9468
9503
 
9469
9504
  /** @public */
9470
9505
  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' | 'grid/color' | (string & {});
@@ -9584,6 +9619,11 @@ export declare interface Settings {
9584
9619
  'placeholderControls/showOverlay': boolean;
9585
9620
  /** Whether animations should be enabled or not. */
9586
9621
  'blockAnimations/enabled': boolean;
9622
+ /**
9623
+ * When enabled, every block stays visible regardless of the current playback time, instead of being
9624
+ * culled outside its time offset/duration. No effect on export.
9625
+ */
9626
+ 'playback/showAllBlocks': boolean;
9587
9627
  /** Whether the background grid is shown on pages. */
9588
9628
  'grid/enabled': boolean;
9589
9629
  /** Whether elements should snap to grid lines when dragged. */
@@ -10073,6 +10113,38 @@ export { TextHorizontalAlignment }
10073
10113
  /** @public */
10074
10114
  export declare const TextHorizontalAlignmentValues: readonly ["Left", "Right", "Center", "Auto"];
10075
10115
 
10116
+ /**
10117
+ * Represents a single contiguous text run with uniform formatting.
10118
+ *
10119
+ * @public
10120
+ */
10121
+ export declare interface TextRunInfo {
10122
+ /** Start grapheme index (inclusive). */
10123
+ from: number;
10124
+ /** End grapheme index (exclusive). */
10125
+ to: number;
10126
+ /** The text content of this run. */
10127
+ text: string;
10128
+ /** The text color. */
10129
+ color: Color;
10130
+ /** The font weight. */
10131
+ fontWeight: FontWeight;
10132
+ /** The font style. */
10133
+ fontStyle: FontStyle;
10134
+ /** The font size in points. */
10135
+ fontSize: number;
10136
+ /** The text case transformation. */
10137
+ textCase: TextCase;
10138
+ /** The typeface used by this run. */
10139
+ typeface: Typeface;
10140
+ /** The resolved font file URI. */
10141
+ resolvedFontFileUri: string;
10142
+ /** The text decoration configuration of this run. */
10143
+ textDecoration: TextDecorationConfig;
10144
+ /** Additional kerning offset in em units. */
10145
+ kerning: number;
10146
+ }
10147
+
10076
10148
  /** @public */
10077
10149
  declare type TextVerticalAlignment = (typeof TextVerticalAlignmentValues)[number];
10078
10150
  export { TextVerticalAlignment }