@vvfx/sdk 0.1.19-alpha.9 → 0.2.1-alpha.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (102) hide show
  1. package/LICENSE +22 -0
  2. package/dist/index.js +95856 -14
  3. package/dist/index.js.map +1 -0
  4. package/dist/index.mjs +95958 -0
  5. package/dist/index.mjs.map +1 -0
  6. package/dist/src/config.d.ts +855 -0
  7. package/dist/src/exporter/config.d.ts +18 -0
  8. package/dist/src/exporter/const.d.ts +71 -0
  9. package/dist/src/exporter/export-media.d.ts +68 -0
  10. package/dist/src/exporter/exporter.d.ts +22 -0
  11. package/dist/src/exporter/index.d.ts +2 -0
  12. package/dist/src/exporter/types.d.ts +194 -0
  13. package/dist/src/exporter/utils.d.ts +22 -0
  14. package/dist/src/exporter/wav-audio.d.ts +27 -0
  15. package/dist/src/gesture-handler/gizmo/adsorption-gizmo.d.ts +68 -0
  16. package/dist/src/gesture-handler/gizmo/control-gizmo.d.ts +67 -0
  17. package/dist/src/gesture-handler/gizmo/gizmo.d.ts +59 -0
  18. package/dist/src/gesture-handler/gizmo/icon-gizmo.d.ts +44 -0
  19. package/dist/src/gesture-handler/gizmo/index.d.ts +6 -0
  20. package/dist/src/gesture-handler/gizmo/item-create-gizmo.d.ts +43 -0
  21. package/dist/src/gesture-handler/gizmo/loading-gizmo.d.ts +48 -0
  22. package/dist/src/gesture-handler/gizmo/mask-gizmo.d.ts +113 -0
  23. package/dist/src/gesture-handler/gizmo/picture-cut-gizmo.d.ts +94 -0
  24. package/dist/src/gesture-handler/gizmo/picture-expand-gizmo.d.ts +57 -0
  25. package/dist/src/gesture-handler/gizmo/preference-gizmo.d.ts +32 -0
  26. package/dist/src/gesture-handler/gizmo/selector-gizmo.d.ts +101 -0
  27. package/dist/src/gesture-handler/gizmo/sprite-text-edit-gizmo.d.ts +36 -0
  28. package/dist/src/gesture-handler/gizmo/text-gizmo.d.ts +128 -0
  29. package/dist/src/gesture-handler/gizmo/transform-gizmo.d.ts +233 -0
  30. package/dist/src/gesture-handler/gizmo/type.d.ts +402 -0
  31. package/dist/src/gesture-handler/index.d.ts +3 -0
  32. package/dist/src/gesture-handler/src/gesture-handler.d.ts +143 -0
  33. package/dist/src/gesture-handler/src/icons.d.ts +7 -0
  34. package/dist/src/gesture-handler/utils.d.ts +2 -0
  35. package/dist/src/html-overlay/auto-height-runtime.d.ts +13 -0
  36. package/dist/src/html-overlay/document-runtime.d.ts +4 -0
  37. package/dist/src/html-overlay/document-transform.d.ts +7 -0
  38. package/dist/src/html-overlay/dom-order.d.ts +1 -0
  39. package/dist/src/html-overlay/host-message-runtime.d.ts +3 -0
  40. package/dist/src/html-overlay/html-viewport-style.d.ts +1 -0
  41. package/dist/src/html-overlay/index.d.ts +1 -0
  42. package/dist/src/html-overlay/manager.d.ts +77 -0
  43. package/dist/src/html-overlay/mime-utils.d.ts +2 -0
  44. package/dist/src/html-overlay/overlay-transform.d.ts +13 -0
  45. package/dist/src/html-overlay/path-utils.d.ts +8 -0
  46. package/dist/src/html-overlay/shell-runtime.d.ts +6 -0
  47. package/dist/src/index.d.ts +14 -0
  48. package/dist/src/math/box2.d.ts +166 -0
  49. package/dist/src/math/circle.d.ts +82 -0
  50. package/dist/src/math/euler.d.ts +20 -0
  51. package/dist/src/math/index.d.ts +13 -0
  52. package/dist/src/math/line2.d.ts +93 -0
  53. package/dist/src/math/line3.d.ts +17 -0
  54. package/dist/src/math/matrix4.d.ts +28 -0
  55. package/dist/src/math/plane.d.ts +14 -0
  56. package/dist/src/math/quaternion.d.ts +3 -0
  57. package/dist/src/math/ray-caster.d.ts +10 -0
  58. package/dist/src/math/ray.d.ts +18 -0
  59. package/dist/src/math/type.d.ts +32 -0
  60. package/dist/src/math/utils.d.ts +19 -0
  61. package/dist/src/math/vector2.d.ts +30 -0
  62. package/dist/src/math/vector3.d.ts +29 -0
  63. package/dist/src/screen-shot/index.d.ts +1 -0
  64. package/dist/src/screen-shot/screen-shot.d.ts +35 -0
  65. package/dist/src/sdk-item/base-item.d.ts +126 -0
  66. package/dist/src/sdk-item/card-item.d.ts +67 -0
  67. package/dist/src/sdk-item/effects-item.d.ts +70 -0
  68. package/dist/src/sdk-item/frame-item.d.ts +112 -0
  69. package/dist/src/sdk-item/generator-item.d.ts +86 -0
  70. package/dist/src/sdk-item/group-item.d.ts +57 -0
  71. package/dist/src/sdk-item/index.d.ts +36 -0
  72. package/dist/src/sdk-item/sprite-item.d.ts +67 -0
  73. package/dist/src/sdk-item/text-item.d.ts +107 -0
  74. package/dist/src/sdk-item/types.d.ts +153 -0
  75. package/dist/src/sdk-item/video-item.d.ts +87 -0
  76. package/dist/src/sdk.d.ts +589 -0
  77. package/dist/src/service/UndoRedo.d.ts +48 -0
  78. package/dist/src/shared/index.d.ts +1 -0
  79. package/dist/src/shared/player.d.ts +9 -0
  80. package/dist/src/size-adapte/index.d.ts +1 -0
  81. package/dist/src/size-adapte/size-adapt.d.ts +28 -0
  82. package/dist/src/types.d.ts +1298 -0
  83. package/dist/src/utils/background-manager.d.ts +72 -0
  84. package/dist/src/utils/common-utils.d.ts +28 -0
  85. package/dist/src/utils/index.d.ts +8 -0
  86. package/dist/src/utils/interaction-utils.d.ts +60 -0
  87. package/dist/src/utils/json-data-utils.d.ts +165 -0
  88. package/dist/src/utils/layout-utils.d.ts +219 -0
  89. package/dist/src/utils/page-data-utils.d.ts +372 -0
  90. package/dist/src/utils/player-data-utils.d.ts +11 -0
  91. package/dist/src/utils/types.d.ts +114 -0
  92. package/dist/src/wireframe/common/box.d.ts +1 -0
  93. package/dist/src/wireframe/common/dashed-line.d.ts +1 -0
  94. package/dist/src/wireframe/common/line.d.ts +1 -0
  95. package/dist/src/wireframe/common/pixi-ext.d.ts +11 -0
  96. package/dist/src/wireframe/common/pixi.d.ts +18 -0
  97. package/dist/src/wireframe/index.d.ts +4 -0
  98. package/package.json +42 -22
  99. package/dist/index.cjs +0 -14
  100. package/dist/index.d.cts +0 -3555
  101. package/dist/index.d.ts +0 -3555
  102. package/dist/index.global.js +0 -333
