@nnepoch/dtc-sdk 3.0.3 → 3.0.5

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -47,427 +47,6 @@ interface SignallingAllocateResponse {
47
47
  status?: string;
48
48
  }
49
49
  //#endregion
50
- //#region src/types/common.d.ts
51
- type ApiCallback<T> = (result: T) => void;
52
- type EngineLogLevel = 'silent' | 'error' | 'warn' | 'info' | 'debug';
53
- type EngineViewMode = 'bs' | 'cs';
54
- /**
55
- * 引擎状态详情结构,与 sdk2 的 EngineStatusInfo 字段语义保持一致。
56
- */
57
- interface EngineStatusInfo {
58
- CameraHeight: string;
59
- FPS: string;
60
- Width: string;
61
- Height: string;
62
- runTime: string;
63
- bytePerSecond: string;
64
- lostPacketsRate: string;
65
- delayTime: string;
66
- Codec: string;
67
- }
68
- interface EngineConfig {
69
- /** 鉴权服务器地址 */
70
- centerIP?: string;
71
- /** 信令服务 HTTP 基地址,SDK 会基于该地址调用 `/api/v1/allocate` 获取最终 ws 播放地址 */
72
- signalingServer?: string;
73
- sceneName?: string;
74
- token?: string;
75
- dom?: HTMLDivElement;
76
- showProgressBar?: boolean;
77
- codec?: string;
78
- viewMode?: EngineViewMode;
79
- /** TURN 服务器地址 */
80
- turnServer?: string;
81
- /** TURN 用户名 */
82
- turnUser?: string;
83
- /** TURN 密码 */
84
- turnPwd?: string;
85
- /** 私有密钥 */
86
- privateKey?: string;
87
- engineUuid?: string;
88
- mapType?: string;
89
- operationType?: string;
90
- freeCheckInterval?: number;
91
- /** PixelStreaming initialSettings */
92
- initialSettings?: Record<string, unknown>;
93
- /** 日志级别,默认值为 info */
94
- logger?: EngineLogLevel;
95
- /** 从指定级别开始附加业务调用栈,默认值为 warn;silent 表示关闭 */
96
- includeStack?: EngineLogLevel;
97
- /** Pixel Streaming 依赖日志级别,默认值为 warn */
98
- pixelStreamingLogger?: EngineLogLevel;
99
- }
100
- interface ApiRequestEnvelope<T = unknown> {
101
- AssemblyName: string;
102
- fn: string;
103
- ClassName: string;
104
- FunctionName: string;
105
- Value?: any;
106
- ts: number;
107
- }
108
- interface ApiResponseEnvelope<T = unknown> {
109
- requestId: string;
110
- success: boolean;
111
- code: string;
112
- message: string;
113
- params?: any;
114
- errorMsg?: string;
115
- data?: T;
116
- ts: number;
117
- }
118
- interface ResolvedEngineConfig {
119
- centerIP: string;
120
- signalingServer?: string;
121
- sceneName: string;
122
- token: string;
123
- dom: HTMLDivElement;
124
- showProgressBar: boolean;
125
- codec: string;
126
- viewMode: EngineViewMode;
127
- turnServer?: string;
128
- turnUser?: string;
129
- turnPwd?: string;
130
- privateKey: string;
131
- engineUuid?: string;
132
- mapType: string;
133
- operationType: string;
134
- freeCheckInterval: number;
135
- initialSettings: Record<string, unknown>;
136
- logger: EngineLogLevel;
137
- includeStack: EngineLogLevel;
138
- pixelStreamingLogger: EngineLogLevel;
139
- centerHeartbeatIntervalMs: number;
140
- centerHeartbeatTimeoutMs: number;
141
- }
142
- //#endregion
143
- //#region src/types/enums.d.ts
144
- /**
145
- * Dlss.setDlssQuality 参数。
146
- */
147
- declare const DlssQuality: {
148
- /** 关闭 DLSS。默认值。 */
149
- readonly Off: 0;
150
- /** Auto 模式会根据系统性能自动选择最合适的 DLSS 质量档位,提供更智能的画质与性能平衡方案。 */
151
- readonly Auto: 1;
152
- /** 2倍效果 */
153
- readonly DLAA: 2;
154
- /** 超高质量。 */
155
- readonly UltraQuality: 3;
156
- /** 高质量。 */
157
- readonly Quality: 4;
158
- /** 平衡。 */
159
- readonly Balanced: 5;
160
- /** 性能。 */
161
- readonly Performance: 6;
162
- /** 超高性能。 */
163
- readonly UltraPerformance: 7;
164
- };
165
- type DlssQuality = typeof DlssQuality[keyof typeof DlssQuality];
166
- /**
167
- * Screen.setSceneRenderBitrate 参数。
168
- */
169
- declare const ScreenRenderBitratePreset: {
170
- /** 自动。 */
171
- readonly Auto: "auto";
172
- /** 标清。 */
173
- readonly Low: "low";
174
- /** 高清。 */
175
- readonly High: "high";
176
- /** 超清。 */
177
- readonly Super: "super";
178
- /** 蓝光。 */
179
- readonly Blue: "blue";
180
- };
181
- type ScreenRenderBitratePreset = typeof ScreenRenderBitratePreset[keyof typeof ScreenRenderBitratePreset];
182
- declare const ScreenRenderBitratePresetOptions: readonly [{
183
- readonly label: "自动";
184
- readonly type: "auto";
185
- readonly value: 12000000;
186
- }, {
187
- readonly label: "标清";
188
- readonly type: "low";
189
- readonly value: 4000000;
190
- }, {
191
- readonly label: "高清";
192
- readonly type: "high";
193
- readonly value: 8000000;
194
- }, {
195
- readonly label: "超清";
196
- readonly type: "super";
197
- readonly value: 12000000;
198
- }, {
199
- readonly label: "蓝光";
200
- readonly type: "blue";
201
- readonly value: 24000000;
202
- }];
203
- declare const ScreenRenderBitratePresetValueMap: {
204
- readonly auto: 12000000;
205
- readonly low: 4000000;
206
- readonly high: 8000000;
207
- readonly super: 12000000;
208
- readonly blue: 24000000;
209
- };
210
- /**
211
- * 视频解码器类别
212
- */
213
- declare enum VideoCodeType {
214
- /** VP8 */
215
- VP8 = "VP8",
216
- /** VP9 */
217
- VP9 = "VP9",
218
- /** AV1 */
219
- AV1 = "AV1",
220
- /** H264 */
221
- H264 = "H264"
222
- }
223
- /**
224
- * Layer.addLayer 图层类别。
225
- */
226
- declare enum LayerEnum {
227
- /** 模型图层。 */
228
- Model = "MODEL",
229
- /** POI 图层。 */
230
- POI = "POI"
231
- }
232
- /**
233
- * WeatherSystem.changeSeason 参数。
234
- */
235
- declare const Season: {
236
- /** 春季。 */
237
- readonly Spring: 0;
238
- /** 夏季。 */
239
- readonly Summer: 1;
240
- /** 秋季。 */
241
- readonly Autumn: 2;
242
- /** 冬季。 */
243
- readonly Winter: 3;
244
- };
245
- type Season = typeof Season[keyof typeof Season];
246
- /**
247
- * ModelTransform 移动方式。
248
- */
249
- declare enum ModelTransformType {
250
- Linear = 0,
251
- EaseInQuad = 1,
252
- EaseOutQuad = 2,
253
- EaseInOutQuad = 3,
254
- EaseOutInQuad = 4,
255
- EaseInCubic = 5,
256
- EaseOutCubic = 6,
257
- EaseInOutCubic = 7,
258
- EaseOutInCubic = 8,
259
- EaseInQuart = 9,
260
- EaseOutQuart = 10,
261
- EaseInOutQuart = 11,
262
- EaseOutInQuart = 12,
263
- EaseInQuint = 13,
264
- EaseOutQuint = 14,
265
- EaseInOutQuint = 15,
266
- EaseOutInQuint = 16,
267
- EaseInSine = 17,
268
- EaseOutSine = 18,
269
- EaseInOutSine = 19,
270
- EaseOutInSine = 20,
271
- EaseInExpo = 21,
272
- EaseOutExpo = 22,
273
- EaseInOutExpo = 23,
274
- EaseOutInExpo = 24,
275
- EaseInCirc = 25,
276
- EaseOutCirc = 26,
277
- EaseInOutCirc = 27,
278
- EaseOutInCirc = 28,
279
- EaseInElastic = 29,
280
- EaseOutElastic = 30,
281
- EaseInOutElastic = 31,
282
- EaseOutInElastic = 32,
283
- EaseInBack = 33,
284
- EaseOutBack = 34,
285
- EaseInOutBack = 35,
286
- EaseOutInBack = 36,
287
- EaseInBounce = 37,
288
- EaseOutBounce = 38,
289
- EaseInOutBounce = 39,
290
- EaseOutInBounce = 40
291
- }
292
- /**
293
- * Model.setVisibleByAttibute 过滤模式。
294
- */
295
- declare enum FilterMode {
296
- /** 宽松过滤:只处理属性匹配的对象,不符合条件不理会。 */
297
- Loose = 0,
298
- /** 严格过滤:属性匹配的对象按 visible 控制,其它包含相同属性名但属性值不同的对象按 otherVisible 控制。 */
299
- Strict = 1
300
- }
301
- //#endregion
302
- //#region src/types/network.d.ts
303
- /**
304
- * 弱网自适应档位。
305
- */
306
- type NetworkAdaptationLevel = 'Normal' | 'Mild' | 'Moderate' | 'Severe' | 'Recovering';
307
- /**
308
- * 弱网自适应运行模式:
309
- * - auto: 自动策略决策
310
- * - manual: 手动接管档位
311
- */
312
- type NetworkAdaptationMode = 'auto' | 'manual';
313
- /**
314
- * 媒体链路实时指标快照。
315
- */
316
- interface NetworkMetricsSnapshot {
317
- ts: number;
318
- connected: boolean;
319
- fps?: number;
320
- bitrateKbps?: number;
321
- packetLossRate?: number;
322
- jitterMs?: number;
323
- rttMs?: number;
324
- frameWidth?: number;
325
- frameHeight?: number;
326
- }
327
- /**
328
- * 弱网状态变更事件载荷。
329
- */
330
- interface NetworkAdaptationState {
331
- from: NetworkAdaptationLevel;
332
- to: NetworkAdaptationLevel;
333
- mode: NetworkAdaptationMode;
334
- reason: string;
335
- ts: number;
336
- metrics?: NetworkMetricsSnapshot;
337
- }
338
- /**
339
- * 策略动作类型。
340
- */
341
- type NetworkAdaptationActionType = 'SetSceneRenderBitrate' | 'SetSceneFPS' | 'SetScreenResolution';
342
- /**
343
- * 单步策略动作执行结果。
344
- */
345
- interface NetworkAdaptationActionStep {
346
- type: NetworkAdaptationActionType;
347
- payload: Record<string, number>;
348
- success: boolean;
349
- error?: string;
350
- }
351
- /**
352
- * 策略动作执行事件。
353
- */
354
- interface NetworkAdaptationActionResult {
355
- level: Exclude<NetworkAdaptationLevel, 'Recovering'>;
356
- mode: NetworkAdaptationMode;
357
- success: boolean;
358
- skipped: boolean;
359
- reason: string;
360
- ts: number;
361
- steps: NetworkAdaptationActionStep[];
362
- }
363
- /**
364
- * 策略决策轨迹条目,用于诊断面板回放。
365
- */
366
- interface NetworkDecisionTrace {
367
- ts: number;
368
- mode: NetworkAdaptationMode;
369
- currentLevel: NetworkAdaptationLevel;
370
- measuredLevel: Exclude<NetworkAdaptationLevel, 'Recovering'>;
371
- targetLevel?: NetworkAdaptationLevel;
372
- outcome: 'hold' | 'downgrade' | 'recover' | 'manual' | 'skip_hysteresis' | 'skip_cooldown';
373
- reason: string;
374
- metrics?: NetworkMetricsSnapshot;
375
- }
376
- /**
377
- * 诊断面板快照数据。
378
- */
379
- interface NetworkDiagnosticsSnapshot {
380
- ts: number;
381
- visible: boolean;
382
- mode: NetworkAdaptationMode;
383
- currentLevel: NetworkAdaptationLevel;
384
- connected: boolean;
385
- lastMetrics?: NetworkMetricsSnapshot;
386
- lastAction?: NetworkAdaptationActionResult;
387
- traces: NetworkDecisionTrace[];
388
- }
389
- //#endregion
390
- //#region src/types/qos.d.ts
391
- /**
392
- * QoS 事件阶段定义。
393
- */
394
- type QosStage = 'auth' | 'center' | 'webrtc' | 'media' | 'ue_api' | 'session';
395
- /**
396
- * QoS 事件状态定义。
397
- */
398
- type QosStatus = 'start' | 'success' | 'failed' | 'update' | 'end';
399
- /**
400
- * QoS 事件日志等级(仅用于事件严重程度标记)。
401
- */
402
- type QosLevel = 'info' | 'warn' | 'error';
403
- /**
404
- * QoS V1 事件名集合。
405
- */
406
- declare const QOS_EVENT_NAMES: readonly ["session_start", "auth_start", "auth_success", "auth_failed", "center_connect_start", "center_connected", "center_disconnected", "center_message_received", "webrtc_connect_start", "webrtc_connected", "webrtc_disconnected", "first_frame_rendered", "media_stats_sample", "ue_request_sent", "ue_response_received", "session_end"];
407
- /**
408
- * QoS V1 事件名类型。
409
- *
410
- * 注意:V1 明确不包含 `ue_request_timeout`。
411
- */
412
- type QosEventName = (typeof QOS_EVENT_NAMES)[number];
413
- /**
414
- * 会话维度上下文。
415
- */
416
- interface QosSessionContext {
417
- sessionId: string;
418
- traceId: string;
419
- runMode: string;
420
- viewMode: string;
421
- }
422
- /**
423
- * 运行环境上下文。
424
- */
425
- interface QosRuntimeContext {
426
- appId?: string;
427
- env?: string;
428
- pageUrl?: string;
429
- userAgent?: string;
430
- }
431
- /**
432
- * warn/error 聚合统计指标。
433
- */
434
- interface QosWarnErrorSummary {
435
- logWarnCount: number;
436
- logErrorCount: number;
437
- logErrorByStage: Partial<Record<QosStage, number>>;
438
- logErrorTopCodes: Array<{
439
- code: string;
440
- count: number;
441
- }>;
442
- }
443
- /**
444
- * QoS 事件结构。
445
- */
446
- interface QosEvent {
447
- eventName: QosEventName;
448
- stage: QosStage;
449
- status: QosStatus;
450
- ts: number;
451
- level: QosLevel;
452
- durationMs?: number;
453
- errorCode?: string;
454
- errorMessage?: string;
455
- attrs?: Record<string, unknown>;
456
- metrics?: Record<string, unknown>;
457
- }
458
- /**
459
- * QoS 批量上报载荷。
460
- */
461
- interface QosReportingPayload {
462
- schemaVersion: '1.0.0';
463
- source: 'enginesdk3';
464
- sdkVersion: string;
465
- sentAt: number;
466
- session: QosSessionContext;
467
- context: QosRuntimeContext;
468
- events: QosEvent[];
469
- }
470
- //#endregion
471
50
  //#region src/math/Vector2.d.ts
472
51
  /**
473
52
  * 二维向量坐标及计算方法
@@ -1250,6 +829,165 @@ declare class Vector3 {
1250
829
  changeEPSGType(EPSGType: string): this | undefined;
1251
830
  }
1252
831
  //#endregion
832
+ //#region src/types/enums.d.ts
833
+ /**
834
+ * Dlss.setDlssQuality 参数。
835
+ */
836
+ declare const DlssQuality: {
837
+ /** 关闭 DLSS。默认值。 */
838
+ readonly Off: 0;
839
+ /** Auto 模式会根据系统性能自动选择最合适的 DLSS 质量档位,提供更智能的画质与性能平衡方案。 */
840
+ readonly Auto: 1;
841
+ /** 2倍效果 */
842
+ readonly DLAA: 2;
843
+ /** 超高质量。 */
844
+ readonly UltraQuality: 3;
845
+ /** 高质量。 */
846
+ readonly Quality: 4;
847
+ /** 平衡。 */
848
+ readonly Balanced: 5;
849
+ /** 性能。 */
850
+ readonly Performance: 6;
851
+ /** 超高性能。 */
852
+ readonly UltraPerformance: 7;
853
+ };
854
+ type DlssQuality = typeof DlssQuality[keyof typeof DlssQuality];
855
+ /**
856
+ * Screen.setSceneRenderBitrate 参数。
857
+ */
858
+ declare const ScreenRenderBitratePreset: {
859
+ /** 自动。 */
860
+ readonly Auto: "auto";
861
+ /** 标清。 */
862
+ readonly Low: "low";
863
+ /** 高清。 */
864
+ readonly High: "high";
865
+ /** 超清。 */
866
+ readonly Super: "super";
867
+ /** 蓝光。 */
868
+ readonly Blue: "blue";
869
+ };
870
+ type ScreenRenderBitratePreset = typeof ScreenRenderBitratePreset[keyof typeof ScreenRenderBitratePreset];
871
+ declare const ScreenRenderBitratePresetOptions: readonly [{
872
+ readonly label: "自动";
873
+ readonly type: "auto";
874
+ readonly value: 12000000;
875
+ }, {
876
+ readonly label: "标清";
877
+ readonly type: "low";
878
+ readonly value: 4000000;
879
+ }, {
880
+ readonly label: "高清";
881
+ readonly type: "high";
882
+ readonly value: 8000000;
883
+ }, {
884
+ readonly label: "超清";
885
+ readonly type: "super";
886
+ readonly value: 12000000;
887
+ }, {
888
+ readonly label: "蓝光";
889
+ readonly type: "blue";
890
+ readonly value: 24000000;
891
+ }];
892
+ declare const ScreenRenderBitratePresetValueMap: {
893
+ readonly auto: 12000000;
894
+ readonly low: 4000000;
895
+ readonly high: 8000000;
896
+ readonly super: 12000000;
897
+ readonly blue: 24000000;
898
+ };
899
+ /**
900
+ * 视频解码器类别
901
+ */
902
+ declare enum VideoCodeType {
903
+ /** VP8 */
904
+ VP8 = "VP8",
905
+ /** VP9 */
906
+ VP9 = "VP9",
907
+ /** AV1 */
908
+ AV1 = "AV1",
909
+ /** H264 */
910
+ H264 = "H264"
911
+ }
912
+ /**
913
+ * Layer.addLayer 图层类别。
914
+ */
915
+ declare enum LayerEnum {
916
+ /** 模型图层。 */
917
+ Model = "MODEL",
918
+ /** POI 图层。 */
919
+ POI = "POI"
920
+ }
921
+ /**
922
+ * WeatherSystem.changeSeason 参数。
923
+ */
924
+ declare const Season: {
925
+ /** 春季。 */
926
+ readonly Spring: 0;
927
+ /** 夏季。 */
928
+ readonly Summer: 1;
929
+ /** 秋季。 */
930
+ readonly Autumn: 2;
931
+ /** 冬季。 */
932
+ readonly Winter: 3;
933
+ };
934
+ type Season = typeof Season[keyof typeof Season];
935
+ /**
936
+ * ModelTransform 移动方式。
937
+ */
938
+ declare enum ModelTransformType {
939
+ Linear = 0,
940
+ EaseInQuad = 1,
941
+ EaseOutQuad = 2,
942
+ EaseInOutQuad = 3,
943
+ EaseOutInQuad = 4,
944
+ EaseInCubic = 5,
945
+ EaseOutCubic = 6,
946
+ EaseInOutCubic = 7,
947
+ EaseOutInCubic = 8,
948
+ EaseInQuart = 9,
949
+ EaseOutQuart = 10,
950
+ EaseInOutQuart = 11,
951
+ EaseOutInQuart = 12,
952
+ EaseInQuint = 13,
953
+ EaseOutQuint = 14,
954
+ EaseInOutQuint = 15,
955
+ EaseOutInQuint = 16,
956
+ EaseInSine = 17,
957
+ EaseOutSine = 18,
958
+ EaseInOutSine = 19,
959
+ EaseOutInSine = 20,
960
+ EaseInExpo = 21,
961
+ EaseOutExpo = 22,
962
+ EaseInOutExpo = 23,
963
+ EaseOutInExpo = 24,
964
+ EaseInCirc = 25,
965
+ EaseOutCirc = 26,
966
+ EaseInOutCirc = 27,
967
+ EaseOutInCirc = 28,
968
+ EaseInElastic = 29,
969
+ EaseOutElastic = 30,
970
+ EaseInOutElastic = 31,
971
+ EaseOutInElastic = 32,
972
+ EaseInBack = 33,
973
+ EaseOutBack = 34,
974
+ EaseInOutBack = 35,
975
+ EaseOutInBack = 36,
976
+ EaseInBounce = 37,
977
+ EaseOutBounce = 38,
978
+ EaseInOutBounce = 39,
979
+ EaseOutInBounce = 40
980
+ }
981
+ /**
982
+ * Model.setVisibleByAttibute 过滤模式。
983
+ */
984
+ declare enum FilterMode {
985
+ /** 宽松过滤:只处理属性匹配的对象,不符合条件不理会。 */
986
+ Loose = 0,
987
+ /** 严格过滤:属性匹配的对象按 visible 控制,其它包含相同属性名但属性值不同的对象按 otherVisible 控制。 */
988
+ Strict = 1
989
+ }
990
+ //#endregion
1253
991
  //#region src/types/request.d.ts
