@vvfx/artis 0.0.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.
- package/LICENSE +22 -0
- package/dist/artis/artis.d.ts +44 -0
- package/dist/artis/base-artis.d.ts +520 -0
- package/dist/artis/canvas-layer-order.d.ts +19 -0
- package/dist/artis/create-info-to-schema.d.ts +21 -0
- package/dist/artis/index.d.ts +15 -0
- package/dist/artis/operations/index.d.ts +3 -0
- package/dist/artis/operations/operations.d.ts +362 -0
- package/dist/artis/operations/scene-operations.d.ts +26 -0
- package/dist/artis/operations/types.d.ts +39 -0
- package/dist/artis/scene-artis.d.ts +386 -0
- package/dist/artis/screenshot-service.d.ts +83 -0
- package/dist/artis/types.d.ts +130 -0
- package/dist/artis/wiring/index.d.ts +17 -0
- package/dist/artis/wiring/register-commands.d.ts +44 -0
- package/dist/artis/wiring/setup-commands.d.ts +5 -0
- package/dist/artis/wiring/setup-event-bindings.d.ts +16 -0
- package/dist/artis/wiring/setup-keybindings.d.ts +38 -0
- package/dist/artis/wiring/setup-plugins.d.ts +5 -0
- package/dist/artis/wiring/wiring-context.d.ts +34 -0
- package/dist/artis-sdk/artis-sdk.d.ts +1117 -0
- package/dist/artis-sdk/index.d.ts +1 -0
- package/dist/core/asset/asset-manager.d.ts +288 -0
- package/dist/core/asset/index.d.ts +3 -0
- package/dist/core/command/command-service.d.ts +315 -0
- package/dist/core/command/commands/composite-command.d.ts +45 -0
- package/dist/core/command/commands/frame-layout-command.d.ts +81 -0
- package/dist/core/command/commands/frame-layout-mode-command.d.ts +55 -0
- package/dist/core/command/commands/frame-move-in-command.d.ts +54 -0
- package/dist/core/command/commands/frame-move-out-command.d.ts +54 -0
- package/dist/core/command/commands/group-children-detach-command.d.ts +28 -0
- package/dist/core/command/commands/index.d.ts +98 -0
- package/dist/core/command/commands/item-align-command.d.ts +52 -0
- package/dist/core/command/commands/item-create-command.d.ts +66 -0
- package/dist/core/command/commands/item-delete-command.d.ts +40 -0
- package/dist/core/command/commands/item-distribute-command.d.ts +53 -0
- package/dist/core/command/commands/item-group-command.d.ts +41 -0
- package/dist/core/command/commands/item-reorder-command.d.ts +41 -0
- package/dist/core/command/commands/item-replace-source-command.d.ts +48 -0
- package/dist/core/command/commands/item-set-font-family-command.d.ts +46 -0
- package/dist/core/command/commands/item-set-generator-resource-command.d.ts +40 -0
- package/dist/core/command/commands/item-transform-command.d.ts +51 -0
- package/dist/core/command/commands/item-ungroup-command.d.ts +34 -0
- package/dist/core/command/commands/item-update-property-by-create-info-command.d.ts +41 -0
- package/dist/core/command/commands/item-update-property-command.d.ts +82 -0
- package/dist/core/command/commands/mask-commit-command.d.ts +53 -0
- package/dist/core/command/commands/page-auto-layout-command.d.ts +53 -0
- package/dist/core/command/commands/picture-cut-commit-command.d.ts +43 -0
- package/dist/core/command/commands/picture-expand-commit-command.d.ts +35 -0
- package/dist/core/command/commands/scene-switch-command.d.ts +35 -0
- package/dist/core/command/commands/selection-set-command.d.ts +38 -0
- package/dist/core/command/commands/sprite-image-command.d.ts +36 -0
- package/dist/core/command/commands/sprite-text-edit-commit-command.d.ts +43 -0
- package/dist/core/command/commands/state-hand-command.d.ts +14 -0
- package/dist/core/command/commands/state-image-cut-command.d.ts +14 -0
- package/dist/core/command/commands/state-image-expand-command.d.ts +14 -0
- package/dist/core/command/commands/state-image-mask-command.d.ts +15 -0
- package/dist/core/command/commands/state-image-text-edit-command.d.ts +14 -0
- package/dist/core/command/commands/state-item-create-command.d.ts +34 -0
- package/dist/core/command/commands/state-move-command.d.ts +14 -0
- package/dist/core/command/commands/state-switch-command-base.d.ts +41 -0
- package/dist/core/command/commands/text-move-command.d.ts +47 -0
- package/dist/core/command/commands/text-rotate-command.d.ts +52 -0
- package/dist/core/command/commands/text-scale-command.d.ts +56 -0
- package/dist/core/command/commands/text-update-content-command.d.ts +51 -0
- package/dist/core/command/commands/transform-move-command.d.ts +56 -0
- package/dist/core/command/commands/transform-move-with-frame-change-command.d.ts +80 -0
- package/dist/core/command/commands/transform-move-with-layout-command.d.ts +56 -0
- package/dist/core/command/commands/transform-rotate-command.d.ts +51 -0
- package/dist/core/command/commands/transform-scale-command.d.ts +54 -0
- package/dist/core/command/commands/video-play-command.d.ts +28 -0
- package/dist/core/command/commands/video-source-command.d.ts +39 -0
- package/dist/core/command/commands/viewport-fit-to-box-command.d.ts +37 -0
- package/dist/core/command/commands/viewport-fit-to-items-command.d.ts +43 -0
- package/dist/core/command/commands/viewport-move-command.d.ts +34 -0
- package/dist/core/command/commands/viewport-zoom-command.d.ts +35 -0
- package/dist/core/command/index.d.ts +5 -0
- package/dist/core/command/registry.d.ts +246 -0
- package/dist/core/command/types.d.ts +124 -0
- package/dist/core/element-registry/element-facade.d.ts +35 -0
- package/dist/core/element-registry/element-identity-strategy.d.ts +75 -0
- package/dist/core/element-registry/element-registry.d.ts +72 -0
- package/dist/core/element-registry/index.d.ts +5 -0
- package/dist/core/element-registry/types.d.ts +15 -0
- package/dist/core/gizmo/gizmo-bootstrap.d.ts +70 -0
- package/dist/core/gizmo/gizmo-command-binder.d.ts +55 -0
- package/dist/core/gizmo/gizmo-config-override.d.ts +24 -0
- package/dist/core/gizmo/gizmo-registry.d.ts +39 -0
- package/dist/core/gizmo/index.d.ts +19 -0
- package/dist/core/gizmo/register-gizmo-command-bindings.d.ts +20 -0
- package/dist/core/gizmo/state-gizmo-controller.d.ts +20 -0
- package/dist/core/history/history-manager.d.ts +174 -0
- package/dist/core/history/index.d.ts +1 -0
- package/dist/core/index.d.ts +25 -0
- package/dist/core/item/base-item.d.ts +154 -0
- package/dist/core/item/card-item.d.ts +91 -0
- package/dist/core/item/default-item-schema.d.ts +20 -0
- package/dist/core/item/effects-item.d.ts +99 -0
- package/dist/core/item/frame-item.d.ts +153 -0
- package/dist/core/item/generator-item.d.ts +114 -0
- package/dist/core/item/group-item.d.ts +51 -0
- package/dist/core/item/index.d.ts +25 -0
- package/dist/core/item/sprite-item.d.ts +80 -0
- package/dist/core/item/text-item.d.ts +171 -0
- package/dist/core/item/types.d.ts +158 -0
- package/dist/core/item/video-item.d.ts +120 -0
- package/dist/core/keybinding/index.d.ts +11 -0
- package/dist/core/keybinding/key-binding-controller.d.ts +44 -0
- package/dist/core/keybinding/key-binding-registry.d.ts +92 -0
- package/dist/core/keybinding/key-binding-store.d.ts +29 -0
- package/dist/core/keybinding/key-matcher.d.ts +24 -0
- package/dist/core/keybinding/types.d.ts +84 -0
- package/dist/core/plugin/index.d.ts +3 -0
- package/dist/core/plugin/io-plugin.d.ts +167 -0
- package/dist/core/plugin/plugin-system.d.ts +77 -0
- package/dist/core/predict/align-predict.d.ts +20 -0
- package/dist/core/predict/base/box-ops.d.ts +40 -0
- package/dist/core/predict/base/index.d.ts +14 -0
- package/dist/core/predict/base/parent-coord.d.ts +29 -0
- package/dist/core/predict/base/schema-box.d.ts +21 -0
- package/dist/core/predict/distribute-predict.d.ts +19 -0
- package/dist/core/predict/frame-layout-predict.d.ts +24 -0
- package/dist/core/predict/index.d.ts +12 -0
- package/dist/core/preferences/index.d.ts +2 -0
- package/dist/core/preferences/user-preferences-manager.d.ts +130 -0
- package/dist/core/quality/error-monitor/error-monitor-facade.d.ts +73 -0
- package/dist/core/quality/error-monitor/error-monitor.d.ts +106 -0
- package/dist/core/quality/error-monitor/index.d.ts +4 -0
- package/dist/core/quality/error-monitor/types.d.ts +198 -0
- package/dist/core/quality/index.d.ts +3 -0
- package/dist/core/quality/perf-monitor/index.d.ts +5 -0
- package/dist/core/quality/perf-monitor/perf-monitor-facade.d.ts +45 -0
- package/dist/core/quality/perf-monitor/perf-monitor.d.ts +60 -0
- package/dist/core/quality/perf-monitor/types.d.ts +66 -0
- package/dist/core/quality/stability-monitor/index.d.ts +5 -0
- package/dist/core/quality/stability-monitor/stability-monitor-facade.d.ts +50 -0
- package/dist/core/quality/stability-monitor/stability-monitor.d.ts +61 -0
- package/dist/core/quality/stability-monitor/types.d.ts +69 -0
- package/dist/core/renderer/background-controller.d.ts +56 -0
- package/dist/core/renderer/index.d.ts +5 -0
- package/dist/core/renderer/player-adapter.d.ts +129 -0
- package/dist/core/renderer/renderer.d.ts +134 -0
- package/dist/core/service/frame-service.d.ts +116 -0
- package/dist/core/service/index.d.ts +9 -0
- package/dist/core/service/interaction-providers.d.ts +20 -0
- package/dist/core/service/interaction-service.d.ts +211 -0
- package/dist/core/service/item-asset-service.d.ts +120 -0
- package/dist/core/service/item-creator-service.d.ts +211 -0
- package/dist/core/service/item-service.d.ts +641 -0
- package/dist/core/service/item-sync-service.d.ts +66 -0
- package/dist/core/service/json-scene-sync-service.d.ts +140 -0
- package/dist/core/service/refresh-animation-base-service.d.ts +1 -0
- package/dist/core/service/scene-data-assembler.d.ts +166 -0
- package/dist/core/service/view-service.d.ts +202 -0
- package/dist/core/state/base-state.d.ts +28 -0
- package/dist/core/state/index.d.ts +6 -0
- package/dist/core/state/presets.d.ts +25 -0
- package/dist/core/state/state-manager.d.ts +50 -0
- package/dist/core/state/types.d.ts +52 -0
- package/dist/core/store/index.d.ts +3 -0
- package/dist/core/store/scene-store.d.ts +194 -0
- package/dist/core/store/store.d.ts +36 -0
- package/dist/core/types/artis-config.d.ts +186 -0
- package/dist/core/types/artis-events.d.ts +101 -0
- package/dist/core/types/frame.d.ts +3 -0
- package/dist/core/types/generator.d.ts +28 -0
- package/dist/core/types/index.d.ts +15 -0
- package/dist/core/types/item-create-info.d.ts +205 -0
- package/dist/core/types/item-property.d.ts +149 -0
- package/dist/core/types/item-reorder.d.ts +12 -0
- package/dist/core/types/item-schema.d.ts +263 -0
- package/dist/core/types/item-set-property.d.ts +48 -0
- package/dist/core/types/page.d.ts +40 -0
- package/dist/core/types/sdk.d.ts +28 -0
- package/dist/core/types/view.d.ts +39 -0
- package/dist/helper/exporter/config.d.ts +18 -0
- package/dist/helper/exporter/const.d.ts +71 -0
- package/dist/helper/exporter/export-media.d.ts +189 -0
- package/dist/helper/exporter/exporter.d.ts +58 -0
- package/dist/helper/exporter/index.d.ts +2 -0
- package/dist/helper/exporter/types.d.ts +194 -0
- package/dist/helper/exporter/utils.d.ts +71 -0
- package/dist/helper/exporter/wav-audio.d.ts +35 -0
- package/dist/helper/html-overlay/anchor-navigation-runtime.d.ts +1 -0
- package/dist/helper/html-overlay/auto-height-layout.d.ts +16 -0
- package/dist/helper/html-overlay/auto-height-runtime.d.ts +40 -0
- package/dist/helper/html-overlay/document-runtime.d.ts +18 -0
- package/dist/helper/html-overlay/document-transform.d.ts +46 -0
- package/dist/helper/html-overlay/dom-order.d.ts +5 -0
- package/dist/helper/html-overlay/host-message-runtime.d.ts +15 -0
- package/dist/helper/html-overlay/html-capture-runtime.d.ts +12 -0
- package/dist/helper/html-overlay/html-card-service.d.ts +287 -0
- package/dist/helper/html-overlay/html-viewport-style.d.ts +6 -0
- package/dist/helper/html-overlay/index.d.ts +1 -0
- package/dist/helper/html-overlay/inline-script-json.d.ts +1 -0
- package/dist/helper/html-overlay/mime-utils.d.ts +13 -0
- package/dist/helper/html-overlay/overlay-transform.d.ts +30 -0
- package/dist/helper/html-overlay/path-utils.d.ts +34 -0
- package/dist/helper/html-overlay/runtime-context.d.ts +2 -0
- package/dist/helper/html-overlay/shell-runtime.d.ts +13 -0
- package/dist/helper/index.d.ts +5 -0
- package/dist/helper/scene-builder.d.ts +111 -0
- package/dist/helper/screen-shot.d.ts +51 -0
- package/dist/helper/size-adapt.d.ts +88 -0
- package/dist/index.cjs +69350 -0
- package/dist/index.cjs.map +1 -0
- package/dist/index.d.ts +19 -0
- package/dist/index.mjs +68963 -0
- package/dist/index.mjs.map +1 -0
- package/dist/shared/index.d.ts +1 -0
- package/dist/shared/player.d.ts +9 -0
- package/dist/utils/background-manager.d.ts +76 -0
- package/dist/utils/common-utils.d.ts +39 -0
- package/dist/utils/container-size.d.ts +7 -0
- package/dist/utils/find-player-item.d.ts +9 -0
- package/dist/utils/index.d.ts +11 -0
- package/dist/utils/json-data-utils.d.ts +198 -0
- package/dist/utils/layout-utils.d.ts +144 -0
- package/dist/utils/pixel-box-utils.d.ts +26 -0
- package/dist/utils/player-data-utils.d.ts +9 -0
- package/dist/utils/player-utils.d.ts +42 -0
- package/dist/utils/replay-utils.d.ts +22 -0
- package/dist/utils/types.d.ts +130 -0
- package/package.json +66 -0
|
@@ -0,0 +1,362 @@
|
|
|
1
|
+
import type { BaseArtis } from '../base-artis';
|
|
2
|
+
import { IOPlugin, type ArtisData, type ArtisItemType, type CardTypeConfig, type HistoryManager, type InitArtisData, type ItemCreateInfo, type PageAutoLayoutParam, type SetItemPropertyParam, type SpriteCreateInfo, type TextCreateInfo, type VideoCreateInfo, type GeneratorCreateInfo, type EffectsCreateInfo, type FrameCreateInfo, type CardCreateInfo } from '../../core';
|
|
3
|
+
import type { ExportMediaInitOptions, ExportMediaItemDownloadInfo, ExportParams, Buffers, Extras } from '../../helper';
|
|
4
|
+
import { Exporter, ScreenShot } from '../../helper';
|
|
5
|
+
import { spec } from '../../shared';
|
|
6
|
+
import { Box2, Vector2, type LoadingItemOptions, type MaskConfig } from '@vvfx/gizmo';
|
|
7
|
+
import type { AlignType, DistributeType } from '../../utils/types';
|
|
8
|
+
import type { InitPositionOptions, ViewportFitParam } from './types';
|
|
9
|
+
/**
|
|
10
|
+
* Artis 顶层操作门面(namespace `artis.operations`)。
|
|
11
|
+
*
|
|
12
|
+
* 直接实现常用基础功能(创建/删除/写属性/截图/导出/对齐/gizmo 开关 …),供外部
|
|
13
|
+
* `artis.operations.addSprite(info)` 类型化调用,而非走 `artis.command.execute('item.create', { schemas: schema })`
|
|
14
|
+
* 字符串命令。方法体内直接委托宿主 artis 的 namespace getter(command/item/view/selection/preferences/
|
|
15
|
+
* history/stateManager/gizmoManager/gestureHandler/player/renderer/interactionService/pluginSystem/store),
|
|
16
|
+
* 保留撤销/守卫/batch/资源回流(N10/C3)——是 command 的类型化高层糖,非替代。
|
|
17
|
+
*
|
|
18
|
+
* 真逻辑(schema 转换 / batch 包裹 / 资源回流 / 视口并集 / rAF 轮询 / 导出校验)直接写在方法体内,
|
|
19
|
+
* 从旧 ArtisSDK 搬迁去 deprecated。懒实例(导出器/截图工具/openTextGizmo rAF 句柄)作为本类私有字段托管,
|
|
20
|
+
* {@link dispose} 由 BaseArtis.dispose 调用释放。
|
|
21
|
+
*
|
|
22
|
+
* 可被 SceneArtis 子类化扩展出 SceneOperations(BaseArtis 的 `_createOperations` 工厂由子类 override)。
|
|
23
|
+
*/
|
|
24
|
+
export declare class Operations {
|
|
25
|
+
/** 视频导出器(懒实例化,dispose 时释放) */
|
|
26
|
+
private _exporter?;
|
|
27
|
+
/** 无头截图工具(懒实例化,dispose 时释放) */
|
|
28
|
+
private _screenShot?;
|
|
29
|
+
/** openTextGizmo 的 rAF 轮询句柄(dispose 时需取消,避免回调落到已释放的 GestureHandler) */
|
|
30
|
+
private _textEditRafId?;
|
|
31
|
+
constructor(artis: BaseArtis);
|
|
32
|
+
/** 懒实例化并返回本实例专属的视频导出器。 */
|
|
33
|
+
protected getExporter(): Exporter;
|
|
34
|
+
/** 懒实例化并返回本实例专属的截图工具。 */
|
|
35
|
+
protected getScreenShot(): ScreenShot;
|
|
36
|
+
/** 获取已注册的 IOPlugin;未注册或未激活时抛错。 */
|
|
37
|
+
protected getIOPlugin(): IOPlugin;
|
|
38
|
+
/**
|
|
39
|
+
* 释放本门面托管资源:取消悬挂 rAF、dispose 导出器/截图工具。
|
|
40
|
+
* 由 {@link BaseArtis.dispose} 调用(step 10b)。
|
|
41
|
+
*/
|
|
42
|
+
dispose(): void;
|
|
43
|
+
/** 创建图片元素。经 CreateInfo → ItemSchema 转换后走 item.create Command,并 await 资源回流(D-资源回流/C7)。 */
|
|
44
|
+
addSpriteItem(spriteInfo: SpriteCreateInfo): string;
|
|
45
|
+
/** 创建文本元素。 */
|
|
46
|
+
addTextItem(textInfo: TextCreateInfo): string;
|
|
47
|
+
/** 创建视频元素。 */
|
|
48
|
+
addVideoItem(videoInfo: VideoCreateInfo): string;
|
|
49
|
+
/** 创建卡片元素。 */
|
|
50
|
+
addCardItem(createInfo: CardCreateInfo): string;
|
|
51
|
+
/** 创建生成器元素。 */
|
|
52
|
+
addGeneratorItem(createInfo: GeneratorCreateInfo): string;
|
|
53
|
+
/** 创建特效元素。 */
|
|
54
|
+
addEffectsItem(effectsInfo: EffectsCreateInfo): string;
|
|
55
|
+
/** 创建画板元素。 */
|
|
56
|
+
addFrameItem(createInfo: FrameCreateInfo): string;
|
|
57
|
+
/**
|
|
58
|
+
* 计算新元素的空闲落位 [x,y](纯计算,不创建/不改任何元素)。
|
|
59
|
+
*
|
|
60
|
+
* 收口 docs/artis-functions.ts 的 initPositionByFree / initPositionByRow 布局算法,走
|
|
61
|
+
* {@link ItemService.getInitPosition}:参考画布已有元素,算出一个不重叠的落位供 create schema 的
|
|
62
|
+
* `property.position` 使用。无已有元素时返回 [0,0]。
|
|
63
|
+
*
|
|
64
|
+
* - `layout:'free'`(默认):找已有元素最右下角作参照 → 超过 `wrapThreshold` 或显式 wrap 时换行 → Y 轴碰撞下移。
|
|
65
|
+
* `wrapMode`:'wrap'(立即换行)|'nowrap'(禁换行);`wrapThreshold` 为自动换行阈值,默认 12000px。
|
|
66
|
+
* 忽略画板父级的子元素与组元素。
|
|
67
|
+
* - `layout:'row'`:从 `rowAnchor` 往右避让,sprite/video 碰撞框按 `rowScale` 算实际占位,横向重叠则右移;
|
|
68
|
+
* 带 10s 超时防死循环。
|
|
69
|
+
* - `shift`: 可选,在计算落位时额外向右下偏移的像素量(默认 20)。
|
|
70
|
+
*
|
|
71
|
+
* @param nodeSize 新节点尺寸(宽高,用于落位中心偏移与碰撞框)
|
|
72
|
+
* @param options layout/wrapMode/wrapThreshold/excludeIds/rowAnchor/rowScale,见上
|
|
73
|
+
* @returns [x, y] 像素坐标
|
|
74
|
+
*/
|
|
75
|
+
getInitPosition(nodeSize: {
|
|
76
|
+
width: number;
|
|
77
|
+
height: number;
|
|
78
|
+
}, options?: InitPositionOptions): [number, number];
|
|
79
|
+
/**
|
|
80
|
+
* 批量创建元素。「先子后父」拓扑排序已下沉到命令层,此处只做 createInfo → schema 转发;
|
|
81
|
+
* 返回的 ids 与 createInfos 逐项一一对应。
|
|
82
|
+
* @param asyncMode false(默认)同步等资源;true 立即返回、资源后台加载
|
|
83
|
+
*/
|
|
84
|
+
addItemByCreateInfos(createInfos: ItemCreateInfo[], asyncMode?: boolean): string[];
|
|
85
|
+
/** 经 CreateInfo → ItemSchema 转换后创建单个元素,await 资源回流后返回新元素 ID。 */
|
|
86
|
+
private _createByInfoAsync;
|
|
87
|
+
/** 删除单个元素(支持撤销)。 */
|
|
88
|
+
deleteItem(id: string): void;
|
|
89
|
+
/** 删除多个元素,以 batch 聚合为单条历史。 */
|
|
90
|
+
deleteItems(ids: string[]): void;
|
|
91
|
+
/** 调整元素层级顺序。 */
|
|
92
|
+
updateItemOrder(id: string, reorderType: 'bringToFront' | 'sendToBack' | 'moveUp' | 'moveDown'): void;
|
|
93
|
+
/** 成组元素。 */
|
|
94
|
+
groupItems(childrenIds: string[]): void;
|
|
95
|
+
/** 将元素移入画板。 */
|
|
96
|
+
moveItemsToFrame(itemIds: string[], frameId: string): void;
|
|
97
|
+
/** 将元素移出画板。 */
|
|
98
|
+
moveItemsOutOfFrame(itemIds: string[]): void;
|
|
99
|
+
/** 设置元素父子关系(移入指定父级)。 */
|
|
100
|
+
setItemParent(id: string, parentId: string): void;
|
|
101
|
+
/** 解除元素与指定父级的关系(移出画板)。 */
|
|
102
|
+
deleteItemParent(id: string, parentId: string): void;
|
|
103
|
+
/** 设置选中元素(支持撤销)。 */
|
|
104
|
+
setSelectedItems(itemIds: string[]): void;
|
|
105
|
+
/** 获取当前选中元素 ID 列表(elementId 语义)。 */
|
|
106
|
+
getActiveItemIds(): string[];
|
|
107
|
+
/** 命中测试:返回 (x, y) 处命中的元素 ID 列表(elementId 语义,由前往后)。 */
|
|
108
|
+
hitTest(x: number, y: number): string[];
|
|
109
|
+
/** 获取指定元素;元素不存在时返回 undefined。 */
|
|
110
|
+
getItem(id: string): import("../..").ArtisItem | undefined;
|
|
111
|
+
/** 获取多个元素(缺省取全部,过滤 ignoredInteractionNames 命名元素)。 */
|
|
112
|
+
getItems(ids?: string[]): NonNullable<import("../..").ArtisItem | undefined>[];
|
|
113
|
+
/** 获取指定元素 schema;元素不存在时返回 undefined。 */
|
|
114
|
+
getItemSchema(id: string): import("../..").ItemSchema | undefined;
|
|
115
|
+
/** 获取多个元素 schema;(缺省取全部) */
|
|
116
|
+
getItemSchemas(ids?: string[]): import("../..").ItemSchema[];
|
|
117
|
+
/** 获取元素的子元素 ID 列表。 */
|
|
118
|
+
getChildrenIds(id: string): string[];
|
|
119
|
+
/** 获取元素的视图包围盒。 */
|
|
120
|
+
getViewBox(id: string): Box2;
|
|
121
|
+
/** 获取多个元素视图包围盒(缺省取全部) */
|
|
122
|
+
getViewBoxes(ids?: string[]): Box2[];
|
|
123
|
+
/** 获取多个元素视图包围盒并合并 */
|
|
124
|
+
getUnionViewBox(ids?: string[]): Box2;
|
|
125
|
+
/** 获取元素的像素包围盒。 */
|
|
126
|
+
getPixelBox(id: string): Box2;
|
|
127
|
+
/** 获取多个元素像素包围盒(缺省取全部) */
|
|
128
|
+
getPixelBoxes(ids?: string[]): Box2[];
|
|
129
|
+
/** 获取多个元素像素包围盒并合并 */
|
|
130
|
+
getUnionPixelBox(ids?: string[]): Box2;
|
|
131
|
+
/** 获取元素的锁定状态;元素不存在时返回 false。 */
|
|
132
|
+
getItemLockState(id: string): boolean;
|
|
133
|
+
/** 设置元素属性(单 / 多属性,多属性 batch 聚合)。 */
|
|
134
|
+
setItemProperty<T extends ArtisItemType>(param: SetItemPropertyParam<T>): void;
|
|
135
|
+
/** 设置元素名称。 */
|
|
136
|
+
setItemName(id: string, name: string): void;
|
|
137
|
+
/** 设置元素锁定状态。 */
|
|
138
|
+
setItemLockState(id: string, state: boolean): void;
|
|
139
|
+
/** 设置图片元素尺寸。 */
|
|
140
|
+
setSpriteSize(id: string, size: [number, number]): void;
|
|
141
|
+
/** 调整画板元素尺寸(可选同时平移)。 */
|
|
142
|
+
resizeFrameItem(id: string, size: [number, number], translation?: [number, number]): void;
|
|
143
|
+
/** 设置特效元素的资源。 */
|
|
144
|
+
setEffectsResource(id: string, effects: string): void;
|
|
145
|
+
/** 设置文本元素字体(可撤销)。 */
|
|
146
|
+
setItemFontFamily(id: string, fontFamilyName: string, url: string): Promise<void>;
|
|
147
|
+
/** 批量设置元素扩展属性;元素不存在时返回 false。 */
|
|
148
|
+
setItemExtension(id: string, extension: Record<string, unknown>): boolean;
|
|
149
|
+
/** 批量获取元素扩展属性(不传 keys 则返回全部)。 */
|
|
150
|
+
getItemExtension(id: string, keys?: string[]): Record<string, unknown> | undefined;
|
|
151
|
+
/** 删除元素扩展属性(支持批量)。 */
|
|
152
|
+
deleteItemExtensions(id: string, keys: string[]): boolean;
|
|
153
|
+
/** 检查元素是否有指定扩展属性。 */
|
|
154
|
+
hasItemExtension(id: string, key: string): boolean;
|
|
155
|
+
/** 获取元素所有扩展属性键名列表。 */
|
|
156
|
+
getItemExtensionKeys(id: string): string[] | undefined;
|
|
157
|
+
/** 对画板执行自动布局(切换为 auto 布局模式)。 */
|
|
158
|
+
applyFrameAutoLayout(frameId: string): void;
|
|
159
|
+
/** 对整个页面执行自动排布。 */
|
|
160
|
+
autoLayoutPage(param?: PageAutoLayoutParam): void;
|
|
161
|
+
/** 设置播放状态:'play' 播放 / 'pause' 暂停。 */
|
|
162
|
+
setPlayState(playState: 'play' | 'pause'): void;
|
|
163
|
+
/** 按百分比跳转播放进度(0-100)。委托 Renderer.goto(N2)。 */
|
|
164
|
+
setPlayProgress(progress: number): void;
|
|
165
|
+
/** 读取视频元素当前播放时间(秒)。 */
|
|
166
|
+
getVideoItemPlayTime(id: string): number;
|
|
167
|
+
/** 设置视频元素播放时间(秒),静默定位不动播放态。 */
|
|
168
|
+
setVideoItemPlayTime(id: string, time: number): void;
|
|
169
|
+
/** 暂停视频元素 */
|
|
170
|
+
pauseVideoItem(id: string): void;
|
|
171
|
+
/** 播放视频元素 */
|
|
172
|
+
playVideoItem(id: string): void;
|
|
173
|
+
/** 读取动效元素当前播放时间(秒)。 */
|
|
174
|
+
getEffectsItemPlayTime(id: string): number;
|
|
175
|
+
/** 设置动效元素播放时间(秒)。 */
|
|
176
|
+
setEffectsItemPlayTime(id: string, time: number): void;
|
|
177
|
+
/** 暂停特效元素 */
|
|
178
|
+
pauseEffectsItem(id: string): void;
|
|
179
|
+
/** 播放特效元素 */
|
|
180
|
+
playEffectsItem(id: string): void;
|
|
181
|
+
/** 设置生成器资源(原地替换为 sprite/video 元素,复用同 ID,可撤销)。 */
|
|
182
|
+
setGeneratorResource(id: string, resourceUrl: string): Promise<string>;
|
|
183
|
+
/** 设置视图缩放(绝对值)。 */
|
|
184
|
+
setPageZoom(zoom: number, center?: [number, number]): void;
|
|
185
|
+
/** 设置画布平移(绝对值),兼容 [x,y] 数组或带 toArray() 的 Vector2。 */
|
|
186
|
+
setPageMove(targetTranslation: [number, number] | {
|
|
187
|
+
toArray(): number[];
|
|
188
|
+
}): void;
|
|
189
|
+
/** 缩放视图(增量)。 */
|
|
190
|
+
pageZoom(shift: number, center?: [number, number]): void;
|
|
191
|
+
/** 平移视图(增量)。 */
|
|
192
|
+
pageMove(shift: [number, number]): void;
|
|
193
|
+
/**
|
|
194
|
+
* 自适应视口(封装 `viewport.fitToBox` / `viewport.fitToItems` 两个 Command)。
|
|
195
|
+
*
|
|
196
|
+
* - 传入 `box`:直接走 `viewport.fitToBox(shiftParam, box)` 聚焦该包围盒;
|
|
197
|
+
* - 未传 `box`:走 `viewport.fitToItems(shiftParam, undefined)` 聚焦全部元素
|
|
198
|
+
* (命令内部取所有元素 viewBox 并集;空场景由命令侧 reset 兜底)。
|
|
199
|
+
*
|
|
200
|
+
* 两个分支统一经 Command 入口,保留与 wiring 注册处同源的取盒/坐标系口径(viewBox),
|
|
201
|
+
* 取代此前在此手写 pixel box 并集 + 直调 view.fitToBox 的旁路。
|
|
202
|
+
*/
|
|
203
|
+
viewportFit(param?: ViewportFitParam): void;
|
|
204
|
+
/** 像素坐标系包围盒 → 视口坐标系包围盒。 */
|
|
205
|
+
getViewBoxByBox(box: Box2): Box2;
|
|
206
|
+
/** 视口坐标 → 像素坐标换算。 */
|
|
207
|
+
getPixelPositionByViewPosition(viewPosition: Vector2): Vector2;
|
|
208
|
+
/** 设置交互类型:'hand' 平移 / 'select' 选择。 */
|
|
209
|
+
setInteractType(type: 'hand' | 'select'): void;
|
|
210
|
+
/** 读取当前交互类型。 */
|
|
211
|
+
getInteractType(): 'hand' | 'select' | undefined;
|
|
212
|
+
/** 页面数据(单视图投影为 ArtisData,仅 items)。 */
|
|
213
|
+
get pageData(): ArtisData;
|
|
214
|
+
/** 通过页面数据重新加载并启动。入参缺省或无 items 时退化为空场景启动。 */
|
|
215
|
+
runByPageData(data: InitArtisData | {
|
|
216
|
+
items?: unknown[];
|
|
217
|
+
}): Promise<void>;
|
|
218
|
+
/** 获取页面配置。 */
|
|
219
|
+
getPageConfig(): {
|
|
220
|
+
safeAreaPreview: boolean;
|
|
221
|
+
zoom: number;
|
|
222
|
+
adsorption: boolean;
|
|
223
|
+
asyncMode: boolean;
|
|
224
|
+
translation: [number, number];
|
|
225
|
+
};
|
|
226
|
+
/** 设置页面配置(缩放走 view,其余开关走 preferences)。 */
|
|
227
|
+
setPageConfig(pageConfig: {
|
|
228
|
+
safeAreaPreview?: boolean;
|
|
229
|
+
zoom?: number;
|
|
230
|
+
adsorption?: boolean;
|
|
231
|
+
asyncMode?: boolean;
|
|
232
|
+
}): void;
|
|
233
|
+
/** 多元素对齐;ids 缺省取当前选中元素。 */
|
|
234
|
+
makeItemAlign(type: AlignType, ids?: string[]): void;
|
|
235
|
+
/** 多元素等间距分布;ids 缺省取当前选中元素。 */
|
|
236
|
+
makeItemDistribute(type: DistributeType, ids?: string[]): void;
|
|
237
|
+
/** 由指定元素 ID 组装独立场景并生成截图。time 截图时刻(秒),默认 0。 */
|
|
238
|
+
createScreenShotSceneByIds(idInfo: string | string[], time?: number): Promise<string | undefined>;
|
|
239
|
+
/** 生成指定元素的截图(可指定结果尺寸 / 时刻 / 背景色)。 */
|
|
240
|
+
generateScreenShot(idInfo: string | string[], size?: [number, number], tick?: number, backgroundColor?: spec.vec4): Promise<string | undefined>;
|
|
241
|
+
/** 生成画板(Frame)元素的截图(仅渲染其子元素)。 */
|
|
242
|
+
createScreenShotByFrame(id: string): Promise<string | undefined>;
|
|
243
|
+
/** 生成动效(Effects)元素的截图。 */
|
|
244
|
+
createScreenShotByEffects(id: string): Promise<string | undefined>;
|
|
245
|
+
/** 视频导出器实例(懒创建)。 */
|
|
246
|
+
get exporter(): Exporter;
|
|
247
|
+
/** 当前导出器状态;未创建过导出器时返回 undefined。 */
|
|
248
|
+
get exportStatus(): Exporter['status'] | undefined;
|
|
249
|
+
/** 执行导出。导出功能须启用(preferences.export.enabled)且显式传入 params。 */
|
|
250
|
+
onExport(params?: ExportParams): void;
|
|
251
|
+
/** 取消导出。 */
|
|
252
|
+
cancelExport(): void;
|
|
253
|
+
/** 设置导出参数。 */
|
|
254
|
+
setExportParam(exportParam: Partial<ExportMediaInitOptions>): void;
|
|
255
|
+
/** 以媒体格式 buffer 下载。 */
|
|
256
|
+
downloadByMediaBuffersOfExporter(params: ExportMediaItemDownloadInfo[], buffers: Buffers, extras: Extras): void;
|
|
257
|
+
/** 撤销最近一条历史。 */
|
|
258
|
+
undo(): void;
|
|
259
|
+
/** 重做最近一条历史。 */
|
|
260
|
+
redo(): void;
|
|
261
|
+
/** 是否还有可撤销的历史步骤。 */
|
|
262
|
+
get canUndo(): boolean;
|
|
263
|
+
/** 是否还有可重做的历史步骤。 */
|
|
264
|
+
get canRedo(): boolean;
|
|
265
|
+
/** 撤销 / 重做入口(兼容旧 `_undoRedo` 形态)。 */
|
|
266
|
+
get undoRedo(): {
|
|
267
|
+
push: HistoryManager['push'];
|
|
268
|
+
undo: HistoryManager['undo'];
|
|
269
|
+
redo: HistoryManager['redo'];
|
|
270
|
+
canUndo: boolean;
|
|
271
|
+
canRedo: boolean;
|
|
272
|
+
};
|
|
273
|
+
/** 注册单个卡片类型。 */
|
|
274
|
+
registerCardType(config: CardTypeConfig): boolean;
|
|
275
|
+
/** 批量注册卡片类型。 */
|
|
276
|
+
registerCardTypes(configs: CardTypeConfig[]): number;
|
|
277
|
+
/** 注销卡片类型。 */
|
|
278
|
+
unregisterCardType(type: string): boolean;
|
|
279
|
+
/** 获取所有已注册的卡片类型。 */
|
|
280
|
+
getRegisteredCardTypes(): CardTypeConfig[];
|
|
281
|
+
/** 判断卡片类型是否已注册。 */
|
|
282
|
+
isCardTypeRegistered(type: string): boolean;
|
|
283
|
+
/** 开启文本编辑 Gizmo(选中并进入 textarea 编辑态)。 */
|
|
284
|
+
openTextGizmo(itemId: string): void;
|
|
285
|
+
/** 关闭文本编辑态。 */
|
|
286
|
+
closeTextGizmo(): void;
|
|
287
|
+
/** 开启蒙版 Gizmo(应用初始笔刷大小)。笔刷大小须为正有限数,非法值回退默认 1。 */
|
|
288
|
+
openMaskGizmo(brushSize: number): void;
|
|
289
|
+
/** 关闭蒙版 Gizmo。 */
|
|
290
|
+
closeMaskGizmo(): void;
|
|
291
|
+
/**
|
|
292
|
+
* 清空蒙版:移除已绘制的所有蒙版笔迹。
|
|
293
|
+
*/
|
|
294
|
+
clearMaskGizmo(): void;
|
|
295
|
+
/**
|
|
296
|
+
* 设置蒙版 Gizmo 配置(笔刷大小 / 蒙版颜色 / 蒙版图片等)。
|
|
297
|
+
*
|
|
298
|
+
* 其中 maskImage 为运行时蒙版图片(非 MaskConfig 字段),单独写入 gizmo.maskImage。
|
|
299
|
+
* @param config 蒙版配置(笔刷大小 / 蒙版颜色 / 蒙版图片等)
|
|
300
|
+
*/
|
|
301
|
+
setMaskGizmoConfig(config: Partial<MaskConfig> & {
|
|
302
|
+
maskImage?: HTMLImageElement;
|
|
303
|
+
}): void;
|
|
304
|
+
/**
|
|
305
|
+
* 设置蒙版 Gizmo 模式。
|
|
306
|
+
* @param mode 蒙版模式:笔刷涂抹 / 笔刷擦除 / 框选涂抹 / 框选擦除
|
|
307
|
+
*/
|
|
308
|
+
setMaskGizmoMode(mode: 'paint' | 'erase' | 'box-paint' | 'box-erase'): void;
|
|
309
|
+
/**
|
|
310
|
+
* 设置蒙版 Gizmo 偏好(MaskConfig 全字段可选),覆盖 {@link maskConfig} 的产品级默认。
|
|
311
|
+
*
|
|
312
|
+
* @param config 要覆盖的 MaskGizmo 偏好子集(全字段可选;颜色为 number hex,如 0x6A34FF)
|
|
313
|
+
*/
|
|
314
|
+
/** 开启 loading 覆盖(id 为 elementId,内部翻译为 instanceId)。 */
|
|
315
|
+
openLoadingGizmo(id: string, options?: LoadingItemOptions): void;
|
|
316
|
+
/** 更新 LoadingTip 属性。 */
|
|
317
|
+
updateLoadingGizmo(id: string, options: LoadingItemOptions): void;
|
|
318
|
+
/** 关闭 loading 覆盖。 */
|
|
319
|
+
closeLoadingGizmo(id: string): void;
|
|
320
|
+
/** 开启图片裁切 Gizmo。 */
|
|
321
|
+
openPictureCutGizmo(): void;
|
|
322
|
+
setPictureCutGizmoLockScale(lock: boolean): void;
|
|
323
|
+
/**
|
|
324
|
+
* 获取当前裁切信息(归一化裁切框 + 元素视图框),委托 PictureCutGizmo.getCutInfo。
|
|
325
|
+
* @returns 裁切信息;Gizmo 未就绪 / 未选中单个元素 / 结果无效时返回 undefined
|
|
326
|
+
*/
|
|
327
|
+
getCutInfo(): {
|
|
328
|
+
cutBox: Box2;
|
|
329
|
+
itemBox: Box2;
|
|
330
|
+
} | undefined;
|
|
331
|
+
/**
|
|
332
|
+
* 获取归一化裁切包围盒(min/max ∈ [0,1],相对元素包围盒),委托 PictureCutGizmo.getCutBox。
|
|
333
|
+
* @returns 归一化裁切框;Gizmo 未就绪时返回 undefined
|
|
334
|
+
*/
|
|
335
|
+
getCutBox(): Box2 | undefined;
|
|
336
|
+
/**
|
|
337
|
+
* 设置归一化裁切包围盒(入参为归一化坐标),委托 PictureCutGizmo.setCutBox。
|
|
338
|
+
* @param normalizeBox 归一化裁切框
|
|
339
|
+
*/
|
|
340
|
+
setCutBox(normalizeBox: Box2): void;
|
|
341
|
+
/** 关闭图片裁切 Gizmo。 */
|
|
342
|
+
closePictureCutGizmo(): void;
|
|
343
|
+
setPictureExpandGizmoLockScale(lock: boolean): void;
|
|
344
|
+
/**
|
|
345
|
+
* 获取当前扩边信息(归一化扩边框 + 元素视图框),委托 PictureExpandGizmo.getExpandInfo。
|
|
346
|
+
* @returns 扩边信息;Gizmo 未就绪 / 未选中单个元素 / 结果无效时返回 undefined
|
|
347
|
+
*/
|
|
348
|
+
getExpandInfo(): {
|
|
349
|
+
expandBox: Box2;
|
|
350
|
+
itemBox: Box2;
|
|
351
|
+
} | undefined;
|
|
352
|
+
/**
|
|
353
|
+
* 获取归一化扩边包围盒(相对元素包围盒,可超出 [0,1]),委托 PictureExpandGizmo.getExpandBox。
|
|
354
|
+
* @returns 归一化扩边框;Gizmo 未就绪时返回 undefined
|
|
355
|
+
*/
|
|
356
|
+
getExpandBox(): Box2 | undefined;
|
|
357
|
+
/**
|
|
358
|
+
* 设置归一化扩边包围盒(入参为归一化坐标),委托 PictureExpandGizmo.setExpandBox。
|
|
359
|
+
* @param normalizeBox 归一化扩边框
|
|
360
|
+
*/
|
|
361
|
+
setExpandBox(normalizeBox: Box2): void;
|
|
362
|
+
}
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
import { Operations } from './operations';
|
|
2
|
+
import type { spec } from '../../shared';
|
|
3
|
+
/**
|
|
4
|
+
* SceneArtis 专属操作门面(`artis.operations` 在 SceneArtis 实例上的扩展形态)。
|
|
5
|
+
*
|
|
6
|
+
* 继承 {@link Operations} 全部基础功能(创建/删除/写属性/截图/导出媒体/对齐/gizmo 开关 …),
|
|
7
|
+
* 并追加 Scene 专属「场景 JSON 导出」家族——基于 SceneStore 实时回写的活动场景 JSON(浅克隆保护)。
|
|
8
|
+
*
|
|
9
|
+
* 仅 anxiety SceneArtis 经 `_createOperations` 工厂返回本类(见 SceneArtis override)。artis.operations
|
|
10
|
+
* 的 getter 类型在基类声明为 Operations;SceneArtis 消费侧可经类型断言或 `instanceof SceneOperations`
|
|
11
|
+
* 取本扩展,或在 SceneArtis 上另开 `get sceneOperations()` 强类型门面(按需,本类提供能力即可)。
|
|
12
|
+
*
|
|
13
|
+
* 边界:场景级生命周期方法(play/stop/seek/switchScene/setPlaying/setSafeAreaEnabled)属强生命周期
|
|
14
|
+
* 动词,留在 SceneArtis 顶层不迁入——不走通用 operations;本类只承载「导出场景 JSON」这一同质于
|
|
15
|
+
* Operations 导出语义、但 Scene 特有的能力。
|
|
16
|
+
*/
|
|
17
|
+
export declare class SceneOperations extends Operations {
|
|
18
|
+
/** 导出当前激活场景 JSON(已由 JsonSceneSyncService 实时回写,浅克隆保护)。无激活场景返回 undefined。 */
|
|
19
|
+
exportScene(): spec.JSONScene | undefined;
|
|
20
|
+
/** 按 id 导出指定场景 JSON;id 不存在返回 undefined。 */
|
|
21
|
+
exportSceneById(id: string): spec.JSONScene | undefined;
|
|
22
|
+
/** 按 index 导出指定场景 JSON;越界返回 undefined。 */
|
|
23
|
+
exportSceneByIndex(index: number): spec.JSONScene | undefined;
|
|
24
|
+
/** 导出全部场景 JSON(按 store 顺序)。 */
|
|
25
|
+
exportAllScenes(): spec.JSONScene[];
|
|
26
|
+
}
|
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
import { Box2 } from '@vvfx/gizmo';
|
|
2
|
+
import type { ViewportFitShiftParam } from '../../core/types';
|
|
3
|
+
/** 视图聚焦参数 */
|
|
4
|
+
export type ViewportFitParam = ViewportFitToBoxParam | ViewportFitToItemsParam;
|
|
5
|
+
/** 视图聚焦包围盒参数 */
|
|
6
|
+
export type ViewportFitToBoxParam = {
|
|
7
|
+
/** 类型: 包围盒 */
|
|
8
|
+
type: 'box';
|
|
9
|
+
/** 偏移参数 */
|
|
10
|
+
shift?: ViewportFitShiftParam;
|
|
11
|
+
/** 目标包围盒 */
|
|
12
|
+
target?: Box2;
|
|
13
|
+
};
|
|
14
|
+
/** 视图聚焦元素参数 */
|
|
15
|
+
export type ViewportFitToItemsParam = {
|
|
16
|
+
/** 类型: 元素 */
|
|
17
|
+
type: 'items';
|
|
18
|
+
/** 偏移参数 */
|
|
19
|
+
shift?: ViewportFitShiftParam;
|
|
20
|
+
/** 目标元素 */
|
|
21
|
+
target?: string[];
|
|
22
|
+
};
|
|
23
|
+
/** 初始化位置参数 */
|
|
24
|
+
export type InitPositionOptions = {
|
|
25
|
+
/** 模式 */
|
|
26
|
+
layout?: 'free' | 'row';
|
|
27
|
+
/** 环绕模式 */
|
|
28
|
+
wrapMode?: 'wrap' | 'nowrap';
|
|
29
|
+
/** free 布局自动换行的 X 轴阈值,默认 12000px */
|
|
30
|
+
wrapThreshold?: number;
|
|
31
|
+
/** 计算落位时忽略的元素 ID,适用于已创建占位节点的异步元素 */
|
|
32
|
+
excludeIds?: string[];
|
|
33
|
+
/** 行锚点 */
|
|
34
|
+
rowAnchor?: [number, number];
|
|
35
|
+
/** 行缩放倍数 */
|
|
36
|
+
rowScale?: [number, number];
|
|
37
|
+
/** 偏移值 */
|
|
38
|
+
shift?: number;
|
|
39
|
+
};
|