@@ -0,0 +1,93 @@
1
+ import { Vector2 } from './vector2';
2
+ /**
3
+ * @class 二维线段
4
+ */
5
+ export declare class Line2 {
6
+ start: Vector2;
7
+ end: Vector2;
8
+ constructor(start?: Vector2, end?: Vector2);
9
+ /**
10
+ * 设置二维线段
11
+ * @param {Vector2} start 线段起点
12
+ * @param {Vector2} end 线段终点
13
+ * @returns {Line2} 二维线段
14
+ */
15
+ set(start: Vector2, end: Vector2): this;
16
+ /**
17
+ * 复制二维线段
18
+ * @param {Line2} line 复制对象
19
+ * @returns {Line2} 复制结果
20
+ */
21
+ copyFrom(line: Line2): this;
22
+ /**
23
+ * 二维线段求方向
24
+ * @returns {Vector2} 二维线段方向
25
+ */
26
+ direction(): Vector2;
27
+ /**
28
+ * 二维线段求中点
29
+ * @param {Vector2} [target=new Vector2()] 目标保存对象
30
+ * @returns {Vector2} 二维线段中点
31
+ */
32
+ getCenter(target?: Vector2): Vector2;
33
+ /**
34
+ * 二维线段向量值
35
+ * @param {Vector2} [target=new Vector2()] 目标保存对象
36
+ * @returns {Vector2} 二维线段向量值
37
+ */
38
+ delta(target?: Vector2): Vector2;
39
+ /**
40
+ * 二维线段欧式距离平方(应用于计算)
41
+ * @returns {number} 计算结果
42
+ */
43
+ distanceSq(): number;
44
+ /**
45
+ * 二维线段欧式距离
46
+ * @returns {number} 计算结果
47
+ */
48
+ distance(): number;
49
+ /**
50
+ * 求二维线段比例点
51
+ * @param {number} t 比例值
52
+ * @param {Vector2} target 目标保存对象
53
+ * @returns {Vector2} 比例点结果
54
+ */
55
+ at(t: number, target?: Vector2): Vector2;
56
+ /**
57
+ * 求点与线段的最短距离
58
+ * @param {Vector2} point 二维空间点
59
+ * @param {boolean} clampToLine 是否限制于线段内
60
+ * @returns {number} 距离结果
61
+ */
62
+ closestPointToPointParameter(point: Vector2, clampToLine: boolean): number;
63
+ /**
64
+ * 求点与线段的最近交点
65
+ * @param {Vector2} point 二维空间点
66
+ * @param {boolean} clampToLine 是否限制于线段内
67
+ * @param {Vector2} target 目标保存对象
68
+ * @returns {Vector2} 最近交点
69
+ */
70
+ closestPointToPoint(point: Vector2, clampToLine: boolean, target?: Vector2): Vector2;
71
+ /**
72
+ * 二维线段判等
73
+ * @param {Line2} line 二维线段
74
+ * @returns {boolean} 判等结果
75
+ */
76
+ equals(line: Line2): boolean;
77
+ /**
78
+ * 克隆二维线段
79
+ * @returns {Line2} 克隆结果
80
+ */
81
+ clone(): Line2;
82
+ /**
83
+ * 二维线段求长度
84
+ * @returns {number} 长度
85
+ */
86
+ length(): number;
87
+ /**
88
+ * 二维线段判断相交
89
+ * @param {Line2} other 二维线段
90
+ * @returns {boolean} 相交判断结果
91
+ */
92
+ crossWithLine(other: Line2): boolean;
93
+ }
@@ -0,0 +1,17 @@
1
+ import { Vector3 } from './vector3';
2
+ /**
3
+ * @class 三维线段
4
+ */
5
+ export declare class Line3 {
6
+ start: Vector3;
7
+ end: Vector3;
8
+ /**
9
+ * 构造函数
10
+ * @param {Vector3} [start=new Vector3()] 线段起点,默认值为(0, 0, 0)
11
+ * @param {Vector3} [end=new Vector3()] 线段终点,默认值为(0, 0, 0)
12
+ */
13
+ constructor(start?: Vector3, end?: Vector3);
14
+ closestPointToPointParameter(point: Vector3, clampToLine?: boolean): number;
15
+ closestPointToPoint(point: Vector3, clampToLine?: boolean): Vector3;
16
+ delta(): Vector3;
17
+ }
@@ -0,0 +1,28 @@
1
+ import { math } from '../shared';
2
+ import type { Euler } from './euler';
3
+ import type { Quaternion } from './quaternion';
4
+ import { Vector3 } from './vector3';
5
+ export declare class Matrix4 extends math.Matrix4 {
6
+ /**
7
+ * 通过数组创建矩阵
8
+ * @param array - 数组
9
+ * @param [offset=0] - 起始偏移值
10
+ * @returns 矩阵
11
+ */
12
+ static fromArray(array: math.Matrix4DataType, offset?: number): Matrix4;
13
+ clone(): Matrix4;
14
+ compose(translation: Vector3, rotation: Quaternion, scale: Vector3, anchor?: math.Vector3): this;
15
+ /**
16
+ * 导出四维矩阵[三维空间变换矩阵]旋转部分
17
+ * @param {Matrix4} m 四维矩阵
18
+ * @returns {Matrix4} 导出结果
19
+ */
20
+ extractRotation(m: Matrix4): this;
21
+ /**
22
+ * 由欧拉角设置四维矩阵
23
+ * @param {Euler} euler 欧拉角
24
+ * @returns {Matrix4} 四维矩阵
25
+ */
26
+ makeRotationFromEuler(euler: Euler): this;
27
+ setPosition(position: Vector3): this;
28
+ }
@@ -0,0 +1,14 @@
1
+ import { Vector3 } from './vector3';
2
+ export declare class Plane {
3
+ distance: number;
4
+ normal: Vector3;
5
+ constructor(distance?: number, normal?: Vector3);
6
+ static set(distance: number, normal: Vector3): Plane;
7
+ set(distance: number, normal: Vector3): this;
8
+ static copy(target: Plane): Plane;
9
+ copy(target: Plane): this;
10
+ static setFromNormalAndCoplanarPoint(point: Vector3, normal: Vector3): Plane;
11
+ setFromNormalAndCoplanarPoint(point: Vector3, normal: Vector3): this;
12
+ clone(): Plane;
13
+ distanceToPoint(point: Vector3): number;
14
+ }
@@ -0,0 +1,3 @@
1
+ import { math } from '../shared';
2
+ export declare class Quaternion extends math.Quaternion {
3
+ }
@@ -0,0 +1,10 @@
1
+ import type { Plane } from './plane';
2
+ import { Ray } from './ray';
3
+ import type { RayCasterCamera, RayCastResult } from './type';
4
+ import type { Vector2 } from './vector2';
5
+ export declare class RayCaster {
6
+ ray: Ray;
7
+ constructor(ray?: Ray);
8
+ setFromCamera(coords: Vector2, camera: RayCasterCamera): this;
9
+ rayCastPlane(plane: Plane): RayCastResult | undefined;
10
+ }
@@ -0,0 +1,18 @@
1
+ import { math } from '../shared';
2
+ import type { Plane } from './plane';
3
+ import { Vector3 } from './vector3';
4
+ export declare class Ray extends math.Ray {
5
+ origin: Vector3;
6
+ direction: Vector3;
7
+ constructor(origin?: Vector3, direction?: Vector3);
8
+ clone(): Ray;
9
+ rayCastPlane(plane: Plane, _target: Vector3): number;
10
+ at(t: number): Vector3;
11
+ /**
12
+ * 射线到平面的距离
13
+ * 当两个向量都是单位向量的时候,从a投影到b的距离等于从b投影到a的距离
14
+ * @param plane 平面
15
+ * @returns 射线到平面的距离
16
+ */
17
+ distanceToPlane(plane: Plane): number;
18
+ }
@@ -0,0 +1,32 @@
1
+ import type { Matrix4 } from './matrix4';
2
+ import type { Vector3 } from './vector3';
3
+ /**
4
+ * 射线碰撞相机参数
5
+ */
6
+ export type RayCasterCamera = {
7
+ /**
8
+ * 位置
9
+ */
10
+ position: Vector3;
11
+ /**
12
+ * 视图投影逆矩阵
13
+ */
14
+ inverseViewProjectMatrix: Matrix4;
15
+ };
16
+ /**
17
+ * 射线碰撞结果
18
+ */
19
+ export type RayCastResult = {
20
+ /**
21
+ * 相交点
22
+ */
23
+ point: Vector3;
24
+ /**
25
+ * 相交距离
26
+ */
27
+ distance: number;
28
+ /**
29
+ * 相交构件ID
30
+ */
31
+ id?: string;
32
+ };
@@ -0,0 +1,19 @@
1
+ import { Box2 } from './box2';
2
+ import { Vector2 } from './vector2';
3
+ export declare function clamp(value: number, min: number, max: number): number;
4
+ /**
5
+ * @description 角度转弧度系数
6
+ */
7
+ export declare const DEG2RAD: number;
8
+ /**
9
+ * @description 弧度转角度系数
10
+ */
11
+ export declare const RAD2DEG: number;
12
+ export declare function getVector2Angle(vector: Vector2): number;
13
+ export declare function getAngleByVectors(vector1: Vector2, vector2: Vector2): number;
14
+ export declare function roundNumber(number: number, precision: number, method?: (x: number) => number): number;
15
+ export declare function getAbsMaxIndex(numbers: number[]): number;
16
+ export declare function isEqual(a: number, b: number): boolean;
17
+ export declare function isZero(v: number): boolean;
18
+ export declare function getBoxByNormalizeBox(origin: Box2, normalize: Box2): Box2;
19
+ export declare function getNormalizeBoxByBoxes(origin: Box2, current: Box2): Box2;
@@ -0,0 +1,30 @@
1
+ import { math } from '../shared';
2
+ import { Line2 } from './line2';
3
+ export declare class Vector2 extends math.Vector2 {
4
+ subtract(other: Vector2): this;
5
+ toViewCoordinate(width: number, height: number): this;
6
+ clone(): Vector2;
7
+ distanceTo(other: Vector2): number;
8
+ scaleByCenter(scalar: Vector2, anchor?: Vector2): this;
9
+ round(precision?: number): this;
10
+ /**
11
+ * 点到直线的最短距离
12
+ * @returns {{d: number, t: number}} d表示距离,t表示最近点在直线的比例
13
+ */
14
+ distanceToLine(line: Line2): {
15
+ d: number;
16
+ t: number;
17
+ };
18
+ /**
19
+ * 二维向量与x轴夹角
20
+ * @returns {number} 弧度值
21
+ */
22
+ angle(): number;
23
+ /**
24
+ * 二维点绕点旋转
25
+ * @param {Vec2} center 旋转中心
26
+ * @param {number} angle 旋转角度
27
+ * @returns {Vec2} 旋转结果
28
+ */
29
+ rotateAround(center: Vector2, angle: number): this;
30
+ }
@@ -0,0 +1,29 @@
1
+ import { math } from '../shared';
2
+ import type { Euler } from './euler';
3
+ import type { Matrix4 } from './matrix4';
4
+ import { Quaternion } from './quaternion';
5
+ export declare class Vector3 extends math.Vector3 {
6
+ clone(): Vector3;
7
+ /**
8
+ * 由空间变换矩阵保存三维分量
9
+ * @param {Matrix4} m 四维矩阵
10
+ * @param {number} index 下标
11
+ * @returns {Vec3} 指定三维分量
12
+ */
13
+ setFromMatrixColumn(m: Matrix4, index: number): this;
14
+ applyEuler(euler: Euler, _out?: Vector3): this;
15
+ /**
16
+ * 三维点根据四元数绕点的旋转
17
+ * @param {Quaternion} q 四元数
18
+ * @param {Vec3} [center=new Vec3()] 旋转中心
19
+ * @returns {Vec3} 旋转结果
20
+ */
21
+ applyQuaternion(q: Quaternion, center?: Vector3): this;
22
+ /**
23
+ * 由空间变换矩阵保存三维偏移值
24
+ * @param {Matrix4} m 四维矩阵
25
+ * @returns {Vec3} 偏移值
26
+ */
27
+ setFromMatrixPosition(m: Matrix4): this;
28
+ applyMatrix(matrix: Matrix4, center?: Vector3): this;
29
+ }
@@ -0,0 +1 @@
1
+ export * from './screen-shot';
@@ -0,0 +1,35 @@
1
+ import { spec } from '../shared';
2
+ /**
3
+ * @description 截图工具
4
+ */
5
+ export declare class ScreenShot {
6
+ /**
7
+ * @description 功能开关
8
+ */
9
+ enabled: boolean;
10
+ /**
11
+ * @description 截图播放器
12
+ */
13
+ private _player;
14
+ /**
15
+ * @description 截图播放器容器
16
+ */
17
+ private _container;
18
+ constructor();
19
+ /**
20
+ * @description 生成截图
21
+ * @param scene 场景数据
22
+ * @param resultSize 截图大小
23
+ * @param tick 截图时刻
24
+ * @param screenArea 截图范围【可选】 - [左上角x坐标, 左上角y坐标, 截图宽度, 截图高度]
25
+ * @returns 截图base64数据
26
+ */
27
+ generate(scene: spec.JSONScene | string, containerSize: spec.vec2, resultSize: spec.vec2, tick: number, background?: spec.vec4): Promise<string | undefined>;
28
+ dispose(): void;
29
+ drawImageCover(ctx: CanvasRenderingContext2D, img: HTMLImageElement | HTMLCanvasElement | HTMLVideoElement, x: number, y: number, w: number, h: number, offsetX?: number, offsetY?: number, sourceRect?: {
30
+ left: number;
31
+ top: number;
32
+ width: number;
33
+ height: number;
34
+ }): void;
35
+ }
@@ -0,0 +1,126 @@
1
+ import type { BaseItemProperty, ItemCreateInfo } from '../types';
2
+ import { spec } from '../shared';
3
+ import type { SDKItemOptions, SDKItemType } from './types';
4
+ /**
5
+ * @description SDKItem 抽象基类
6
+ * @description 支持属性扩展,允许添加任意自定义属性
7
+ */
8
+ export declare abstract class BaseItem {
9
+ /**
10
+ * @description 元素ID
11
+ */
12
+ id: string;
13
+ /**
14
+ * @description 元素名称
15
+ */
16
+ name: string;
17
+ /**
18
+ * @description 父节点ID
19
+ */
20
+ parentId?: string;
21
+ /**
22
+ * @description 元素生命周期
23
+ */
24
+ duration: number;
25
+ /**
26
+ * @description 元素生命周期延时
27
+ */
28
+ delay: number;
29
+ /**
30
+ * @description 元素结束行为
31
+ */
32
+ endBehavior: spec.EndBehavior;
33
+ /**
34
+ * @description 是否可见
35
+ */
36
+ visible: boolean;
37
+ /**
38
+ * @description 是否处于锁定状态
39
+ */
40
+ isLocked: boolean;
41
+ /**
42
+ * @description 核心数据是否支持编辑
43
+ */
44
+ isCoreEditable: boolean;
45
+ /**
46
+ * @description 扩展属性存储(与 property 同级)
47
+ */
48
+ extension: Map<string, any>;
49
+ /**
50
+ * @description 元素类型(由子类实现)
51
+ * @description 支持 spec.ItemType 或扩展的 SDKItemType
52
+ */
53
+ abstract readonly type: SDKItemType;
54
+ /**
55
+ * @description 元素属性(由子类实现)
56
+ */
57
+ abstract readonly property: BaseItemProperty;
58
+ constructor(options: SDKItemOptions);
59
+ get pixelWidth(): number;
60
+ get pixelHeight(): number;
61
+ /**
62
+ * @description 设置扩展属性
63
+ * @param key 属性名
64
+ * @param value 属性值
65
+ */
66
+ setExtension(key: string, value: any): void;
67
+ /**
68
+ * @description 获取扩展属性
69
+ * @param key 属性名
70
+ * @returns 属性值
71
+ */
72
+ getExtension(key: string): any;
73
+ /**
74
+ * @description 检查是否存在指定扩展属性
75
+ * @param key 属性名
76
+ * @returns 是否存在
77
+ */
78
+ hasExtension(key: string): boolean;
79
+ /**
80
+ * @description 删除扩展属性
81
+ * @param key 属性名
82
+ * @returns 是否删除成功
83
+ */
84
+ deleteExtension(key: string): boolean;
85
+ /**
86
+ * @description 获取所有扩展属性的键名列表
87
+ * @returns 键名数组
88
+ */
89
+ getExtensionKeys(): string[];
90
+ /**
91
+ * @description 获取所有扩展属性
92
+ * @returns 扩展属性对象
93
+ */
94
+ getAllExtension(): Record<string, any>;
95
+ /**
96
+ * @description 批量设置扩展属性
97
+ * @param extensions 扩展属性对象
98
+ */
99
+ setExtensions(extensions: Record<string, any>): void;
100
+ /**
101
+ * @description 清空所有扩展属性
102
+ */
103
+ clearExtension(): void;
104
+ /**
105
+ * @description 转换为 CreateInfo(用于元素复制/导出)
106
+ * @param withParent 是否包含父节点ID
107
+ * @returns CreateInfo 对象
108
+ */
109
+ abstract toCreateInfo(withParent?: boolean): ItemCreateInfo;
110
+ /**
111
+ * @description 克隆 SDKItem
112
+ * @returns 新的 SDKItem 实例
113
+ */
114
+ abstract clone(): BaseItem;
115
+ /**
116
+ * @description 获取基础属性的 JSON 对象,转换为普通对象(用于序列化)
117
+ * @returns 普通对象
118
+ */
119
+ toJSON(): Record<string, any>;
120
+ }
121
+ /**
122
+ * @description 类型守卫函数:检查对象是否是 BaseItem
123
+ * @param obj 要检查的对象
124
+ * @returns 是否是 BaseItem 实例
125
+ */
126
+ export declare function isBaseItem(obj: any): obj is BaseItem;
@@ -0,0 +1,67 @@
1
+ import type { CardItemProperty, CardCreateInfo, CardHTML } from '../types';
2
+ import { SDKItemType, type CardItemOptions } from './types';
3
+ import { BaseItem } from './base-item';
4
+ /**
5
+ * @description 卡片元素 SDKItem 类
6
+ * @description 在 Player 中以 SpriteItem 形式渲染(透明占位,无图)
7
+ * @description 支持设置卡片类型(cardType)
8
+ */
9
+ export declare class CardItem extends BaseItem {
10
+ /**
11
+ * @description 元素类型
12
+ */
13
+ readonly type = SDKItemType.CARD;
14
+ /**
15
+ * @description 元素属性(包含 cardType)
16
+ */
17
+ property: CardItemProperty;
18
+ constructor(options: CardItemOptions);
19
+ /**
20
+ * @description 卡片类型
21
+ */
22
+ get cardType(): string;
23
+ set cardType(value: string);
24
+ /**
25
+ * @description HTML 覆盖层配置
26
+ */
27
+ get html(): CardHTML | undefined;
28
+ set html(value: CardHTML | undefined);
29
+ /**
30
+ * @description 位置
31
+ */
32
+ get position(): [number, number];
33
+ set position(value: [number, number]);
34
+ /**
35
+ * @description 宽度
36
+ */
37
+ get width(): number;
38
+ set width(value: number);
39
+ /**
40
+ * @description 高度
41
+ */
42
+ get height(): number;
43
+ set height(value: number);
44
+ /**
45
+ * @description 旋转(二维旋转角度)
46
+ */
47
+ get rotation(): number;
48
+ set rotation(value: number);
49
+ /**
50
+ * @description 完整旋转(包含 x, y, z)
51
+ */
52
+ get fullRotation(): [number, number, number];
53
+ set fullRotation(value: [number, number, number]);
54
+ /**
55
+ * @description 转换为 CardCreateInfo
56
+ * @param withParent 是否包含父节点ID
57
+ */
58
+ toCreateInfo(withParent?: boolean): CardCreateInfo;
59
+ /**
60
+ * @description 克隆 SDKItem
61
+ */
62
+ clone(): CardItem;
63
+ }
64
+ /**
65
+ * @description 类型守卫:检查是否是 CardItem
66
+ */
67
+ export declare function isCardItem(obj: any): obj is CardItem;
@@ -0,0 +1,70 @@
1
+ import type { EffectsCreateInfo, EffectsItemProperty } from '../types';
2
+ import { SDKItemType, EffectsItemOptions } from './types';
3
+ import { BaseItem } from './base-item';
4
+ /**
5
+ * @description 特效产物 元素 SDKItem 类
6
+ */
7
+ export declare class EffectsItem extends BaseItem {
8
+ /**
9
+ * @description 元素类型(独立类型,不属于 spec.ItemType)
10
+ */
11
+ readonly type = SDKItemType.EFFECTS;
12
+ /**
13
+ * @description 预合成元素ID
14
+ */
15
+ subCompositionItemId: string;
16
+ /**
17
+ * @description 元素属性
18
+ */
19
+ property: EffectsItemProperty;
20
+ constructor(options: EffectsItemOptions);
21
+ /**
22
+ * @description 特效资源地址
23
+ */
24
+ get effects(): string;
25
+ set effects(value: string);
26
+ /**
27
+ * @description 位置
28
+ */
29
+ get position(): [number, number];
30
+ set position(value: [number, number]);
31
+ /**
32
+ * @description 宽度
33
+ */
34
+ get width(): number;
35
+ set width(value: number);
36
+ /**
37
+ * @description 高度
38
+ */
39
+ get height(): number;
40
+ set height(value: number);
41
+ /**
42
+ * @description 旋转(二维旋转角度)
43
+ */
44
+ get rotation(): number;
45
+ set rotation(value: number);
46
+ /**
47
+ * @description 完整旋转(包含 x, y, z)
48
+ */
49
+ get fullRotation(): [number, number, number];
50
+ set fullRotation(value: [number, number, number]);
51
+ /**
52
+ * @description 是否正在编辑关键属性
53
+ * @deprecated 该属性即将废弃,使用 isCoreEditable 代替
54
+ */
55
+ get keyPropertyEditing(): boolean;
56
+ set keyPropertyEditing(value: boolean);
57
+ /**
58
+ * @description 转换为 EffectsCreateInfo
59
+ * @param withParent 是否包含父节点ID
60
+ */
61
+ toCreateInfo(withParent?: boolean): EffectsCreateInfo;
62
+ /**
63
+ * @description 克隆 SDKItem
64
+ */
65
+ clone(): EffectsItem;
66
+ }
67
+ /**
68
+ * @description 类型守卫:检查是否是 EffectsItem
69
+ */
70
+ export declare function isEffectsItem(obj: any): obj is EffectsItem;