1254
992
  interface Vector3JsonInput {
1255
993
  x: number;
@@ -1257,1162 +995,1559 @@ interface Vector3JsonInput {
1257
995
  z: number;
1258
996
  ePSGType: string;
1259
997
  }
1260
- type Vector3Input = Vector3 | Vector3JsonInput;
1261
- interface Vector2JsonInput {
1262
- x: number;
1263
- y: number;
998
+ type Vector3Input = Vector3 | Vector3JsonInput;
999
+ interface Vector2JsonInput {
1000
+ x: number;
1001
+ y: number;
1002
+ }
1003
+ type Vector2Input = Vector2 | Vector2JsonInput;
1004
+ /**
1005
+ * Camera.lookAt 参数。
1006
+ */
1007
+ interface CameraLookAtRequest {
1008
+ /** 模型所属父节点 ID,可选。 */
1009
+ parentId?: string;
1010
+ /** 模型 ID,支持单个或多个。 */
1011
+ id: string | string[];
1012
+ /** 视角方向偏移向量。 */
1013
+ offSet?: Vector3Input;
1014
+ /** 水平偏移量。 */
1015
+ offSetX?: number;
1016
+ /** 到目标的距离比例。 */
1017
+ distance?: number;
1018
+ /** 飞行时长(秒)。 */
1019
+ time?: number;
1020
+ /** 是否在飞行中旋转视角。 */
1021
+ isRotate?: boolean;
1022
+ /** 是否高亮目标。 */
1023
+ isHighlight?: boolean;
1024
+ }
1025
+ /**
1026
+ * Camera.flyToTarget 参数。
1027
+ */
1028
+ interface CameraFlyToTargetRequest {
1029
+ /** 飞行终点坐标。 */
1030
+ point?: Vector3Input;
1031
+ /** 飞行过程中看向目标点。 */
1032
+ target?: Vector3Input;
1033
+ /** Horizontal field of view in degrees (10–150), default 60. */
1034
+ fov?: number;
1035
+ /** 飞行时长(秒)。 */
1036
+ time?: number;
1037
+ }
1038
+ /**
1039
+ * Camera.flyByPath 参数。
1040
+ */
1041
+ interface CameraFlyByPathRequest {
1042
+ /** 相机路径点集合。 */
1043
+ points?: Vector3[] | string;
1044
+ /** 视线目标点集合。 */
1045
+ lookAts?: Vector3[] | string;
1046
+ /** 飞行时长(秒)。 */
1047
+ time?: number;
1048
+ /** 路径平滑模式。 */
1049
+ smoothMode?: 0 | 1;
1050
+ }
1051
+ /**
1052
+ * Camera.setFlySpeed 参数。
1053
+ */
1054
+ interface CameraSetFlySpeedRequest {
1055
+ /** 飞行速度。 */
1056
+ speed: number;
1057
+ }
1058
+ /**
1059
+ * Camera.setCameraPositionAndRotation 参数。
1060
+ */
1061
+ interface CameraSetPositionAndRotationRequest {
1062
+ /** 相机位置。 */
1063
+ point: Vector3;
1064
+ /** 相机旋转。 */
1065
+ rotation: Vector3;
1066
+ }
1067
+ /**
1068
+ * Camera.setCameraFov 参数。
1069
+ */
1070
+ interface CameraSetFovRequest {
1071
+ /** 相机视场角。 */
1072
+ fov: number;
1073
+ }
1074
+ /**
1075
+ * Camera.startCameraObjFollow 参数。
1076
+ */
1077
+ interface CameraObjFollowRequest {
1078
+ /** 模型所属父节点 ID,可选。 */
1079
+ parentId?: string;
1080
+ /** 相机跟随的对象编号。 */
1081
+ id: string;
1082
+ /** 相机位置偏移量(x, y, z)。 */
1083
+ offSet?: Vector3;
1084
+ /** 轨迹的平滑度,取值范围 0~1,默认 0.85;取值越大,相机跟随得越慢,跟随轨迹越平滑。 */
1085
+ smooth?: number;
1086
+ }
1087
+ /**
1088
+ * Scene.setFeatureToggle 参数。
1089
+ */
1090
+ interface FeatureToggleRequest {
1091
+ /** 特性开关键名。 */
1092
+ key: string;
1093
+ /** 是否开启。 */
1094
+ enabled: boolean;
1095
+ }
1096
+ /**
1097
+ * Scene.switchSceneByName 参数。
1098
+ */
1099
+ interface SceneSwitchRequest {
1100
+ /** 场景名称。 */
1101
+ sceneName: string;
1102
+ }
1103
+ /**
1104
+ * Scene.listenMapCompass 参数。
1105
+ */
1106
+ interface SceneListenCompassRequest {
1107
+ /** 是否开启指北针监听。 */
1108
+ enable: boolean;
1264
1109
  }
1265
- type Vector2Input = Vector2 | Vector2JsonInput;
1266
1110
  /**
1267
- * Camera.lookAt 参数。
1111
+ * 模型对象选择器。
1268
1112
  */
1269
- interface CameraLookAtRequest {
1270
- /** 模型所属父节点 ID,可选。 */
1113
+ interface ModelSelectorRequest {
1114
+ /** 父节点 ID。 */
1115
+ parentId?: string;
1116
+ /** 对象 ID。 */
1117
+ id: string;
1118
+ }
1119
+ /**
1120
+ * Model.setVisible 参数。
1121
+ */
1122
+ interface ModelSetVisibleRequest {
1123
+ /** 父节点 ID。 */
1271
1124
  parentId?: string;
1272
1125
  /** 模型 ID,支持单个或多个。 */
1273
1126
  id: string | string[];
1274
- /** 视角方向偏移向量。 */
1127
+ /** 是否可见。 */
1128
+ visible?: boolean;
1129
+ }
1130
+ /**
1131
+ * Model.setVisible 参数。
1132
+ */
1133
+ interface ModelSetVisibleByTagsRequest {
1134
+ /** 标签,支持单个或多个。 */
1135
+ tags: string | string[];
1136
+ /** 是否可见。 */
1137
+ visible?: boolean;
1138
+ }
1139
+ /**
1140
+ * Model.setVisibleByAttibute 参数。
1141
+ */
1142
+ interface ModelSetVisibleByAttributeRequest {
1143
+ /** 属性对象,key 为属性名称,value 为属性值。 */
1144
+ attributes: Record<string, unknown>;
1145
+ /** 过滤模式,默认 FilterMode.Loose。 */
1146
+ filterMode?: FilterMode;
1147
+ /** 符合条件对象的显示/隐藏:true 显示,false 隐藏,默认 true。 */
1148
+ visible?: boolean;
1149
+ /** 仅在 filterMode=FilterMode.Strict 时生效:控制其它包含相同属性名但属性值不同的对象的显示/隐藏,默认 false。 */
1150
+ otherVisible?: boolean;
1151
+ }
1152
+ /**
1153
+ * WebView.updateWebView 参数。
1154
+ */
1155
+ interface WebViewUpdateRequest {
1156
+ /** 要创建的视频播放器的父对象(需要是 UI,为空时自动创建新的对象)。 */
1157
+ parentId?: string;
1158
+ /** 创建的视频播放器的名称。 */
1159
+ id: string;
1160
+ /** 网页的网址。 */
1161
+ url: string;
1162
+ }
1163
+ /**
1164
+ * Model.add 参数。
1165
+ */
1166
+ interface ModelAddRequest {
1167
+ /** 父节点 ID。 */
1168
+ parentId: string;
1169
+ /** 新模型对象 ID。 */
1170
+ id: string;
1171
+ /** 资源路径。 */
1172
+ assetsPath?: string;
1173
+ /** 位置。 */
1174
+ position?: Vector3;
1175
+ /** 旋转角。 */
1176
+ angle?: Vector3;
1177
+ /** 缩放。 */
1178
+ scale?: Vector3;
1179
+ /** 备注描述。 */
1180
+ description?: string;
1181
+ }
1182
+ /**
1183
+ * Model.remove 参数。
1184
+ */
1185
+ interface ModelRemoveRequest {
1186
+ /** 父节点 ID。 */
1187
+ parentId: string;
1188
+ /** 要删除的对象 ID 列表。 */
1189
+ ids: string[];
1190
+ }
1191
+ /**
1192
+ * Model.getModelBoundsInfo 参数。
1193
+ */
1194
+ interface ModelBoundsRequest {
1195
+ /** 父节点 ID。 */
1196
+ parentId: string;
1197
+ /** 目标模型 ID,支持单个或多个。 */
1198
+ id: string | string[];
1199
+ }
1200
+ /**
1201
+ * Layer.addLayer 参数。
1202
+ */
1203
+ interface LayerAddRequest {
1204
+ /** 父图层或分组 ID。仅传 parentId 时兼容作为 id 使用。 */
1205
+ parentId?: string;
1206
+ /** 图层对象 ID。 */
1207
+ id: string;
1208
+ /** 图层显示名称。 */
1209
+ layerName?: string;
1210
+ /** 图层默认是否显示。 */
1211
+ show?: boolean;
1212
+ /** 图层 POI 是否显示。 */
1213
+ poiEnabled?: boolean;
1214
+ /** 图层描述。 */
1215
+ description?: string;
1216
+ /** 图层是否为系统图层。true--断开连接不删除,false--断开连接删除。 */
1217
+ isSystem?: boolean;
1218
+ /**POI偏移量 */
1219
+ poiOffsetY?: number;
1220
+ }
1221
+ /**
1222
+ * Layer.removeLayer / Layer.isLayerOrGroupExit 参数。
1223
+ */
1224
+ interface LayerSelectorRequest {
1225
+ /** 父图层或分组 ID。仅传 parentId 时兼容作为 id 使用。 */
1226
+ parentId?: string;
1227
+ /** 图层或分组 ID。 */
1228
+ id: string;
1229
+ }
1230
+ /**
1231
+ * Layer.switchModelLayer 参数。
1232
+ */
1233
+ interface LayerSwitchModelRequest {
1234
+ /** 模型当前所属图层组 ID。 */
1235
+ parentId: string;
1236
+ /** 需要切换的模型 ID 列表。 */
1237
+ ids: string[];
1238
+ /** 目标图层组 ID。 */
1239
+ toParentId: string;
1240
+ }
1241
+ interface LayerShowUIPopRequest {
1242
+ /** 模型所属图层组 ID。 */
1243
+ parentId?: string;
1244
+ /** 新模型对象 ID。 */
1245
+ id: string;
1246
+ /** 资源路径。 */
1247
+ assetsPath?: string;
1248
+ /** poi的偏移量 */
1275
1249
  offSet?: Vector3Input;
1276
- /** 水平偏移量。 */
1277
- offSetX?: number;
1278
- /** 到目标的距离比例。 */
1279
- distance?: number;
1280
- /** 飞行时长(秒)。 */
1281
- time?: number;
1282
- /** 是否在飞行中旋转视角。 */
1283
- isRotate?: boolean;
1284
- /** 是否高亮目标。 */
1285
- isHighlight?: boolean;
1250
+ /** 是否可见 */
1251
+ visible?: boolean;
1252
+ /** 缩放。 */
1253
+ scale?: Vector3Input;
1286
1254
  }
1287
1255
  /**
1288
- * Camera.flyToTarget 参数。
1256
+ * Layer.addModel 参数。
1289
1257
  */
1290
- interface CameraFlyToTargetRequest {
1291
- /** 飞行终点坐标。 */
1292
- point?: Vector3Input;
1293
- /** 飞行过程中看向目标点。 */
1294
- target?: Vector3Input;
1295
- /** 飞行时长(秒)。 */
1296
- time?: number;
1258
+ interface LayerPOIAddRequest {
1259
+ /** 模型所属图层组 ID。 */
1260
+ parentId?: string;
1261
+ /** 新模型对象 ID。 */
1262
+ id: string;
1263
+ /** 资源路径。 */
1264
+ assetsPath: string;
1265
+ /** 位置。 */
1266
+ position?: Vector3Input;
1267
+ /**场景中参照绑定的位置的对象上级编号,防止重名,可不填写,但要保证 targetId是唯一的 */
1268
+ targetParentId?: string;
1269
+ /** 场景中参照绑定的位置的对象编号,与position功能一样,只需要存在一个 */
1270
+ targetId?: string;
1271
+ /** 旋转角。 */
1272
+ rotation?: Vector3Input;
1273
+ /** 缩放。 */
1274
+ scale?: Vector3Input;
1275
+ /**poi的偏移量 */
1276
+ offSet?: Vector3Input;
1277
+ /** 备注描述。 */
1278
+ description?: string;
1279
+ /** 模型是否为系统模型。true--断开连接不删除,false--断开连接删除。如果图层为非系统的,也会删除 */
1280
+ isSystem?: boolean;
1281
+ /** poi的文本 */
1282
+ text?: string;
1283
+ /** poi的字体大小,默认为 16 */
1284
+ fontSize?: number;
1285
+ /** 模型的标签 */
1286
+ tags?: string[];
1287
+ /** 扩展属性,json对象,可不填写 */
1288
+ extraProps?: any;
1289
+ }
1290
+ /**
1291
+ * Layer.addModel 参数。
1292
+ */
1293
+ interface LayerModelAddRequest {
1294
+ /** 模型所属图层组 ID。 */
1295
+ parentId: string;
1296
+ /** 新模型对象 ID。 */
1297
+ id: string;
1298
+ /** 资源路径。 */
1299
+ assetsPath?: string;
1300
+ /** 位置。 */
1301
+ position?: Vector3Input;
1302
+ /** 旋转角。 */
1303
+ rotation?: Vector3Input;
1304
+ /** 缩放。 */
1305
+ scale?: Vector3Input;
1306
+ /** 备注描述。 */
1307
+ description?: string;
1308
+ /** 模型是否为系统模型。true--断开连接不删除,false--断开连接删除。如果图层为非系统的,也会删除 */
1309
+ isSystem?: boolean;
1310
+ tags?: string[];
1311
+ name?: string;
1312
+ extraProps?: any;
1313
+ }
1314
+ /**
1315
+ * Layer.removeModel 参数。
1316
+ */
1317
+ interface LayerModelRemoveRequest {
1318
+ /** 模型所属图层组 ID。 */
1319
+ parentId: string;
1320
+ /** 要删除的模型 ID 列表。 */
1321
+ ids: string[];
1322
+ }
1323
+ /**
1324
+ * Layer.getLayerChildElement 参数。
1325
+ */
1326
+ interface LayerChildElementRequest {
1327
+ /** 父图层或分组 ID。 */
1328
+ parentId?: string;
1329
+ /** 当前图层 ID。 */
1330
+ id: string;
1331
+ }
1332
+ /**
1333
+ * WeatherSystem.changeWeatherType 参数。
1334
+ */
1335
+ interface WeatherTypeRequest {
1336
+ /** 天气类型名称。 */
1337
+ type: number;
1338
+ /** 天气类型持续时间(秒)。 */
1339
+ timeDuration: number;
1340
+ test?: string;
1297
1341
  }
1298
1342
  /**
1299
- * Camera.flyByPath 参数。
1343
+ * WeatherSystem.changeWeatherType 参数。
1300
1344
  */
1301
- interface CameraFlyByPathRequest {
1302
- /** 相机路径点集合。 */
1303
- points?: Vector3[] | string;
1304
- /** 视线目标点集合。 */
1305
- lookAts?: Vector3[] | string;
1306
- /** 飞行时长(秒)。 */
1307
- time?: number;
1308
- /** 路径平滑模式。 */
1309
- smoothMode?: 0 | 1;
1310
- }
1345
+ type GetWeatherTypeRequest = Record<string, never>;
1311
1346
  /**
1312
- * Camera.setFlySpeed 参数。
1347
+ * WeatherSystem.setSceneTime 参数。
1313
1348
  */
1314
- interface CameraSetFlySpeedRequest {
1315
- /** 飞行速度。 */
1316
- speed: number;
1349
+ interface WeatherSetSceneTimeRequest {
1350
+ /** 小时值。 0~24小时 */
1351
+ hour: number;
1352
+ /** 时间变化持续的时间(秒)。*/
1353
+ timeDuration?: number;
1317
1354
  }
1318
1355
  /**
1319
- * Camera.setCameraPositionAndRotation 参数。
1356
+ * WeatherSystem.setTimeSync 参数。
1320
1357
  */
1321
- interface CameraSetPositionAndRotationRequest {
1322
- /** 相机位置。 */
1323
- point: Vector3;
1324
- /** 相机旋转。 */
1325
- rotation: Vector3;
1358
+ interface WeatherSetTimeSyncRequest {
1359
+ /** 是否同步系统时间。 */
1360
+ syncSystemTime?: boolean;
1326
1361
  }
1327
1362
  /**
1328
- * Camera.setCameraFov 参数。
1363
+ * WeatherSystem.setAnimateTimeOfDay 参数。
1329
1364
  */
1330
- interface CameraSetFovRequest {
1331
- /** 相机视场角。 */
1332
- fov: number;
1365
+ interface WeatherSetAnimateTimeOfDayRequest {
1366
+ /** 是否模拟白天,黑夜时间动画。 */
1367
+ isAnimate?: boolean;
1368
+ /** 白天持续时间(分)。 默认0.5分钟*/
1369
+ dayLength?: number;
1370
+ /** 夜晚持续时间(分)。 默认0.5分钟 */
1371
+ nightLength?: number;
1333
1372
  }
1334
1373
  /**
1335
- * Camera.startCameraObjFollow 参数。
1374
+ * WeatherSystem.changeSeason 参数。
1336
1375
  */
1337
- interface CameraObjFollowRequest {
1338
- /** 模型所属父节点 ID,可选。 */
1339
- parentId?: string;
1340
- /** 相机跟随的对象编号。 */
1341
- id: string;
1342
- /** 相机位置偏移量(x, y, z)。 */
1343
- offSet?: Vector3;
1344
- /** 轨迹的平滑度,取值范围 0~1,默认 0.85;取值越大,相机跟随得越慢,跟随轨迹越平滑。 */
1345
- smooth?: number;
1376
+ interface WeatherChangeSeasonRequest {
1377
+ /** 季节标识。 */
1378
+ season: Season;
1379
+ /** 季节切换持续时间。 */
1380
+ duration?: number;
1346
1381
  }
1347
1382
  /**
1348
- * Scene.setFeatureToggle 参数。
1383
+ * WeatherSystem.setDayAndNight 参数。
1349
1384
  */
1350
- interface FeatureToggleRequest {
1351
- /** 特性开关键名。 */
1352
- key: string;
1353
- /** 是否开启。 */
1354
- enabled: boolean;
1385
+ interface WeatherSetDayAndNightRequest {
1386
+ /** 日夜类型,如 day/night。 */
1387
+ dayType: string;
1355
1388
  }
1356
1389
  /**
1357
- * Scene.switchSceneByName 参数。
1390
+ * WeatherSystem.openCameraFog 参数。
1358
1391
  */
1359
- interface SceneSwitchRequest {
1360
- /** 场景名称。 */
1361
- sceneName: string;
1392
+ interface WeatherOpenCameraFogRequest {
1393
+ /** 雾强度。 */
1394
+ fogIntensity?: number;
1395
+ /** 雾近端颜色。 */
1396
+ fogStartColor?: string;
1397
+ /** 雾远端颜色。 */
1398
+ fogEndColor?: string;
1399
+ /** 雾起始距离。 */
1400
+ fogStartDistance?: number;
1401
+ /** 雾终止距离。 */
1402
+ fogEndDistance?: number;
1403
+ /** 方向光强度。 */
1404
+ directionalIntensity?: number;
1405
+ /** 方向光衰减。 */
1406
+ directionalFallOff?: number;
1407
+ /** 方向光颜色。 */
1408
+ directionalColor?: string;
1362
1409
  }
1363
1410
  /**
1364
- * Scene.listenMapCompass 参数。
1411
+ * UIPOI.add 参数。
1365
1412
  */
1366
- interface SceneListenCompassRequest {
1367
- /** 是否开启指北针监听。 */
1368
- enable: boolean;
1413
+ interface UIPOIAddRequest {
1414
+ /** 气泡分组名称。 */
1415
+ groupName: string;
1416
+ /** 气泡信息列表。 */
1417
+ poiInfos: Array<Record<string, unknown>>;
1369
1418
  }
1370
1419
  /**
1371
- * 模型对象选择器。
1420
+ * UIPOI.deleteById 参数。
1372
1421
  */
1373
- interface ModelSelectorRequest {
1374
- /** 父节点 ID。 */
1375
- parentId?: string;
1376
- /** 对象 ID。 */
1422
+ interface UIPOIDeleteByIdRequest {
1423
+ /** 气泡分组名称。 */
1424
+ groupName: string;
1425
+ /** 气泡 ID。 */
1377
1426
  id: string;
1378
1427
  }
1379
1428
  /**
1380
- * Model.setVisible 参数。
1429
+ * UIPOI.deleteByGroup 参数。
1381
1430
  */
1382
- interface ModelSetVisibleRequest {
1383
- /** 父节点 ID。 */
1384
- parentId?: string;
1385
- /** 模型 ID,支持单个或多个。 */
1386
- id: string | string[];
1387
- /** 是否可见。 */
1388
- visible?: boolean;
1431
+ interface UIPOIDeleteByGroupRequest {
1432
+ /** 气泡分组名称。 */
1433
+ groupName: string;
1389
1434
  }
1390
1435
  /**
1391
- * Model.setVisible 参数。
1436
+ * UIPOI.update 参数。
1392
1437
  */
1393
- interface ModelSetVisibleByTagsRequest {
1394
- /** 标签,支持单个或多个。 */
1395
- tags: string | string[];
1396
- /** 是否可见。 */
1397
- visible?: boolean;
1438
+ interface UIPOIUpdateRequest {
1439
+ /** 气泡分组名称。 */
1440
+ groupName: string;
1441
+ /** 更新后的气泡信息列表。 */
1442
+ poiInfos: Array<Record<string, unknown>>;
1398
1443
  }
1399
1444
  /**
1400
- * Model.setVisibleByAttibute 参数。
1445
+ * UIPOI.updatePopStates 参数。
1401
1446
  */
1402
- interface ModelSetVisibleByAttributeRequest {
1403
- /** 属性对象,key 为属性名称,value 为属性值。 */
1404
- attributes: Record<string, unknown>;
1405
- /** 过滤模式,默认 FilterMode.Loose。 */
1406
- filterMode?: FilterMode;
1407
- /** 符合条件对象的显示/隐藏:true 显示,false 隐藏,默认 true。 */
1408
- visible?: boolean;
1409
- /** 仅在 filterMode=FilterMode.Strict 时生效:控制其它包含相同属性名但属性值不同的对象的显示/隐藏,默认 false。 */
1410
- otherVisible?: boolean;
1447
+ interface UIPOIUpdateStateRequest {
1448
+ /** 气泡分组名称。 */
1449
+ groupName: string;
1450
+ /** 气泡状态列表。 */
1451
+ popStates: Array<Record<string, unknown>>;
1411
1452
  }
1412
1453
  /**
1413
- * WebView.updateWebView 参数。
1454
+ * UIPOI.enableOverlap 参数。
1414
1455
  */
1415
- interface WebViewUpdateRequest {
1416
- /** 要创建的视频播放器的父对象(需要是 UI,为空时自动创建新的对象)。 */
1417
- parentId?: string;
1418
- /** 创建的视频播放器的名称。 */
1419
- id: string;
1420
- /** 网页的网址。 */
1421
- url: string;
1456
+ interface UIPOIEnableOverlapRequest {
1457
+ /** 是否开启碰撞避让。 */
1458
+ enable?: boolean;
1422
1459
  }
1423
1460
  /**
1424
- * Model.add 参数。
1461
+ * UIPOI.showDistance 参数。
1425
1462
  */
1426
- interface ModelAddRequest {
1427
- /** 父节点 ID。 */
1428
- parentId: string;
1429
- /** 新模型对象 ID。 */
1463
+ interface UIPOIShowDistanceRequest {
1464
+ /** 最远显示距离。 */
1465
+ distance: number;
1466
+ }
1467
+ /**
1468
+ * ModelPOI.add 参数。
1469
+ */
1470
+ interface ModelPOIAddRequest {
1471
+ /** 模型气泡 ID。 */
1430
1472
  id: string;
1473
+ /** 分组名称。 */
1474
+ groupName: string;
1431
1475
  /** 资源路径。 */
1432
- assetsPath?: string;
1433
- /** 位置。 */
1434
- position?: Vector3;
1435
- /** 旋转角。 */
1436
- angle?: Vector3;
1437
- /** 缩放。 */
1438
- scale?: Vector3;
1439
- /** 备注描述。 */
1440
- description?: string;
1476
+ assetPath: string;
1477
+ /** 目标父节点 ID。 */
1478
+ targetParentId?: string;
1479
+ /** 目标对象 ID。 */
1480
+ targetId?: string;
1481
+ /** 是否可见。 */
1482
+ visible?: boolean;
1441
1483
  }
1442
1484
  /**
1443
- * Model.remove 参数。
1485
+ * ModelPOI.deleteById 参数。
1444
1486
  */
1445
- interface ModelRemoveRequest {
1446
- /** 父节点 ID。 */
1447
- parentId: string;
1448
- /** 要删除的对象 ID 列表。 */
1487
+ interface ModelPOIDeleteByIdRequest {
1488
+ /** 分组名称。 */
1489
+ groupName: string;
1490
+ /** 要删除的气泡 ID 列表。 */
1449
1491
  ids: string[];
1450
1492
  }
1451
1493
  /**
1452
- * Model.getModelBoundsInfo 参数。
1494
+ * ModelPOI.deleteByGroup 参数。
1453
1495
  */
1454
- interface ModelBoundsRequest {
1455
- /** 父节点 ID。 */
1456
- parentId: string;
1457
- /** 目标模型 ID,支持单个或多个。 */
1458
- id: string | string[];
1496
+ interface ModelPOIDeleteByGroupRequest {
1497
+ /** 分组名称。 */
1498
+ groupName: string;
1459
1499
  }
1460
1500
  /**
1461
- * Layer.addLayer 参数。
1501
+ * ModelPOI.getPOIInfo 参数。
1462
1502
  */
1463
- interface LayerAddRequest {
1464
- /** 父图层或分组 ID。仅传 parentId 时兼容作为 id 使用。 */
1465
- parentId?: string;
1466
- /** 图层对象 ID。 */
1503
+ interface ModelPOIGetInfoRequest {
1504
+ /** 分组名称。 */
1505
+ groupName: string;
1506
+ /** 模型气泡 ID。 */
1467
1507
  id: string;
1468
- /** 图层显示名称。 */
1469
- layerName?: string;
1470
- /** 图层默认是否显示。 */
1471
- show?: boolean;
1472
- /** 图层 POI 是否显示。 */
1473
- poiEnabled?: boolean;
1474
- /** 图层描述。 */
1475
- description?: string;
1476
- /** 图层是否为系统图层。true--断开连接不删除,false--断开连接删除。 */
1477
- isSystem?: boolean;
1478
- /**POI偏移量 */
1479
- poiOffsetY?: number;
1480
1508
  }
1481
1509
  /**
1482
- * Layer.removeLayer / Layer.isLayerOrGroupExit 参数。
1510
+ * ModelPOI.update 参数。
1511
+ */
1512
+ interface ModelPOIUpdateRequest {
1513
+ /** 模型气泡 ID。 */
1514
+ id: string;
1515
+ /** 分组名称。 */
1516
+ groupName: string;
1517
+ /** 资源路径。 */
1518
+ assetPath?: string;
1519
+ /** 目标父节点 ID。 */
1520
+ targetParentId?: string;
1521
+ /** 目标对象 ID。 */
1522
+ targetId?: string;
1523
+ /** 是否可见。 */
1524
+ visible?: boolean;
1525
+ }
1526
+ /**
1527
+ * ModelPOI.setVisibleByGroup 参数。
1483
1528
  */
1484
- interface LayerSelectorRequest {
1485
- /** 父图层或分组 ID。仅传 parentId 时兼容作为 id 使用。 */
1486
- parentId?: string;
1487
- /** 图层或分组 ID。 */
1488
- id: string;
1529
+ interface ModelPOIVisibleByGroupRequest {
1530
+ /** 分组名称。 */
1531
+ groupName: string;
1532
+ /** 是否可见。 */
1533
+ visible: boolean;
1489
1534
  }
1490
1535
  /**
1491
- * Layer.switchModelLayer 参数。
1536
+ * Popup.addPop 单项配置。
1492
1537
  */
1493
- interface LayerSwitchModelRequest {
1494
- /** 模型当前所属图层组 ID。 */
1495
- parentId: string;
1496
- /** 需要切换的模型 ID 列表。 */
1497
- ids: string[];
1498
- /** 目标图层组 ID。 */
1499
- toParentId: string;
1500
- }
1501
- interface LayerShowUIPopRequest {
1502
- /** 模型所属图层组 ID。 */
1503
- parentId?: string;
1504
- /** 新模型对象 ID。 */
1538
+ interface PopupItemRequest {
1539
+ /** 气泡 ID。 */
1505
1540
  id: string;
1506
- /** 资源路径。 */
1507
- assetsPath?: string;
1508
- /** poi的偏移量 */
1509
- offSet?: Vector3Input;
1510
- /** 是否可见 */
1541
+ /** 父节点 ID。 */
1542
+ parentId?: string;
1543
+ /** 气泡 div 内容。 */
1544
+ div: HTMLDivElement;
1545
+ /** 是否可见。 */
1511
1546
  visible?: boolean;
1512
- /** 缩放。 */
1513
- scale?: Vector3Input;
1547
+ /** 显示位置。 */
1548
+ position?: Vector3;
1549
+ /** X 方向偏移。 */
1550
+ offSetX?: number;
1551
+ /** Y 方向偏移。 */
1552
+ offSetY?: number;
1514
1553
  }
1515
1554
  /**
1516
- * Layer.addModel 参数。
1555
+ * Popup.addPop 参数。
1517
1556
  */
1518
- interface LayerPOIAddRequest {
1519
- /** 模型所属图层组 ID。 */
1520
- parentId?: string;
1521
- /** 新模型对象 ID。 */
1522
- id: string;
1523
- /** 资源路径。 */
1524
- assetsPath: string;
1525
- /** 位置。 */
1526
- position?: Vector3Input;
1527
- /**场景中参照绑定的位置的对象上级编号,防止重名,可不填写,但要保证 targetId是唯一的 */
1528
- targetParentId?: string;
1529
- /** 场景中参照绑定的位置的对象编号,与position功能一样,只需要存在一个 */
1530
- targetId?: string;
1531
- /** 旋转角。 */
1532
- rotation?: Vector3Input;
1533
- /** 缩放。 */
1534
- scale?: Vector3Input;
1535
- /**poi的偏移量 */
1536
- offSet?: Vector3Input;
1537
- /** 备注描述。 */
1538
- description?: string;
1539
- /** 模型是否为系统模型。true--断开连接不删除,false--断开连接删除。如果图层为非系统的,也会删除 */
1540
- isSystem?: boolean;
1541
- /** poi的文本 */
1542
- text?: string;
1543
- /** poi的字体大小,默认为 16 */
1544
- fontSize?: number;
1545
- /** 模型的标签 */
1546
- tags?: string[];
1547
- /** 扩展属性,json对象,可不填写 */
1548
- extraProps?: any;
1557
+ interface PopupAddRequest {
1558
+ /** 分组名称。 */
1559
+ groupName?: string;
1560
+ /** 气泡配置列表。 */
1561
+ popInfo?: PopupItemRequest[];
1549
1562
  }
1550
1563
  /**
1551
- * Layer.addModel 参数。
1564
+ * Popup 同步信息(引擎侧 SyncPops 推送 / 前端需同步的气泡条目)。
1552
1565
  */
1553
- interface LayerModelAddRequest {
1554
- /** 模型所属图层组 ID。 */
1555
- parentId: string;
1556
- /** 新模型对象 ID。 */
1566
+ interface PopupSyncInfoRequest {
1567
+ /** 分组名称。 */
1568
+ groupName: string;
1569
+ /** 气泡 ID。 */
1557
1570
  id: string;
1558
- /** 资源路径。 */
1559
- assetsPath?: string;
1560
- /** 位置。 */
1571
+ /** 父节点 ID。 */
1572
+ parentId?: string;
1573
+ /** 显示位置。 */
1561
1574
  position?: Vector3Input;
1562
- /** 旋转角。 */
1563
- rotation?: Vector3Input;
1564
- /** 缩放。 */
1565
- scale?: Vector3Input;
1566
- /** 备注描述。 */
1567
- description?: string;
1568
- /** 模型是否为系统模型。true--断开连接不删除,false--断开连接删除。如果图层为非系统的,也会删除 */
1569
- isSystem?: boolean;
1570
- tags?: string[];
1571
- name?: string;
1572
- extraProps?: any;
1573
1575
  }
1574
1576
  /**
1575
- * Layer.removeModel 参数。
1577
+ * Popup.removePop 参数。
1576
1578
  */
1577
- interface LayerModelRemoveRequest {
1578
- /** 模型所属图层组 ID。 */
1579
- parentId: string;
1580
- /** 要删除的模型 ID 列表。 */
1581
- ids: string[];
1579
+ interface PopupRemoveRequest {
1580
+ /** 分组名称。 */
1581
+ groupName?: string;
1582
+ /** 待删除气泡 ID 列表。 */
1583
+ ids?: string[];
1582
1584
  }
1583
1585
  /**
1584
- * Layer.getLayerChildElement 参数。
1586
+ * Popup.show 参数。
1585
1587
  */
1586
- interface LayerChildElementRequest {
1587
- /** 父图层或分组 ID。 */
1588
- parentId?: string;
1589
- /** 当前图层 ID。 */
1590
- id: string;
1588
+ interface PopupShowRequest {
1589
+ /** 分组名称。 */
1590
+ groupName?: string;
1591
+ /** 气泡 ID 列表。 */
1592
+ ids?: string[];
1593
+ /** 是否显示。 */
1594
+ show?: boolean;
1591
1595
  }
1592
1596
  /**
1593
- * WeatherSystem.changeWeatherType 参数。
1597
+ * Popup.setPopDelayFrame 参数。
1594
1598
  */
1595
- interface WeatherTypeRequest {
1596
- /** 天气类型名称。 */
1597
- type: number;
1598
- /** 天气类型持续时间(秒)。 */
1599
- timeDuration: number;
1600
- test?: string;
1599
+ interface PopupDelayRequest {
1600
+ /** 延迟时间。 */
1601
+ time: number;
1601
1602
  }
1602
1603
  /**
1603
- * WeatherSystem.changeWeatherType 参数。
1604
- */
1605
- type GetWeatherTypeRequest = Record<string, never>;
1606
- /**
1607
- * WeatherSystem.setSceneTime 参数。
1604
+ * Popup.setPopShowDistance 参数。
1608
1605
  */
1609
- interface WeatherSetSceneTimeRequest {
1610
- /** 小时值。 0~24小时 */
1611
- hour: number;
1612
- /** 时间变化持续的时间(秒)。*/
1613
- timeDuration?: number;
1606
+ interface PopupShowDistanceRequest {
1607
+ /** 最远显示距离。 */
1608
+ distance: number;
1614
1609
  }
1615
1610
  /**
1616
- * WeatherSystem.setTimeSync 参数。
1611
+ * Animation.startLoopAnimation 参数。
1617
1612
  */
1618
- interface WeatherSetTimeSyncRequest {
1619
- /** 是否同步系统时间。 */
1620
- syncSystemTime?: boolean;
1613
+ interface AnimationStartLoopRequest {
1614
+ /** 父节点 ID。 */
1615
+ parentId?: string;
1616
+ /** 模型 ID。 */
1617
+ id: string;
1618
+ /** 动画状态名称。 */
1619
+ stateName: string;
1620
+ /** 循环起始时间。 */
1621
+ loopStartTime?: number;
1622
+ /** 循环结束时间。 */
1623
+ loopEndTime?: number;
1624
+ /** 播放速度。 */
1625
+ speed?: number;
1621
1626
  }
1622
1627
  /**
1623
- * WeatherSystem.setAnimateTimeOfDay 参数。
1628
+ * Animation.stopLoopAnimation 参数。
1624
1629
  */
1625
- interface WeatherSetAnimateTimeOfDayRequest {
1626
- /** 是否模拟白天,黑夜时间动画。 */
1627
- isAnimate?: boolean;
1628
- /** 白天持续时间(分)。 默认0.5分钟*/
1629
- dayLength?: number;
1630
- /** 夜晚持续时间(分)。 默认0.5分钟 */
1631
- nightLength?: number;
1630
+ interface AnimationStopLoopRequest {
1631
+ /** 父节点 ID。 */
1632
+ parentId?: string;
1633
+ /** 模型 ID。 */
1634
+ id: string;
1632
1635
  }
1633
1636
  /**
1634
- * WeatherSystem.changeSeason 参数。
1637
+ * Animation.playAnimator 参数。
1635
1638
  */
1636
- interface WeatherChangeSeasonRequest {
1637
- /** 季节标识。 */
1638
- season: Season;
1639
- /** 季节切换持续时间。 */
1640
- duration?: number;
1639
+ interface AnimationPlayRequest {
1640
+ /** 父节点 ID。 */
1641
+ parentId?: string;
1642
+ /** 模型 ID。 */
1643
+ id: string;
1644
+ /** 动画状态名称。 */
1645
+ stateName: string;
1646
+ /** 播放速度。 */
1647
+ speed?: number;
1648
+ /** 起始时间。 */
1649
+ startTime?: number;
1650
+ /** 结束时间。 */
1651
+ endTime?: number;
1652
+ /** 播放结束后是否停止。 */
1653
+ isStop?: boolean;
1641
1654
  }
1642
1655
  /**
1643
- * WeatherSystem.setDayAndNight 参数。
1656
+ * Animation.setAnimatorSpeed 参数。
1644
1657
  */
1645
- interface WeatherSetDayAndNightRequest {
1646
- /** 日夜类型,如 day/night。 */
1647
- dayType: string;
1658
+ interface AnimationSetSpeedRequest {
1659
+ /** 父节点 ID。 */
1660
+ parentId?: string;
1661
+ /** 模型 ID。 */
1662
+ id: string;
1663
+ /** 播放速度。 */
1664
+ speed: number;
1648
1665
  }
1649
1666
  /**
1650
- * WeatherSystem.openCameraFog 参数。
1667
+ * Animation.getAnimationLength 参数。
1651
1668
  */
1652
- interface WeatherOpenCameraFogRequest {
1653
- /** 雾强度。 */
1654
- fogIntensity?: number;
1655
- /** 雾近端颜色。 */
1656
- fogStartColor?: string;
1657
- /** 雾远端颜色。 */
1658
- fogEndColor?: string;
1659
- /** 雾起始距离。 */
1660
- fogStartDistance?: number;
1661
- /** 雾终止距离。 */
1662
- fogEndDistance?: number;
1663
- /** 方向光强度。 */
1664
- directionalIntensity?: number;
1665
- /** 方向光衰减。 */
1666
- directionalFallOff?: number;
1667
- /** 方向光颜色。 */
1668
- directionalColor?: string;
1669
+ interface AnimationGetLengthRequest {
1670
+ /** 父节点 ID。 */
1671
+ parentId?: string;
1672
+ /** 模型 ID。 */
1673
+ id: string;
1674
+ /** 动画状态名称。 */
1675
+ stateName: string;
1669
1676
  }
1670
1677
  /**
1671
- * UIPOI.add 参数。
1678
+ * Animation.stopAnimator 参数。
1672
1679
  */
1673
- interface UIPOIAddRequest {
1674
- /** 气泡分组名称。 */
1675
- groupName: string;
1676
- /** 气泡信息列表。 */
1677
- poiInfos: Array<Record<string, unknown>>;
1680
+ interface AnimationStopRequest {
1681
+ /** 父节点 ID。 */
1682
+ parentId?: string;
1683
+ /** 模型 ID。 */
1684
+ id: string;
1678
1685
  }
1679
1686
  /**
1680
- * UIPOI.deleteById 参数。
1687
+ * TimeLine.play 参数。
1681
1688
  */
1682
- interface UIPOIDeleteByIdRequest {
1683
- /** 气泡分组名称。 */
1684
- groupName: string;
1685
- /** 气泡 ID。 */
1686
- id: string;
1689
+ interface TimelinePlayRequest {
1690
+ /** 父节点 ID。 */
1691
+ parentId?: string;
1692
+ /** 时间线 ID(兼容字段)。 */
1693
+ id?: string;
1694
+ /** 时间线 ID。 */
1695
+ timelineId?: string;
1696
+ /** 初始时间。 */
1697
+ initialTime?: number;
1698
+ /** 播放速度。 */
1699
+ speed?: number;
1700
+ /** 是否保留最后一帧。 */
1701
+ keepLastFrame?: boolean;
1687
1702
  }
1688
1703
  /**
1689
- * UIPOI.deleteByGroup 参数。
1704
+ * TimeLine.pause / resume 参数。
1690
1705
  */
1691
- interface UIPOIDeleteByGroupRequest {
1692
- /** 气泡分组名称。 */
1693
- groupName: string;
1706
+ interface TimelineNodeRequest {
1707
+ /** 父节点 ID。 */
1708
+ parentId?: string;
1709
+ /** 时间线 ID(兼容字段)。 */
1710
+ id?: string;
1694
1711
  }
1695
1712
  /**
1696
- * UIPOI.update 参数。
1713
+ * TimeLine.stop 参数。
1697
1714
  */
1698
- interface UIPOIUpdateRequest {
1699
- /** 气泡分组名称。 */
1700
- groupName: string;
1701
- /** 更新后的气泡信息列表。 */
1702
- poiInfos: Array<Record<string, unknown>>;
1715
+ interface TimelineStopRequest {
1716
+ /** 父节点 ID。 */
1717
+ parentId?: string;
1718
+ /** 时间线 ID(兼容字段)。 */
1719
+ id?: string;
1720
+ /** 时间线 ID。 */
1721
+ timelineId?: string;
1722
+ /** 停止后重置到的时间。 */
1723
+ resetTime?: number;
1724
+ /** 停止后相机是否回到起点。 */
1725
+ isCameraToStart?: boolean;
1703
1726
  }
1704
1727
  /**
1705
- * UIPOI.updatePopStates 参数。
1728
+ * TimeLine.setSpeed 参数。
1706
1729
  */
1707
- interface UIPOIUpdateStateRequest {
1708
- /** 气泡分组名称。 */
1709
- groupName: string;
1710
- /** 气泡状态列表。 */
1711
- popStates: Array<Record<string, unknown>>;
1730
+ interface TimelineSetSpeedRequest {
1731
+ /** 父节点 ID。 */
1732
+ parentId?: string;
1733
+ /** 时间线 ID(兼容字段)。 */
1734
+ id?: string;
1735
+ /** 时间线 ID。 */
1736
+ timelineId?: string;
1737
+ /** 播放速度。 */
1738
+ speed: number;
1712
1739
  }
1713
1740
  /**
1714
- * UIPOI.enableOverlap 参数。
1741
+ * Screen.SetSceneRenderBitrate 参数。
1715
1742
  */
1716
- interface UIPOIEnableOverlapRequest {
1717
- /** 是否开启碰撞避让。 */
1718
- enable?: boolean;
1743
+ interface ScreenSetSceneRenderBitrateRequest {
1744
+ /**
1745
+ * 渲染码率档位。
1746
+ * 可选值:`auto / low / high / super / blue`。
1747
+ * 默认值 `high`。
1748
+ */
1749
+ bitrate?: ScreenRenderBitratePreset;
1719
1750
  }
1720
1751
  /**
1721
- * UIPOI.showDistance 参数。
1752
+ * Screen.SetSceneFPS 参数。
1722
1753
  */
1723
- interface UIPOIShowDistanceRequest {
1724
- /** 最远显示距离。 */
1725
- distance: number;
1754
+ interface ScreenSetSceneFPSRequest {
1755
+ /**
1756
+ * 渲染帧率。
1757
+ * 默认值为 `150`,有效范围 `1-300`。
1758
+ */
1759
+ fps?: number;
1726
1760
  }
1727
1761
  /**
1728
- * ModelPOI.add 参数。
1762
+ * Screen.SetScreenResolution 参数。
1729
1763
  */
1730
- interface ModelPOIAddRequest {
1731
- /** 模型气泡 ID。 */
1732
- id: string;
1733
- /** 分组名称。 */
1734
- groupName: string;
1735
- /** 资源路径。 */
1736
- assetPath: string;
1737
- /** 目标父节点 ID。 */
1738
- targetParentId?: string;
1739
- /** 目标对象 ID。 */
1740
- targetId?: string;
1741
- /** 是否可见。 */
1742
- visible?: boolean;
1764
+ interface ScreenSetScreenResolutionRequest {
1765
+ /**
1766
+ * 目标分辨率宽度。
1767
+ * 默认值 `1920`。
1768
+ */
1769
+ width?: number;
1770
+ /**
1771
+ * 目标分辨率高度。
1772
+ * 默认值 `1080`。
1773
+ */
1774
+ height?: number;
1743
1775
  }
1744
1776
  /**
1745
- * ModelPOI.deleteById 参数。
1777
+ * Screen.setVideoDecode 参数。
1746
1778
  */
1747
- interface ModelPOIDeleteByIdRequest {
1748
- /** 分组名称。 */
1749
- groupName: string;
1750
- /** 要删除的气泡 ID 列表。 */
1751
- ids: string[];
1779
+ interface ScreenSetVideoDecodeRequest {
1780
+ /**
1781
+ * 视频解码器类型。
1782
+ */
1783
+ decode: VideoCodeType;
1752
1784
  }
1753
1785
  /**
1754
- * ModelPOI.deleteByGroup 参数。
1786
+ * Dlss.setDlssEnable 参数。
1755
1787
  */
1756
- interface ModelPOIDeleteByGroupRequest {
1757
- /** 分组名称。 */
1758
- groupName: string;
1788
+ interface DlssSetEnableRequest {
1789
+ /**
1790
+ * 是否开启 DLSS。
1791
+ * 默认值 `true`。
1792
+ */
1793
+ enable?: boolean;
1794
+ /**
1795
+ * DLSS 质量档位。
1796
+ * 默认值 `DlssQuality.Balanced`。
1797
+ */
1798
+ quality?: DlssQuality;
1759
1799
  }
1760
1800
  /**
1761
- * ModelPOI.getPOIInfo 参数。
1801
+ * Dlss.setDlssQuality 参数。
1762
1802
  */
1763
- interface ModelPOIGetInfoRequest {
1764
- /** 分组名称。 */
1765
- groupName: string;
1766
- /** 模型气泡 ID。 */
1803
+ interface DlssSetQualityRequest {
1804
+ /**
1805
+ * DLSS 质量档位。
1806
+ * 默认值 `DlssQuality.Balanced`。
1807
+ */
1808
+ quality?: DlssQuality;
1809
+ }
1810
+ /**
1811
+ * ModelTransform.startMoveByNodes 参数。
1812
+ */
1813
+ interface ModelTransformStartMoveRequest {
1814
+ /** 父节点 ID,可以为空。 */
1815
+ parentId?: string;
1816
+ /** 移动对象编号。 */
1767
1817
  id: string;
1818
+ /** 移动轨迹点集合。 */
1819
+ nodes: Vector3Input[];
1820
+ /** 移动速度。默认 `1`。 */
1821
+ speed?: number;
1822
+ /** 移动方式,参见 `ModelTransformType` 枚举,默认 -1(引擎默认)。 */
1823
+ linear?: number;
1824
+ /** 是否看向移动的目标点。默认 `true`。 */
1825
+ isLookAtTarget?: boolean;
1826
+ /** 是否需要朝移动方向转向。默认 `true`。 */
1827
+ needDirection?: boolean;
1768
1828
  }
1769
1829
  /**
1770
- * ModelPOI.update 参数。
1830
+ * ModelTransform.pauseMove / resumeMove / endMove / endRotate / endScale 参数。
1771
1831
  */
1772
- interface ModelPOIUpdateRequest {
1773
- /** 模型气泡 ID。 */
1832
+ interface ModelTransformNodeRequest {
1833
+ /** 父节点 ID,可以为空。 */
1834
+ parentId?: string;
1835
+ /** 对象编号。 */
1774
1836
  id: string;
1775
- /** 分组名称。 */
1776
- groupName: string;
1777
- /** 资源路径。 */
1778
- assetPath?: string;
1779
- /** 目标父节点 ID。 */
1780
- targetParentId?: string;
1781
- /** 目标对象 ID。 */
1782
- targetId?: string;
1783
- /** 是否可见。 */
1784
- visible?: boolean;
1785
1837
  }
1786
1838
  /**
1787
- * ModelPOI.setVisibleByGroup 参数。
1839
+ * ModelTransform.restoreMove / restoreRotate / restoreScale 参数。
1788
1840
  */
1789
- interface ModelPOIVisibleByGroupRequest {
1790
- /** 分组名称。 */
1791
- groupName: string;
1792
- /** 是否可见。 */
1793
- visible: boolean;
1841
+ interface ModelTransformRestoreRequest {
1842
+ /** 父节点 ID,可以为空。 */
1843
+ parentId?: string;
1844
+ /** 需要恢复的对象 ID 列表。 */
1845
+ ids: string[];
1794
1846
  }
1795
1847
  /**
1796
- * Popup.addPop 单项配置。
1848
+ * ModelTransform.rotate / continuedRotate 参数。
1797
1849
  */
1798
- interface PopupItemRequest {
1799
- /** 气泡 ID。 */
1850
+ interface ModelTransformRotateRequest {
1851
+ /** 父节点 ID,可以为空。 */
1852
+ parentId?: string;
1853
+ /** 对象编号。 */
1800
1854
  id: string;
1801
- /** 父节点 ID。 */
1855
+ /** 对象绕 x/y/z 轴旋转的值,不旋转填写为 0。 */
1856
+ rotate: Vector3;
1857
+ }
1858
+ /**
1859
+ * ModelTransform.rotateByTarget 参数。
1860
+ */
1861
+ interface ModelTransformRotateByTargetRequest {
1862
+ /** 父节点 ID,可以为空。 */
1802
1863
  parentId?: string;
1803
- /** 气泡 div 内容。 */
1804
- div: HTMLDivElement;
1805
- /** 是否可见。 */
1806
- visible?: boolean;
1807
- /** 显示位置。 */
1808
- position?: Vector3;
1809
- /** X 方向偏移。 */
1810
- offSetX?: number;
1811
- /** Y 方向偏移。 */
1812
- offSetY?: number;
1864
+ /** 对象编号。 */
1865
+ id: string;
1866
+ /** 场景中参照位置的父级对象编号。 */
1867
+ parentTargetId?: string;
1868
+ /** 围绕的目标对象名称。 */
1869
+ targetID: string;
1870
+ /** 中心点;targetID 为空时为绕中心点,否则为相对 targetID 的偏移值。 */
1871
+ point: Vector3;
1872
+ /** 为正数则绕 x 轴旋转。默认 `0`。 */
1873
+ axisX?: number;
1874
+ /** 为正数则绕 y 轴旋转。默认 `0`。 */
1875
+ axisY?: number;
1876
+ /** 为正数则绕 z 轴旋转。默认 `0`。 */
1877
+ axisZ?: number;
1878
+ /** 旋转度数。默认 `0`。 */
1879
+ angle?: number;
1880
+ /** 是否持续旋转。默认 `false`。 */
1881
+ isPersistence?: boolean;
1813
1882
  }
1814
1883
  /**
1815
- * Popup.addPop 参数。
1884
+ * ModelTransform.setScale 参数。
1816
1885
  */
1817
- interface PopupAddRequest {
1818
- /** 分组名称。 */
1819
- groupName?: string;
1820
- /** 气泡配置列表。 */
1821
- popInfo?: PopupItemRequest[];
1886
+ interface ModelTransformScaleRequest {
1887
+ /** 父节点 ID,可以为空。 */
1888
+ parentId?: string;
1889
+ /** 对象编号。 */
1890
+ id: string;
1891
+ /** 目标缩放值。 */
1892
+ scale: Vector3;
1893
+ /** 缩放时长(秒)。默认 `0.5`。 */
1894
+ duration?: number;
1822
1895
  }
1823
1896
  /**
1824
- * Popup 同步信息(引擎侧 SyncPops 推送 / 前端需同步的气泡条目)。
1897
+ * HighLighterEffect.setHighLightModel 参数。
1825
1898
  */
1826
- interface PopupSyncInfoRequest {
1827
- /** 分组名称。 */
1828
- groupName: string;
1829
- /** 气泡 ID。 */
1830
- id: string;
1831
- /** 父节点 ID。 */
1899
+ interface HighLighterSetHighLightModelRequest {
1900
+ /** 对象组的父对象,可以为空。 */
1832
1901
  parentId?: string;
1833
- /** 显示位置。 */
1834
- position?: Vector3Input;
1902
+ /** 需要添加高光的对象编号数组。 */
1903
+ ids: string[];
1904
+ /** 是否高亮模型背面。 */
1905
+ showBack: boolean;
1835
1906
  }
1836
- /**
1837
- * Popup.removePop 参数。
1838
- */
1839
- interface PopupRemoveRequest {
1840
- /** 分组名称。 */
1841
- groupName?: string;
1842
- /** 待删除气泡 ID 列表。 */
1843
- ids?: string[];
1907
+ interface HighLighterEnableRequest {
1908
+ /** 是否启用高亮效果。 */
1909
+ enable: boolean;
1844
1910
  }
1845
1911
  /**
1846
- * Popup.show 参数。
1912
+ * HighLighterEffect.removeHighLightModel 参数。
1847
1913
  */
1848
- interface PopupShowRequest {
1849
- /** 分组名称。 */
1850
- groupName?: string;
1851
- /** 气泡 ID 列表。 */
1852
- ids?: string[];
1853
- /** 是否显示。 */
1854
- show?: boolean;
1914
+ interface HighLighterRemoveHighLightModelRequest {
1915
+ /** 对象组的父对象,可以为空。 */
1916
+ parentId?: string;
1917
+ /** 需要移除高光的对象名称数组。 */
1918
+ ids: string[];
1855
1919
  }
1856
1920
  /**
1857
- * Popup.setPopDelayFrame 参数。
1921
+ * PathPatrol 时间序列节点。
1858
1922
  */
1859
- interface PopupDelayRequest {
1860
- /** 延迟时间。 */
1861
- time: number;
1923
+ interface TimeSerialNode {
1924
+ /** 路径点坐标。 */
1925
+ node: Vector3Input;
1926
+ /** 时间节点,格式为 "2025-09-10 00:05:00"。 */
1927
+ time: string;
1862
1928
  }
1863
1929
  /**
1864
- * Popup.setPopShowDistance 参数。
1930
+ * PathPatrol.add 参数。
1865
1931
  */
1866
- interface PopupShowDistanceRequest {
1867
- /** 最远显示距离。 */
1868
- distance: number;
1932
+ interface PathPatrolAddRequest {
1933
+ /** 模型对象父对象编号。 */
1934
+ parentId?: string;
1935
+ /** 场景的模型对象编号。 */
1936
+ id: string;
1937
+ /** 场景的模型路径,可为空;为空时根据 id 到场景中寻找模型对象。 */
1938
+ assetPath?: string;
1939
+ /** 模型缩放的大小。 */
1940
+ scale: Vector3Input;
1941
+ /** 是否显示巡逻轨迹,默认 `true`。 */
1942
+ showPath?: boolean;
1943
+ /** 巡逻过的路径的显示颜色,默认 `#ffffff`。 */
1944
+ passedColor?: string;
1945
+ /** 未巡逻路径的颜色,默认 `#00ff00`。 */
1946
+ lineColor?: string;
1947
+ /** 线路的宽度。 */
1948
+ lineWidth: number;
1949
+ /** 全程所需时间。 */
1950
+ duration?: number;
1951
+ /** 路径点的集合,至少需要 2 个节点。 */
1952
+ nodes?: Vector3Input[];
1953
+ /** 路径点时间序列的集合。 */
1954
+ timeNodes?: TimeSerialNode[];
1955
+ /** 线的图层,如 TransparentFX。 */
1956
+ lineLayer?: string;
1957
+ /** 是否后渲染,默认 `false`;`true` 后渲染(渲染不会阻挡),`false` 前渲染。 */
1958
+ afterRender?: boolean;
1959
+ /** 是否自动清除,默认 `true`。 */
1960
+ isAutoClear?: boolean;
1869
1961
  }
1870
1962
  /**
1871
- * Animation.startLoopAnimation 参数。
1963
+ * PathPatrol.update 参数。
1872
1964
  */
1873
- interface AnimationStartLoopRequest {
1874
- /** 父节点 ID。 */
1965
+ interface PathPatrolUpdateRequest {
1966
+ /** 模型对象父对象编号。 */
1875
1967
  parentId?: string;
1876
- /** 模型 ID。 */
1968
+ /** 巡逻轨迹编号。 */
1877
1969
  id: string;
1878
- /** 动画状态名称。 */
1879
- stateName: string;
1880
- /** 循环起始时间。 */
1881
- loopStartTime?: number;
1882
- /** 循环结束时间。 */
1883
- loopEndTime?: number;
1884
- /** 播放速度。 */
1970
+ /** 巡逻轨迹的颜色。 */
1971
+ lineColor?: string;
1972
+ /** 巡逻路线的宽度。 */
1973
+ lineWidth?: number;
1974
+ /** 巡逻过的路径的显示颜色。 */
1975
+ passedColor?: string;
1976
+ /** 调整速度,不能小于 0。 */
1885
1977
  speed?: number;
1886
1978
  }
1887
1979
  /**
1888
- * Animation.stopLoopAnimation 参数。
1980
+ * PathPatrol.setTimeNode 参数。
1889
1981
  */
1890
- interface AnimationStopLoopRequest {
1891
- /** 父节点 ID。 */
1982
+ interface PathPatrolSetTimeNodeRequest {
1983
+ /** 模型对象父对象编号。 */
1892
1984
  parentId?: string;
1893
- /** 模型 ID。 */
1985
+ /** 巡逻对象编号。 */
1894
1986
  id: string;
1987
+ /** 时间节点,格式为 "2025-09-10 00:05:00"。`timeStart` 与 `startNodeIndex` 只能有一个不为空。 */
1988
+ timeStart?: string;
1989
+ /** 开始节点索引,不能小于 0。`timeStart` 与 `startNodeIndex` 只能有一个不为空。 */
1990
+ startNodeIndex?: string;
1895
1991
  }
1896
1992
  /**
1897
- * Animation.playAnimator 参数。
1993
+ * PathPatrol.pause / resume / stop 参数。
1898
1994
  */
1899
- interface AnimationPlayRequest {
1900
- /** 父节点 ID。 */
1995
+ interface PathPatrolNodeRequest {
1996
+ /** 模型对象父对象编号。 */
1901
1997
  parentId?: string;
1902
- /** 模型 ID。 */
1998
+ /** 巡逻对象编号。 */
1903
1999
  id: string;
1904
- /** 动画状态名称。 */
1905
- stateName: string;
1906
- /** 播放速度。 */
1907
- speed?: number;
1908
- /** 起始时间。 */
1909
- startTime?: number;
1910
- /** 结束时间。 */
1911
- endTime?: number;
1912
- /** 播放结束后是否停止。 */
1913
- isStop?: boolean;
1914
2000
  }
1915
2001
  /**
1916
- * Animation.setAnimatorSpeed 参数。
2002
+ * 单个热力点数据(地理坐标 + 热度值)。
1917
2003
  */
1918
- interface AnimationSetSpeedRequest {
1919
- /** 父节点 ID。 */
2004
+ interface HeatMapPointRequest {
2005
+ /** 点位置(地理坐标,默认 EPSG4326)。 */
2006
+ position: Vector3Input;
2007
+ /** 该点的热度值(0~1),默认 1。 */
2008
+ value?: number;
2009
+ }
2010
+ /**
2011
+ * HeatMap.create 参数。
2012
+ */
2013
+ interface HeatMapCreateRequest {
2014
+ /** 热力图所属父节点 ID,可选。 */
1920
2015
  parentId?: string;
1921
- /** 模型 ID。 */
1922
- id: string;
1923
- /** 播放速度。 */
1924
- speed: number;
2016
+ /** 热力图 ID;重复创建相同 ID 会更新该热力图数据,可空。 */
2017
+ id?: string;
2018
+ /** 热力图纹理尺寸(像素),默认 256x256;地理数据模式下由坐标范围自动计算。 */
2019
+ textureSize?: Vector2Input;
2020
+ /** 热力图在地图中的尺寸(厘米),默认 1000x1000;地理数据模式下由坐标范围自动计算。 */
2021
+ mapSize?: Vector2Input;
2022
+ /** 单个热力点的影响范围(像素),默认 50。 */
2023
+ influenceSize?: number;
2024
+ /** 热力点数据列表,支持 `{ position, value }` 对象数组或 `Vector3Input` 位置数组(热度值默认 1)。 */
2025
+ points: HeatMapPointRequest[] | Vector3Input[];
2026
+ /** 材质透明度,默认 0.7。 */
2027
+ opacity?: number;
2028
+ /** 高度缩放,默认 2500。 */
2029
+ heightScale?: number;
2030
+ /** 颜色过渡比例,默认 2.5。 */
2031
+ lerpScale?: number;
2032
+ /** 是否添加到场景中,默认 false */
2033
+ isAddAsset?: boolean;
1925
2034
  }
1926
2035
  /**
1927
- * Animation.getAnimationLength 参数。
2036
+ * HeatMap.remove 参数。
1928
2037
  */
1929
- interface AnimationGetLengthRequest {
1930
- /** 父节点 ID。 */
2038
+ interface HeatMapRemoveRequest {
2039
+ /** 热力图所属父节点 ID,可选。 */
1931
2040
  parentId?: string;
1932
- /** 模型 ID。 */
2041
+ /** 热力图 ID;为空时移除全部热力图。 */
2042
+ id?: string;
2043
+ }
2044
+ /**
2045
+ * HeatMap.setConfig 参数。
2046
+ */
2047
+ interface HeatMapConfigRequest {
2048
+ /** 热力图所属父节点 ID,可选。 */
2049
+ parentId?: string;
2050
+ /** 热力图 ID;为空时作用于最近创建的热力图。 */
2051
+ id?: string;
2052
+ /** 材质透明度,默认 0.7。 */
2053
+ opacity?: number;
2054
+ /** 高度缩放,默认 2500。 */
2055
+ heightScale?: number;
2056
+ /** 颜色过渡比例,默认 2.5。 */
2057
+ lerpScale?: number;
2058
+ /**影响范围 */
2059
+ influenceSize?: number;
2060
+ }
2061
+ /**
2062
+ * Navigation.startMeshNav / getMeshNavDistance 参数。
2063
+ */
2064
+ interface NavigationMeshNavRequest {
2065
+ /** 对象组的父对象,可以为空。 */
2066
+ parentId?: string;
2067
+ /** 对象名称数组集合。 */
1933
2068
  id: string;
1934
- /** 动画状态名称。 */
1935
- stateName: string;
2069
+ /** 路径节点数组集合,与 `targetIds` 二选一。 */
2070
+ nodes?: Vector3Input[];
2071
+ /** 路径节点经过的目标对象名称数组集合,与 `nodes` 二选一;需保证场景中各编号对象唯一存在。 */
2072
+ targetIds?: string[];
2073
+ /** 物体移动的速度,默认 1。 */
2074
+ speed?: number;
2075
+ /** 是否作为导航缓存路径点,默认 `true`;`true` 表示将节点加入缓存路径,下次修改时前置节点仍会经过,`false` 表示按新路径导航。 */
2076
+ isCache?: boolean;
2077
+ /** 导航规划路径颜色。 */
2078
+ planColor?: string;
2079
+ /** 导航已走过的路径颜色。 */
2080
+ passColor?: string;
2081
+ /** 导航规划线的宽度,默认 1。 */
2082
+ lineWidth?: number;
2083
+ /** 是否自动播放,默认 `true`。 */
2084
+ isAutoPlay?: boolean;
2085
+ /** 场景的模型路径,可为空;为空时根据 id 到场景中寻找模型对象。 */
2086
+ assetPath?: string;
2087
+ /** 模型缩放比例,默认 1。 */
2088
+ scale?: Vector3Input;
2089
+ /** 是否自动清除,默认 `true`。 */
2090
+ isAutoClear?: boolean;
2091
+ offSetZ?: number;
1936
2092
  }
1937
2093
  /**
1938
- * Animation.stopAnimator 参数。
2094
+ * Navigation.pauseMeshNav / resumeMeshNav / stopMeshNav / pauseNavPath / resumeNavPath / stopNavPath 参数。
1939
2095
  */
1940
- interface AnimationStopRequest {
1941
- /** 父节点 ID。 */
2096
+ interface NavigationNodeRequest {
2097
+ /** 对象组的父对象,可以为空。 */
1942
2098
  parentId?: string;
1943
- /** 模型 ID。 */
2099
+ /** 对象名称数组集合。 */
1944
2100
  id: string;
1945
2101
  }
1946
2102
  /**
1947
- * TimeLine.play 参数。
2103
+ * Navigation.updateMeshNav 参数。
1948
2104
  */
1949
- interface TimelinePlayRequest {
1950
- /** 父节点 ID。 */
2105
+ interface NavigationUpdateMeshNavRequest {
2106
+ /** 对象组的父对象,可以为空。 */
1951
2107
  parentId?: string;
1952
- /** 时间线 ID(兼容字段)。 */
1953
- id?: string;
1954
- /** 时间线 ID。 */
1955
- timelineId?: string;
1956
- /** 初始时间。 */
1957
- initialTime?: number;
1958
- /** 播放速度。 */
2108
+ /** 对象名称数组集合。 */
2109
+ id: string;
2110
+ /** 物体移动的速度,默认 -1(不改变速度)。 */
1959
2111
  speed?: number;
1960
- /** 是否保留最后一帧。 */
1961
- keepLastFrame?: boolean;
2112
+ /** 导航规划路径颜色。 */
2113
+ planColor?: string;
2114
+ /** 导航已走过的路径颜色。 */
2115
+ passColor?: string;
1962
2116
  }
1963
- /**
1964
- * TimeLine.pause / resume 参数。
1965
- */
1966
- interface TimelineNodeRequest {
1967
- /** 父节点 ID。 */
2117
+ interface NavigationUpdateSpeedRequest {
2118
+ /** 对象组的父对象,可以为空。 */
1968
2119
  parentId?: string;
1969
- /** 时间线 ID(兼容字段)。 */
1970
- id?: string;
2120
+ /** 对象名称数组集合。 */
2121
+ id: string;
2122
+ /** 物体移动的速度,默认 -1(不改变速度)。 */
2123
+ speed?: number;
1971
2124
  }
1972
2125
  /**
1973
- * TimeLine.stop 参数。
2126
+ * Navigation.startNavByPath 参数。
1974
2127
  */
1975
- interface TimelineStopRequest {
1976
- /** 父节点 ID。 */
2128
+ interface NavigationNavByPathRequest {
2129
+ /** 对象组的父对象,可以为空。 */
1977
2130
  parentId?: string;
1978
- /** 时间线 ID(兼容字段)。 */
1979
- id?: string;
1980
- /** 时间线 ID。 */
1981
- timelineId?: string;
1982
- /** 停止后重置到的时间。 */
1983
- resetTime?: number;
1984
- /** 停止后相机是否回到起点。 */
1985
- isCameraToStart?: boolean;
2131
+ /** 对象名称数组集合。 */
2132
+ id: string[];
2133
+ /** 路径节点数组集合。 */
2134
+ nodes: Vector3Input[];
2135
+ /** 是否作为导航缓存路径点,默认 `true`。 */
2136
+ isCache?: boolean;
2137
+ /** 导航轨迹总时间(秒),默认 10。 */
2138
+ duration?: number;
2139
+ /** 导航规划路径颜色。 */
2140
+ planColor?: string;
2141
+ /** 导航已走过的路径颜色。 */
2142
+ passColor?: string;
1986
2143
  }
1987
2144
  /**
1988
- * TimeLine.setSpeed 参数。
2145
+ * Navigation.updateNavPath 参数。
1989
2146
  */
1990
- interface TimelineSetSpeedRequest {
1991
- /** 父节点 ID。 */
2147
+ interface NavigationUpdateNavPathRequest {
2148
+ /** 对象组的父对象,可以为空。 */
1992
2149
  parentId?: string;
1993
- /** 时间线 ID(兼容字段)。 */
1994
- id?: string;
1995
- /** 时间线 ID。 */
1996
- timelineId?: string;
1997
- /** 播放速度。 */
1998
- speed: number;
1999
- }
2000
- /**
2001
- * Screen.SetSceneRenderBitrate 参数。
2002
- */
2003
- interface ScreenSetSceneRenderBitrateRequest {
2004
- /**
2005
- * 渲染码率档位。
2006
- * 可选值:`auto / low / high / super / blue`。
2007
- * 默认值 `high`。
2008
- */
2009
- bitrate?: ScreenRenderBitratePreset;
2150
+ /** 对象名称数组集合。 */
2151
+ id: string[];
2152
+ /** 导航轨迹总时间(秒),默认 -1(不改变时长)。 */
2153
+ duration?: number;
2154
+ /** 导航规划路径颜色。 */
2155
+ planColor?: string;
2156
+ /** 导航已走过的路径颜色。 */
2157
+ passColor?: string;
2010
2158
  }
2011
2159
  /**
2012
- * Screen.SetSceneFPS 参数。
2160
+ * SpatialQuery.layerQueryByModel 参数。
2013
2161
  */
2014
- interface ScreenSetSceneFPSRequest {
2015
- /**
2016
- * 渲染帧率。
2017
- * 默认值为 `150`,有效范围 `1-300`。
2018
- */
2019
- fps?: number;
2162
+ interface SpatialQueryLayerByModelRequest {
2163
+ /** 场景查询位置的对象上级编号,可以为空。 */
2164
+ parentId?: string;
2165
+ /** 查询参照的位置对象唯一编号。 */
2166
+ id?: string;
2167
+ /** 查询的半径,单位米,默认 50。 */
2168
+ queryRadius?: number;
2169
+ /** 查询的最小高度,默认 0;值不能大于最大高度。 */
2170
+ queryMinHeight?: number;
2171
+ /** 查询的最大高度,默认 20;值不能小于最小高度。 */
2172
+ queryMaxHeight?: number;
2173
+ /** 查询的图层组编号集合,至少一个。 */
2174
+ queryParentIds: string[];
2175
+ }
2176
+ /**
2177
+ * SpatialQuery.layerQueryByPosition 参数。
2178
+ */
2179
+ interface SpatialQueryLayerByPositionRequest {
2180
+ /** 查询的中心位置。 */
2181
+ queryPosition?: Vector3Input;
2182
+ /** 查询的半径,单位米,默认 50。 */
2183
+ queryRadius?: number;
2184
+ /** 查询的最小高度,默认 0;值不能大于最大高度。 */
2185
+ queryMinHeight?: number;
2186
+ /** 查询的最大高度,默认 20;值不能小于最小高度。 */
2187
+ queryMaxHeight?: number;
2188
+ /** 查询的图层组编号集合,至少一个。 */
2189
+ queryParentIds: string[];
2190
+ }
2191
+ /**
2192
+ * SpatialQuery.layerQueryByModelBox 参数。
2193
+ */
2194
+ interface SpatialQueryLayerByModelBoxRequest {
2195
+ /** 场景查询位置的对象上级编号,可以为空。 */
2196
+ parentId?: string;
2197
+ /** 查询参照的位置对象唯一编号。 */
2198
+ id?: string;
2199
+ /** 查询的图层组编号集合,至少一个。 */
2200
+ queryParentIds: string[];
2020
2201
  }
2021
- /**
2022
- * Screen.SetScreenResolution 参数。
2023
- */
2024
- interface ScreenSetScreenResolutionRequest {
2025
- /**
2026
- * 目标分辨率宽度。
2027
- * 默认值 `1920`。
2028
- */
2029
- width?: number;
2030
- /**
2031
- * 目标分辨率高度。
2032
- * 默认值 `1080`。
2033
- */
2034
- height?: number;
2202
+ //#endregion
2203
+ //#region src/types/buildingFloor.d.ts
2204
+ /** 建筑楼层固定视角。 */
2205
+ interface BuildingFloorViewPoint {
2206
+ /** 相机位置。 */
2207
+ position: Vector3Input;
2208
+ /** 相机看向的目标点。 */
2209
+ target: Vector3Input;
2210
+ /** 水平视场角。 */
2211
+ fov?: number;
2212
+ /** 相机飞行时长(秒)。 */
2213
+ time?: number;
2035
2214
  }
2036
- /**
2037
- * Screen.setVideoDecode 参数。
2038
- */
2039
- interface ScreenSetVideoDecodeRequest {
2040
- /**
2041
- * 视频解码器类型。
2042
- */
2043
- decode: VideoCodeType;
2215
+ /** 对象形式的楼层注册项。 */
2216
+ interface BuildingFloorItem {
2217
+ /** UE 楼层节点 ID。 */
2218
+ id: string;
2219
+ /** 该楼层的可选固定视角。 */
2220
+ viewPoint?: BuildingFloorViewPoint;
2221
+ /** 切换到该楼层后显示的附属对象。 */
2222
+ objects?: string[];
2223
+ }
2224
+ /** 楼层既可使用节点 ID,也可使用带固定视角的对象。 */
2225
+ type BuildingFloorInput = string | BuildingFloorItem;
2226
+ /** 建筑整栋视图配置。 */
2227
+ interface BuildingFloorOverview {
2228
+ /** 仅在整栋视图中显示的附属对象。 */
2229
+ objects?: string[];
2230
+ /** 整栋视图的可选固定视角。 */
2231
+ viewPoint?: BuildingFloorViewPoint;
2232
+ }
2233
+ /** 单栋建筑的楼层注册配置。 */
2234
+ interface BuildingFloorRegistration {
2235
+ /** SDK 内唯一的建筑标识。 */
2236
+ buildingId: string;
2237
+ /** 楼层模型共同所属的 UE 父节点。 */
2238
+ parentId: string;
2239
+ /** 从低到高排列的楼层配置。 */
2240
+ floors: BuildingFloorInput[];
2241
+ /** 整栋视图配置。 */
2242
+ overview?: BuildingFloorOverview;
2243
+ }
2244
+ /** 建筑注册结果。 */
2245
+ interface BuildingFloorRegistrationResult {
2246
+ buildingIds: string[];
2247
+ }
2248
+ /** 楼层切换参数。 */
2249
+ interface BuildingFloorSwitchOptions {
2250
+ buildingId: string;
2251
+ floorId: string;
2252
+ /** 是否在楼层动画结束后调整相机,默认 false。 */
2253
+ focus?: boolean;
2254
+ }
2255
+ /** 恢复整栋视图参数。 */
2256
+ interface BuildingFloorOverviewOptions {
2257
+ buildingId: string;
2258
+ /** 是否在楼层动画结束后调整相机,默认 false。 */
2259
+ focus?: boolean;
2260
+ }
2261
+ /** 取消楼层切换参数。 */
2262
+ interface BuildingFloorCancelOptions {
2263
+ buildingId: string;
2264
+ }
2265
+ /** 查询楼层状态参数。 */
2266
+ interface BuildingFloorStateOptions {
2267
+ buildingId: string;
2268
+ }
2269
+ type BuildingFloorRuntimeStatus = 'overview' | 'switching' | 'floor' | 'cancelled';
2270
+ type BuildingFloorTransitionStatus = 'completed' | 'cancelled';
2271
+ type BuildingFloorFocusMode = 'none' | 'viewPoint' | 'bounds';
2272
+ /** 楼层切换结果。 */
2273
+ interface BuildingFloorTransitionResult {
2274
+ buildingId: string;
2275
+ floorId?: string;
2276
+ status: BuildingFloorTransitionStatus;
2277
+ visibleFloorIds: string[];
2278
+ focusMode: BuildingFloorFocusMode;
2279
+ /** 当前版本按 SDK 预计时间完成收口,尚未获得 UE 动画完成事件确认。 */
2280
+ completion: 'estimated';
2281
+ }
2282
+ /** 指定建筑的楼层运行状态快照。 */
2283
+ interface BuildingFloorState {
2284
+ buildingId: string;
2285
+ status: BuildingFloorRuntimeStatus;
2286
+ currentFloorId?: string;
2287
+ visibleFloorIds: string[];
2288
+ transitionId: number;
2044
2289
  }
2290
+ //#endregion
2291
+ //#region src/types/common.d.ts
2292
+ type ApiCallback<T> = (result: T) => void;
2293
+ type EngineLogLevel = 'silent' | 'error' | 'warn' | 'info' | 'debug';
2294
+ type EngineViewMode = 'bs' | 'cs';
2045
2295
  /**
2046
- * Dlss.setDlssEnable 参数。
2296
+ * 引擎状态详情结构,与 sdk2 的 EngineStatusInfo 字段语义保持一致。
2047
2297
  */
2048
- interface DlssSetEnableRequest {
2049
- /**
2050
- * 是否开启 DLSS。
2051
- * 默认值 `true`。
2052
- */
2053
- enable?: boolean;
2054
- /**
2055
- * DLSS 质量档位。
2056
- * 默认值 `DlssQuality.Balanced`。
2057
- */
2058
- quality?: DlssQuality;
2298
+ interface EngineStatusInfo {
2299
+ CameraHeight: string;
2300
+ FPS: string;
2301
+ Width: string;
2302
+ Height: string;
2303
+ runTime: string;
2304
+ bytePerSecond: string;
2305
+ lostPacketsRate: string;
2306
+ delayTime: string;
2307
+ Codec: string;
2059
2308
  }
2060
- /**
2061
- * Dlss.setDlssQuality 参数。
2062
- */
2063
- interface DlssSetQualityRequest {
2064
- /**
2065
- * DLSS 质量档位。
2066
- * 默认值 `DlssQuality.Balanced`。
2067
- */
2068
- quality?: DlssQuality;
2309
+ interface EngineConfig {
2310
+ /** 鉴权服务器地址 */
2311
+ centerIP?: string;
2312
+ /** 信令服务 HTTP 基地址,SDK 会基于该地址调用 `/api/v1/allocate` 获取最终 ws 播放地址 */
2313
+ signalingServer?: string;
2314
+ sceneName?: string;
2315
+ token?: string;
2316
+ dom?: HTMLDivElement;
2317
+ showProgressBar?: boolean;
2318
+ codec?: string;
2319
+ viewMode?: EngineViewMode;
2320
+ /** TURN 服务器地址 */
2321
+ turnServer?: string;
2322
+ /** TURN 用户名 */
2323
+ turnUser?: string;
2324
+ /** TURN 密码 */
2325
+ turnPwd?: string;
2326
+ /** 私有密钥 */
2327
+ privateKey?: string;
2328
+ engineUuid?: string;
2329
+ mapType?: string;
2330
+ operationType?: string;
2331
+ freeCheckInterval?: number;
2332
+ /** PixelStreaming initialSettings */
2333
+ initialSettings?: Record<string, unknown>;
2334
+ /** 日志级别,默认值为 info */
2335
+ logger?: EngineLogLevel;
2336
+ /** 从指定级别开始附加业务调用栈,默认值为 warn;silent 表示关闭 */
2337
+ includeStack?: EngineLogLevel;
2338
+ /** Pixel Streaming 依赖日志级别,默认值为 warn */
2339
+ pixelStreamingLogger?: EngineLogLevel;
2069
2340
  }
2070
- /**
2071
- * ModelTransform.startMoveByNodes 参数。
2072
- */
2073
- interface ModelTransformStartMoveRequest {
2074
- /** 父节点 ID,可以为空。 */
2075
- parentId?: string;
2076
- /** 移动对象编号。 */
2077
- id: string;
2078
- /** 移动轨迹点集合。 */
2079
- nodes: Vector3Input[];
2080
- /** 移动速度。默认 `1`。 */
2081
- speed?: number;
2082
- /** 移动方式,参见 `ModelTransformType` 枚举,默认 -1(引擎默认)。 */
2083
- linear?: number;
2084
- /** 是否看向移动的目标点。默认 `true`。 */
2085
- isLookAtTarget?: boolean;
2086
- /** 是否需要朝移动方向转向。默认 `true`。 */
2087
- needDirection?: boolean;
2341
+ interface ApiRequestEnvelope<T = unknown> {
2342
+ AssemblyName: string;
2343
+ fn: string;
2344
+ ClassName: string;
2345
+ FunctionName: string;
2346
+ Value?: any;
2347
+ ts: number;
2088
2348
  }
2089
- /**
2090
- * ModelTransform.pauseMove / resumeMove / endMove / endRotate / endScale 参数。
2091
- */
2092
- interface ModelTransformNodeRequest {
2093
- /** 父节点 ID,可以为空。 */
2094
- parentId?: string;
2095
- /** 对象编号。 */
2096
- id: string;
2349
+ interface ApiResponseEnvelope<T = unknown> {
2350
+ requestId: string;
2351
+ success: boolean;
2352
+ code: string;
2353
+ message: string;
2354
+ params?: any;
2355
+ errorMsg?: string;
2356
+ data?: T;
2357
+ ts: number;
2097
2358
  }
2098
- /**
2099
- * ModelTransform.restoreMove / restoreRotate / restoreScale 参数。
2100
- */
2101
- interface ModelTransformRestoreRequest {
2102
- /** 父节点 ID,可以为空。 */
2103
- parentId?: string;
2104
- /** 需要恢复的对象 ID 列表。 */
2105
- ids: string[];
2359
+ interface ResolvedEngineConfig {
2360
+ centerIP: string;
2361
+ signalingServer?: string;
2362
+ sceneName: string;
2363
+ token: string;
2364
+ dom: HTMLDivElement;
2365
+ showProgressBar: boolean;
2366
+ codec: string;
2367
+ viewMode: EngineViewMode;
2368
+ turnServer?: string;
2369
+ turnUser?: string;
2370
+ turnPwd?: string;
2371
+ privateKey: string;
2372
+ engineUuid?: string;
2373
+ mapType: string;
2374
+ operationType: string;
2375
+ freeCheckInterval: number;
2376
+ initialSettings: Record<string, unknown>;
2377
+ logger: EngineLogLevel;
2378
+ includeStack: EngineLogLevel;
2379
+ pixelStreamingLogger: EngineLogLevel;
2380
+ centerHeartbeatIntervalMs: number;
2381
+ centerHeartbeatTimeoutMs: number;
2106
2382
  }
2383
+ //#endregion
2384
+ //#region src/types/network.d.ts
2107
2385
  /**
2108
- * ModelTransform.rotate / continuedRotate 参数。
2386
+ * 弱网自适应档位。
2109
2387
  */
2110
- interface ModelTransformRotateRequest {
2111
- /** 父节点 ID,可以为空。 */
2112
- parentId?: string;
2113
- /** 对象编号。 */
2114
- id: string;
2115
- /** 对象绕 x/y/z 轴旋转的值,不旋转填写为 0。 */
2116
- rotate: Vector3;
2117
- }
2388
+ type NetworkAdaptationLevel = 'Normal' | 'Mild' | 'Moderate' | 'Severe' | 'Recovering';
2118
2389
  /**
2119
- * ModelTransform.rotateByTarget 参数。
2390
+ * 弱网自适应运行模式:
2391
+ * - auto: 自动策略决策
2392
+ * - manual: 手动接管档位
2120
2393
  */
2121
- interface ModelTransformRotateByTargetRequest {
2122
- /** 父节点 ID,可以为空。 */
2123
- parentId?: string;
2124
- /** 对象编号。 */
2125
- id: string;
2126
- /** 场景中参照位置的父级对象编号。 */
2127
- parentTargetId?: string;
2128
- /** 围绕的目标对象名称。 */
2129
- targetID: string;
2130
- /** 中心点;targetID 为空时为绕中心点,否则为相对 targetID 的偏移值。 */
2131
- point: Vector3;
2132
- /** 为正数则绕 x 轴旋转。默认 `0`。 */
2133
- axisX?: number;
2134
- /** 为正数则绕 y 轴旋转。默认 `0`。 */
2135
- axisY?: number;
2136
- /** 为正数则绕 z 轴旋转。默认 `0`。 */
2137
- axisZ?: number;
2138
- /** 旋转度数。默认 `0`。 */
2139
- angle?: number;
2140
- /** 是否持续旋转。默认 `false`。 */
2141
- isPersistence?: boolean;
2142
- }
2394
+ type NetworkAdaptationMode = 'auto' | 'manual';
2143
2395
  /**
2144
- * ModelTransform.setScale 参数。
2396
+ * 媒体链路实时指标快照。
2145
2397
  */
2146
- interface ModelTransformScaleRequest {
2147
- /** 父节点 ID,可以为空。 */
2148
- parentId?: string;
2149
- /** 对象编号。 */
2150
- id: string;
2151
- /** 目标缩放值。 */
2152
- scale: Vector3;
2153
- /** 缩放时长(秒)。默认 `0.5`。 */
2154
- duration?: number;
2398
+ interface NetworkMetricsSnapshot {
2399
+ ts: number;
2400
+ connected: boolean;
2401
+ fps?: number;
2402
+ bitrateKbps?: number;
2403
+ packetLossRate?: number;
2404
+ jitterMs?: number;
2405
+ rttMs?: number;
2406
+ frameWidth?: number;
2407
+ frameHeight?: number;
2155
2408
  }
2156
2409
  /**
2157
- * HighLighterEffect.setHighLightModel 参数。
2410
+ * 弱网状态变更事件载荷。
2158
2411
  */
2159
- interface HighLighterSetHighLightModelRequest {
2160
- /** 对象组的父对象,可以为空。 */
2161
- parentId?: string;
2162
- /** 需要添加高光的对象编号数组。 */
2163
- ids: string[];
2164
- /** 是否高亮模型背面。 */
2165
- showBack: boolean;
2166
- }
2167
- interface HighLighterEnableRequest {
2168
- /** 是否启用高亮效果。 */
2169
- enable: boolean;
2412
+ interface NetworkAdaptationState {
2413
+ from: NetworkAdaptationLevel;
2414
+ to: NetworkAdaptationLevel;
2415
+ mode: NetworkAdaptationMode;
2416
+ reason: string;
2417
+ ts: number;
2418
+ metrics?: NetworkMetricsSnapshot;
2170
2419
  }
2171
2420
  /**
2172
- * HighLighterEffect.removeHighLightModel 参数。
2421
+ * 策略动作类型。
2173
2422
  */
2174
- interface HighLighterRemoveHighLightModelRequest {
2175
- /** 对象组的父对象,可以为空。 */
2176
- parentId?: string;
2177
- /** 需要移除高光的对象名称数组。 */
2178
- ids: string[];
2179
- }
2423
+ type NetworkAdaptationActionType = 'SetSceneRenderBitrate' | 'SetSceneFPS' | 'SetScreenResolution';
2180
2424
  /**
2181
- * PathPatrol 时间序列节点。
2425
+ * 单步策略动作执行结果。
2182
2426
  */
2183
- interface TimeSerialNode {
2184
- /** 路径点坐标。 */
2185
- node: Vector3Input;
2186
- /** 时间节点,格式为 "2025-09-10 00:05:00"。 */
2187
- time: string;
2427
+ interface NetworkAdaptationActionStep {
2428
+ type: NetworkAdaptationActionType;
2429
+ payload: Record<string, number>;
2430
+ success: boolean;
2431
+ error?: string;
2188
2432
  }
2189
2433
  /**
2190
- * PathPatrol.add 参数。
2434
+ * 策略动作执行事件。
2191
2435
  */
2192
- interface PathPatrolAddRequest {
2193
- /** 模型对象父对象编号。 */
2194
- parentId?: string;
2195
- /** 场景的模型对象编号。 */
2196
- id: string;
2197
- /** 场景的模型路径,可为空;为空时根据 id 到场景中寻找模型对象。 */
2198
- assetPath?: string;
2199
- /** 模型缩放的大小。 */
2200
- scale: Vector3Input;
2201
- /** 是否显示巡逻轨迹,默认 `true`。 */
2202
- showPath?: boolean;
2203
- /** 巡逻过的路径的显示颜色,默认 `#ffffff`。 */
2204
- passedColor?: string;
2205
- /** 未巡逻路径的颜色,默认 `#00ff00`。 */
2206
- lineColor?: string;
2207
- /** 线路的宽度。 */
2208
- lineWidth: number;
2209
- /** 全程所需时间。 */
2210
- duration?: number;
2211
- /** 路径点的集合,至少需要 2 个节点。 */
2212
- nodes?: Vector3Input[];
2213
- /** 路径点时间序列的集合。 */
2214
- timeNodes?: TimeSerialNode[];
2215
- /** 线的图层,如 TransparentFX。 */
2216
- lineLayer?: string;
2217
- /** 是否后渲染,默认 `false`;`true` 后渲染(渲染不会阻挡),`false` 前渲染。 */
2218
- afterRender?: boolean;
2219
- /** 是否自动清除,默认 `true`。 */
2220
- isAutoClear?: boolean;
2436
+ interface NetworkAdaptationActionResult {
2437
+ level: Exclude<NetworkAdaptationLevel, 'Recovering'>;
2438
+ mode: NetworkAdaptationMode;
2439
+ success: boolean;
2440
+ skipped: boolean;
2441
+ reason: string;
2442
+ ts: number;
2443
+ steps: NetworkAdaptationActionStep[];
2221
2444
  }
2222
2445
  /**
2223
- * PathPatrol.update 参数。
2446
+ * 策略决策轨迹条目,用于诊断面板回放。
2224
2447
  */
2225
- interface PathPatrolUpdateRequest {
2226
- /** 模型对象父对象编号。 */
2227
- parentId?: string;
2228
- /** 巡逻轨迹编号。 */
2229
- id: string;
2230
- /** 巡逻轨迹的颜色。 */
2231
- lineColor?: string;
2232
- /** 巡逻路线的宽度。 */
2233
- lineWidth?: number;
2234
- /** 巡逻过的路径的显示颜色。 */
2235
- passedColor?: string;
2236
- /** 调整速度,不能小于 0。 */
2237
- speed?: number;
2448
+ interface NetworkDecisionTrace {
2449
+ ts: number;
2450
+ mode: NetworkAdaptationMode;
2451
+ currentLevel: NetworkAdaptationLevel;
2452
+ measuredLevel: Exclude<NetworkAdaptationLevel, 'Recovering'>;
2453
+ targetLevel?: NetworkAdaptationLevel;
2454
+ outcome: 'hold' | 'downgrade' | 'recover' | 'manual' | 'skip_hysteresis' | 'skip_cooldown';
2455
+ reason: string;
2456
+ metrics?: NetworkMetricsSnapshot;
2238
2457
  }
2239
2458
  /**
2240
- * PathPatrol.setTimeNode 参数。
2459
+ * 诊断面板快照数据。
2241
2460
  */
2242
- interface PathPatrolSetTimeNodeRequest {
2243
- /** 模型对象父对象编号。 */
2244
- parentId?: string;
2245
- /** 巡逻对象编号。 */
2246
- id: string;
2247
- /** 时间节点,格式为 "2025-09-10 00:05:00"。`timeStart` 与 `startNodeIndex` 只能有一个不为空。 */
2248
- timeStart?: string;
2249
- /** 开始节点索引,不能小于 0。`timeStart` 与 `startNodeIndex` 只能有一个不为空。 */
2250
- startNodeIndex?: string;
2461
+ interface NetworkDiagnosticsSnapshot {
2462
+ ts: number;
2463
+ visible: boolean;
2464
+ mode: NetworkAdaptationMode;
2465
+ currentLevel: NetworkAdaptationLevel;
2466
+ connected: boolean;
2467
+ lastMetrics?: NetworkMetricsSnapshot;
2468
+ lastAction?: NetworkAdaptationActionResult;
2469
+ traces: NetworkDecisionTrace[];
2251
2470
  }
2471
+ //#endregion
2472
+ //#region src/types/qos.d.ts
2252
2473
  /**
2253
- * PathPatrol.pause / resume / stop 参数。
2474
+ * QoS 事件阶段定义。
2254
2475
  */
2255
- interface PathPatrolNodeRequest {
2256
- /** 模型对象父对象编号。 */
2257
- parentId?: string;
2258
- /** 巡逻对象编号。 */
2259
- id: string;
2260
- }
2476
+ type QosStage = 'auth' | 'center' | 'webrtc' | 'media' | 'ue_api' | 'session';
2261
2477
  /**
2262
- * 单个热力点数据(地理坐标 + 热度值)。
2478
+ * QoS 事件状态定义。
2263
2479
  */
2264
- interface HeatMapPointRequest {
2265
- /** 点位置(地理坐标,默认 EPSG4326)。 */
2266
- position: Vector3Input;
2267
- /** 该点的热度值(0~1),默认 1。 */
2268
- value?: number;
2269
- }
2480
+ type QosStatus = 'start' | 'success' | 'failed' | 'update' | 'end';
2270
2481
  /**
2271
- * HeatMap.create 参数。
2482
+ * QoS 事件日志等级(仅用于事件严重程度标记)。
2272
2483
  */
2273
- interface HeatMapCreateRequest {
2274
- /** 热力图所属父节点 ID,可选。 */
2275
- parentId?: string;
2276
- /** 热力图 ID;重复创建相同 ID 会更新该热力图数据,可空。 */
2277
- id?: string;
2278
- /** 热力图纹理尺寸(像素),默认 256x256;地理数据模式下由坐标范围自动计算。 */
2279
- textureSize?: Vector2Input;
2280
- /** 热力图在地图中的尺寸(厘米),默认 1000x1000;地理数据模式下由坐标范围自动计算。 */
2281
- mapSize?: Vector2Input;
2282
- /** 单个热力点的影响范围(像素),默认 50。 */
2283
- influenceSize?: number;
2284
- /** 热力点数据列表,支持 `{ position, value }` 对象数组或 `Vector3Input` 位置数组(热度值默认 1)。 */
2285
- points: HeatMapPointRequest[] | Vector3Input[];
2286
- /** 材质透明度,默认 0.7。 */
2287
- opacity?: number;
2288
- /** 高度缩放,默认 2500。 */
2289
- heightScale?: number;
2290
- /** 颜色过渡比例,默认 2.5。 */
2291
- lerpScale?: number;
2292
- /** 是否添加到场景中,默认 false */
2293
- isAddAsset?: boolean;
2294
- }
2484
+ type QosLevel = 'info' | 'warn' | 'error';
2295
2485
  /**
2296
- * HeatMap.remove 参数。
2486
+ * QoS V1 事件名集合。
2297
2487
  */
2298
- interface HeatMapRemoveRequest {
2299
- /** 热力图所属父节点 ID,可选。 */
2300
- parentId?: string;
2301
- /** 热力图 ID;为空时移除全部热力图。 */
2302
- id?: string;
2303
- }
2488
+ declare const QOS_EVENT_NAMES: readonly ["session_start", "auth_start", "auth_success", "auth_failed", "center_connect_start", "center_connected", "center_disconnected", "center_message_received", "webrtc_connect_start", "webrtc_connected", "webrtc_disconnected", "first_frame_rendered", "media_stats_sample", "ue_request_sent", "ue_response_received", "session_end"];
2304
2489
  /**
2305
- * HeatMap.setConfig 参数。
2490
+ * QoS V1 事件名类型。
2491
+ *
2492
+ * 注意:V1 明确不包含 `ue_request_timeout`。
2306
2493
  */
2307
- interface HeatMapConfigRequest {
2308
- /** 热力图所属父节点 ID,可选。 */
2309
- parentId?: string;
2310
- /** 热力图 ID;为空时作用于最近创建的热力图。 */
2311
- id?: string;
2312
- /** 材质透明度,默认 0.7。 */
2313
- opacity?: number;
2314
- /** 高度缩放,默认 2500。 */
2315
- heightScale?: number;
2316
- /** 颜色过渡比例,默认 2.5。 */
2317
- lerpScale?: number;
2318
- /**影响范围 */
2319
- influenceSize?: number;
2320
- }
2494
+ type QosEventName = (typeof QOS_EVENT_NAMES)[number];
2321
2495
  /**
2322
- * Navigation.startMeshNav / getMeshNavDistance 参数。
2496
+ * 会话维度上下文。
2323
2497
  */
2324
- interface NavigationMeshNavRequest {
2325
- /** 对象组的父对象,可以为空。 */
2326
- parentId?: string;
2327
- /** 对象名称数组集合。 */
2328
- id: string;
2329
- /** 路径节点数组集合,与 `targetIds` 二选一。 */
2330
- nodes?: Vector3Input[];
2331
- /** 路径节点经过的目标对象名称数组集合,与 `nodes` 二选一;需保证场景中各编号对象唯一存在。 */
2332
- targetIds?: string[];
2333
- /** 物体移动的速度,默认 1。 */
2334
- speed?: number;
2335
- /** 是否作为导航缓存路径点,默认 `true`;`true` 表示将节点加入缓存路径,下次修改时前置节点仍会经过,`false` 表示按新路径导航。 */
2336
- isCache?: boolean;
2337
- /** 导航规划路径颜色。 */
2338
- planColor?: string;
2339
- /** 导航已走过的路径颜色。 */
2340
- passColor?: string;
2341
- /** 导航规划线的宽度,默认 1。 */
2342
- lineWidth?: number;
2343
- /** 是否自动播放,默认 `true`。 */
2344
- isAutoPlay?: boolean;
2345
- /** 场景的模型路径,可为空;为空时根据 id 到场景中寻找模型对象。 */
2346
- assetPath?: string;
2347
- /** 是否自动清除,默认 `true`。 */
2348
- isAutoClear?: boolean;
2349
- offSetZ?: number;
2498
+ interface QosSessionContext {
2499
+ sessionId: string;
2500
+ traceId: string;
2501
+ runMode: string;
2502
+ viewMode: string;
2350
2503
  }
2351
2504
  /**
2352
- * Navigation.pauseMeshNav / resumeMeshNav / stopMeshNav / pauseNavPath / resumeNavPath / stopNavPath 参数。
2505
+ * 运行环境上下文。
2353
2506
  */
2354
- interface NavigationNodeRequest {
2355
- /** 对象组的父对象,可以为空。 */
2356
- parentId?: string;
2357
- /** 对象名称数组集合。 */
2358
- id: string;
2507
+ interface QosRuntimeContext {
2508
+ appId?: string;
2509
+ env?: string;
2510
+ pageUrl?: string;
2511
+ userAgent?: string;
2359
2512
  }
2360
2513
  /**
2361
- * Navigation.updateMeshNav 参数。
2514
+ * warn/error 聚合统计指标。
2362
2515
  */
2363
- interface NavigationUpdateMeshNavRequest {
2364
- /** 对象组的父对象,可以为空。 */
2365
- parentId?: string;
2366
- /** 对象名称数组集合。 */
2367
- id: string;
2368
- /** 物体移动的速度,默认 -1(不改变速度)。 */
2369
- speed?: number;
2370
- /** 导航规划路径颜色。 */
2371
- planColor?: string;
2372
- /** 导航已走过的路径颜色。 */
2373
- passColor?: string;
2374
- }
2375
- interface NavigationUpdateSpeedRequest {
2376
- /** 对象组的父对象,可以为空。 */
2377
- parentId?: string;
2378
- /** 对象名称数组集合。 */
2379
- id: string;
2380
- /** 物体移动的速度,默认 -1(不改变速度)。 */
2381
- speed?: number;
2516
+ interface QosWarnErrorSummary {
2517
+ logWarnCount: number;
2518
+ logErrorCount: number;
2519
+ logErrorByStage: Partial<Record<QosStage, number>>;
2520
+ logErrorTopCodes: Array<{
2521
+ code: string;
2522
+ count: number;
2523
+ }>;
2382
2524
  }
2383
2525
  /**
2384
- * Navigation.startNavByPath 参数。
2526
+ * QoS 事件结构。
2385
2527
  */
2386
- interface NavigationNavByPathRequest {
2387
- /** 对象组的父对象,可以为空。 */
2388
- parentId?: string;
2389
- /** 对象名称数组集合。 */
2390
- id: string[];
2391
- /** 路径节点数组集合。 */
2392
- nodes: Vector3Input[];
2393
- /** 是否作为导航缓存路径点,默认 `true`。 */
2394
- isCache?: boolean;
2395
- /** 导航轨迹总时间(秒),默认 10。 */
2396
- duration?: number;
2397
- /** 导航规划路径颜色。 */
2398
- planColor?: string;
2399
- /** 导航已走过的路径颜色。 */
2400
- passColor?: string;
2528
+ interface QosEvent {
2529
+ eventName: QosEventName;
2530
+ stage: QosStage;
2531
+ status: QosStatus;
2532
+ ts: number;
2533
+ level: QosLevel;
2534
+ durationMs?: number;
2535
+ errorCode?: string;
2536
+ errorMessage?: string;
2537
+ attrs?: Record<string, unknown>;
2538
+ metrics?: Record<string, unknown>;
2401
2539
  }
2402
2540
  /**
2403
- * Navigation.updateNavPath 参数。
2541
+ * QoS 批量上报载荷。
2404
2542
  */
2405
- interface NavigationUpdateNavPathRequest {
2406
- /** 对象组的父对象,可以为空。 */
2407
- parentId?: string;
2408
- /** 对象名称数组集合。 */
2409
- id: string[];
2410
- /** 导航轨迹总时间(秒),默认 -1(不改变时长)。 */
2411
- duration?: number;
2412
- /** 导航规划路径颜色。 */
2413
- planColor?: string;
2414
- /** 导航已走过的路径颜色。 */
2415
- passColor?: string;
2543
+ interface QosReportingPayload {
2544
+ schemaVersion: '1.0.0';
2545
+ source: 'enginesdk3';
2546
+ sdkVersion: string;
2547
+ sentAt: number;
2548
+ session: QosSessionContext;
2549
+ context: QosRuntimeContext;
2550
+ events: QosEvent[];
2416
2551
  }
2417
2552
  //#endregion
2418
2553
  //#region src/types/response.d.ts
@@ -2452,6 +2587,7 @@ declare class PixelStreamingAdapter {
2452
2587
  private readonly modeStrategy;
2453
2588
  private readonly psConfig;
2454
2589
  private readonly streamerAssignedListeners;
2590
+ private readonly videoElementParent?;
2455
2591
  /**
2456
2592
  * 使用 SDK 提供的配置创建并初始化 PixelStreaming 运行时。
2457
2593
  */
@@ -2508,6 +2644,8 @@ declare class PixelStreamingAdapter {
2508
2644
  * 返回底层运行时是否处于重连状态。
2509
2645
  */
2510
2646
  isReconnecting(): boolean;
2647
+ private readonly handlePoiCursorResponse;
2648
+ private setVideoCursor;
2511
2649
  /**
2512
2650
  * 设置 DTC 多 streamer 架构的 streamerAssigned 监听器。
2513
2651
  * 当信令服务器分配 streamer 后,自动设置 StreamerId 到配置中。
@@ -2558,6 +2696,20 @@ interface StreamRequestPromise<TResult> extends Promise<ApiResponseEnvelope<TRes
2558
2696
  readonly requestId: string;
2559
2697
  cancel: (reason?: string) => void;
2560
2698
  }
2699
+ /**
2700
+ * 发送失败(UE 交互通道/视频未就绪)时的排队重试配置。
2701
+ */
2702
+ interface RequestSendRetryOptions {
2703
+ /**
2704
+ * 是否在发送失败时排队重试(底层 Pixel Streaming 在视频 `readyState` 为 0 时会拒绝发送)。
2705
+ * 默认 `true`。
2706
+ */
2707
+ enabled?: boolean;
2708
+ /** 重试间隔(毫秒),默认 250。 */
2709
+ intervalMs?: number;
2710
+ /** 排队重试的最大等待时长(毫秒),超时仍未发出则 reject,默认 15000。 */
2711
+ maxWaitMs?: number;
2712
+ }
2561
2713
  /**
2562
2714
  * RequestBridge 的 QoS 生命周期钩子。
2563
2715
  */
@@ -2586,6 +2738,14 @@ declare class RequestBridge {
2586
2738
  * 等待 UE 响应的进行中请求集合。
2587
2739
  */
2588
2740
  private pending;
2741
+ /**
2742
+ * 因 UE 交互通道未就绪而排队等待重发的请求集合。
2743
+ */
2744
+ private sendRetries;
2745
+ /**
2746
+ * 发送失败排队重试配置。
2747
+ */
2748
+ private readonly retryOptions;
2589
2749
  /**
2590
2750
  * SDK 运行时固定使用的响应事件通道名。
2591
2751
  */
@@ -2605,7 +2765,7 @@ declare class RequestBridge {
2605
2765
  /**
2606
2766
  * 初始化时立即注册响应监听,确保所有 API 调用共享同一桥接器。
2607
2767
  */
2608
- constructor(session: PixelStreamingAdapter, logger?: ModuleLogger, hooks?: RequestBridgeHooks);
2768
+ constructor(session: PixelStreamingAdapter, logger?: ModuleLogger, hooks?: RequestBridgeHooks, retryOptions?: RequestSendRetryOptions);
2609
2769
  /**
2610
2770
  * 向 UE 发送请求信封,并在匹配响应到达后完成 Promise。
2611
2771
  */
@@ -2616,6 +2776,17 @@ declare class RequestBridge {
2616
2776
  */
2617
2777
  sendStreamRequest<TPayload, TResult>(module: string, method: string, payload?: TPayload, callback?: StreamRequestCallback<TResult>): StreamRequestPromise<TResult>;
2618
2778
  private sendPendingRequest;
2779
+ /**
2780
+ * 处理一次发送尝试:底层通道未就绪导致失败时按配置排队重试,
2781
+ * 避免视频尚未就绪(`readyState === 0`)瞬间的请求被直接丢弃。
2782
+ */
2783
+ private handleSendAttempt;
2784
+ private scheduleSendRetry;
2785
+ private runSendRetry;
2786
+ /**
2787
+ * 清理指定请求的排队重试状态(取消定时器)。
2788
+ */
2789
+ private clearSendRetry;
2619
2790
  private settlePendingFailure;
2620
2791
  private handleResponse;
2621
2792
  private createRequestEnvelope;
@@ -4154,7 +4325,7 @@ declare class Navigation extends BaseApi {
4154
4325
  * @agentSideEffects write
4155
4326
  * @agentPreconditions DTCEngine 已完成鉴权并建立 WebRTC 连接
4156
4327
  * @agentRiskLevel low
4157
- * @agentExample { parentId: 'Players', id: 'Player1' nodes: [{ x: 114.7985155712282, y: 34.842421780635625, z: 2 }, { x: 114.79789723105696, y: 34.84218433379876, z: 1.5 }], isCache: false, planColor: '#00ff00', passColor: '#e1e1e1' }
4328
+ * @agentExample { parentId: 'Players', id: 'Player1', nodes: [{ x: 114.7985155712282, y: 34.842421780635625, z: 2 }, { x: 114.79789723105696, y: 34.84218433379876, z: 1.5 }], isCache: false, planColor: '#00ff00', passColor: '#e1e1e1' }
4158
4329
  * @example
4159
4330
  * ```ts
4160
4331
  dtcEngine.Navigation.startNav({
@@ -4431,22 +4602,22 @@ declare class PathPatrol extends BaseApi {
4431
4602
  */
4432
4603
  add(payload: PathPatrolAddRequest, callback?: StreamRequestCallback<unknown>): StreamRequestPromise<unknown>;
4433
4604
  /**
4434
- * 修改巡逻路径的样式。
4435
- * @param payload - 巡逻样式参数。
4436
- * @param callback - 可选回调函数。
4437
- * @returns Promise 形式的接口响应。
4438
- * @agentSideEffects write
4439
- * @agentPreconditions DTCEngine 已完成鉴权并建立 WebRTC 连接
4440
- * @agentRiskLevel low
4441
- * @agentExample { parentId: 'patrolLayer', id: 'patrolMan', lineColor: '#ff00ff', lineWidth: 3.5 }
4442
- * @example
4443
- * ```ts
4444
- * dtcEngine.PathPatrol.update(
4445
- * { parentId: 'patrolLayer', id: 'patrolMan', lineColor: '#ff00ff', lineWidth: 3.5 },
4446
- * (result) => { console.log(result); }
4447
- * );
4448
- * ```
4449
- */
4605
+ * 修改巡逻路径的样式。
4606
+ * @param payload - 巡逻样式参数。
4607
+ * @param callback - 可选回调函数。
4608
+ * @returns Promise 形式的接口响应。
4609
+ * @agentSideEffects write
4610
+ * @agentPreconditions DTCEngine 已完成鉴权并建立 WebRTC 连接
4611
+ * @agentRiskLevel low
4612
+ * @agentExample { parentId: 'patrolLayer', id: 'patrolMan', lineColor: '#ff00ff', lineWidth: 3.5 }
4613
+ * @example
4614
+ * ```ts
4615
+ dtcEngine.PathPatrol.update(
4616
+ { parentId: 'patrolLayer', id: 'patrolMan', lineColor: '#ff00ff', lineWidth: 3.5 },
4617
+ (result) => { console.log(result); }
4618
+ );
4619
+ * ```
4620
+ */
4450
4621
  update(payload: PathPatrolUpdateRequest, callback?: ApiCallback<ApiResponseEnvelope<unknown>>): Promise<ApiResponseEnvelope<unknown>>;
4451
4622
  /**
4452
4623
  * 设置巡逻开始的时间节点或是节点索引。
@@ -5357,6 +5528,97 @@ declare class WebView extends BaseApi {
5357
5528
  updateWebView(payload: WebViewUpdateRequest, callback?: ApiCallback<ApiResponseEnvelope<unknown>>): Promise<ApiResponseEnvelope<unknown>>;
5358
5529
  }
5359
5530
  //#endregion
5531
+ //#region src/api/SpatialQuery.d.ts
5532
+ /**
5533
+ * 场景缓冲空间查询 API,支持三种查询方式:
5534
+ * 1. 根据场景模型当前的位置进行空间查询;
5535
+ * 2. 根据场景坐标位置进行空间查询;
5536
+ * 3. 根据场景模型的边界框进行空间查询。
5537
+ * @agentTitle 空间查询
5538
+ * @agentCapabilities 模型空间查询, 坐标空间查询, 模型包围盒空间查询
5539
+ * @hideconstructor
5540
+ */
5541
+ declare class SpatialQuery extends BaseApi {
5542
+ constructor(bridge: ApiBridge, runtimeOptions?: BaseApiRuntimeOptions);
5543
+ /**
5544
+ * 模型空间查询:根据场景模型当前的位置进行空间查询。
5545
+ * 默认值:`queryRadius=50`、`queryMinHeight=0`、`queryMaxHeight=20`。
5546
+ * `queryParentIds` 不能为空,至少指定一个查询的图层组编号。
5547
+ * @param payload - 空间查询参数。
5548
+ * @param callback - 可选回调函数。
5549
+ * @returns Promise 形式的接口响应。
5550
+ * @agentSideEffects write
5551
+ * @agentPreconditions DTCEngine 已完成鉴权并建立 WebRTC 连接
5552
+ * @agentRiskLevel low
5553
+ * @agentExample { parentId: '', id: 'LayerSearchCore', queryRadius: 10, queryMinHeight: 0, queryMaxHeight: 50, queryParentIds: ['SM_B8_XueShenSuShe', 'daoZha'] }
5554
+ * @example
5555
+ * ```ts
5556
+ dtcEngine.SpatialQuery.layerQueryByModel(
5557
+ {
5558
+ parentId: '',
5559
+ id: 'LayerSearchCore',
5560
+ queryRadius: 10,
5561
+ queryMinHeight: 0,
5562
+ queryMaxHeight: 50,
5563
+ queryParentIds: ['SM_B8_XueShenSuShe', 'daoZha']
5564
+ },
5565
+ (result) => { console.log(result); }
5566
+ );
5567
+ * ```
5568
+ */
5569
+ layerQueryByModel(payload: SpatialQueryLayerByModelRequest, callback?: ApiCallback<ApiResponseEnvelope<unknown>>): Promise<ApiResponseEnvelope<unknown>>;
5570
+ /**
5571
+ * 坐标空间查询:根据场景坐标位置进行空间查询。
5572
+ * 默认值:`queryRadius=50`、`queryMinHeight=0`、`queryMaxHeight=20`。
5573
+ * `queryParentIds` 不能为空,至少指定一个查询的图层组编号。
5574
+ * @param payload - 空间查询参数。
5575
+ * @param callback - 可选回调函数。
5576
+ * @returns Promise 形式的接口响应。
5577
+ * @agentSideEffects write
5578
+ * @agentPreconditions DTCEngine 已完成鉴权并建立 WebRTC 连接
5579
+ * @agentRiskLevel low
5580
+ * @agentExample { queryPosition: { x: 120.40284254780221, y: 30.830451474524036, z: 10, ePSGType: '4326' }, queryRadius: 20, queryMinHeight: 0, queryMaxHeight: 50, queryParentIds: ['SM_B8_XueShenSuShe', 'daoZha'] }
5581
+ * @example
5582
+ * ```ts
5583
+ dtcEngine.SpatialQuery.layerQueryByPosition(
5584
+ {
5585
+ queryPosition: new dtcEngine.Type.Vector3(120.2076273621342, 30.372304875047895, 16.01983620418444),
5586
+ queryRadius: 20,
5587
+ queryMinHeight: 0,
5588
+ queryMaxHeight: 50,
5589
+ queryParentIds: ['SM_B8_XueShenSuShe', 'daoZha']
5590
+ }, (res) => {
5591
+ console.log(res);
5592
+ }
5593
+ );
5594
+ * ```
5595
+ */
5596
+ layerQueryByPosition(payload: SpatialQueryLayerByPositionRequest, callback?: ApiCallback<ApiResponseEnvelope<unknown>>): Promise<ApiResponseEnvelope<unknown>>;
5597
+ /**
5598
+ * 模型包围盒空间查询:根据场景模型的边界框进行空间查询。
5599
+ * `queryParentIds` 不能为空,至少指定一个查询的图层组编号。
5600
+ * @param payload - 空间查询参数。
5601
+ * @param callback - 可选回调函数。
5602
+ * @returns Promise 形式的接口响应。
5603
+ * @agentSideEffects write
5604
+ * @agentPreconditions DTCEngine 已完成鉴权并建立 WebRTC 连接
5605
+ * @agentRiskLevel low
5606
+ * @agentExample { parentId: '', id: 'LayerSearchCore', queryParentIds: ['JianKong_QiangJiTest', 'daoZha'] }
5607
+ * @example
5608
+ * ```ts
5609
+ dtcEngine.SpatialQuery.layerQueryByModelBox(
5610
+ {
5611
+ parentId: '',
5612
+ id: 'LayerSearchCore',
5613
+ queryParentIds: ['JianKong_QiangJiTest', 'daoZha']
5614
+ },
5615
+ (result) => { console.log(result); }
5616
+ );
5617
+ * ```
5618
+ */
5619
+ layerQueryByModelBox(payload: SpatialQueryLayerByModelBoxRequest, callback?: ApiCallback<ApiResponseEnvelope<unknown>>): Promise<ApiResponseEnvelope<unknown>>;
5620
+ }
5621
+ //#endregion
5360
5622
  //#region src/api/validationSchemas.d.ts
5361
5623
  /**
5362
5624
  * 未覆盖模块的校验占位清单:
@@ -5499,6 +5761,7 @@ interface ApiInstanceMap {
5499
5761
  TimeLine: TimeLine;
5500
5762
  WeatherSystem: WeatherSystem;
5501
5763
  WebView: WebView;
5764
+ SpatialQuery: SpatialQuery;
5502
5765
  }
5503
5766
  type ApiModuleKey = keyof ApiInstanceMap;
5504
5767
  /**
@@ -5597,6 +5860,67 @@ interface AgentBridgeRuntimeSnapshot {
5597
5860
  metadata?: Record<string, string>;
5598
5861
  engine?: AgentBridgeRuntimeEngineSnapshot;
5599
5862
  }
5863
+ type AgentBridgeBusinessProgramPermissionMode = 'query' | 'stage' | 'stream';
5864
+ interface AgentBridgeBusinessProgramManifest {
5865
+ schemaVersion: 1;
5866
+ programId: string;
5867
+ version: string;
5868
+ entry: {
5869
+ file: string;
5870
+ sha256: string;
5871
+ };
5872
+ data: Array<{
5873
+ name: string;
5874
+ file: string;
5875
+ sha256: string;
5876
+ }>;
5877
+ inputSchema: Record<string, unknown>;
5878
+ permissions: {
5879
+ methods: Array<{
5880
+ module: string;
5881
+ method: string;
5882
+ mode: AgentBridgeBusinessProgramPermissionMode;
5883
+ }>;
5884
+ };
5885
+ limits: {
5886
+ timeoutMs: number;
5887
+ maxSdkCalls: number;
5888
+ maxStageActions: number;
5889
+ maxTotalDelayMs: number;
5890
+ maxEventCount: number;
5891
+ maxBundleBytes: number;
5892
+ maxDataBytes: number;
5893
+ };
5894
+ risk: 'low' | 'medium' | 'high';
5895
+ }
5896
+ interface AgentBridgeLoadProgramRequest {
5897
+ capsuleHash: string;
5898
+ manifest: AgentBridgeBusinessProgramManifest;
5899
+ bundle: string;
5900
+ data: Record<string, string>;
5901
+ }
5902
+ interface AgentBridgeStartProgramRequest {
5903
+ executionId: string;
5904
+ capsuleHash: string;
5905
+ inputs: unknown;
5906
+ traceId: string;
5907
+ }
5908
+ interface AgentBridgeCancelProgramRequest {
5909
+ executionId: string;
5910
+ reason?: string;
5911
+ }
5912
+ interface AgentBridgeProgramEventPayload {
5913
+ executionId: string;
5914
+ traceId: string;
5915
+ event: {
5916
+ type: 'started' | 'progress' | 'action' | 'completed' | 'failed' | 'cancelled';
5917
+ phase?: string;
5918
+ message?: string;
5919
+ data?: unknown;
5920
+ };
5921
+ terminal: boolean;
5922
+ state?: 'running' | 'completed' | 'failed' | 'cancelled';
5923
+ }
5600
5924
  /** API 方法副作用描述,用于帮助 Agent 判断调用风险。 */
5601
5925
  type AgentBridgeMethodSideEffect = 'read' | 'write' | 'connection' | 'stream';
5602
5926
  /** API 的响应模式;与副作用风险是两个独立维度。 */
@@ -5653,7 +5977,7 @@ interface AgentBridgeMethodSchemaMetadata {
5653
5977
  responseMode: AgentBridgeMethodResponseMode;
5654
5978
  }
5655
5979
  /** bridge 统一错误码。 */
5656
- type AgentBridgeErrorCode = 'API_NOT_FOUND' | 'API_NOT_EXPOSED' | 'METHOD_SCHEMA_NOT_FOUND' | 'SDK_NOT_READY' | 'INVALID_PAYLOAD' | 'API_EXECUTION_FAILED' | 'API_NOT_STREAMING' | 'STREAM_INVOKE_REQUIRED' | 'PROTOCOL_ERROR' | 'BRIDGE_NOT_CONNECTED';
5980
+ type AgentBridgeErrorCode = 'API_NOT_FOUND' | 'API_NOT_EXPOSED' | 'METHOD_SCHEMA_NOT_FOUND' | 'SDK_NOT_READY' | 'INVALID_PAYLOAD' | 'API_EXECUTION_FAILED' | 'API_NOT_STREAMING' | 'STREAM_INVOKE_REQUIRED' | 'PROTOCOL_ERROR' | 'BRIDGE_NOT_CONNECTED' | 'PROGRAM_INVALID' | 'PROGRAM_EXECUTION_FAILED';
5657
5981
  /**
5658
5982
  * bridge 结构化错误。
5659
5983
  */
@@ -5684,6 +6008,23 @@ interface AgentBridgeInvokeRequest {
5684
6008
  methodName: string;
5685
6009
  payload?: unknown;
5686
6010
  }
6011
+ /** 通用 Action Plan 在真正执行前提交给页面侧进行真实 schema 校验。 */
6012
+ interface AgentBridgeValidateAction extends AgentBridgeInvokeRequest {
6013
+ id: string;
6014
+ responseMode: 'single';
6015
+ }
6016
+ interface AgentBridgeValidateActionsRequest {
6017
+ actions: AgentBridgeValidateAction[];
6018
+ }
6019
+ interface AgentBridgeValidateActionItem {
6020
+ id: string;
6021
+ valid: boolean;
6022
+ error?: AgentBridgeStructuredError;
6023
+ }
6024
+ interface AgentBridgeValidateActionsResult {
6025
+ valid: boolean;
6026
+ items: AgentBridgeValidateActionItem[];
6027
+ }
5687
6028
  /** 启动流式 API 请求。streamId 由 MCP server 创建,用于跨进程关联事件。 */
5688
6029
  interface AgentBridgeStreamStartRequest extends AgentBridgeInvokeRequest {
5689
6030
  streamId: string;
@@ -5729,10 +6070,15 @@ interface AgentBridgeRuntimeAdapter {
5729
6070
  listModules(): AgentBridgeModuleCatalogItem[];
5730
6071
  listMethods(moduleName: string): AgentBridgeOperationResult<AgentBridgeMethodCatalogItem[]>;
5731
6072
  getMethodSchema(moduleName: string, methodName: string): AgentBridgeOperationResult<AgentBridgeMethodSchemaMetadata>;
6073
+ validateActions(request: AgentBridgeValidateActionsRequest): AgentBridgeOperationResult<AgentBridgeValidateActionsResult>;
5732
6074
  invoke(request: AgentBridgeInvokeRequest): Promise<AgentBridgeOperationResult<unknown>>;
5733
6075
  startStream(request: AgentBridgeStreamStartRequest, onEvent: AgentBridgeStreamEventListener): Promise<AgentBridgeOperationResult<AgentBridgeStreamStartResult>>;
5734
6076
  closeStream(request: AgentBridgeStreamCloseRequest): Promise<AgentBridgeOperationResult<AgentBridgeStreamCloseResult>>;
6077
+ loadProgram(request: AgentBridgeLoadProgramRequest): Promise<AgentBridgeOperationResult<unknown>>;
6078
+ startProgram(request: AgentBridgeStartProgramRequest, onEvent: (payload: AgentBridgeProgramEventPayload) => void): Promise<AgentBridgeOperationResult<unknown>>;
6079
+ cancelProgram(request: AgentBridgeCancelProgramRequest): Promise<AgentBridgeOperationResult<unknown>>;
5735
6080
  closeAllStreams?(reason?: string): void;
6081
+ cancelAllPrograms?(reason?: string): void;
5736
6082
  }
5737
6083
  /** createBridgeRuntime 内部保存的浏览器流句柄。 */
5738
6084
  interface AgentBridgeActiveStream {
@@ -5747,7 +6093,7 @@ declare const AGENT_BRIDGE_PROTOCOL_VERSION = "sdk3-agent-bridge/v1";
5747
6093
  /**
5748
6094
  * 浏览器侧 bridge 与 MCP 服务端之间的协议消息类型。
5749
6095
  */
5750
- type AgentBridgeMessageType = 'register' | 'unregister' | 'heartbeat' | 'catalog' | 'schema' | 'invoke' | 'stream-start' | 'stream-close' | 'stream-event' | 'result';
6096
+ type AgentBridgeMessageType = 'register' | 'unregister' | 'heartbeat' | 'catalog' | 'schema' | 'validate-actions' | 'invoke' | 'stream-start' | 'stream-close' | 'stream-event' | 'load-program' | 'start-program' | 'cancel-program' | 'program-event' | 'result';
5751
6097
  /**
5752
6098
  * 所有协议消息的基础信封。
5753
6099
  */
@@ -5756,6 +6102,7 @@ interface AgentBridgeMessageEnvelope<TPayload = unknown> {
5756
6102
  protocolVersion: typeof AGENT_BRIDGE_PROTOCOL_VERSION;
5757
6103
  bridgeId?: string;
5758
6104
  callId?: string;
6105
+ traceId?: string;
5759
6106
  ts: number;
5760
6107
  payload: TPayload;
5761
6108
  }
@@ -5765,8 +6112,11 @@ interface AgentBridgeRegisterPayload extends AgentBridgeRuntimeSnapshot {
5765
6112
  capabilities: {
5766
6113
  catalog: true;
5767
6114
  schema: true;
6115
+ validateActions: true;
5768
6116
  invoke: true;
5769
6117
  stream: true;
6118
+ businessPrograms: true;
6119
+ businessProgramProtocolVersion: 1;
5770
6120
  };
5771
6121
  }
5772
6122
  /** 关闭消息携带的原因。 */
@@ -5790,16 +6140,21 @@ interface AgentBridgeSchemaRequestPayload {
5790
6140
  }
5791
6141
  /** invoke 请求。 */
5792
6142
  type AgentBridgeInvokeRequestPayload = AgentBridgeInvokeRequest;
6143
+ type AgentBridgeValidateActionsRequestPayload = AgentBridgeValidateActionsRequest;
5793
6144
  /** 流式 invoke 与关闭请求。 */
5794
6145
  type AgentBridgeStreamStartRequestPayload = AgentBridgeStreamStartRequest;
5795
6146
  type AgentBridgeStreamCloseRequestPayload = AgentBridgeStreamCloseRequest;
6147
+ type AgentBridgeLoadProgramRequestPayload = AgentBridgeLoadProgramRequest;
6148
+ type AgentBridgeStartProgramRequestPayload = AgentBridgeStartProgramRequest;
6149
+ type AgentBridgeCancelProgramRequestPayload = AgentBridgeCancelProgramRequest;
5796
6150
  /** result 消息。 */
5797
6151
  interface AgentBridgeResultPayload<TData = unknown> {
5798
- requestType: 'catalog' | 'schema' | 'invoke' | 'stream-start' | 'stream-close';
6152
+ requestType: 'catalog' | 'schema' | 'validate-actions' | 'invoke' | 'stream-start' | 'stream-close' | 'load-program' | 'start-program' | 'cancel-program';
5799
6153
  result: AgentBridgeOperationResult<TData>;
6154
+ traceId?: string;
5800
6155
  }
5801
- type AgentBridgeInboundMessage = AgentBridgeMessageEnvelope<AgentBridgeCatalogRequestPayload> | AgentBridgeMessageEnvelope<AgentBridgeSchemaRequestPayload> | AgentBridgeMessageEnvelope<AgentBridgeInvokeRequestPayload> | AgentBridgeMessageEnvelope<AgentBridgeStreamStartRequestPayload> | AgentBridgeMessageEnvelope<AgentBridgeStreamCloseRequestPayload>;
5802
- type AgentBridgeOutboundMessage = AgentBridgeMessageEnvelope<AgentBridgeRegisterPayload> | AgentBridgeMessageEnvelope<AgentBridgeUnregisterPayload> | AgentBridgeMessageEnvelope<AgentBridgeHeartbeatPayload> | AgentBridgeMessageEnvelope<AgentBridgeStreamEventPayload> | AgentBridgeMessageEnvelope<AgentBridgeResultPayload>;
6156
+ type AgentBridgeInboundMessage = AgentBridgeMessageEnvelope<AgentBridgeCatalogRequestPayload> | AgentBridgeMessageEnvelope<AgentBridgeSchemaRequestPayload> | AgentBridgeMessageEnvelope<AgentBridgeValidateActionsRequestPayload> | AgentBridgeMessageEnvelope<AgentBridgeInvokeRequestPayload> | AgentBridgeMessageEnvelope<AgentBridgeStreamStartRequestPayload> | AgentBridgeMessageEnvelope<AgentBridgeStreamCloseRequestPayload> | AgentBridgeMessageEnvelope<AgentBridgeLoadProgramRequestPayload> | AgentBridgeMessageEnvelope<AgentBridgeStartProgramRequestPayload> | AgentBridgeMessageEnvelope<AgentBridgeCancelProgramRequestPayload>;
6157
+ type AgentBridgeOutboundMessage = AgentBridgeMessageEnvelope<AgentBridgeRegisterPayload> | AgentBridgeMessageEnvelope<AgentBridgeUnregisterPayload> | AgentBridgeMessageEnvelope<AgentBridgeHeartbeatPayload> | AgentBridgeMessageEnvelope<AgentBridgeStreamEventPayload> | AgentBridgeMessageEnvelope<AgentBridgeProgramEventPayload> | AgentBridgeMessageEnvelope<AgentBridgeResultPayload>;
5803
6158
  //#endregion
5804
6159
  //#region src/agentBridge/AgentRuntimeBridge.d.ts
5805
6160
  interface AgentBridgeSocket {
@@ -5851,11 +6206,21 @@ declare class AgentRuntimeBridge {
5851
6206
  private clearHeartbeat;
5852
6207
  private handleMessage;
5853
6208
  private sendStreamEvent;
6209
+ private sendProgramEvent;
5854
6210
  private sendResult;
5855
6211
  private send;
5856
6212
  private clearSocketHandlers;
5857
6213
  }
5858
6214
  //#endregion
6215
+ //#region src/agentBridge/businessProgram/BusinessProgramRuntime.d.ts
6216
+ interface BusinessProgramWorker {
6217
+ onmessage: ((event: MessageEvent) => void) | null;
6218
+ onerror: ((event: ErrorEvent) => void) | null;
6219
+ postMessage(message: unknown): void;
6220
+ terminate(): void;
6221
+ }
6222
+ type BusinessProgramWorkerFactory = (source: string) => BusinessProgramWorker;
6223
+ //#endregion
5859
6224
  //#region src/agentBridge/createBridgeRuntime.d.ts
5860
6225
  interface AgentBridgeRuntimeFactoryOptions {
5861
6226
  bridgeId?: string;
@@ -5867,11 +6232,14 @@ interface AgentBridgeRuntimeFactoryOptions {
5867
6232
  getAuthSnapshot?: () => AuthSessionSnapshot;
5868
6233
  mockInvoke?: boolean;
5869
6234
  }
6235
+ interface AgentBridgeRuntimeFactoryDependencies {
6236
+ businessProgramWorkerFactory?: BusinessProgramWorkerFactory;
6237
+ }
5870
6238
  /**
5871
6239
  * 将 DTCEngine 适配为 bridge 可消费的运行时接口。
5872
6240
  * 这里负责权限、ready 状态和 API 调用收口,WebSocket 协议由 AgentRuntimeBridge 处理。
5873
6241
  */
5874
- declare function createBridgeRuntime(engine: DTCEngine, options?: AgentBridgeRuntimeFactoryOptions): AgentBridgeRuntimeAdapter;
6242
+ declare function createBridgeRuntime(engine: DTCEngine, options?: AgentBridgeRuntimeFactoryOptions, dependencies?: AgentBridgeRuntimeFactoryDependencies): AgentBridgeRuntimeAdapter;
5875
6243
  //#endregion
5876
6244
  //#region src/agentBridge/metadataGenerator/buildAgentBridgeMetadata.d.ts
5877
6245
  interface AgentBridgeGeneratedMethodMetadata extends AgentBridgeMethodCatalogItem {
@@ -5898,6 +6266,66 @@ declare function listAgentBridgeModules(expose?: AgentBridgeExposeConfig): Agent
5898
6266
  declare function listAgentBridgeMethods(moduleName: ApiModuleKey, expose?: AgentBridgeExposeConfig): AgentBridgeMethodCatalogItem[];
5899
6267
  declare function getAgentBridgeMethodSchema(moduleName: ApiModuleKey, methodName: string, expose?: AgentBridgeExposeConfig): AgentBridgeMethodSchemaMetadata | undefined;
5900
6268
  //#endregion
6269
+ //#region src/orchestration/BuildingFloor.d.ts
6270
+ type BuildingFloorErrorCode = 'INVALID_REGISTRATION' | 'BUILDING_ALREADY_REGISTERED' | 'BUILDING_NOT_REGISTERED' | 'FLOOR_NOT_FOUND' | 'MODEL_INFO_INVALID';
6271
+ /** 建筑楼层 API 配置或运行状态错误。 */
6272
+ declare class BuildingFloorError extends Error {
6273
+ readonly code: BuildingFloorErrorCode;
6274
+ readonly buildingId?: string | undefined;
6275
+ readonly floorId?: string | undefined;
6276
+ readonly name = "BuildingFloorError";
6277
+ constructor(code: BuildingFloorErrorCode, message: string, buildingId?: string | undefined, floorId?: string | undefined);
6278
+ }
6279
+ interface BuildingFloorDependencies {
6280
+ model: Pick<Model, 'getModelInfo' | 'setVisible'>;
6281
+ modelTransform: Pick<ModelTransform, 'startMoveByNodes' | 'endMove'>;
6282
+ camera: Pick<Camera, 'flyToTarget' | 'lookAt'>;
6283
+ }
6284
+ interface BuildingFloorRuntimeOptions {
6285
+ logger?: ModuleLogger;
6286
+ }
6287
+ /**
6288
+ * 建筑楼层高级编排 API。
6289
+ *
6290
+ * 组合模型查询、模型显隐、模型移动和相机定位能力,为项目提供统一的楼层切换状态机。
6291
+ */
6292
+ declare class BuildingFloor {
6293
+ private readonly dependencies;
6294
+ private readonly buildings;
6295
+ private readonly logger;
6296
+ constructor(dependencies: BuildingFloorDependencies, runtimeOptions?: BuildingFloorRuntimeOptions);
6297
+ register(building: BuildingFloorRegistration): Promise<BuildingFloorRegistrationResult>;
6298
+ register(buildings: BuildingFloorRegistration[]): Promise<BuildingFloorRegistrationResult>;
6299
+ switchTo(options: BuildingFloorSwitchOptions): Promise<BuildingFloorTransitionResult>;
6300
+ showOverview(options: BuildingFloorOverviewOptions): Promise<BuildingFloorTransitionResult>;
6301
+ cancel(options: BuildingFloorCancelOptions): Promise<void>;
6302
+ getState(options: BuildingFloorStateOptions): BuildingFloorState;
6303
+ private normalizeRegistrations;
6304
+ private normalizeFloor;
6305
+ private normalizeObjectIds;
6306
+ private validateViewPoint;
6307
+ private requireNonEmptyString;
6308
+ private assertBuildingsRemainAvailable;
6309
+ private measureFloorPositions;
6310
+ private extractPosition;
6311
+ private requireBuilding;
6312
+ private transition;
6313
+ private schedule;
6314
+ private scheduleCompletion;
6315
+ private completeTransition;
6316
+ private focusTarget;
6317
+ private failTransition;
6318
+ private settleTransition;
6319
+ private stopActiveTransition;
6320
+ private stopActiveMoves;
6321
+ private createResult;
6322
+ private getHideOffset;
6323
+ private getAccessoryObjectIds;
6324
+ private getBatchDurationMs;
6325
+ private getMotionSpeed;
6326
+ private positionAtZ;
6327
+ }
6328
+ //#endregion
5901
6329
  //#region src/application/DTCEngine.d.ts
5902
6330
  /**
5903
6331
  * DTCEngine 对外构造参数。
@@ -6066,6 +6494,8 @@ declare class DTCEngine {
6066
6494
  readonly ModelPOI: ApiInstanceMap['ModelPOI'];
6067
6495
  /** 模型变换模块。 */
6068
6496
  readonly ModelTransform: ApiInstanceMap['ModelTransform'];
6497
+ /** 建筑楼层分层控制模块。 */
6498
+ readonly BuildingFloor: BuildingFloor;
6069
6499
  /** 路径巡逻模块。 */
6070
6500
  readonly PathPatrol: ApiInstanceMap['PathPatrol'];
6071
6501
  /** 高亮效果模块。 */
@@ -6285,4 +6715,4 @@ declare class SDKValidationError extends Error {
6285
6715
  toJSON(): Record<string, unknown>;
6286
6716
  }
6287
6717
  //#endregion
6288
- export { AGENT_BRIDGE_API_METADATA, type AGENT_BRIDGE_PROTOCOL_VERSION, API_MODULE_KEYS, type AgentBridgeActiveStream, type AgentBridgeCatalogRequestPayload, type AgentBridgeErrorCode, type AgentBridgeExposeConfig, type AgentBridgeHeartbeatPayload, type AgentBridgeInboundMessage, type AgentBridgeInvokeRequest, type AgentBridgeInvokeRequestPayload, type AgentBridgeMessageEnvelope, type AgentBridgeMessageType, type AgentBridgeMethodCatalogItem, type AgentBridgeMethodResponseMode, type AgentBridgeMethodSchemaMetadata, type AgentBridgeMethodSideEffect, type AgentBridgeModuleCatalogItem, type AgentBridgeOperationResult, type AgentBridgeOutboundMessage, type AgentBridgeReconnectOptions, type AgentBridgeRegisterPayload, type AgentBridgeResultPayload, type AgentBridgeRuntimeAdapter, type AgentBridgeRuntimeEngineSnapshot, type AgentBridgeRuntimeFactoryOptions, type AgentBridgeRuntimeSnapshot, type AgentBridgeSchemaEnumOption, type AgentBridgeSchemaField, type AgentBridgeSchemaFieldType, type AgentBridgeSchemaRequestPayload, type AgentBridgeSocket, type AgentBridgeSocketFactory, type AgentBridgeStreamCloseRequest, type AgentBridgeStreamCloseRequestPayload, type AgentBridgeStreamCloseResult, type AgentBridgeStreamEventListener, type AgentBridgeStreamEventPayload, type AgentBridgeStreamStartRequest, type AgentBridgeStreamStartRequestPayload, type AgentBridgeStreamStartResult, type AgentBridgeStreamTerminalReason, type AgentBridgeStructuredError, type AgentBridgeUnregisterPayload, AgentRuntimeBridge, type AgentRuntimeBridgeDependencies, Animation, type AnimationGetLengthRequest, type AnimationPlayRequest, type AnimationSetSpeedRequest, type AnimationStartLoopRequest, type AnimationStopLoopRequest, type AnimationStopRequest, type ApiCallback, type ApiFacade, type ApiInstanceMap, type ApiModuleFactory, type ApiModuleKey, type ApiRegistry, type ApiRegistryContext, ApiRegistryError, type ApiRequestEnvelope, type ApiResponseEnvelope, type AuthErrorInfo, type AuthSessionSnapshot, type AuthWorkflowState, Camera, type CameraFlyByPathRequest, type CameraFlyToTargetRequest, type CameraLookAtRequest, type CameraObjFollowRequest, type CameraSetFlySpeedRequest, type CameraSetFovRequest, type CameraSetPositionAndRotationRequest, type CenterConnectResult, type CenterEnvelope, type CenterServiceInfo, type CenterTokenAuthorizeResult, Connect, DTCEngine, type DTCEngineAgentBridgeOptions, Dlss, DlssQuality, type DlssSetEnableRequest, type DlssSetQualityRequest, type EngineConfig, type EngineLogLevel, type EngineStatusInfo, type EngineViewMode, type FeatureToggleRequest, FilterMode, type GetWeatherTypeRequest, HeatMap, type HeatMapConfigRequest, type HeatMapCreateRequest, type HeatMapPointRequest, type HeatMapRemoveRequest, HighLighterEffect, type HighLighterEnableRequest, type HighLighterRemoveHighLightModelRequest, type HighLighterSetHighLightModelRequest, Layer, type LayerAddRequest, type LayerChildElementRequest, LayerEnum, type LayerModelAddRequest, type LayerModelRemoveRequest, type LayerPOIAddRequest, type LayerSelectorRequest, type LayerShowUIPopRequest, type LayerSwitchModelRequest, Model, type ModelAddRequest, type ModelBoundsRequest, ModelPOI, type ModelPOIAddRequest, type ModelPOIDeleteByGroupRequest, type ModelPOIDeleteByIdRequest, type ModelPOIGetInfoRequest, type ModelPOIUpdateRequest, type ModelPOIVisibleByGroupRequest, type ModelRemoveRequest, type ModelSelectorRequest, type ModelSetVisibleByAttributeRequest, type ModelSetVisibleByTagsRequest, type ModelSetVisibleRequest, ModelTransform, type ModelTransformNodeRequest, type ModelTransformRestoreRequest, type ModelTransformRotateByTargetRequest, type ModelTransformRotateRequest, type ModelTransformScaleRequest, type ModelTransformStartMoveRequest, ModelTransformType, Navigation, type NavigationMeshNavRequest, type NavigationNavByPathRequest, type NavigationNodeRequest, type NavigationUpdateMeshNavRequest, type NavigationUpdateNavPathRequest, type NavigationUpdateSpeedRequest, type NetworkAdaptationActionResult, type NetworkAdaptationActionStep, type NetworkAdaptationActionType, type NetworkAdaptationLevel, type NetworkAdaptationMode, type NetworkAdaptationState, type NetworkDecisionTrace, type NetworkDiagnosticsSnapshot, type NetworkMetricsSnapshot, PathPatrol, type PathPatrolAddRequest, type PathPatrolNodeRequest, type PathPatrolSetTimeNodeRequest, type PathPatrolUpdateRequest, PendingValidationSchemaMap, Popup, type PopupAddRequest, type PopupDelayRequest, type PopupItemRequest, type PopupRemoveRequest, type PopupShowDistanceRequest, type PopupShowRequest, type PopupSyncInfoRequest, type QOS_EVENT_NAMES, type QosEvent, type QosEventName, type QosLevel, type QosReportingPayload, type QosRuntimeContext, type QosSessionContext, type QosStage, type QosStatus, type QosWarnErrorSummary, type ResolvedEngineConfig, SDKValidationError, Scene, type SceneListenCompassRequest, type SceneSwitchRequest, Screen, ScreenRenderBitratePreset, ScreenRenderBitratePresetOptions, type ScreenRenderBitratePresetValueMap, type ScreenSetSceneFPSRequest, type ScreenSetSceneRenderBitrateRequest, type ScreenSetScreenResolutionRequest, type ScreenSetVideoDecodeRequest, Season, type SignallingAllocateResponse, type StandardResponse, TimeLine, type TimeSerialNode, type TimelineNodeRequest, type TimelinePlayRequest, type TimelineSetSpeedRequest, type TimelineStopRequest, UIPOI, type UIPOIAddRequest, type UIPOIDeleteByGroupRequest, type UIPOIDeleteByIdRequest, type UIPOIEnableOverlapRequest, type UIPOIShowDistanceRequest, type UIPOIUpdateRequest, type UIPOIUpdateStateRequest, type Vector2Input, type Vector2JsonInput, type Vector3Input, type Vector3JsonInput, VideoCodeType, type WeatherChangeSeasonRequest, type WeatherOpenCameraFogRequest, type WeatherSetAnimateTimeOfDayRequest, type WeatherSetDayAndNightRequest, type WeatherSetSceneTimeRequest, type WeatherSetTimeSyncRequest, WeatherSystem, type WeatherTypeRequest, WebView, type WebViewUpdateRequest, apiRegistry, createAgentBridgeMetadata, createApiFacade, createBridgeRuntime, getAgentBridgeMethodSchema, isAgentBridgeMethodExposed, isAgentBridgeModuleExposed, isAgentBridgeModuleName, listAgentBridgeMethods, listAgentBridgeModules, resolveAgentBridgeExposeConfig };
6718
+ export { AGENT_BRIDGE_API_METADATA, type AGENT_BRIDGE_PROTOCOL_VERSION, API_MODULE_KEYS, type AgentBridgeActiveStream, type AgentBridgeBusinessProgramManifest, type AgentBridgeBusinessProgramPermissionMode, type AgentBridgeCancelProgramRequest, type AgentBridgeCancelProgramRequestPayload, type AgentBridgeCatalogRequestPayload, type AgentBridgeErrorCode, type AgentBridgeExposeConfig, type AgentBridgeHeartbeatPayload, type AgentBridgeInboundMessage, type AgentBridgeInvokeRequest, type AgentBridgeInvokeRequestPayload, type AgentBridgeLoadProgramRequest, type AgentBridgeLoadProgramRequestPayload, type AgentBridgeMessageEnvelope, type AgentBridgeMessageType, type AgentBridgeMethodCatalogItem, type AgentBridgeMethodResponseMode, type AgentBridgeMethodSchemaMetadata, type AgentBridgeMethodSideEffect, type AgentBridgeModuleCatalogItem, type AgentBridgeOperationResult, type AgentBridgeOutboundMessage, type AgentBridgeProgramEventPayload, type AgentBridgeReconnectOptions, type AgentBridgeRegisterPayload, type AgentBridgeResultPayload, type AgentBridgeRuntimeAdapter, type AgentBridgeRuntimeEngineSnapshot, type AgentBridgeRuntimeFactoryOptions, type AgentBridgeRuntimeSnapshot, type AgentBridgeSchemaEnumOption, type AgentBridgeSchemaField, type AgentBridgeSchemaFieldType, type AgentBridgeSchemaRequestPayload, type AgentBridgeSocket, type AgentBridgeSocketFactory, type AgentBridgeStartProgramRequest, type AgentBridgeStartProgramRequestPayload, type AgentBridgeStreamCloseRequest, type AgentBridgeStreamCloseRequestPayload, type AgentBridgeStreamCloseResult, type AgentBridgeStreamEventListener, type AgentBridgeStreamEventPayload, type AgentBridgeStreamStartRequest, type AgentBridgeStreamStartRequestPayload, type AgentBridgeStreamStartResult, type AgentBridgeStreamTerminalReason, type AgentBridgeStructuredError, type AgentBridgeUnregisterPayload, type AgentBridgeValidateAction, type AgentBridgeValidateActionItem, type AgentBridgeValidateActionsRequest, type AgentBridgeValidateActionsRequestPayload, type AgentBridgeValidateActionsResult, AgentRuntimeBridge, type AgentRuntimeBridgeDependencies, Animation, type AnimationGetLengthRequest, type AnimationPlayRequest, type AnimationSetSpeedRequest, type AnimationStartLoopRequest, type AnimationStopLoopRequest, type AnimationStopRequest, type ApiCallback, type ApiFacade, type ApiInstanceMap, type ApiModuleFactory, type ApiModuleKey, type ApiRegistry, type ApiRegistryContext, ApiRegistryError, type ApiRequestEnvelope, type ApiResponseEnvelope, type AuthErrorInfo, type AuthSessionSnapshot, type AuthWorkflowState, BuildingFloor, type BuildingFloorCancelOptions, type BuildingFloorDependencies, BuildingFloorError, type BuildingFloorErrorCode, type BuildingFloorFocusMode, type BuildingFloorInput, type BuildingFloorItem, type BuildingFloorOverview, type BuildingFloorOverviewOptions, type BuildingFloorRegistration, type BuildingFloorRegistrationResult, type BuildingFloorRuntimeOptions, type BuildingFloorRuntimeStatus, type BuildingFloorState, type BuildingFloorStateOptions, type BuildingFloorSwitchOptions, type BuildingFloorTransitionResult, type BuildingFloorTransitionStatus, type BuildingFloorViewPoint, Camera, type CameraFlyByPathRequest, type CameraFlyToTargetRequest, type CameraLookAtRequest, type CameraObjFollowRequest, type CameraSetFlySpeedRequest, type CameraSetFovRequest, type CameraSetPositionAndRotationRequest, type CenterConnectResult, type CenterEnvelope, type CenterServiceInfo, type CenterTokenAuthorizeResult, Connect, DTCEngine, type DTCEngineAgentBridgeOptions, Dlss, DlssQuality, type DlssSetEnableRequest, type DlssSetQualityRequest, type EngineConfig, type EngineLogLevel, type EngineStatusInfo, type EngineViewMode, type FeatureToggleRequest, FilterMode, type GetWeatherTypeRequest, HeatMap, type HeatMapConfigRequest, type HeatMapCreateRequest, type HeatMapPointRequest, type HeatMapRemoveRequest, HighLighterEffect, type HighLighterEnableRequest, type HighLighterRemoveHighLightModelRequest, type HighLighterSetHighLightModelRequest, Layer, type LayerAddRequest, type LayerChildElementRequest, LayerEnum, type LayerModelAddRequest, type LayerModelRemoveRequest, type LayerPOIAddRequest, type LayerSelectorRequest, type LayerShowUIPopRequest, type LayerSwitchModelRequest, Model, type ModelAddRequest, type ModelBoundsRequest, ModelPOI, type ModelPOIAddRequest, type ModelPOIDeleteByGroupRequest, type ModelPOIDeleteByIdRequest, type ModelPOIGetInfoRequest, type ModelPOIUpdateRequest, type ModelPOIVisibleByGroupRequest, type ModelRemoveRequest, type ModelSelectorRequest, type ModelSetVisibleByAttributeRequest, type ModelSetVisibleByTagsRequest, type ModelSetVisibleRequest, ModelTransform, type ModelTransformNodeRequest, type ModelTransformRestoreRequest, type ModelTransformRotateByTargetRequest, type ModelTransformRotateRequest, type ModelTransformScaleRequest, type ModelTransformStartMoveRequest, ModelTransformType, Navigation, type NavigationMeshNavRequest, type NavigationNavByPathRequest, type NavigationNodeRequest, type NavigationUpdateMeshNavRequest, type NavigationUpdateNavPathRequest, type NavigationUpdateSpeedRequest, type NetworkAdaptationActionResult, type NetworkAdaptationActionStep, type NetworkAdaptationActionType, type NetworkAdaptationLevel, type NetworkAdaptationMode, type NetworkAdaptationState, type NetworkDecisionTrace, type NetworkDiagnosticsSnapshot, type NetworkMetricsSnapshot, PathPatrol, type PathPatrolAddRequest, type PathPatrolNodeRequest, type PathPatrolSetTimeNodeRequest, type PathPatrolUpdateRequest, PendingValidationSchemaMap, Popup, type PopupAddRequest, type PopupDelayRequest, type PopupItemRequest, type PopupRemoveRequest, type PopupShowDistanceRequest, type PopupShowRequest, type PopupSyncInfoRequest, type QOS_EVENT_NAMES, type QosEvent, type QosEventName, type QosLevel, type QosReportingPayload, type QosRuntimeContext, type QosSessionContext, type QosStage, type QosStatus, type QosWarnErrorSummary, type ResolvedEngineConfig, SDKValidationError, Scene, type SceneListenCompassRequest, type SceneSwitchRequest, Screen, ScreenRenderBitratePreset, ScreenRenderBitratePresetOptions, type ScreenRenderBitratePresetValueMap, type ScreenSetSceneFPSRequest, type ScreenSetSceneRenderBitrateRequest, type ScreenSetScreenResolutionRequest, type ScreenSetVideoDecodeRequest, Season, type SignallingAllocateResponse, SpatialQuery, type SpatialQueryLayerByModelBoxRequest, type SpatialQueryLayerByModelRequest, type SpatialQueryLayerByPositionRequest, type StandardResponse, TimeLine, type TimeSerialNode, type TimelineNodeRequest, type TimelinePlayRequest, type TimelineSetSpeedRequest, type TimelineStopRequest, UIPOI, type UIPOIAddRequest, type UIPOIDeleteByGroupRequest, type UIPOIDeleteByIdRequest, type UIPOIEnableOverlapRequest, type UIPOIShowDistanceRequest, type UIPOIUpdateRequest, type UIPOIUpdateStateRequest, type Vector2Input, type Vector2JsonInput, type Vector3Input, type Vector3JsonInput, VideoCodeType, type WeatherChangeSeasonRequest, type WeatherOpenCameraFogRequest, type WeatherSetAnimateTimeOfDayRequest, type WeatherSetDayAndNightRequest, type WeatherSetSceneTimeRequest, type WeatherSetTimeSyncRequest, WeatherSystem, type WeatherTypeRequest, WebView, type WebViewUpdateRequest, apiRegistry, createAgentBridgeMetadata, createApiFacade, createBridgeRuntime, getAgentBridgeMethodSchema, isAgentBridgeMethodExposed, isAgentBridgeModuleExposed, isAgentBridgeModuleName, listAgentBridgeMethods, listAgentBridgeModules, resolveAgentBridgeExposeConfig };