@esengine/ecs-framework 2.4.0 → 2.4.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/index.d.ts CHANGED
@@ -1,5 +1,5 @@
1
1
  /**
2
- * @esengine/ecs-framework v2.4.0
2
+ * @esengine/ecs-framework v2.4.1
3
3
  * TypeScript definitions
4
4
  */
5
5
  /**
@@ -44,7 +44,7 @@ type ComponentTypeMap<T extends readonly ComponentConstructor[]> = {
44
44
  * 实体with组件的类型
45
45
  * 表示一个实体确定拥有某些组件
46
46
  */
47
- interface EntityWithComponents<T extends readonly ComponentConstructor[]> {
47
+ type EntityWithComponents<T extends readonly ComponentConstructor[]> = {
48
48
  readonly id: number;
49
49
  readonly name: string;
50
50
  /**
@@ -60,7 +60,7 @@ interface EntityWithComponents<T extends readonly ComponentConstructor[]> {
60
60
  * 获取所有组件
61
61
  */
62
62
  readonly components: ComponentTypeMap<T>;
63
- }
63
+ };
64
64
  /**
65
65
  * 查询结果类型
66
66
  * 根据查询条件推断实体必定拥有的组件
@@ -135,7 +135,7 @@ type TypedEventHandler<T> = (data: T) => void | Promise<void>;
135
135
  /**
136
136
  * 系统生命周期钩子类型
137
137
  */
138
- interface SystemLifecycleHooks<T extends readonly ComponentConstructor[]> {
138
+ type SystemLifecycleHooks<T extends readonly ComponentConstructor[]> = {
139
139
  /**
140
140
  * 实体添加到系统时调用
141
141
  */
@@ -152,26 +152,26 @@ interface SystemLifecycleHooks<T extends readonly ComponentConstructor[]> {
152
152
  * 系统销毁时调用
153
153
  */
154
154
  onDestroy?: () => void;
155
- }
155
+ };
156
156
  /**
157
157
  * Fluent API构建器类型
158
158
  */
159
- interface TypeSafeBuilder<T> {
159
+ type TypeSafeBuilder<T> = {
160
160
  /**
161
161
  * 完成构建
162
162
  */
163
163
  build(): T;
164
- }
164
+ };
165
165
  /**
166
166
  * 实体查询条件类型
167
167
  */
168
- interface TypedQueryCondition<All extends readonly ComponentConstructor[] = [], Any extends readonly ComponentConstructor[] = [], None extends readonly ComponentConstructor[] = []> {
168
+ type TypedQueryCondition<All extends readonly ComponentConstructor[] = [], Any extends readonly ComponentConstructor[] = [], None extends readonly ComponentConstructor[] = []> = {
169
169
  all: All;
170
170
  any: Any;
171
171
  none: None;
172
172
  tag?: number;
173
173
  name?: string;
174
- }
174
+ };
175
175
  /**
176
176
  * 组件类型守卫
177
177
  */
@@ -224,14 +224,14 @@ type SerializableComponent<T extends IComponent> = DeepPartial<DataOnly<T>>;
224
224
  *
225
225
  * 实现此接口的服务将在每帧被Core自动调用update方法
226
226
  */
227
- interface IUpdatable {
227
+ type IUpdatable = {
228
228
  /**
229
229
  * 每帧更新方法
230
230
  *
231
231
  * @param deltaTime - 帧时间间隔(秒),可选参数
232
232
  */
233
233
  update(deltaTime?: number): void;
234
- }
234
+ };
235
235
 
236
236
  /**
237
237
  * 框架核心类型定义
@@ -243,7 +243,7 @@ interface IUpdatable {
243
243
  * 定义组件的基本契约。
244
244
  * 在 ECS 架构中,组件应该是纯数据容器,不包含业务逻辑。
245
245
  */
246
- interface IComponent {
246
+ type IComponent = {
247
247
  /** 组件唯一标识符 */
248
248
  readonly id: number;
249
249
  /** 组件所属的实体ID */
@@ -268,13 +268,13 @@ interface IComponent {
268
268
  onRemovedFromEntity(): void;
269
269
  /** 组件反序列化后的回调 */
270
270
  onDeserialized(): void | Promise<void>;
271
- }
271
+ };
272
272
  /**
273
273
  * 系统基础接口
274
274
  *
275
275
  * 为现有的EntitySystem类提供类型定义
276
276
  */
277
- interface ISystemBase {
277
+ type ISystemBase = {
278
278
  /** 系统名称 */
279
279
  readonly systemName: string;
280
280
  /** 更新顺序/优先级 */
@@ -287,12 +287,12 @@ interface ISystemBase {
287
287
  update(): void;
288
288
  /** 延迟更新系统 */
289
289
  lateUpdate?(): void;
290
- }
290
+ };
291
291
  /**
292
292
  * 事件总线接口
293
293
  * 提供类型安全的事件发布订阅机制
294
294
  */
295
- interface IEventBus {
295
+ type IEventBus = {
296
296
  /**
297
297
  * 发射事件
298
298
  * @param eventType 事件类型
@@ -354,11 +354,11 @@ interface IEventBus {
354
354
  * 清空所有监听器
355
355
  */
356
356
  clear(): void;
357
- }
357
+ };
358
358
  /**
359
359
  * 事件监听器配置接口
360
360
  */
361
- interface IEventListenerConfig {
361
+ type IEventListenerConfig = {
362
362
  /** 是否只执行一次 */
363
363
  once?: boolean;
364
364
  /** 优先级(数字越大优先级越高) */
@@ -367,11 +367,11 @@ interface IEventListenerConfig {
367
367
  async?: boolean;
368
368
  /** 事件处理函数的 this 绑定对象 */
369
369
  thisArg?: object;
370
- }
370
+ };
371
371
  /**
372
372
  * 事件统计信息接口
373
373
  */
374
- interface IEventStats {
374
+ type IEventStats = {
375
375
  /** 事件类型 */
376
376
  eventType: string;
377
377
  /** 监听器数量 */
@@ -384,18 +384,18 @@ interface IEventStats {
384
384
  averageExecutionTime: number;
385
385
  /** 最后触发时间 */
386
386
  lastTriggerTime: number;
387
- }
387
+ };
388
388
  /**
389
389
  * 事件数据基类接口
390
390
  */
391
- interface IEventData {
391
+ type IEventData = {
392
392
  /** 事件时间戳 */
393
393
  timestamp: number;
394
394
  /** 事件来源 */
395
395
  source?: string;
396
396
  /** 事件ID */
397
397
  eventId?: string;
398
- }
398
+ };
399
399
  /**
400
400
  * 实体事件数据接口
401
401
  */
@@ -450,7 +450,7 @@ interface IPerformanceEventData extends IEventData {
450
450
  /**
451
451
  * ECS调试配置接口
452
452
  */
453
- interface IECSDebugConfig {
453
+ type IECSDebugConfig = {
454
454
  /** 是否启用调试 */
455
455
  enabled: boolean;
456
456
  /** WebSocket服务器URL */
@@ -469,22 +469,22 @@ interface IECSDebugConfig {
469
469
  components: boolean;
470
470
  scenes: boolean;
471
471
  };
472
- }
472
+ };
473
473
  /**
474
474
  * Core配置接口
475
475
  */
476
- interface ICoreConfig {
476
+ type ICoreConfig = {
477
477
  /** 是否启用调试模式 */
478
478
  debug?: boolean;
479
479
  /** 调试配置 */
480
480
  debugConfig?: IECSDebugConfig;
481
481
  /** WorldManager配置 */
482
482
  worldManagerConfig?: IWorldManagerConfig;
483
- }
483
+ };
484
484
  /**
485
485
  * ECS调试数据接口
486
486
  */
487
- interface IECSDebugData {
487
+ type IECSDebugData = {
488
488
  /** 时间戳 */
489
489
  timestamp: number;
490
490
  /** 框架版本 */
@@ -505,11 +505,11 @@ interface IECSDebugData {
505
505
  components?: IComponentDebugData;
506
506
  /** 场景数据 */
507
507
  scenes?: ISceneDebugData;
508
- }
508
+ };
509
509
  /**
510
510
  * 实体层次结构节点接口
511
511
  */
512
- interface IEntityHierarchyNode {
512
+ type IEntityHierarchyNode = {
513
513
  id: number;
514
514
  name: string;
515
515
  active: boolean;
@@ -522,11 +522,11 @@ interface IEntityHierarchyNode {
522
522
  depth: number;
523
523
  tag: number;
524
524
  updateOrder: number;
525
- }
525
+ };
526
526
  /**
527
527
  * 实体调试数据接口
528
528
  */
529
- interface IEntityDebugData {
529
+ type IEntityDebugData = {
530
530
  /** 总实体数 */
531
531
  totalEntities: number;
532
532
  /** 激活实体数 */
@@ -595,11 +595,11 @@ interface IEntityDebugData {
595
595
  componentCount: number;
596
596
  componentTypes: string[];
597
597
  }>;
598
- }
598
+ };
599
599
  /**
600
600
  * 系统调试数据接口
601
601
  */
602
- interface ISystemDebugData {
602
+ type ISystemDebugData = {
603
603
  /** 总系统数 */
604
604
  totalSystems: number;
605
605
  /** 系统信息列表 */
@@ -617,11 +617,11 @@ interface ISystemDebugData {
617
617
  enabled: boolean;
618
618
  lastUpdateTime?: number;
619
619
  }>;
620
- }
620
+ };
621
621
  /**
622
622
  * 性能调试数据接口
623
623
  */
624
- interface IPerformanceDebugData {
624
+ type IPerformanceDebugData = {
625
625
  /** ECS框架执行时间(毫秒) */
626
626
  frameTime: number;
627
627
  /** 引擎总帧时间(毫秒) */
@@ -666,11 +666,11 @@ interface IPerformanceDebugData {
666
666
  freeMemory: number;
667
667
  gcCollections: number;
668
668
  };
669
- }
669
+ };
670
670
  /**
671
671
  * 组件调试数据接口
672
672
  */
673
- interface IComponentDebugData {
673
+ type IComponentDebugData = {
674
674
  /** 组件类型数 */
675
675
  componentTypes: number;
676
676
  /** 组件实例总数 */
@@ -685,11 +685,11 @@ interface IComponentDebugData {
685
685
  poolUtilization: number;
686
686
  averagePerEntity?: number;
687
687
  }>;
688
- }
688
+ };
689
689
  /**
690
690
  * 场景调试数据接口
691
691
  */
692
- interface ISceneDebugData {
692
+ type ISceneDebugData = {
693
693
  /** 当前场景名称 */
694
694
  currentSceneName: string;
695
695
  /** 场景是否已初始化 */
@@ -702,7 +702,7 @@ interface ISceneDebugData {
702
702
  sceneSystemCount: number;
703
703
  /** 场景启动时间 */
704
704
  sceneUptime: number;
705
- }
705
+ };
706
706
 
707
707
  /**
708
708
  * 游戏组件基类
@@ -858,11 +858,11 @@ type BitMask64Segment = [number, number];
858
858
  * 扩展模式(128+位):base[lo , hi] 作为第一段,segments 存储额外的 64 位段
859
859
  * segments[0] 对应 bit 64-127,segments[1] 对应 bit 128-191,以此类推
860
860
  */
861
- interface BitMask64Data {
861
+ type BitMask64Data = {
862
862
  base: BitMask64Segment;
863
863
  /** 扩展段数组,每个元素是一个 64 位段,用于超过 64 位的场景 */
864
864
  segments?: BitMask64Segment[];
865
- }
865
+ };
866
866
  declare class BitMask64Utils {
867
867
  /** 零掩码常量,所有位都为0 */
868
868
  static readonly ZERO: Readonly<BitMask64Data>;
@@ -1133,6 +1133,9 @@ declare class SoAStorage<T extends Component> {
1133
1133
  /**
1134
1134
  * 组件类型定义
1135
1135
  * Component type definition
1136
+ *
1137
+ * 注意:构造函数参数使用 any[] 是必要的,因为组件可以有各种不同签名的构造函数
1138
+ * Note: Constructor args use any[] because components can have various constructor signatures
1136
1139
  */
1137
1140
  type ComponentType<T extends Component = Component> = new (...args: any[]) => T;
1138
1141
  /**
@@ -1154,7 +1157,7 @@ declare const COMPONENT_EDITOR_OPTIONS: unique symbol;
1154
1157
  * 组件编辑器选项
1155
1158
  * Component editor options
1156
1159
  */
1157
- interface ComponentEditorOptions {
1160
+ type ComponentEditorOptions = {
1158
1161
  /**
1159
1162
  * 是否在 Inspector 中隐藏此组件
1160
1163
  * Whether to hide this component in Inspector
@@ -1172,7 +1175,7 @@ interface ComponentEditorOptions {
1172
1175
  * Component icon (for display in Inspector)
1173
1176
  */
1174
1177
  icon?: string;
1175
- }
1178
+ };
1176
1179
  /**
1177
1180
  * 检查组件是否使用了 @ECSComponent 装饰器
1178
1181
  * Check if component has @ECSComponent decorator
@@ -1242,13 +1245,13 @@ declare function isComponentInstanceHiddenInInspector(component: Component): boo
1242
1245
  * 服务基础接口
1243
1246
  * 所有通过 ServiceContainer 管理的服务都应该实现此接口
1244
1247
  */
1245
- interface IService {
1248
+ type IService = {
1246
1249
  /**
1247
1250
  * 释放服务占用的资源
1248
1251
  * 当服务被注销或容器被清空时调用
1249
1252
  */
1250
1253
  dispose(): void;
1251
- }
1254
+ };
1252
1255
  /**
1253
1256
  * 服务类型
1254
1257
  *
@@ -1462,7 +1465,7 @@ declare class ServiceContainer {
1462
1465
  /**
1463
1466
  * 性能监控数据
1464
1467
  */
1465
- interface PerformanceData {
1468
+ type PerformanceData = {
1466
1469
  /** 系统名称 */
1467
1470
  name: string;
1468
1471
  /** 执行时间(毫秒) */
@@ -1477,11 +1480,11 @@ interface PerformanceData {
1477
1480
  memoryUsage?: number;
1478
1481
  /** CPU使用率(百分比) */
1479
1482
  cpuUsage?: number;
1480
- }
1483
+ };
1481
1484
  /**
1482
1485
  * 性能统计信息
1483
1486
  */
1484
- interface PerformanceStats {
1487
+ type PerformanceStats = {
1485
1488
  /** 总执行时间 */
1486
1489
  totalTime: number;
1487
1490
  /** 平均执行时间 */
@@ -1500,7 +1503,7 @@ interface PerformanceStats {
1500
1503
  percentile95: number;
1501
1504
  /** 99百分位数 */
1502
1505
  percentile99: number;
1503
- }
1506
+ };
1504
1507
  /**
1505
1508
  * 性能警告类型
1506
1509
  */
@@ -1515,7 +1518,7 @@ declare enum PerformanceWarningType {
1515
1518
  /**
1516
1519
  * 性能警告
1517
1520
  */
1518
- interface PerformanceWarning {
1521
+ type PerformanceWarning = {
1519
1522
  type: PerformanceWarningType;
1520
1523
  systemName: string;
1521
1524
  message: string;
@@ -1524,11 +1527,11 @@ interface PerformanceWarning {
1524
1527
  value: number;
1525
1528
  threshold: number;
1526
1529
  suggestion?: string;
1527
- }
1530
+ };
1528
1531
  /**
1529
1532
  * 性能阈值配置
1530
1533
  */
1531
- interface PerformanceThresholds {
1534
+ type PerformanceThresholds = {
1532
1535
  /** 执行时间阈值(毫秒) */
1533
1536
  executionTime: {
1534
1537
  warning: number;
@@ -1554,7 +1557,7 @@ interface PerformanceThresholds {
1554
1557
  warning: number;
1555
1558
  critical: number;
1556
1559
  };
1557
- }
1560
+ };
1558
1561
 
1559
1562
  /**
1560
1563
  * 高性能监控器
@@ -1658,7 +1661,7 @@ declare class PerformanceMonitor implements IService {
1658
1661
  /**
1659
1662
  * 查询条件类型
1660
1663
  */
1661
- interface QueryCondition$1 {
1664
+ type QueryCondition$1 = {
1662
1665
  all: ComponentType[];
1663
1666
  any: ComponentType[];
1664
1667
  none: ComponentType[];
@@ -1666,7 +1669,7 @@ interface QueryCondition$1 {
1666
1669
  name?: string;
1667
1670
  component?: ComponentType;
1668
1671
  matchNothing?: boolean;
1669
- }
1672
+ };
1670
1673
  /**
1671
1674
  * 实体匹配条件描述符
1672
1675
  *
@@ -1860,6 +1863,10 @@ declare class EntityList {
1860
1863
  private removeImmediate;
1861
1864
  /**
1862
1865
  * 移除所有实体
1866
+ * Remove all entities
1867
+ *
1868
+ * 包括 buffer 中的实体和待添加队列中的实体。
1869
+ * Includes entities in buffer and entities in pending add queue.
1863
1870
  */
1864
1871
  removeAllEntities(): void;
1865
1872
  /**
@@ -2666,14 +2673,14 @@ type ArchetypeId = BitMask64Data;
2666
2673
  /**
2667
2674
  * 原型数据结构
2668
2675
  */
2669
- interface Archetype {
2676
+ type Archetype = {
2670
2677
  /** 原型唯一标识符 */
2671
2678
  id: ArchetypeId;
2672
2679
  /** 包含的组件类型 */
2673
2680
  componentTypes: ComponentType[];
2674
2681
  /** 属于该原型的实体集合 */
2675
2682
  entities: Set<Entity>;
2676
- }
2683
+ };
2677
2684
 
2678
2685
  /**
2679
2686
  * 查询条件类型
@@ -2689,22 +2696,22 @@ declare enum QueryConditionType {
2689
2696
  /**
2690
2697
  * 查询条件接口
2691
2698
  */
2692
- interface QueryCondition {
2699
+ type QueryCondition = {
2693
2700
  type: QueryConditionType;
2694
2701
  componentTypes: ComponentType[];
2695
2702
  mask: BitMask64Data;
2696
- }
2703
+ };
2697
2704
  /**
2698
2705
  * 实体查询结果接口
2699
2706
  */
2700
- interface QueryResult {
2707
+ type QueryResult = {
2701
2708
  entities: readonly Entity[];
2702
2709
  count: number;
2703
2710
  /** 查询执行时间(毫秒) */
2704
2711
  executionTime: number;
2705
2712
  /** 是否来自缓存 */
2706
2713
  fromCache: boolean;
2707
- }
2714
+ };
2708
2715
 
2709
2716
  /**
2710
2717
  * 响应式查询变化类型
@@ -2720,7 +2727,7 @@ declare enum ReactiveQueryChangeType {
2720
2727
  /**
2721
2728
  * 响应式查询变化事件
2722
2729
  */
2723
- interface ReactiveQueryChange {
2730
+ type ReactiveQueryChange = {
2724
2731
  /** 变化类型 */
2725
2732
  type: ReactiveQueryChangeType;
2726
2733
  /** 变化的实体 */
@@ -2731,7 +2738,7 @@ interface ReactiveQueryChange {
2731
2738
  added?: readonly Entity[];
2732
2739
  /** 移除的实体列表(仅batch_update时有效) */
2733
2740
  removed?: readonly Entity[];
2734
- }
2741
+ };
2735
2742
  /**
2736
2743
  * 响应式查询监听器
2737
2744
  */
@@ -2739,14 +2746,14 @@ type ReactiveQueryListener = (change: ReactiveQueryChange) => void;
2739
2746
  /**
2740
2747
  * 响应式查询配置
2741
2748
  */
2742
- interface ReactiveQueryConfig {
2749
+ type ReactiveQueryConfig = {
2743
2750
  /** 是否启用批量模式(减少通知频率) */
2744
2751
  enableBatchMode?: boolean;
2745
2752
  /** 批量模式的延迟时间(毫秒) */
2746
2753
  batchDelay?: number;
2747
2754
  /** 调试模式 */
2748
2755
  debug?: boolean;
2749
- }
2756
+ };
2750
2757
  /**
2751
2758
  * 响应式查询类
2752
2759
  *
@@ -3642,7 +3649,7 @@ type AsyncEventHandler<T> = (event: T) => Promise<void>;
3642
3649
  /**
3643
3650
  * 事件监听器配置
3644
3651
  */
3645
- interface EventListenerConfig {
3652
+ type EventListenerConfig = {
3646
3653
  /** 是否只执行一次 */
3647
3654
  once?: boolean;
3648
3655
  /** 优先级(数字越大优先级越高) */
@@ -3651,11 +3658,11 @@ interface EventListenerConfig {
3651
3658
  async?: boolean;
3652
3659
  /** 事件处理函数的 this 绑定对象 */
3653
3660
  thisArg?: object;
3654
- }
3661
+ };
3655
3662
  /**
3656
3663
  * 事件统计信息
3657
3664
  */
3658
- interface EventStats {
3665
+ type EventStats = {
3659
3666
  /** 事件类型 */
3660
3667
  eventType: string;
3661
3668
  /** 监听器数量 */
@@ -3668,18 +3675,18 @@ interface EventStats {
3668
3675
  averageExecutionTime: number;
3669
3676
  /** 最后触发时间 */
3670
3677
  lastTriggerTime: number;
3671
- }
3678
+ };
3672
3679
  /**
3673
3680
  * 事件批处理配置
3674
3681
  */
3675
- interface EventBatchConfig {
3682
+ type EventBatchConfig = {
3676
3683
  /** 批处理大小 */
3677
3684
  batchSize: number;
3678
3685
  /** 批处理延迟(毫秒) */
3679
3686
  delay: number;
3680
3687
  /** 是否启用批处理 */
3681
3688
  enabled: boolean;
3682
- }
3689
+ };
3683
3690
  /**
3684
3691
  * 类型安全的高性能事件系统
3685
3692
  * 支持同步/异步事件、优先级、批处理等功能
@@ -4149,12 +4156,48 @@ declare function queryFor<T extends ComponentConstructor>(componentType: T): Typ
4149
4156
  */
4150
4157
  declare function queryForAll<T extends readonly ComponentConstructor[]>(...types: T): TypedQueryBuilder<T, [], []>;
4151
4158
 
4159
+ /**
4160
+ * 值序列化器
4161
+ *
4162
+ * Value serializer with circular reference detection and extensible type handlers.
4163
+ */
4164
+ type PrimitiveValue = string | number | boolean | null | undefined;
4165
+ type SerializableValue = PrimitiveValue | SerializableValue[] | {
4166
+ readonly [key: string]: SerializableValue;
4167
+ } | {
4168
+ readonly __type: string;
4169
+ readonly value: unknown;
4170
+ };
4171
+ type Serializer<T> = (value: T, serialize: (v: unknown) => SerializableValue) => SerializableValue;
4172
+ type Deserializer<T> = (data: {
4173
+ __type: string;
4174
+ value: unknown;
4175
+ }) => T;
4176
+ interface TypeDef<T = unknown> {
4177
+ check: (value: unknown) => value is T;
4178
+ serialize: Serializer<T>;
4179
+ deserialize: Deserializer<T>;
4180
+ }
4181
+ declare function registerType<T>(name: string, def: TypeDef<T>): void;
4182
+ declare function serialize(value: unknown, seen?: WeakSet<object>): SerializableValue;
4183
+ declare function deserialize(value: SerializableValue): unknown;
4184
+ declare const ValueSerializer: {
4185
+ readonly serialize: typeof serialize;
4186
+ readonly deserialize: typeof deserialize;
4187
+ readonly register: typeof registerType;
4188
+ };
4189
+
4190
+ type TypedValue = {
4191
+ readonly __type: string;
4192
+ readonly value: unknown;
4193
+ };
4194
+
4152
4195
  /**
4153
4196
  * 序列化的实体引用格式
4154
4197
  *
4155
4198
  * Serialized entity reference format.
4156
4199
  */
4157
- interface SerializedEntityRef {
4200
+ type SerializedEntityRef = {
4158
4201
  /**
4159
4202
  * 运行时 ID(向后兼容)
4160
4203
  *
@@ -4167,7 +4210,7 @@ interface SerializedEntityRef {
4167
4210
  * Persistent GUID (new format).
4168
4211
  */
4169
4212
  guid?: string | undefined;
4170
- }
4213
+ };
4171
4214
  /**
4172
4215
  * 序列化上下文
4173
4216
  *
@@ -4330,127 +4373,28 @@ declare class SerializationContext {
4330
4373
  /**
4331
4374
  * 组件序列化器
4332
4375
  *
4333
- * 负责组件的序列化和反序列化操作
4376
+ * Component serializer for ECS components.
4334
4377
  */
4335
4378
 
4336
- /**
4337
- * 可序列化的值类型
4338
- */
4339
- type SerializableValue = string | number | boolean | null | undefined | SerializableValue[] | {
4340
- [key: string]: SerializableValue;
4341
- } | {
4342
- __type: 'Date';
4343
- value: string;
4344
- } | {
4345
- __type: 'Map';
4346
- value: Array<[SerializableValue, SerializableValue]>;
4347
- } | {
4348
- __type: 'Set';
4349
- value: SerializableValue[];
4350
- } | {
4351
- __entityRef: SerializedEntityRef;
4352
- };
4353
- /**
4354
- * 序列化后的组件数据
4355
- */
4356
- interface SerializedComponent {
4357
- /**
4358
- * 组件类型名称
4359
- */
4379
+ type SerializedComponent = {
4360
4380
  type: string;
4361
- /**
4362
- * 序列化版本
4363
- */
4364
4381
  version: number;
4365
- /**
4366
- * 组件数据
4367
- */
4368
4382
  data: Record<string, SerializableValue>;
4369
- }
4370
- /**
4371
- * 组件序列化器类
4372
- */
4383
+ };
4373
4384
  declare class ComponentSerializer {
4374
- /**
4375
- * 序列化单个组件
4376
- *
4377
- * @param component 要序列化的组件实例
4378
- * @returns 序列化后的组件数据,如果组件不可序列化则返回null
4379
- */
4380
4385
  static serialize(component: Component): SerializedComponent | null;
4381
- /**
4382
- * 反序列化组件
4383
- *
4384
- * @param serializedData 序列化的组件数据
4385
- * @param componentRegistry 组件类型注册表 (类型名 -> 构造函数)
4386
- * @param context 序列化上下文(可选,用于解析 EntityRef)
4387
- * @returns 反序列化后的组件实例,如果失败则返回null
4388
- */
4389
4386
  static deserialize(serializedData: SerializedComponent, componentRegistry: Map<string, ComponentType>, context?: SerializationContext): Component | null;
4390
- /**
4391
- * 批量序列化组件
4392
- *
4393
- * @param components 组件数组
4394
- * @returns 序列化后的组件数据数组
4395
- */
4396
4387
  static serializeComponents(components: Component[]): SerializedComponent[];
4397
- /**
4398
- * 批量反序列化组件
4399
- *
4400
- * @param serializedComponents 序列化的组件数据数组
4401
- * @param componentRegistry 组件类型注册表
4402
- * @param context 序列化上下文(可选,用于解析 EntityRef)
4403
- * @returns 反序列化后的组件数组
4404
- */
4405
4388
  static deserializeComponents(serializedComponents: SerializedComponent[], componentRegistry: Map<string, ComponentType>, context?: SerializationContext): Component[];
4406
- /**
4407
- * 默认值序列化
4408
- *
4409
- * 处理基本类型、数组、对象等的序列化
4410
- */
4411
- private static serializeValue;
4412
- /**
4413
- * 默认值反序列化
4414
- */
4415
- private static deserializeValue;
4416
- /**
4417
- * 验证序列化数据的版本
4418
- *
4419
- * @param serializedData 序列化数据
4420
- * @param expectedVersion 期望的版本号
4421
- * @returns 版本是否匹配
4422
- */
4423
4389
  static validateVersion(serializedData: SerializedComponent, expectedVersion: number): boolean;
4424
- /**
4425
- * 获取组件的序列化信息
4426
- *
4427
- * @param component 组件实例或组件类
4428
- * @returns 序列化信息对象,包含类型名、版本、可序列化字段列表
4429
- */
4430
4390
  static getSerializationInfo(component: Component | ComponentType): {
4431
4391
  type: string;
4432
4392
  version: number;
4433
4393
  fields: string[];
4434
4394
  ignoredFields: string[];
4435
4395
  isSerializable: boolean;
4436
- } | null;
4437
- /**
4438
- * 序列化 Entity 引用
4439
- *
4440
- * Serialize an Entity reference to a portable format.
4441
- *
4442
- * @param entity Entity 实例或 null
4443
- * @returns 序列化的引用格式
4444
- */
4396
+ };
4445
4397
  static serializeEntityRef(entity: Entity | null): SerializableValue;
4446
- /**
4447
- * 检查值是否为序列化的 EntityRef
4448
- *
4449
- * Check if a value is a serialized EntityRef.
4450
- *
4451
- * @param value 要检查的值
4452
- * @returns 如果是 EntityRef 返回 true
4453
- */
4454
4398
  static isSerializedEntityRef(value: unknown): value is {
4455
4399
  __entityRef: SerializedEntityRef;
4456
4400
  };
@@ -4618,7 +4562,7 @@ declare class HierarchySystem extends EntitySystem {
4618
4562
  /**
4619
4563
  * 序列化后的实体数据
4620
4564
  */
4621
- interface SerializedEntity {
4565
+ type SerializedEntity = {
4622
4566
  /**
4623
4567
  * 实体ID(运行时ID)
4624
4568
  *
@@ -4663,7 +4607,7 @@ interface SerializedEntity {
4663
4607
  * 父实体ID(如果有)
4664
4608
  */
4665
4609
  parentId?: number;
4666
- }
4610
+ };
4667
4611
  /**
4668
4612
  * 实体序列化器类
4669
4613
  */
@@ -4752,7 +4696,7 @@ type MigrationFunction = (oldVersion: number, newVersion: number, data: any) =>
4752
4696
  /**
4753
4697
  * 场景序列化选项
4754
4698
  */
4755
- interface SceneSerializationOptions {
4699
+ type SceneSerializationOptions = {
4756
4700
  /**
4757
4701
  * 要序列化的组件类型列表
4758
4702
  * 如果未指定,则序列化所有可序列化的组件
@@ -4774,11 +4718,11 @@ interface SceneSerializationOptions {
4774
4718
  * 是否包含元数据(如序列化时间、版本等)
4775
4719
  */
4776
4720
  includeMetadata?: boolean;
4777
- }
4721
+ };
4778
4722
  /**
4779
4723
  * 场景反序列化选项
4780
4724
  */
4781
- interface SceneDeserializationOptions {
4725
+ type SceneDeserializationOptions = {
4782
4726
  /**
4783
4727
  * 反序列化策略
4784
4728
  * - 'merge': 合并到现有场景
@@ -4798,11 +4742,11 @@ interface SceneDeserializationOptions {
4798
4742
  * 如果未提供,将尝试从全局注册表获取
4799
4743
  */
4800
4744
  componentRegistry?: Map<string, ComponentType>;
4801
- }
4745
+ };
4802
4746
  /**
4803
4747
  * 序列化后的场景数据
4804
4748
  */
4805
- interface SerializedScene {
4749
+ type SerializedScene = {
4806
4750
  /**
4807
4751
  * 场景名称
4808
4752
  */
@@ -4840,7 +4784,7 @@ interface SerializedScene {
4840
4784
  typeName: string;
4841
4785
  version: number;
4842
4786
  }>;
4843
- }
4787
+ };
4844
4788
  /**
4845
4789
  * 场景序列化器类
4846
4790
  */
@@ -4890,26 +4834,8 @@ declare class SceneSerializer {
4890
4834
  * @param hierarchySystem 层级系统
4891
4835
  */
4892
4836
  private static addChildrenRecursively;
4893
- /**
4894
- * 序列化场景自定义数据
4895
- *
4896
- * 将 Map<string, any> 转换为普通对象
4897
- */
4898
4837
  private static serializeSceneData;
4899
- /**
4900
- * 反序列化场景自定义数据
4901
- *
4902
- * 将普通对象还原为 Map<string, any>
4903
- */
4904
4838
  private static deserializeSceneData;
4905
- /**
4906
- * 序列化单个值
4907
- */
4908
- private static serializeValue;
4909
- /**
4910
- * 反序列化单个值
4911
- */
4912
- private static deserializeValue;
4913
4839
  /**
4914
4840
  * 过滤要序列化的实体和组件
4915
4841
  */
@@ -4979,7 +4905,7 @@ declare enum ChangeOperation {
4979
4905
  /**
4980
4906
  * 实体变更记录
4981
4907
  */
4982
- interface EntityChange {
4908
+ type EntityChange = {
4983
4909
  /** 操作类型 */
4984
4910
  operation: ChangeOperation;
4985
4911
  /** 实体ID */
@@ -4988,11 +4914,11 @@ interface EntityChange {
4988
4914
  entityName?: string;
4989
4915
  /** 实体数据(用于Added/Updated操作) */
4990
4916
  entityData?: Partial<SerializedEntity>;
4991
- }
4917
+ };
4992
4918
  /**
4993
4919
  * 组件变更记录
4994
4920
  */
4995
- interface ComponentChange {
4921
+ type ComponentChange = {
4996
4922
  /** 操作类型 */
4997
4923
  operation: ChangeOperation;
4998
4924
  /** 实体ID */
@@ -5001,11 +4927,11 @@ interface ComponentChange {
5001
4927
  componentType: string;
5002
4928
  /** 组件数据(用于Added/Updated操作) */
5003
4929
  componentData?: SerializedComponent;
5004
- }
4930
+ };
5005
4931
  /**
5006
4932
  * 场景数据变更记录
5007
4933
  */
5008
- interface SceneDataChange {
4934
+ type SceneDataChange = {
5009
4935
  /** 操作类型 */
5010
4936
  operation: ChangeOperation;
5011
4937
  /** 变更的键 */
@@ -5014,11 +4940,11 @@ interface SceneDataChange {
5014
4940
  value: any;
5015
4941
  /** 是否删除 */
5016
4942
  deleted?: boolean;
5017
- }
4943
+ };
5018
4944
  /**
5019
4945
  * 增量序列化数据
5020
4946
  */
5021
- interface IncrementalSnapshot {
4947
+ type IncrementalSnapshot = {
5022
4948
  /** 快照版本号 */
5023
4949
  version: number;
5024
4950
  /** 时间戳 */
@@ -5033,7 +4959,7 @@ interface IncrementalSnapshot {
5033
4959
  componentChanges: ComponentChange[];
5034
4960
  /** 场景数据变更列表 */
5035
4961
  sceneDataChanges: SceneDataChange[];
5036
- }
4962
+ };
5037
4963
  /**
5038
4964
  * 场景快照(用于对比)
5039
4965
  */
@@ -5063,7 +4989,7 @@ type IncrementalSerializationFormat = 'json' | 'binary';
5063
4989
  /**
5064
4990
  * 增量序列化选项
5065
4991
  */
5066
- interface IncrementalSerializationOptions {
4992
+ type IncrementalSerializationOptions = {
5067
4993
  /**
5068
4994
  * 是否包含组件数据的深度对比
5069
4995
  * 默认true,设为false可提升性能但可能漏掉组件内部字段变更
@@ -5091,7 +5017,7 @@ interface IncrementalSerializationOptions {
5091
5017
  * 默认false
5092
5018
  */
5093
5019
  pretty?: boolean;
5094
- }
5020
+ };
5095
5021
  /**
5096
5022
  * 增量序列化器类
5097
5023
  */
@@ -5210,7 +5136,7 @@ declare class IncrementalSerializer {
5210
5136
  *
5211
5137
  * 定义场景应该实现的核心功能和属性,使用接口而非继承提供更灵活的实现方式。
5212
5138
  */
5213
- interface IScene {
5139
+ type IScene = {
5214
5140
  /**
5215
5141
  * 场景名称
5216
5142
  */
@@ -5245,6 +5171,16 @@ interface IScene {
5245
5171
  * 组件存储管理器
5246
5172
  */
5247
5173
  readonly componentStorageManager: ComponentStorageManager;
5174
+ /**
5175
+ * 组件注册表
5176
+ * Component Registry
5177
+ *
5178
+ * Each scene has its own registry for component type isolation.
5179
+ * Clones from GlobalComponentRegistry on creation.
5180
+ * 每个场景有自己的组件类型注册表以实现隔离。
5181
+ * 创建时从 GlobalComponentRegistry 克隆。
5182
+ */
5183
+ readonly componentRegistry: IComponentRegistry;
5248
5184
  /**
5249
5185
  * 查询系统
5250
5186
  */
@@ -5490,25 +5426,34 @@ interface IScene {
5490
5426
  * 检查是否有增量快照
5491
5427
  */
5492
5428
  hasIncrementalSnapshot(): boolean;
5493
- }
5429
+ };
5494
5430
  /**
5495
5431
  * 场景工厂接口
5496
5432
  */
5497
- interface ISceneFactory<T extends IScene> {
5433
+ type ISceneFactory<T extends IScene> = {
5498
5434
  /**
5499
5435
  * 创建场景实例
5500
5436
  */
5501
5437
  createScene(): T;
5502
- }
5438
+ };
5503
5439
  /**
5504
5440
  * 场景配置接口
5441
+ * Scene configuration interface
5505
5442
  */
5506
- interface ISceneConfig {
5443
+ type ISceneConfig = {
5507
5444
  /**
5508
5445
  * 场景名称
5446
+ * Scene name
5509
5447
  */
5510
5448
  name?: string;
5511
- }
5449
+ /**
5450
+ * 是否从全局注册表继承组件类型
5451
+ * Whether to inherit component types from global registry
5452
+ *
5453
+ * @default true
5454
+ */
5455
+ inheritGlobalRegistry?: boolean;
5456
+ };
5512
5457
 
5513
5458
  /**
5514
5459
  * WeakRef 接口定义
@@ -5521,10 +5466,10 @@ interface IWeakRef<T extends object> {
5521
5466
  /**
5522
5467
  * Entity引用记录
5523
5468
  */
5524
- interface EntityRefRecord {
5469
+ type EntityRefRecord = {
5525
5470
  component: IWeakRef<Component>;
5526
5471
  propertyKey: string;
5527
- }
5472
+ };
5528
5473
  /**
5529
5474
  * 通过Entity ID获取Scene
5530
5475
  *
@@ -5920,6 +5865,14 @@ declare class Scene implements IScene {
5920
5865
  * 高性能的组件存储和查询系统。
5921
5866
  */
5922
5867
  readonly componentStorageManager: ComponentStorageManager;
5868
+ /**
5869
+ * 组件注册表
5870
+ * Component Registry
5871
+ *
5872
+ * Each scene has its own registry for component type isolation.
5873
+ * 每个场景有自己的组件类型注册表以实现隔离。
5874
+ */
5875
+ readonly componentRegistry: IComponentRegistry;
5923
5876
  /**
5924
5877
  * 查询系统
5925
5878
  *
@@ -6138,6 +6091,7 @@ declare class Scene implements IScene {
6138
6091
  get services(): ServiceContainer;
6139
6092
  /**
6140
6093
  * 创建场景实例
6094
+ * Create scene instance
6141
6095
  */
6142
6096
  constructor(config?: ISceneConfig);
6143
6097
  /**
@@ -6205,6 +6159,14 @@ declare class Scene implements IScene {
6205
6159
  * 更新场景
6206
6160
  */
6207
6161
  update(): void;
6162
+ /**
6163
+ * 检查系统是否应该运行
6164
+ * Check if a system should run
6165
+ *
6166
+ * @param system 要检查的系统 | System to check
6167
+ * @returns 是否应该运行 | Whether it should run
6168
+ */
6169
+ private _shouldSystemRun;
6208
6170
  /**
6209
6171
  * 执行所有系统的延迟命令
6210
6172
  * Flush all systems' deferred commands
@@ -6765,28 +6727,28 @@ declare const Colors: {
6765
6727
  /**
6766
6728
  * 日志接口
6767
6729
  */
6768
- interface ILogger {
6730
+ type ILogger = {
6769
6731
  debug(...args: unknown[]): void;
6770
6732
  info(...args: unknown[]): void;
6771
6733
  warn(...args: unknown[]): void;
6772
6734
  error(...args: unknown[]): void;
6773
6735
  fatal(...args: unknown[]): void;
6774
- }
6736
+ };
6775
6737
  /**
6776
6738
  * 日志颜色配置接口
6777
6739
  */
6778
- interface LoggerColorConfig {
6740
+ type LoggerColorConfig = {
6779
6741
  debug?: string;
6780
6742
  info?: string;
6781
6743
  warn?: string;
6782
6744
  error?: string;
6783
6745
  fatal?: string;
6784
6746
  reset?: string;
6785
- }
6747
+ };
6786
6748
  /**
6787
6749
  * 日志配置
6788
6750
  */
6789
- interface LoggerConfig {
6751
+ type LoggerConfig = {
6790
6752
  /** 日志级别 */
6791
6753
  level: LogLevel;
6792
6754
  /** 是否启用时间戳 */
@@ -6799,7 +6761,7 @@ interface LoggerConfig {
6799
6761
  output?: (level: LogLevel, message: string) => void;
6800
6762
  /** 自定义颜色配置 */
6801
6763
  colors?: LoggerColorConfig;
6802
- }
6764
+ };
6803
6765
 
6804
6766
  /**
6805
6767
  * 默认控制台日志实现
@@ -6980,7 +6942,7 @@ declare enum CommandType {
6980
6942
  * 延迟命令接口
6981
6943
  * Deferred command interface
6982
6944
  */
6983
- interface DeferredCommand {
6945
+ type DeferredCommand = {
6984
6946
  /** 命令类型 | Command type */
6985
6947
  type: CommandType;
6986
6948
  /** 目标实体 | Target entity */
@@ -6991,7 +6953,7 @@ interface DeferredCommand {
6991
6953
  componentType?: ComponentType;
6992
6954
  /** 布尔值(用于启用/激活状态)| Boolean value (for enabled/active state) */
6993
6955
  value?: boolean;
6994
- }
6956
+ };
6995
6957
  /**
6996
6958
  * 命令缓冲区 - 用于延迟执行实体操作
6997
6959
  * Command Buffer - for deferred entity operations
@@ -7193,7 +7155,7 @@ declare class CycleDependencyError extends Error {
7193
7155
  * 系统依赖信息
7194
7156
  * System dependency info
7195
7157
  */
7196
- interface SystemDependencyInfo {
7158
+ type SystemDependencyInfo = {
7197
7159
  /** 系统名称 | System name */
7198
7160
  name: string;
7199
7161
  /** 在这些系统之前执行 | Execute before these systems */
@@ -7202,7 +7164,7 @@ interface SystemDependencyInfo {
7202
7164
  after: string[];
7203
7165
  /** 所属集合 | Sets this system belongs to */
7204
7166
  sets: string[];
7205
- }
7167
+ };
7206
7168
  /**
7207
7169
  * 系统依赖图
7208
7170
  *
@@ -7315,7 +7277,7 @@ declare const DEFAULT_STAGE_ORDER: readonly SystemStage[];
7315
7277
  * 系统调度元数据
7316
7278
  * System scheduling metadata
7317
7279
  */
7318
- interface SystemSchedulingMetadata {
7280
+ type SystemSchedulingMetadata = {
7319
7281
  /** 执行阶段 | Execution stage */
7320
7282
  stage: SystemStage;
7321
7283
  /** 在这些系统之前执行 | Execute before these systems */
@@ -7324,7 +7286,7 @@ interface SystemSchedulingMetadata {
7324
7286
  after: string[];
7325
7287
  /** 所属集合 | Sets this system belongs to */
7326
7288
  sets: string[];
7327
- }
7289
+ };
7328
7290
  /**
7329
7291
  * 系统调度器
7330
7292
  *
@@ -7526,6 +7488,18 @@ declare abstract class EntitySystem implements ISystemBase, IService {
7526
7488
  * Used for change detection, records epoch when forEachChanged last completed.
7527
7489
  */
7528
7490
  private _lastProcessEpoch;
7491
+ /**
7492
+ * 当前帧是否应该处理
7493
+ * Whether this frame should be processed
7494
+ *
7495
+ * 由 update() 中的 onCheckProcessing() 决定,lateUpdate() 复用此结果。
7496
+ * 避免 onCheckProcessing() 被多次调用导致副作用重复执行(如 IntervalSystem 的时间累加)。
7497
+ *
7498
+ * Determined by onCheckProcessing() in update(), reused by lateUpdate().
7499
+ * Prevents onCheckProcessing() being called multiple times causing side effects
7500
+ * to execute repeatedly (e.g., IntervalSystem's time accumulation).
7501
+ */
7502
+ private _shouldProcessThisFrame;
7529
7503
  /**
7530
7504
  * 获取系统处理的实体列表
7531
7505
  */
@@ -7767,6 +7741,12 @@ declare abstract class EntitySystem implements ISystemBase, IService {
7767
7741
  update(): void;
7768
7742
  /**
7769
7743
  * 后期更新系统
7744
+ *
7745
+ * lateUpdate 复用 update 中 onCheckProcessing() 的结果,
7746
+ * 避免 IntervalSystem 等子类的副作用被重复执行。
7747
+ *
7748
+ * lateUpdate reuses the onCheckProcessing() result from update,
7749
+ * preventing side effects in subclasses like IntervalSystem from executing repeatedly.
7770
7750
  */
7771
7751
  lateUpdate(): void;
7772
7752
  /**
@@ -8259,7 +8239,7 @@ type WorkerProcessFunction<T extends Record<string, any> = any> = (entities: T[]
8259
8239
  /**
8260
8240
  * Worker配置接口
8261
8241
  */
8262
- interface WorkerSystemConfig {
8242
+ type WorkerSystemConfig = {
8263
8243
  /** 是否启用Worker并行处理 */
8264
8244
  enableWorker?: boolean;
8265
8245
  /** Worker数量,默认为CPU核心数,自动限制在系统最大值内 */
@@ -8288,7 +8268,7 @@ interface WorkerSystemConfig {
8288
8268
  * ```
8289
8269
  */
8290
8270
  workerScriptPath?: string;
8291
- }
8271
+ };
8292
8272
  /**
8293
8273
  * SharedArrayBuffer处理函数类型
8294
8274
  */
@@ -8591,11 +8571,19 @@ declare abstract class WorkerEntitySystem<TEntityData = any> extends EntitySyste
8591
8571
  * Symbol key for storing system type name
8592
8572
  */
8593
8573
  declare const SYSTEM_TYPE_NAME: unique symbol;
8574
+ /**
8575
+ * 系统构造函数类型
8576
+ * System constructor type
8577
+ *
8578
+ * 注意:构造函数参数使用 any[] 是必要的,因为系统可以有各种不同签名的构造函数
8579
+ * Note: Constructor args use any[] because systems can have various constructor signatures
8580
+ */
8581
+ type SystemConstructor<T extends EntitySystem = EntitySystem> = new (...args: any[]) => T;
8594
8582
  /**
8595
8583
  * 组件装饰器配置选项
8596
8584
  * Component decorator options
8597
8585
  */
8598
- interface ComponentOptions {
8586
+ type ComponentOptions = {
8599
8587
  /** 依赖的其他组件名称列表 | List of required component names */
8600
8588
  requires?: string[];
8601
8589
  /**
@@ -8603,7 +8591,7 @@ interface ComponentOptions {
8603
8591
  * Editor-related options
8604
8592
  */
8605
8593
  editor?: ComponentEditorOptions;
8606
- }
8594
+ };
8607
8595
  /**
8608
8596
  * 组件类型装饰器
8609
8597
  * Component type decorator
@@ -8631,12 +8619,12 @@ interface ComponentOptions {
8631
8619
  * }
8632
8620
  * ```
8633
8621
  */
8634
- declare function ECSComponent(typeName: string, options?: ComponentOptions): <T extends new (...args: any[]) => Component>(target: T) => T;
8622
+ declare function ECSComponent(typeName: string, options?: ComponentOptions): <T extends ComponentType<Component>>(target: T) => T;
8635
8623
  /**
8636
8624
  * System 元数据配置
8637
8625
  * System metadata configuration
8638
8626
  */
8639
- interface SystemMetadata {
8627
+ type SystemMetadata = {
8640
8628
  /**
8641
8629
  * 更新顺序(数值越小越先执行,默认0)
8642
8630
  * Update order (lower values execute first, default 0)
@@ -8647,7 +8635,21 @@ interface SystemMetadata {
8647
8635
  * Whether enabled by default (default true)
8648
8636
  */
8649
8637
  enabled?: boolean;
8650
- }
8638
+ /**
8639
+ * 是否在编辑模式下运行(默认 true)
8640
+ * Whether to run in edit mode (default true)
8641
+ *
8642
+ * 默认情况下,所有系统在编辑模式下都会运行。
8643
+ * 当设置为 false 时,此系统在编辑模式(非 Play 状态)下不会执行。
8644
+ * 适用于物理系统、AI 系统等只应在游戏运行时执行的系统。
8645
+ *
8646
+ * By default, all systems run in edit mode.
8647
+ * When set to false, this system will NOT execute during edit mode
8648
+ * (when not playing). Useful for physics, AI, and other systems
8649
+ * that should only run during gameplay.
8650
+ */
8651
+ runInEditMode?: boolean;
8652
+ };
8651
8653
  /**
8652
8654
  * 系统类型装饰器
8653
8655
  * System type decorator
@@ -8672,12 +8674,20 @@ interface SystemMetadata {
8672
8674
  * }
8673
8675
  * ```
8674
8676
  */
8675
- declare function ECSSystem(typeName: string, metadata?: SystemMetadata): <T extends new (...args: any[]) => EntitySystem>(target: T) => T;
8677
+ declare function ECSSystem(typeName: string, metadata?: SystemMetadata): <T extends SystemConstructor>(target: T) => T;
8676
8678
  /**
8677
8679
  * 获取 System 的元数据
8678
8680
  * Get System metadata
8679
8681
  */
8680
- declare function getSystemMetadata(systemType: new (...args: any[]) => EntitySystem): SystemMetadata | undefined;
8682
+ declare function getSystemMetadata(systemType: SystemConstructor): SystemMetadata | undefined;
8683
+ /**
8684
+ * 从系统实例获取元数据
8685
+ * Get metadata from system instance
8686
+ *
8687
+ * @param system 系统实例 | System instance
8688
+ * @returns 系统元数据 | System metadata
8689
+ */
8690
+ declare function getSystemInstanceMetadata(system: EntitySystem): SystemMetadata | undefined;
8681
8691
  /**
8682
8692
  * 获取系统类型的名称,优先使用装饰器指定的名称
8683
8693
  * Get system type name, preferring decorator-specified name
@@ -8685,7 +8695,7 @@ declare function getSystemMetadata(systemType: new (...args: any[]) => EntitySys
8685
8695
  * @param systemType 系统构造函数 | System constructor
8686
8696
  * @returns 系统类型名称 | System type name
8687
8697
  */
8688
- declare function getSystemTypeName<T extends EntitySystem>(systemType: new (...args: any[]) => T): string;
8698
+ declare function getSystemTypeName<T extends EntitySystem>(systemType: SystemConstructor<T>): string;
8689
8699
  /**
8690
8700
  * 从系统实例获取类型名称
8691
8701
  * Get type name from system instance
@@ -8702,9 +8712,9 @@ declare const ENTITY_REF_METADATA: unique symbol;
8702
8712
  /**
8703
8713
  * EntityRef元数据
8704
8714
  */
8705
- interface EntityRefMetadata {
8715
+ type EntityRefMetadata = {
8706
8716
  properties: Set<string>;
8707
- }
8717
+ };
8708
8718
  /**
8709
8719
  * Entity引用装饰器
8710
8720
  *
@@ -8760,498 +8770,7 @@ declare function isEntityRefProperty(component: any, propertyKey: string): boole
8760
8770
  */
8761
8771
  declare function getEntityRefProperties(component: any): string[];
8762
8772
 
8763
- /*! *****************************************************************************
8764
- Copyright (C) Microsoft. All rights reserved.
8765
- Licensed under the Apache License, Version 2.0 (the "License"); you may not use
8766
- this file except in compliance with the License. You may obtain a copy of the
8767
- License at http://www.apache.org/licenses/LICENSE-2.0
8768
-
8769
- THIS CODE IS PROVIDED ON AN *AS IS* BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
8770
- KIND, EITHER EXPRESS OR IMPLIED, INCLUDING WITHOUT LIMITATION ANY IMPLIED
8771
- WARRANTIES OR CONDITIONS OF TITLE, FITNESS FOR A PARTICULAR PURPOSE,
8772
- MERCHANTABLITY OR NON-INFRINGEMENT.
8773
-
8774
- See the Apache Version 2.0 License for specific language governing permissions
8775
- and limitations under the License.
8776
- ***************************************************************************** */
8777
-
8778
-
8779
-
8780
- declare global {
8781
- namespace Reflect {
8782
- /**
8783
- * Applies a set of decorators to a target object.
8784
- * @param decorators An array of decorators.
8785
- * @param target The target object.
8786
- * @returns The result of applying the provided decorators.
8787
- * @remarks Decorators are applied in reverse order of their positions in the array.
8788
- * @example
8789
- *
8790
- * class Example { }
8791
- *
8792
- * // constructor
8793
- * Example = Reflect.decorate(decoratorsArray, Example);
8794
- *
8795
- */
8796
- function decorate(decorators: ClassDecorator[], target: Function): Function;
8797
- /**
8798
- * Applies a set of decorators to a property of a target object.
8799
- * @param decorators An array of decorators.
8800
- * @param target The target object.
8801
- * @param propertyKey The property key to decorate.
8802
- * @param attributes A property descriptor.
8803
- * @remarks Decorators are applied in reverse order.
8804
- * @example
8805
- *
8806
- * class Example {
8807
- * // property declarations are not part of ES6, though they are valid in TypeScript:
8808
- * // static staticProperty;
8809
- * // property;
8810
- *
8811
- * static staticMethod() { }
8812
- * method() { }
8813
- * }
8814
- *
8815
- * // property (on constructor)
8816
- * Reflect.decorate(decoratorsArray, Example, "staticProperty");
8817
- *
8818
- * // property (on prototype)
8819
- * Reflect.decorate(decoratorsArray, Example.prototype, "property");
8820
- *
8821
- * // method (on constructor)
8822
- * Object.defineProperty(Example, "staticMethod",
8823
- * Reflect.decorate(decoratorsArray, Example, "staticMethod",
8824
- * Object.getOwnPropertyDescriptor(Example, "staticMethod")));
8825
- *
8826
- * // method (on prototype)
8827
- * Object.defineProperty(Example.prototype, "method",
8828
- * Reflect.decorate(decoratorsArray, Example.prototype, "method",
8829
- * Object.getOwnPropertyDescriptor(Example.prototype, "method")));
8830
- *
8831
- */
8832
- function decorate(decorators: (PropertyDecorator | MethodDecorator)[], target: Object, propertyKey: string | symbol, attributes?: PropertyDescriptor): PropertyDescriptor;
8833
- /**
8834
- * A default metadata decorator factory that can be used on a class, class member, or parameter.
8835
- * @param metadataKey The key for the metadata entry.
8836
- * @param metadataValue The value for the metadata entry.
8837
- * @returns A decorator function.
8838
- * @remarks
8839
- * If `metadataKey` is already defined for the target and target key, the
8840
- * metadataValue for that key will be overwritten.
8841
- * @example
8842
- *
8843
- * // constructor
8844
- * @Reflect.metadata(key, value)
8845
- * class Example {
8846
- * }
8847
- *
8848
- * // property (on constructor, TypeScript only)
8849
- * class Example {
8850
- * @Reflect.metadata(key, value)
8851
- * static staticProperty;
8852
- * }
8853
- *
8854
- * // property (on prototype, TypeScript only)
8855
- * class Example {
8856
- * @Reflect.metadata(key, value)
8857
- * property;
8858
- * }
8859
- *
8860
- * // method (on constructor)
8861
- * class Example {
8862
- * @Reflect.metadata(key, value)
8863
- * static staticMethod() { }
8864
- * }
8865
- *
8866
- * // method (on prototype)
8867
- * class Example {
8868
- * @Reflect.metadata(key, value)
8869
- * method() { }
8870
- * }
8871
- *
8872
- */
8873
- function metadata(metadataKey: any, metadataValue: any): {
8874
- (target: Function): void;
8875
- (target: Object, propertyKey: string | symbol): void;
8876
- };
8877
- /**
8878
- * Define a unique metadata entry on the target.
8879
- * @param metadataKey A key used to store and retrieve metadata.
8880
- * @param metadataValue A value that contains attached metadata.
8881
- * @param target The target object on which to define metadata.
8882
- * @example
8883
- *
8884
- * class Example {
8885
- * }
8886
- *
8887
- * // constructor
8888
- * Reflect.defineMetadata("custom:annotation", options, Example);
8889
- *
8890
- * // decorator factory as metadata-producing annotation.
8891
- * function MyAnnotation(options): ClassDecorator {
8892
- * return target => Reflect.defineMetadata("custom:annotation", options, target);
8893
- * }
8894
- *
8895
- */
8896
- function defineMetadata(metadataKey: any, metadataValue: any, target: Object): void;
8897
- /**
8898
- * Define a unique metadata entry on the target.
8899
- * @param metadataKey A key used to store and retrieve metadata.
8900
- * @param metadataValue A value that contains attached metadata.
8901
- * @param target The target object on which to define metadata.
8902
- * @param propertyKey The property key for the target.
8903
- * @example
8904
- *
8905
- * class Example {
8906
- * // property declarations are not part of ES6, though they are valid in TypeScript:
8907
- * // static staticProperty;
8908
- * // property;
8909
- *
8910
- * static staticMethod(p) { }
8911
- * method(p) { }
8912
- * }
8913
- *
8914
- * // property (on constructor)
8915
- * Reflect.defineMetadata("custom:annotation", Number, Example, "staticProperty");
8916
- *
8917
- * // property (on prototype)
8918
- * Reflect.defineMetadata("custom:annotation", Number, Example.prototype, "property");
8919
- *
8920
- * // method (on constructor)
8921
- * Reflect.defineMetadata("custom:annotation", Number, Example, "staticMethod");
8922
- *
8923
- * // method (on prototype)
8924
- * Reflect.defineMetadata("custom:annotation", Number, Example.prototype, "method");
8925
- *
8926
- * // decorator factory as metadata-producing annotation.
8927
- * function MyAnnotation(options): PropertyDecorator {
8928
- * return (target, key) => Reflect.defineMetadata("custom:annotation", options, target, key);
8929
- * }
8930
- *
8931
- */
8932
- function defineMetadata(metadataKey: any, metadataValue: any, target: Object, propertyKey: string | symbol): void;
8933
- /**
8934
- * Gets a value indicating whether the target object or its prototype chain has the provided metadata key defined.
8935
- * @param metadataKey A key used to store and retrieve metadata.
8936
- * @param target The target object on which the metadata is defined.
8937
- * @returns `true` if the metadata key was defined on the target object or its prototype chain; otherwise, `false`.
8938
- * @example
8939
- *
8940
- * class Example {
8941
- * }
8942
- *
8943
- * // constructor
8944
- * result = Reflect.hasMetadata("custom:annotation", Example);
8945
- *
8946
- */
8947
- function hasMetadata(metadataKey: any, target: Object): boolean;
8948
- /**
8949
- * Gets a value indicating whether the target object or its prototype chain has the provided metadata key defined.
8950
- * @param metadataKey A key used to store and retrieve metadata.
8951
- * @param target The target object on which the metadata is defined.
8952
- * @param propertyKey The property key for the target.
8953
- * @returns `true` if the metadata key was defined on the target object or its prototype chain; otherwise, `false`.
8954
- * @example
8955
- *
8956
- * class Example {
8957
- * // property declarations are not part of ES6, though they are valid in TypeScript:
8958
- * // static staticProperty;
8959
- * // property;
8960
- *
8961
- * static staticMethod(p) { }
8962
- * method(p) { }
8963
- * }
8964
- *
8965
- * // property (on constructor)
8966
- * result = Reflect.hasMetadata("custom:annotation", Example, "staticProperty");
8967
- *
8968
- * // property (on prototype)
8969
- * result = Reflect.hasMetadata("custom:annotation", Example.prototype, "property");
8970
- *
8971
- * // method (on constructor)
8972
- * result = Reflect.hasMetadata("custom:annotation", Example, "staticMethod");
8973
- *
8974
- * // method (on prototype)
8975
- * result = Reflect.hasMetadata("custom:annotation", Example.prototype, "method");
8976
- *
8977
- */
8978
- function hasMetadata(metadataKey: any, target: Object, propertyKey: string | symbol): boolean;
8979
- /**
8980
- * Gets a value indicating whether the target object has the provided metadata key defined.
8981
- * @param metadataKey A key used to store and retrieve metadata.
8982
- * @param target The target object on which the metadata is defined.
8983
- * @returns `true` if the metadata key was defined on the target object; otherwise, `false`.
8984
- * @example
8985
- *
8986
- * class Example {
8987
- * }
8988
- *
8989
- * // constructor
8990
- * result = Reflect.hasOwnMetadata("custom:annotation", Example);
8991
- *
8992
- */
8993
- function hasOwnMetadata(metadataKey: any, target: Object): boolean;
8994
- /**
8995
- * Gets a value indicating whether the target object has the provided metadata key defined.
8996
- * @param metadataKey A key used to store and retrieve metadata.
8997
- * @param target The target object on which the metadata is defined.
8998
- * @param propertyKey The property key for the target.
8999
- * @returns `true` if the metadata key was defined on the target object; otherwise, `false`.
9000
- * @example
9001
- *
9002
- * class Example {
9003
- * // property declarations are not part of ES6, though they are valid in TypeScript:
9004
- * // static staticProperty;
9005
- * // property;
9006
- *
9007
- * static staticMethod(p) { }
9008
- * method(p) { }
9009
- * }
9010
- *
9011
- * // property (on constructor)
9012
- * result = Reflect.hasOwnMetadata("custom:annotation", Example, "staticProperty");
9013
- *
9014
- * // property (on prototype)
9015
- * result = Reflect.hasOwnMetadata("custom:annotation", Example.prototype, "property");
9016
- *
9017
- * // method (on constructor)
9018
- * result = Reflect.hasOwnMetadata("custom:annotation", Example, "staticMethod");
9019
- *
9020
- * // method (on prototype)
9021
- * result = Reflect.hasOwnMetadata("custom:annotation", Example.prototype, "method");
9022
- *
9023
- */
9024
- function hasOwnMetadata(metadataKey: any, target: Object, propertyKey: string | symbol): boolean;
9025
- /**
9026
- * Gets the metadata value for the provided metadata key on the target object or its prototype chain.
9027
- * @param metadataKey A key used to store and retrieve metadata.
9028
- * @param target The target object on which the metadata is defined.
9029
- * @returns The metadata value for the metadata key if found; otherwise, `undefined`.
9030
- * @example
9031
- *
9032
- * class Example {
9033
- * }
9034
- *
9035
- * // constructor
9036
- * result = Reflect.getMetadata("custom:annotation", Example);
9037
- *
9038
- */
9039
- function getMetadata(metadataKey: any, target: Object): any;
9040
- /**
9041
- * Gets the metadata value for the provided metadata key on the target object or its prototype chain.
9042
- * @param metadataKey A key used to store and retrieve metadata.
9043
- * @param target The target object on which the metadata is defined.
9044
- * @param propertyKey The property key for the target.
9045
- * @returns The metadata value for the metadata key if found; otherwise, `undefined`.
9046
- * @example
9047
- *
9048
- * class Example {
9049
- * // property declarations are not part of ES6, though they are valid in TypeScript:
9050
- * // static staticProperty;
9051
- * // property;
9052
- *
9053
- * static staticMethod(p) { }
9054
- * method(p) { }
9055
- * }
9056
- *
9057
- * // property (on constructor)
9058
- * result = Reflect.getMetadata("custom:annotation", Example, "staticProperty");
9059
- *
9060
- * // property (on prototype)
9061
- * result = Reflect.getMetadata("custom:annotation", Example.prototype, "property");
9062
- *
9063
- * // method (on constructor)
9064
- * result = Reflect.getMetadata("custom:annotation", Example, "staticMethod");
9065
- *
9066
- * // method (on prototype)
9067
- * result = Reflect.getMetadata("custom:annotation", Example.prototype, "method");
9068
- *
9069
- */
9070
- function getMetadata(metadataKey: any, target: Object, propertyKey: string | symbol): any;
9071
- /**
9072
- * Gets the metadata value for the provided metadata key on the target object.
9073
- * @param metadataKey A key used to store and retrieve metadata.
9074
- * @param target The target object on which the metadata is defined.
9075
- * @returns The metadata value for the metadata key if found; otherwise, `undefined`.
9076
- * @example
9077
- *
9078
- * class Example {
9079
- * }
9080
- *
9081
- * // constructor
9082
- * result = Reflect.getOwnMetadata("custom:annotation", Example);
9083
- *
9084
- */
9085
- function getOwnMetadata(metadataKey: any, target: Object): any;
9086
- /**
9087
- * Gets the metadata value for the provided metadata key on the target object.
9088
- * @param metadataKey A key used to store and retrieve metadata.
9089
- * @param target The target object on which the metadata is defined.
9090
- * @param propertyKey The property key for the target.
9091
- * @returns The metadata value for the metadata key if found; otherwise, `undefined`.
9092
- * @example
9093
- *
9094
- * class Example {
9095
- * // property declarations are not part of ES6, though they are valid in TypeScript:
9096
- * // static staticProperty;
9097
- * // property;
9098
- *
9099
- * static staticMethod(p) { }
9100
- * method(p) { }
9101
- * }
9102
- *
9103
- * // property (on constructor)
9104
- * result = Reflect.getOwnMetadata("custom:annotation", Example, "staticProperty");
9105
- *
9106
- * // property (on prototype)
9107
- * result = Reflect.getOwnMetadata("custom:annotation", Example.prototype, "property");
9108
- *
9109
- * // method (on constructor)
9110
- * result = Reflect.getOwnMetadata("custom:annotation", Example, "staticMethod");
9111
- *
9112
- * // method (on prototype)
9113
- * result = Reflect.getOwnMetadata("custom:annotation", Example.prototype, "method");
9114
- *
9115
- */
9116
- function getOwnMetadata(metadataKey: any, target: Object, propertyKey: string | symbol): any;
9117
- /**
9118
- * Gets the metadata keys defined on the target object or its prototype chain.
9119
- * @param target The target object on which the metadata is defined.
9120
- * @returns An array of unique metadata keys.
9121
- * @example
9122
- *
9123
- * class Example {
9124
- * }
9125
- *
9126
- * // constructor
9127
- * result = Reflect.getMetadataKeys(Example);
9128
- *
9129
- */
9130
- function getMetadataKeys(target: Object): any[];
9131
- /**
9132
- * Gets the metadata keys defined on the target object or its prototype chain.
9133
- * @param target The target object on which the metadata is defined.
9134
- * @param propertyKey The property key for the target.
9135
- * @returns An array of unique metadata keys.
9136
- * @example
9137
- *
9138
- * class Example {
9139
- * // property declarations are not part of ES6, though they are valid in TypeScript:
9140
- * // static staticProperty;
9141
- * // property;
9142
- *
9143
- * static staticMethod(p) { }
9144
- * method(p) { }
9145
- * }
9146
- *
9147
- * // property (on constructor)
9148
- * result = Reflect.getMetadataKeys(Example, "staticProperty");
9149
- *
9150
- * // property (on prototype)
9151
- * result = Reflect.getMetadataKeys(Example.prototype, "property");
9152
- *
9153
- * // method (on constructor)
9154
- * result = Reflect.getMetadataKeys(Example, "staticMethod");
9155
- *
9156
- * // method (on prototype)
9157
- * result = Reflect.getMetadataKeys(Example.prototype, "method");
9158
- *
9159
- */
9160
- function getMetadataKeys(target: Object, propertyKey: string | symbol): any[];
9161
- /**
9162
- * Gets the unique metadata keys defined on the target object.
9163
- * @param target The target object on which the metadata is defined.
9164
- * @returns An array of unique metadata keys.
9165
- * @example
9166
- *
9167
- * class Example {
9168
- * }
9169
- *
9170
- * // constructor
9171
- * result = Reflect.getOwnMetadataKeys(Example);
9172
- *
9173
- */
9174
- function getOwnMetadataKeys(target: Object): any[];
9175
- /**
9176
- * Gets the unique metadata keys defined on the target object.
9177
- * @param target The target object on which the metadata is defined.
9178
- * @param propertyKey The property key for the target.
9179
- * @returns An array of unique metadata keys.
9180
- * @example
9181
- *
9182
- * class Example {
9183
- * // property declarations are not part of ES6, though they are valid in TypeScript:
9184
- * // static staticProperty;
9185
- * // property;
9186
- *
9187
- * static staticMethod(p) { }
9188
- * method(p) { }
9189
- * }
9190
- *
9191
- * // property (on constructor)
9192
- * result = Reflect.getOwnMetadataKeys(Example, "staticProperty");
9193
- *
9194
- * // property (on prototype)
9195
- * result = Reflect.getOwnMetadataKeys(Example.prototype, "property");
9196
- *
9197
- * // method (on constructor)
9198
- * result = Reflect.getOwnMetadataKeys(Example, "staticMethod");
9199
- *
9200
- * // method (on prototype)
9201
- * result = Reflect.getOwnMetadataKeys(Example.prototype, "method");
9202
- *
9203
- */
9204
- function getOwnMetadataKeys(target: Object, propertyKey: string | symbol): any[];
9205
- /**
9206
- * Deletes the metadata entry from the target object with the provided key.
9207
- * @param metadataKey A key used to store and retrieve metadata.
9208
- * @param target The target object on which the metadata is defined.
9209
- * @returns `true` if the metadata entry was found and deleted; otherwise, false.
9210
- * @example
9211
- *
9212
- * class Example {
9213
- * }
9214
- *
9215
- * // constructor
9216
- * result = Reflect.deleteMetadata("custom:annotation", Example);
9217
- *
9218
- */
9219
- function deleteMetadata(metadataKey: any, target: Object): boolean;
9220
- /**
9221
- * Deletes the metadata entry from the target object with the provided key.
9222
- * @param metadataKey A key used to store and retrieve metadata.
9223
- * @param target The target object on which the metadata is defined.
9224
- * @param propertyKey The property key for the target.
9225
- * @returns `true` if the metadata entry was found and deleted; otherwise, false.
9226
- * @example
9227
- *
9228
- * class Example {
9229
- * // property declarations are not part of ES6, though they are valid in TypeScript:
9230
- * // static staticProperty;
9231
- * // property;
9232
- *
9233
- * static staticMethod(p) { }
9234
- * method(p) { }
9235
- * }
9236
- *
9237
- * // property (on constructor)
9238
- * result = Reflect.deleteMetadata("custom:annotation", Example, "staticProperty");
9239
- *
9240
- * // property (on prototype)
9241
- * result = Reflect.deleteMetadata("custom:annotation", Example.prototype, "property");
9242
- *
9243
- * // method (on constructor)
9244
- * result = Reflect.deleteMetadata("custom:annotation", Example, "staticMethod");
9245
- *
9246
- * // method (on prototype)
9247
- * result = Reflect.deleteMetadata("custom:annotation", Example.prototype, "method");
9248
- *
9249
- */
9250
- function deleteMetadata(metadataKey: any, target: Object, propertyKey: string | symbol): boolean;
9251
- }
9252
- }
9253
-
9254
- type PropertyType = 'number' | 'integer' | 'string' | 'boolean' | 'color' | 'vector2' | 'vector3' | 'enum' | 'asset' | 'array' | 'animationClips' | 'collisionLayer' | 'collisionMask';
8773
+ type PropertyType = 'number' | 'integer' | 'string' | 'boolean' | 'color' | 'vector2' | 'vector3' | 'vector4' | 'enum' | 'asset' | 'array' | 'animationClips' | 'collisionLayer' | 'collisionMask' | 'entityRef';
9255
8774
  /**
9256
8775
  * 属性资源类型
9257
8776
  * Asset type for property decorators
@@ -9269,7 +8788,7 @@ type EnumOption = string | {
9269
8788
  * Action button configuration for property fields
9270
8789
  * 属性字段的操作按钮配置
9271
8790
  */
9272
- interface PropertyAction {
8791
+ type PropertyAction = {
9273
8792
  /** Action identifier | 操作标识符 */
9274
8793
  id: string;
9275
8794
  /** Button label | 按钮标签 */
@@ -9278,17 +8797,17 @@ interface PropertyAction {
9278
8797
  tooltip?: string;
9279
8798
  /** Icon name from Lucide | Lucide图标名称 */
9280
8799
  icon?: string;
9281
- }
8800
+ };
9282
8801
  /**
9283
8802
  * 控制关系声明
9284
8803
  * Control relationship declaration
9285
8804
  */
9286
- interface PropertyControl {
8805
+ type PropertyControl = {
9287
8806
  /** 被控制的组件名称 | Target component name */
9288
8807
  component: string;
9289
8808
  /** 被控制的属性名称 | Target property name */
9290
8809
  property: string;
9291
- }
8810
+ };
9292
8811
  /**
9293
8812
  * 属性基础选项
9294
8813
  * Base property options shared by all types
@@ -9298,6 +8817,16 @@ interface PropertyOptionsBase {
9298
8817
  label?: string;
9299
8818
  /** 是否只读 | Read-only flag */
9300
8819
  readOnly?: boolean;
8820
+ /**
8821
+ * 是否在 Inspector 中隐藏
8822
+ * Whether to hide this property in Inspector
8823
+ *
8824
+ * Hidden properties are still serialized but not shown in the default PropertyInspector.
8825
+ * Useful when a custom Inspector handles the property.
8826
+ * 隐藏的属性仍然会被序列化,但不会在默认的 PropertyInspector 中显示。
8827
+ * 适用于自定义 Inspector 处理该属性的情况。
8828
+ */
8829
+ hidden?: boolean;
9301
8830
  /** Action buttons | 操作按钮 */
9302
8831
  actions?: PropertyAction[];
9303
8832
  /** 此属性控制的其他组件属性 | Properties this field controls */
@@ -9343,7 +8872,7 @@ interface ColorPropertyOptions extends PropertyOptionsBase {
9343
8872
  * Vector property options
9344
8873
  */
9345
8874
  interface VectorPropertyOptions extends PropertyOptionsBase {
9346
- type: 'vector2' | 'vector3';
8875
+ type: 'vector2' | 'vector3' | 'vector4';
9347
8876
  }
9348
8877
  /**
9349
8878
  * 枚举类型属性选项
@@ -9389,6 +8918,8 @@ type ArrayItemType = {
9389
8918
  type: 'vector2';
9390
8919
  } | {
9391
8920
  type: 'vector3';
8921
+ } | {
8922
+ type: 'vector4';
9392
8923
  } | {
9393
8924
  type: 'color';
9394
8925
  alpha?: boolean;
@@ -9442,11 +8973,21 @@ interface CollisionLayerPropertyOptions extends PropertyOptionsBase {
9442
8973
  interface CollisionMaskPropertyOptions extends PropertyOptionsBase {
9443
8974
  type: 'collisionMask';
9444
8975
  }
8976
+ /**
8977
+ * 实体引用属性选项
8978
+ * Entity reference property options
8979
+ *
8980
+ * Used for properties that store entity IDs and support drag-and-drop from SceneHierarchy.
8981
+ * 用于存储实体 ID 的属性,支持从场景层级面板拖放。
8982
+ */
8983
+ interface EntityRefPropertyOptions extends PropertyOptionsBase {
8984
+ type: 'entityRef';
8985
+ }
9445
8986
  /**
9446
8987
  * 属性选项联合类型
9447
8988
  * Property options union type
9448
8989
  */
9449
- type PropertyOptions = NumberPropertyOptions | StringPropertyOptions | BooleanPropertyOptions | ColorPropertyOptions | VectorPropertyOptions | EnumPropertyOptions | AssetPropertyOptions | ArrayPropertyOptions | AnimationClipsPropertyOptions | CollisionLayerPropertyOptions | CollisionMaskPropertyOptions;
8990
+ type PropertyOptions = NumberPropertyOptions | StringPropertyOptions | BooleanPropertyOptions | ColorPropertyOptions | VectorPropertyOptions | EnumPropertyOptions | AssetPropertyOptions | ArrayPropertyOptions | AnimationClipsPropertyOptions | CollisionLayerPropertyOptions | CollisionMaskPropertyOptions | EntityRefPropertyOptions;
9450
8991
  declare const PROPERTY_METADATA: unique symbol;
9451
8992
  /**
9452
8993
  * 属性装饰器 - 声明组件属性的编辑器元数据
@@ -9466,10 +9007,12 @@ declare const PROPERTY_METADATA: unique symbol;
9466
9007
  declare function Property(options: PropertyOptions): PropertyDecorator;
9467
9008
  /**
9468
9009
  * 获取组件类的所有属性元数据
9010
+ * Get all property metadata for a component class
9469
9011
  */
9470
9012
  declare function getPropertyMetadata(target: Function): Record<string, PropertyOptions> | undefined;
9471
9013
  /**
9472
9014
  * 检查组件类是否有属性元数据
9015
+ * Check if a component class has property metadata
9473
9016
  */
9474
9017
  declare function hasPropertyMetadata(target: Function): boolean;
9475
9018
 
@@ -9590,157 +9133,332 @@ declare function getSchedulingMetadata(target: object): SystemSchedulingMetadata
9590
9133
  declare function hasSchedulingMetadata(target: object): boolean;
9591
9134
 
9592
9135
  /**
9593
- * 组件注册表
9594
- * 管理组件类型的位掩码分配
9136
+ * Component Registry Interface.
9137
+ * 组件注册表接口。
9138
+ *
9139
+ * Defines the contract for component type registration and lookup.
9140
+ * Each Scene has its own ComponentRegistry instance for isolation.
9141
+ * 定义组件类型注册和查找的契约。
9142
+ * 每个 Scene 都有自己的 ComponentRegistry 实例以实现隔离。
9595
9143
  */
9596
- declare class ComponentRegistry {
9597
- protected static readonly _logger: ILogger;
9598
- private static componentTypes;
9599
- private static bitIndexToType;
9600
- private static componentNameToType;
9601
- private static componentNameToId;
9602
- private static maskCache;
9603
- private static nextBitIndex;
9144
+
9145
+ /**
9146
+ * Component Registry Interface.
9147
+ * 组件注册表接口。
9148
+ */
9149
+ type IComponentRegistry = {
9604
9150
  /**
9605
- * 热更新模式标志,默认禁用
9606
- * Hot reload mode flag, disabled by default
9607
- * 编辑器环境应启用此选项以支持脚本热更新
9608
- * Editor environment should enable this to support script hot reload
9151
+ * Register component type and allocate bitmask.
9152
+ * 注册组件类型并分配位掩码。
9153
+ *
9154
+ * @param componentType - Component constructor | 组件构造函数
9155
+ * @returns Allocated bit index | 分配的位索引
9609
9156
  */
9610
- private static hotReloadEnabled;
9157
+ register<T extends Component>(componentType: ComponentType<T>): number;
9611
9158
  /**
9612
- * 已警告过的组件类型集合,避免重复警告
9613
- * Set of warned component types to avoid duplicate warnings
9159
+ * Get component type's bitmask.
9160
+ * 获取组件类型的位掩码。
9161
+ *
9162
+ * @param componentType - Component constructor | 组件构造函数
9163
+ * @returns Bitmask | 位掩码
9614
9164
  */
9615
- private static warnedComponents;
9165
+ getBitMask<T extends Component>(componentType: ComponentType<T>): BitMask64Data;
9616
9166
  /**
9617
- * 注册组件类型并分配位掩码
9618
- * Register component type and allocate bitmask
9167
+ * Get component type's bit index.
9168
+ * 获取组件类型的位索引。
9619
9169
  *
9620
- * @param componentType 组件类型
9621
- * @returns 分配的位索引
9170
+ * @param componentType - Component constructor | 组件构造函数
9171
+ * @returns Bit index | 位索引
9622
9172
  */
9623
- static register<T extends Component>(componentType: ComponentType<T>): number;
9173
+ getBitIndex<T extends Component>(componentType: ComponentType<T>): number;
9624
9174
  /**
9625
- * 获取组件类型的位掩码
9626
- * @param componentType 组件类型
9627
- * @returns 位掩码
9175
+ * Check if component type is registered.
9176
+ * 检查组件类型是否已注册。
9177
+ *
9178
+ * @param componentType - Component constructor | 组件构造函数
9179
+ * @returns Whether registered | 是否已注册
9628
9180
  */
9629
- static getBitMask<T extends Component>(componentType: ComponentType<T>): BitMask64Data;
9181
+ isRegistered<T extends Component>(componentType: ComponentType<T>): boolean;
9630
9182
  /**
9631
- * 获取组件类型的位索引
9632
- * @param componentType 组件类型
9633
- * @returns 位索引
9183
+ * Get component type by bit index.
9184
+ * 通过位索引获取组件类型。
9185
+ *
9186
+ * @param bitIndex - Bit index | 位索引
9187
+ * @returns Component constructor or null | 组件构造函数或 null
9634
9188
  */
9635
- static getBitIndex<T extends Component>(componentType: ComponentType<T>): number;
9189
+ getTypeByBitIndex(bitIndex: number): ComponentType | null;
9636
9190
  /**
9637
- * 检查组件类型是否已注册
9638
- * @param componentType 组件类型
9639
- * @returns 是否已注册
9191
+ * Get component type by name.
9192
+ * 通过名称获取组件类型。
9193
+ *
9194
+ * @param componentName - Component name | 组件名称
9195
+ * @returns Component constructor or null | 组件构造函数或 null
9640
9196
  */
9641
- static isRegistered<T extends Component>(componentType: ComponentType<T>): boolean;
9197
+ getComponentType(componentName: string): Function | null;
9642
9198
  /**
9643
- * 通过位索引获取组件类型
9644
- * @param bitIndex 位索引
9645
- * @returns 组件类型构造函数或null
9199
+ * Get component type ID by name.
9200
+ * 通过名称获取组件类型 ID。
9201
+ *
9202
+ * @param componentName - Component name | 组件名称
9203
+ * @returns Component type ID or undefined | 组件类型 ID 或 undefined
9646
9204
  */
9647
- static getTypeByBitIndex(bitIndex: number): ComponentType | null;
9205
+ getComponentId(componentName: string): number | undefined;
9648
9206
  /**
9649
- * 获取当前已注册的组件类型数量
9650
- * @returns 已注册数量
9207
+ * Get all registered component types.
9208
+ * 获取所有已注册的组件类型。
9209
+ *
9210
+ * @returns Map of component type to bit index | 组件类型到位索引的映射
9651
9211
  */
9652
- static getRegisteredCount(): number;
9212
+ getAllRegisteredTypes(): Map<Function, number>;
9653
9213
  /**
9654
- * 通过名称获取组件类型
9655
- * @param componentName 组件名称
9656
- * @returns 组件类型构造函数
9214
+ * Get all component names.
9215
+ * 获取所有组件名称。
9216
+ *
9217
+ * @returns Map of name to component type | 名称到组件类型的映射
9657
9218
  */
9658
- static getComponentType(componentName: string): Function | null;
9219
+ getAllComponentNames(): Map<string, Function>;
9659
9220
  /**
9660
- * 获取所有已注册的组件类型
9661
- * @returns 组件类型映射
9221
+ * Get registered component count.
9222
+ * 获取已注册的组件数量。
9223
+ *
9224
+ * @returns Count | 数量
9662
9225
  */
9663
- static getAllRegisteredTypes(): Map<Function, number>;
9226
+ getRegisteredCount(): number;
9664
9227
  /**
9665
- * 获取所有组件名称到类型的映射
9666
- * @returns 名称到类型的映射
9228
+ * Register component type by name.
9229
+ * 通过名称注册组件类型。
9230
+ *
9231
+ * @param componentName - Component name | 组件名称
9232
+ * @returns Allocated component ID | 分配的组件 ID
9667
9233
  */
9668
- static getAllComponentNames(): Map<string, Function>;
9234
+ registerComponentByName(componentName: string): number;
9669
9235
  /**
9670
- * 通过名称获取组件类型ID
9671
- * @param componentName 组件名称
9672
- * @returns 组件类型ID
9236
+ * Create single component mask.
9237
+ * 创建单个组件的掩码。
9238
+ *
9239
+ * @param componentName - Component name | 组件名称
9240
+ * @returns Component mask | 组件掩码
9673
9241
  */
9674
- static getComponentId(componentName: string): number | undefined;
9242
+ createSingleComponentMask(componentName: string): BitMask64Data;
9675
9243
  /**
9676
- * 注册组件类型(通过名称)
9677
- * @param componentName 组件名称
9678
- * @returns 分配的组件ID
9244
+ * Create component mask for multiple components.
9245
+ * 创建多个组件的掩码。
9246
+ *
9247
+ * @param componentNames - Component names | 组件名称数组
9248
+ * @returns Combined mask | 组合掩码
9679
9249
  */
9680
- static registerComponentByName(componentName: string): number;
9250
+ createComponentMask(componentNames: string[]): BitMask64Data;
9681
9251
  /**
9682
- * 创建单个组件的掩码
9683
- * @param componentName 组件名称
9684
- * @returns 组件掩码
9252
+ * Unregister component type.
9253
+ * 注销组件类型。
9254
+ *
9255
+ * @param componentName - Component name | 组件名称
9685
9256
  */
9686
- static createSingleComponentMask(componentName: string): BitMask64Data;
9257
+ unregister(componentName: string): void;
9687
9258
  /**
9688
- * 创建多个组件的掩码
9689
- * @param componentNames 组件名称数组
9690
- * @returns 组合掩码
9259
+ * Enable hot reload mode.
9260
+ * 启用热更新模式。
9691
9261
  */
9692
- static createComponentMask(componentNames: string[]): BitMask64Data;
9262
+ enableHotReload(): void;
9693
9263
  /**
9694
- * 清除掩码缓存
9264
+ * Disable hot reload mode.
9265
+ * 禁用热更新模式。
9695
9266
  */
9696
- static clearMaskCache(): void;
9267
+ disableHotReload(): void;
9697
9268
  /**
9698
- * 启用热更新模式
9699
- * Enable hot reload mode
9700
- * 在编辑器环境中调用以支持脚本热更新
9701
- * Call in editor environment to support script hot reload
9269
+ * Check if hot reload mode is enabled.
9270
+ * 检查热更新模式是否启用。
9271
+ *
9272
+ * @returns Whether enabled | 是否启用
9702
9273
  */
9703
- static enableHotReload(): void;
9274
+ isHotReloadEnabled(): boolean;
9704
9275
  /**
9705
- * 禁用热更新模式
9706
- * Disable hot reload mode
9276
+ * Clear mask cache.
9277
+ * 清除掩码缓存。
9707
9278
  */
9708
- static disableHotReload(): void;
9279
+ clearMaskCache(): void;
9709
9280
  /**
9710
- * 检查热更新模式是否启用
9711
- * Check if hot reload mode is enabled
9281
+ * Reset registry.
9282
+ * 重置注册表。
9712
9283
  */
9713
- static isHotReloadEnabled(): boolean;
9284
+ reset(): void;
9714
9285
  /**
9715
- * 注销组件类型
9716
- * Unregister component type
9286
+ * Get all registered component info.
9287
+ * 获取所有已注册的组件信息。
9717
9288
  *
9718
- * 用于插件卸载时清理组件。
9719
- * 注意:这不会释放 bitIndex,以避免索引冲突。
9289
+ * @returns Array of component info | 组件信息数组
9290
+ */
9291
+ getRegisteredComponents(): Array<{
9292
+ name: string;
9293
+ type: Function;
9294
+ bitIndex: number;
9295
+ }>;
9296
+ /**
9297
+ * Clone component types from another registry.
9298
+ * 从另一个注册表克隆组件类型。
9720
9299
  *
9721
- * Used for cleanup during plugin unload.
9722
- * Note: This does not release bitIndex to avoid index conflicts.
9300
+ * Used to inherit framework components when creating a new Scene.
9301
+ * 用于在创建新 Scene 时继承框架组件。
9723
9302
  *
9724
- * @param componentName 组件名称 | Component name
9303
+ * @param source - Source registry | 源注册表
9725
9304
  */
9726
- static unregister(componentName: string): void;
9305
+ cloneFrom(source: IComponentRegistry): void;
9306
+ };
9307
+
9308
+ /**
9309
+ * Component Registry Implementation.
9310
+ * 组件注册表实现。
9311
+ *
9312
+ * Manages component type bitmask allocation.
9313
+ * Each Scene has its own registry instance for isolation.
9314
+ * 管理组件类型的位掩码分配。
9315
+ * 每个 Scene 都有自己的注册表实例以实现隔离。
9316
+ */
9317
+
9318
+ /**
9319
+ * Component Registry.
9320
+ * 组件注册表。
9321
+ *
9322
+ * Instance-based registry for component type management.
9323
+ * Each Scene should have its own registry.
9324
+ * 基于实例的组件类型管理注册表。
9325
+ * 每个 Scene 应有自己的注册表。
9326
+ */
9327
+ declare class ComponentRegistry implements IComponentRegistry {
9328
+ private _componentTypes;
9329
+ private _bitIndexToType;
9330
+ private _componentNameToType;
9331
+ private _componentNameToId;
9332
+ private _maskCache;
9333
+ private _nextBitIndex;
9334
+ private _hotReloadEnabled;
9335
+ private _warnedComponents;
9727
9336
  /**
9728
- * 获取所有已注册的组件信息
9729
- * Get all registered component info
9337
+ * Register component type and allocate bitmask.
9338
+ * 注册组件类型并分配位掩码。
9730
9339
  *
9731
- * @returns 组件信息数组 | Array of component info
9340
+ * @param componentType - Component constructor | 组件构造函数
9341
+ * @returns Allocated bit index | 分配的位索引
9342
+ */
9343
+ register<T extends Component>(componentType: ComponentType<T>): number;
9344
+ /**
9345
+ * Get component type's bitmask.
9346
+ * 获取组件类型的位掩码。
9347
+ */
9348
+ getBitMask<T extends Component>(componentType: ComponentType<T>): BitMask64Data;
9349
+ /**
9350
+ * Get component type's bit index.
9351
+ * 获取组件类型的位索引。
9352
+ */
9353
+ getBitIndex<T extends Component>(componentType: ComponentType<T>): number;
9354
+ /**
9355
+ * Check if component type is registered.
9356
+ * 检查组件类型是否已注册。
9357
+ */
9358
+ isRegistered<T extends Component>(componentType: ComponentType<T>): boolean;
9359
+ /**
9360
+ * Get component type by bit index.
9361
+ * 通过位索引获取组件类型。
9362
+ */
9363
+ getTypeByBitIndex(bitIndex: number): ComponentType | null;
9364
+ /**
9365
+ * Get registered component count.
9366
+ * 获取已注册的组件数量。
9367
+ */
9368
+ getRegisteredCount(): number;
9369
+ /**
9370
+ * Get component type by name.
9371
+ * 通过名称获取组件类型。
9372
+ */
9373
+ getComponentType(componentName: string): Function | null;
9374
+ /**
9375
+ * Get all registered component types.
9376
+ * 获取所有已注册的组件类型。
9377
+ */
9378
+ getAllRegisteredTypes(): Map<Function, number>;
9379
+ /**
9380
+ * Get all component names.
9381
+ * 获取所有组件名称。
9382
+ */
9383
+ getAllComponentNames(): Map<string, Function>;
9384
+ /**
9385
+ * Get component type ID by name.
9386
+ * 通过名称获取组件类型 ID。
9387
+ */
9388
+ getComponentId(componentName: string): number | undefined;
9389
+ /**
9390
+ * Register component type by name.
9391
+ * 通过名称注册组件类型。
9732
9392
  */
9733
- static getRegisteredComponents(): Array<{
9393
+ registerComponentByName(componentName: string): number;
9394
+ /**
9395
+ * Create single component mask.
9396
+ * 创建单个组件的掩码。
9397
+ */
9398
+ createSingleComponentMask(componentName: string): BitMask64Data;
9399
+ /**
9400
+ * Create component mask for multiple components.
9401
+ * 创建多个组件的掩码。
9402
+ */
9403
+ createComponentMask(componentNames: string[]): BitMask64Data;
9404
+ /**
9405
+ * Clear mask cache.
9406
+ * 清除掩码缓存。
9407
+ */
9408
+ clearMaskCache(): void;
9409
+ /**
9410
+ * Enable hot reload mode.
9411
+ * 启用热更新模式。
9412
+ */
9413
+ enableHotReload(): void;
9414
+ /**
9415
+ * Disable hot reload mode.
9416
+ * 禁用热更新模式。
9417
+ */
9418
+ disableHotReload(): void;
9419
+ /**
9420
+ * Check if hot reload mode is enabled.
9421
+ * 检查热更新模式是否启用。
9422
+ */
9423
+ isHotReloadEnabled(): boolean;
9424
+ /**
9425
+ * Unregister component type.
9426
+ * 注销组件类型。
9427
+ */
9428
+ unregister(componentName: string): void;
9429
+ /**
9430
+ * Get all registered component info.
9431
+ * 获取所有已注册的组件信息。
9432
+ */
9433
+ getRegisteredComponents(): Array<{
9734
9434
  name: string;
9735
9435
  type: Function;
9736
9436
  bitIndex: number;
9737
9437
  }>;
9738
9438
  /**
9739
- * 重置注册表(用于测试)
9740
- * Reset registry (for testing)
9439
+ * Reset registry.
9440
+ * 重置注册表。
9741
9441
  */
9742
- static reset(): void;
9442
+ reset(): void;
9443
+ /**
9444
+ * Clone component types from another registry.
9445
+ * 从另一个注册表克隆组件类型。
9446
+ *
9447
+ * Used to inherit framework components when creating a new Scene.
9448
+ * 用于在创建新 Scene 时继承框架组件。
9449
+ */
9450
+ cloneFrom(source: IComponentRegistry): void;
9743
9451
  }
9452
+ /**
9453
+ * Global Component Registry.
9454
+ * 全局组件注册表。
9455
+ *
9456
+ * Used by framework components and decorators.
9457
+ * Scene instances clone from this registry on creation.
9458
+ * 用于框架组件和装饰器。
9459
+ * Scene 实例在创建时从此注册表克隆。
9460
+ */
9461
+ declare const GlobalComponentRegistry: ComponentRegistry;
9744
9462
 
9745
9463
  /**
9746
9464
  * 高性能组件存储器
@@ -9903,10 +9621,13 @@ declare class ComponentStorageManager {
9903
9621
  removeAllComponents(entityId: number): void;
9904
9622
  /**
9905
9623
  * 获取实体的组件位掩码
9906
- * @param entityId 实体ID
9907
- * @returns 组件位掩码
9624
+ * Get component bitmask for entity
9625
+ *
9626
+ * @param entityId 实体ID | Entity ID
9627
+ * @param registry 组件注册表(可选,默认使用全局注册表)| Component registry (optional, defaults to global)
9628
+ * @returns 组件位掩码 | Component bitmask
9908
9629
  */
9909
- getComponentMask(entityId: number): BitMask64Data;
9630
+ getComponentMask(entityId: number, registry?: IComponentRegistry): BitMask64Data;
9910
9631
  /**
9911
9632
  * 获取所有存储器的统计信息
9912
9633
  */
@@ -11295,7 +11016,7 @@ declare class SceneManager implements IService {
11295
11016
  * 全局系统接口
11296
11017
  * 全局系统是在World级别运行的系统,不依赖特定Scene
11297
11018
  */
11298
- interface IGlobalSystem {
11019
+ type IGlobalSystem = {
11299
11020
  /**
11300
11021
  * 系统名称
11301
11022
  */
@@ -11316,11 +11037,11 @@ interface IGlobalSystem {
11316
11037
  * 销毁系统
11317
11038
  */
11318
11039
  destroy?(): void;
11319
- }
11040
+ };
11320
11041
  /**
11321
11042
  * World配置接口
11322
11043
  */
11323
- interface IWorldConfig {
11044
+ type IWorldConfig = {
11324
11045
  /**
11325
11046
  * World名称
11326
11047
  */
@@ -11337,7 +11058,7 @@ interface IWorldConfig {
11337
11058
  * 是否自动清理空Scene
11338
11059
  */
11339
11060
  autoCleanup?: boolean;
11340
- }
11061
+ };
11341
11062
  /**
11342
11063
  * World类 - ECS世界管理器
11343
11064
  *
@@ -11530,7 +11251,7 @@ declare class World {
11530
11251
  /**
11531
11252
  * WorldManager配置接口
11532
11253
  */
11533
- interface IWorldManagerConfig {
11254
+ type IWorldManagerConfig = {
11534
11255
  /**
11535
11256
  * 最大World数量
11536
11257
  */
@@ -11547,7 +11268,7 @@ interface IWorldManagerConfig {
11547
11268
  * 是否启用调试模式
11548
11269
  */
11549
11270
  debug?: boolean;
11550
- }
11271
+ };
11551
11272
  /**
11552
11273
  * World管理器 - 管理所有World实例
11553
11274
  *
@@ -12110,7 +11831,7 @@ declare const SERIALIZE_OPTIONS: unique symbol;
12110
11831
  /**
12111
11832
  * 可序列化配置选项
12112
11833
  */
12113
- interface SerializableOptions {
11834
+ type SerializableOptions = {
12114
11835
  /**
12115
11836
  * 序列化版本号,用于数据迁移
12116
11837
  */
@@ -12119,11 +11840,11 @@ interface SerializableOptions {
12119
11840
  * 组件类型标识符(可选,默认使用类名)
12120
11841
  */
12121
11842
  typeId?: string;
12122
- }
11843
+ };
12123
11844
  /**
12124
11845
  * 字段序列化配置
12125
11846
  */
12126
- interface FieldSerializeOptions {
11847
+ type FieldSerializeOptions = {
12127
11848
  /**
12128
11849
  * 自定义序列化器
12129
11850
  */
@@ -12136,15 +11857,15 @@ interface FieldSerializeOptions {
12136
11857
  * 字段别名(用于序列化后的键名)
12137
11858
  */
12138
11859
  alias?: string;
12139
- }
11860
+ };
12140
11861
  /**
12141
11862
  * 序列化元数据
12142
11863
  */
12143
- interface SerializationMetadata {
11864
+ type SerializationMetadata = {
12144
11865
  options: SerializableOptions;
12145
11866
  fields: Map<string | symbol, FieldSerializeOptions>;
12146
11867
  ignoredFields: Set<string | symbol>;
12147
- }
11868
+ };
12148
11869
  /**
12149
11870
  * 组件可序列化装饰器
12150
11871
  *
@@ -12414,7 +12135,7 @@ interface SerializedPrefabEntity extends SerializedEntity {
12414
12135
  * 预制体元数据
12415
12136
  * Prefab metadata
12416
12137
  */
12417
- interface PrefabMetadata {
12138
+ type PrefabMetadata = {
12418
12139
  /** 预制体名称 | Prefab name */
12419
12140
  name: string;
12420
12141
  /** 资产 GUID | Asset GUID */
@@ -12431,22 +12152,22 @@ interface PrefabMetadata {
12431
12152
  description?: string;
12432
12153
  /** 预制体标签 | Prefab tags */
12433
12154
  tags?: string[];
12434
- }
12155
+ };
12435
12156
  /**
12436
12157
  * 组件类型注册条目
12437
12158
  * Component type registry entry
12438
12159
  */
12439
- interface PrefabComponentTypeEntry {
12160
+ type PrefabComponentTypeEntry = {
12440
12161
  /** 组件类型名称 | Component type name */
12441
12162
  typeName: string;
12442
12163
  /** 组件版本号 | Component version number */
12443
12164
  version: number;
12444
- }
12165
+ };
12445
12166
  /**
12446
12167
  * 预制体数据格式
12447
12168
  * Prefab data format
12448
12169
  */
12449
- interface PrefabData {
12170
+ type PrefabData = {
12450
12171
  /** 预制体格式版本号 | Prefab format version number */
12451
12172
  version: number;
12452
12173
  /** 预制体元数据 | Prefab metadata */
@@ -12455,12 +12176,12 @@ interface PrefabData {
12455
12176
  root: SerializedPrefabEntity;
12456
12177
  /** 组件类型注册表 | Component type registry */
12457
12178
  componentTypeRegistry: PrefabComponentTypeEntry[];
12458
- }
12179
+ };
12459
12180
  /**
12460
12181
  * 预制体创建选项
12461
12182
  * Prefab creation options
12462
12183
  */
12463
- interface PrefabCreateOptions {
12184
+ type PrefabCreateOptions = {
12464
12185
  /** 预制体名称 | Prefab name */
12465
12186
  name: string;
12466
12187
  /** 预制体描述 | Prefab description */
@@ -12469,12 +12190,12 @@ interface PrefabCreateOptions {
12469
12190
  tags?: string[];
12470
12191
  /** 是否包含子实体 | Whether to include child entities */
12471
12192
  includeChildren?: boolean;
12472
- }
12193
+ };
12473
12194
  /**
12474
12195
  * 预制体实例化选项
12475
12196
  * Prefab instantiation options
12476
12197
  */
12477
- interface PrefabInstantiateOptions {
12198
+ type PrefabInstantiateOptions = {
12478
12199
  /** 父实体 ID | Parent entity ID */
12479
12200
  parentId?: number;
12480
12201
  /** 位置覆盖 | Position override */
@@ -12495,7 +12216,7 @@ interface PrefabInstantiateOptions {
12495
12216
  preserveIds?: boolean;
12496
12217
  /** 是否标记为预制体实例 | Whether to mark as prefab instance */
12497
12218
  trackInstance?: boolean;
12498
- }
12219
+ };
12499
12220
  /**
12500
12221
  * 预制体格式版本
12501
12222
  * Prefab format version
@@ -12656,7 +12377,7 @@ declare function isHidden(entityTag: number): boolean;
12656
12377
  */
12657
12378
  declare function isLocked(entityTag: number): boolean;
12658
12379
 
12659
- interface ITimer<TContext = unknown> {
12380
+ type ITimer<TContext = unknown> = {
12660
12381
  context: TContext;
12661
12382
  /**
12662
12383
  * 调用stop以停止此计时器再次运行。这对非重复计时器没有影响。
@@ -12670,7 +12391,7 @@ interface ITimer<TContext = unknown> {
12670
12391
  * 返回投向T的上下文,作为方便
12671
12392
  */
12672
12393
  getContext<T>(): T;
12673
- }
12394
+ };
12674
12395
 
12675
12396
  /**
12676
12397
  * 私有类隐藏ITimer的实现
@@ -12726,7 +12447,7 @@ declare class Timer<TContext = unknown> implements ITimer<TContext> {
12726
12447
  * Note: __phantom is a required property to ensure TypeScript preserves generic
12727
12448
  * type information across packages.
12728
12449
  */
12729
- interface ServiceToken<T> {
12450
+ type ServiceToken<T> = {
12730
12451
  readonly id: symbol;
12731
12452
  readonly name: string;
12732
12453
  /**
@@ -12734,7 +12455,7 @@ interface ServiceToken<T> {
12734
12455
  * Phantom type marker (enforces type inference)
12735
12456
  */
12736
12457
  readonly __phantom: T;
12737
- }
12458
+ };
12738
12459
  /**
12739
12460
  * 创建服务令牌
12740
12461
  * Create a service token
@@ -12847,7 +12568,7 @@ declare enum PluginState {
12847
12568
  * }
12848
12569
  * ```
12849
12570
  */
12850
- interface IPlugin {
12571
+ type IPlugin = {
12851
12572
  /**
12852
12573
  * 插件唯一名称
12853
12574
  *
@@ -12883,11 +12604,11 @@ interface IPlugin {
12883
12604
  * 可以是同步或异步的。
12884
12605
  */
12885
12606
  uninstall(): void | Promise<void>;
12886
- }
12607
+ };
12887
12608
  /**
12888
12609
  * 插件元数据
12889
12610
  */
12890
- interface IPluginMetadata {
12611
+ type IPluginMetadata = {
12891
12612
  /**
12892
12613
  * 插件名称
12893
12614
  */
@@ -12908,7 +12629,7 @@ interface IPluginMetadata {
12908
12629
  * 错误信息(如果安装失败)
12909
12630
  */
12910
12631
  error?: string;
12911
- }
12632
+ };
12912
12633
 
12913
12634
  /**
12914
12635
  * 游戏引擎核心类
@@ -13463,7 +13184,7 @@ declare class PluginManager implements IService {
13463
13184
  * 运行时模式接口
13464
13185
  * Runtime mode interface
13465
13186
  */
13466
- interface IRuntimeMode {
13187
+ type IRuntimeMode = {
13467
13188
  /**
13468
13189
  * 是否为编辑器模式
13469
13190
  * Whether in editor mode
@@ -13504,7 +13225,7 @@ interface IRuntimeMode {
13504
13225
  * @returns 取消订阅函数
13505
13226
  */
13506
13227
  onModeChanged(callback: (mode: IRuntimeMode) => void): () => void;
13507
- }
13228
+ };
13508
13229
  /**
13509
13230
  * 运行时模式服务令牌
13510
13231
  * Runtime mode service token
@@ -13519,14 +13240,14 @@ type ModeChangeCallback = (mode: IRuntimeMode) => void;
13519
13240
  * 运行时模式服务配置
13520
13241
  * Runtime mode service configuration
13521
13242
  */
13522
- interface RuntimeModeConfig {
13243
+ type RuntimeModeConfig = {
13523
13244
  /** 是否为编辑器模式 | Whether in editor mode */
13524
13245
  isEditor?: boolean;
13525
13246
  /** 是否正在播放 | Whether playing */
13526
13247
  isPlaying?: boolean;
13527
13248
  /** 是否为预览模式 | Whether in preview mode */
13528
13249
  isPreview?: boolean;
13529
- }
13250
+ };
13530
13251
  /**
13531
13252
  * 运行时模式服务默认实现
13532
13253
  * Default runtime mode service implementation
@@ -13601,25 +13322,25 @@ declare function createStandaloneModeService(): RuntimeModeService;
13601
13322
  /**
13602
13323
  * ECS 调试插件统计信息
13603
13324
  */
13604
- interface ECSDebugStats {
13325
+ type ECSDebugStats = {
13605
13326
  scenes: SceneDebugInfo[];
13606
13327
  totalEntities: number;
13607
13328
  totalSystems: number;
13608
13329
  timestamp: number;
13609
- }
13330
+ };
13610
13331
  /**
13611
13332
  * 场景调试信息
13612
13333
  */
13613
- interface SceneDebugInfo {
13334
+ type SceneDebugInfo = {
13614
13335
  name: string;
13615
13336
  entityCount: number;
13616
13337
  systems: SystemDebugInfo[];
13617
13338
  entities: EntityDebugInfo[];
13618
- }
13339
+ };
13619
13340
  /**
13620
13341
  * 系统调试信息
13621
13342
  */
13622
- interface SystemDebugInfo {
13343
+ type SystemDebugInfo = {
13623
13344
  name: string;
13624
13345
  enabled: boolean;
13625
13346
  updateOrder: number;
@@ -13629,25 +13350,25 @@ interface SystemDebugInfo {
13629
13350
  maxExecutionTime: number;
13630
13351
  totalCalls: number;
13631
13352
  };
13632
- }
13353
+ };
13633
13354
  /**
13634
13355
  * 实体调试信息
13635
13356
  */
13636
- interface EntityDebugInfo {
13357
+ type EntityDebugInfo = {
13637
13358
  id: number;
13638
13359
  name: string;
13639
13360
  enabled: boolean;
13640
13361
  tag: number;
13641
13362
  componentCount: number;
13642
13363
  components: ComponentDebugInfo[];
13643
- }
13364
+ };
13644
13365
  /**
13645
13366
  * 组件调试信息
13646
13367
  */
13647
- interface ComponentDebugInfo {
13368
+ type ComponentDebugInfo = {
13648
13369
  type: string;
13649
13370
  data: any;
13650
- }
13371
+ };
13651
13372
  /**
13652
13373
  * ECS 调试插件
13653
13374
  *
@@ -13761,7 +13482,7 @@ type Constructor = abstract new (...args: unknown[]) => unknown;
13761
13482
  /**
13762
13483
  * 可注入元数据接口
13763
13484
  */
13764
- interface InjectableMetadata {
13485
+ type InjectableMetadata = {
13765
13486
  /**
13766
13487
  * 是否可注入
13767
13488
  */
@@ -13775,11 +13496,11 @@ interface InjectableMetadata {
13775
13496
  * key: 属性名, value: 服务类型
13776
13497
  */
13777
13498
  properties?: Map<string | symbol, ServiceType<IService>>;
13778
- }
13499
+ };
13779
13500
  /**
13780
13501
  * 可更新元数据接口
13781
13502
  */
13782
- interface UpdatableMetadata {
13503
+ type UpdatableMetadata = {
13783
13504
  /**
13784
13505
  * 是否可更新
13785
13506
  */
@@ -13788,7 +13509,7 @@ interface UpdatableMetadata {
13788
13509
  * 更新优先级(数值越小越先执行,默认0)
13789
13510
  */
13790
13511
  priority: number;
13791
- }
13512
+ };
13792
13513
  /**
13793
13514
  * @Injectable() 装饰器
13794
13515
  *
@@ -14269,16 +13990,16 @@ declare class NumberExtension {
14269
13990
  /**
14270
13991
  * 可池化对象接口
14271
13992
  */
14272
- interface IPoolable {
13993
+ type IPoolable = {
14273
13994
  /**
14274
13995
  * 重置对象状态,准备重用
14275
13996
  */
14276
13997
  reset(): void;
14277
- }
13998
+ };
14278
13999
  /**
14279
14000
  * 对象池统计信息
14280
14001
  */
14281
- interface PoolStats {
14002
+ type PoolStats = {
14282
14003
  /** 池中对象数量 */
14283
14004
  size: number;
14284
14005
  /** 池的最大大小 */
@@ -14293,7 +14014,7 @@ interface PoolStats {
14293
14014
  hitRate: number;
14294
14015
  /** 内存使用估算(字节) */
14295
14016
  estimatedMemoryUsage: number;
14296
- }
14017
+ };
14297
14018
 
14298
14019
  /**
14299
14020
  * 高性能通用对象池
@@ -14994,18 +14715,18 @@ declare enum ProfileCategory {
14994
14715
  /**
14995
14716
  * 采样句柄
14996
14717
  */
14997
- interface SampleHandle {
14718
+ type SampleHandle = {
14998
14719
  id: string;
14999
14720
  name: string;
15000
14721
  category: ProfileCategory;
15001
14722
  startTime: number;
15002
14723
  depth: number;
15003
14724
  parentId?: string | undefined;
15004
- }
14725
+ };
15005
14726
  /**
15006
14727
  * 性能采样数据
15007
14728
  */
15008
- interface ProfileSample {
14729
+ type ProfileSample = {
15009
14730
  id: string;
15010
14731
  name: string;
15011
14732
  category: ProfileCategory;
@@ -15019,11 +14740,11 @@ interface ProfileSample {
15019
14740
  depth: number;
15020
14741
  callCount: number;
15021
14742
  metadata?: Record<string, unknown>;
15022
- }
14743
+ };
15023
14744
  /**
15024
14745
  * 聚合后的采样统计
15025
14746
  */
15026
- interface ProfileSampleStats {
14747
+ type ProfileSampleStats = {
15027
14748
  name: string;
15028
14749
  category: ProfileCategory;
15029
14750
  /** 包含时间(包含子调用) */
@@ -15046,11 +14767,11 @@ interface ProfileSampleStats {
15046
14767
  children: ProfileSampleStats[];
15047
14768
  /** 深度 */
15048
14769
  depth: number;
15049
- }
14770
+ };
15050
14771
  /**
15051
14772
  * 内存快照
15052
14773
  */
15053
- interface MemorySnapshot {
14774
+ type MemorySnapshot = {
15054
14775
  timestamp: number;
15055
14776
  /** 已使用堆内存 (bytes) */
15056
14777
  usedHeapSize: number;
@@ -15062,11 +14783,11 @@ interface MemorySnapshot {
15062
14783
  utilizationPercent: number;
15063
14784
  /** 检测到的 GC 次数 */
15064
14785
  gcCount: number;
15065
- }
14786
+ };
15066
14787
  /**
15067
14788
  * 计数器数据
15068
14789
  */
15069
- interface ProfileCounter {
14790
+ type ProfileCounter = {
15070
14791
  name: string;
15071
14792
  category: ProfileCategory;
15072
14793
  value: number;
@@ -15075,11 +14796,11 @@ interface ProfileCounter {
15075
14796
  time: number;
15076
14797
  value: number;
15077
14798
  }>;
15078
- }
14799
+ };
15079
14800
  /**
15080
14801
  * 单帧性能数据
15081
14802
  */
15082
- interface ProfileFrame {
14803
+ type ProfileFrame = {
15083
14804
  frameNumber: number;
15084
14805
  startTime: number;
15085
14806
  endTime: number;
@@ -15094,11 +14815,11 @@ interface ProfileFrame {
15094
14815
  sampleCount: number;
15095
14816
  percentOfFrame: number;
15096
14817
  }>;
15097
- }
14818
+ };
15098
14819
  /**
15099
14820
  * 分析器配置
15100
14821
  */
15101
- interface ProfilerConfig {
14822
+ type ProfilerConfig = {
15102
14823
  /** 是否启用 */
15103
14824
  enabled: boolean;
15104
14825
  /** 最大历史帧数 */
@@ -15115,19 +14836,19 @@ interface ProfilerConfig {
15115
14836
  longTaskThreshold: number;
15116
14837
  /** 启用的类别 */
15117
14838
  enabledCategories: Set<ProfileCategory>;
15118
- }
14839
+ };
15119
14840
  /**
15120
14841
  * 长任务信息
15121
14842
  */
15122
- interface LongTaskInfo {
14843
+ type LongTaskInfo = {
15123
14844
  startTime: number;
15124
14845
  duration: number;
15125
14846
  attribution: string[];
15126
- }
14847
+ };
15127
14848
  /**
15128
14849
  * 调用关系节点
15129
14850
  */
15130
- interface CallGraphNode {
14851
+ type CallGraphNode = {
15131
14852
  name: string;
15132
14853
  category: ProfileCategory;
15133
14854
  /** 被调用次数 */
@@ -15144,11 +14865,11 @@ interface CallGraphNode {
15144
14865
  count: number;
15145
14866
  totalTime: number;
15146
14867
  }>;
15147
- }
14868
+ };
15148
14869
  /**
15149
14870
  * 性能分析报告
15150
14871
  */
15151
- interface ProfileReport {
14872
+ type ProfileReport = {
15152
14873
  startTime: number;
15153
14874
  endTime: number;
15154
14875
  totalFrames: number;
@@ -15171,7 +14892,7 @@ interface ProfileReport {
15171
14892
  memoryTrend: MemorySnapshot[];
15172
14893
  /** 长任务列表 */
15173
14894
  longTasks: LongTaskInfo[];
15174
- }
14895
+ };
15175
14896
  /**
15176
14897
  * 默认配置
15177
14898
  */
@@ -15187,7 +14908,7 @@ declare const DEFAULT_PROFILER_CONFIG: ProfilerConfig;
15187
14908
  /**
15188
14909
  * 旧版 PerformanceMonitor 接口 (用于兼容)
15189
14910
  */
15190
- interface ILegacyPerformanceMonitor {
14911
+ type ILegacyPerformanceMonitor = {
15191
14912
  getAllSystemStats?: () => Map<string, {
15192
14913
  averageTime: number;
15193
14914
  minTime?: number;
@@ -15198,11 +14919,11 @@ interface ILegacyPerformanceMonitor {
15198
14919
  executionTime: number;
15199
14920
  entityCount?: number;
15200
14921
  }>;
15201
- }
14922
+ };
15202
14923
  /**
15203
14924
  * 热点函数项(支持递归层级)
15204
14925
  */
15205
- interface IHotspotItem {
14926
+ type IHotspotItem = {
15206
14927
  name: string;
15207
14928
  category: string;
15208
14929
  inclusiveTime: number;
@@ -15215,11 +14936,11 @@ interface IHotspotItem {
15215
14936
  depth: number;
15216
14937
  /** 子函数 */
15217
14938
  children?: IHotspotItem[] | undefined;
15218
- }
14939
+ };
15219
14940
  /**
15220
14941
  * 高级性能数据接口
15221
14942
  */
15222
- interface IAdvancedProfilerData {
14943
+ type IAdvancedProfilerData = {
15223
14944
  /** 当前帧信息 */
15224
14945
  currentFrame: {
15225
14946
  frameNumber: number;
@@ -15296,7 +15017,7 @@ interface IAdvancedProfilerData {
15296
15017
  gcCount: number;
15297
15018
  longTaskCount: number;
15298
15019
  };
15299
- }
15020
+ };
15300
15021
  /**
15301
15022
  * 高级性能分析数据收集器
15302
15023
  */
@@ -15542,7 +15263,7 @@ declare class ProfilerSDK {
15542
15263
  /**
15543
15264
  * 自动分析配置
15544
15265
  */
15545
- interface AutoProfilerConfig {
15266
+ type AutoProfilerConfig = {
15546
15267
  /** 是否启用自动包装 */
15547
15268
  enabled: boolean;
15548
15269
  /** 采样间隔(毫秒),用于采样分析器 */
@@ -15555,7 +15276,7 @@ interface AutoProfilerConfig {
15555
15276
  excludePatterns: RegExp[];
15556
15277
  /** 最大采样缓冲区大小 */
15557
15278
  maxBufferSize: number;
15558
- }
15279
+ };
15559
15280
  /**
15560
15281
  * 采样数据
15561
15282
  */
@@ -15731,7 +15452,7 @@ declare const EMPTY_GUID = "00000000-0000-0000-0000-000000000000";
15731
15452
  * 平台适配器接口
15732
15453
  * 用于适配不同的运行环境(浏览器、微信小游戏、字节跳动小游戏等)
15733
15454
  */
15734
- interface IPlatformAdapter {
15455
+ type IPlatformAdapter = {
15735
15456
  /**
15736
15457
  * 平台名称
15737
15458
  */
@@ -15775,11 +15496,11 @@ interface IPlatformAdapter {
15775
15496
  * 异步获取平台配置(包含需要异步获取的信息)
15776
15497
  */
15777
15498
  getPlatformConfigAsync?(): Promise<PlatformConfig>;
15778
- }
15499
+ };
15779
15500
  /**
15780
15501
  * Worker创建选项
15781
15502
  */
15782
- interface WorkerCreationOptions {
15503
+ type WorkerCreationOptions = {
15783
15504
  /**
15784
15505
  * Worker类型
15785
15506
  */
@@ -15792,11 +15513,11 @@ interface WorkerCreationOptions {
15792
15513
  * Worker名称(用于调试)
15793
15514
  */
15794
15515
  name?: string;
15795
- }
15516
+ };
15796
15517
  /**
15797
15518
  * 平台Worker接口
15798
15519
  */
15799
- interface PlatformWorker {
15520
+ type PlatformWorker = {
15800
15521
  /**
15801
15522
  * 发送消息到Worker
15802
15523
  */
@@ -15819,11 +15540,11 @@ interface PlatformWorker {
15819
15540
  * Worker状态
15820
15541
  */
15821
15542
  readonly state: 'running' | 'terminated';
15822
- }
15543
+ };
15823
15544
  /**
15824
15545
  * 平台配置
15825
15546
  */
15826
- interface PlatformConfig {
15547
+ type PlatformConfig = {
15827
15548
  /**
15828
15549
  * 最大Worker数量限制
15829
15550
  */
@@ -15873,11 +15594,11 @@ interface PlatformConfig {
15873
15594
  * 平台特定的扩展属性
15874
15595
  */
15875
15596
  extensions?: Record<string, any>;
15876
- }
15597
+ };
15877
15598
  /**
15878
15599
  * 平台检测结果
15879
15600
  */
15880
- interface PlatformDetectionResult {
15601
+ type PlatformDetectionResult = {
15881
15602
  /**
15882
15603
  * 平台类型
15883
15604
  */
@@ -15894,7 +15615,7 @@ interface PlatformDetectionResult {
15894
15615
  * 建议使用的适配器类名
15895
15616
  */
15896
15617
  adapterClass?: string;
15897
- }
15618
+ };
15898
15619
 
15899
15620
  /**
15900
15621
  * 平台检测器
@@ -16016,5 +15737,5 @@ declare function getFullPlatformConfig(): Promise<any>;
16016
15737
  declare function supportsFeature(feature: 'worker' | 'shared-array-buffer' | 'transferable-objects' | 'module-worker'): boolean;
16017
15738
  declare function hasAdapter(): boolean;
16018
15739
 
16019
- export { AdvancedProfilerCollector, After, AutoProfiler, Before, BinarySerializer, BitMask64Utils, Bits, COMPONENT_DEPENDENCIES, COMPONENT_EDITOR_OPTIONS, COMPONENT_TYPE_NAME, ChangeOperation, Colors, CommandBuffer, CommandType, CompiledQuery, Component, ComponentDataCollector, ComponentPool, ComponentPoolManager, ComponentRegistry, ComponentSerializer, ComponentSparseSet, ComponentStorage, ConsoleLogger, Core, CycleDependencyError, DEFAULT_PROFILER_CONFIG, DEFAULT_STAGE_ORDER, DebugConfigService, DebugManager, DebugPlugin, DeepCopy, ECSComponent, ECSEventType, ECSFluentAPI, ECSSystem, EEntityLifecyclePolicy, EMPTY_GUID, ENTITY_REF_METADATA, EVENT_TYPES, Emitter, EnableSoA, Entity, EntityDataCollector, EntityHandleManager, EntityList, EntityProcessorList, EntityRef, EntitySerializer, EntitySystem, EntityTags, EpochManager, EventBus, EventPriority, EventTypeValidator, Float32, Float64, FuncPack, GEN_BITS, GEN_MASK, GlobalEventBus, GlobalManager, HierarchyComponent, HierarchySystem, INDEX_BITS, INDEX_MASK, IdentifierPool, IgnoreSerialization, InSet, IncrementalSerializer, InjectProperty, Injectable, Int16, Int32, Int8, IntervalSystem, LogLevel, Logger, LoggerManager, MAX_ENTITIES, MAX_GENERATION, Matcher, MigrationBuilder, NULL_HANDLE, NumberExtension, PREFAB_FORMAT_VERSION, PROPERTY_METADATA, PassiveSystem, PerformanceDataCollector, PerformanceMonitor, PerformanceWarningType, PlatformDetector, PlatformManager, PluginManager, PluginServiceRegistry, PluginState, Pool, PoolManager, PrefabInstanceComponent, PrefabSerializer, ProcessingSystem, Profile, ProfileCategory, ProfileClass, ProfilerSDK, Property, QuerySystem, ReactiveQuery, ReactiveQueryChangeType, ReferenceTracker, RuntimeModeService, RuntimeModeToken, SCHEDULING_METADATA, SERIALIZABLE_METADATA, SERIALIZE_FIELD, SERIALIZE_OPTIONS, SYSTEM_TYPE_NAME, Scene, SceneDataCollector, SceneManager, SceneSerializer, Serializable, SerializationContext, Serialize, SerializeArray, SerializeAsMap, SerializeAsSet, SerializeMap, SerializeSet, ServiceContainer, ServiceLifetime, SoAStorage, SparseSet, Stage, SystemDataCollector, SystemDependencyGraph, SystemScheduler, Time, Timer, TimerManager, TypeSafeEventSystem, TypeUtils, TypedEntityBuilder, TypedQueryBuilder, TypedQueryResult, Uint16, Uint32, Uint8, Uint8Clamped, Updatable, VersionMigrationManager, WebSocketManager, WorkerEntitySystem, World, WorldManager, addAndConfigure, addEntityTag, buildEntity, createECSAPI, createEditorModeService, createInstance, createLogger, createQuery, createServiceToken, createStandaloneModeService, genOf, generateGUID, getBasicWorkerConfig, getComponentDependencies, getComponentEditorOptions, getComponentInstanceEditorOptions, getComponentInstanceTypeName, getComponentTypeName, getComponents, getCurrentAdapter, getEntityRefMetadata, getEntityRefProperties, getFullPlatformConfig, getOrAddComponent, getPropertyInjectMetadata, getPropertyMetadata, getSceneByEntityId, getSchedulingMetadata, getSerializationMetadata, getSystemInstanceTypeName, getSystemMetadata, getSystemTypeName, getUpdatableMetadata, handleEquals, handleToString, hasAdapter, hasAnyComponent, hasComponents, hasECSComponentDecorator, hasEntityRef, hasEntityTag, hasPropertyMetadata, hasSchedulingMetadata, indexOf, injectProperties, isComponentArray, isComponentHiddenInInspector, isComponentInstanceHiddenInInspector, isComponentType, isEntityRefProperty, isFolder, isHidden, isLocked, isSerializable, isUpdatable, isValidGUID, isValidHandle, makeHandle, queryFor, queryForAll, registerInjectable, registerPlatformAdapter, removeEntityTag, requireComponent, resetLoggerColors, setGlobalLogLevel, setLoggerColors, setLoggerFactory, supportsFeature, tryGetComponent, updateComponent };
16020
- export type { AnyComponentConstructor, AutoProfilerConfig, BitMask64Data, CallGraphNode, ComponentChange, ComponentConstructor, ComponentDebugInfo, ComponentEditorOptions, ComponentInstance, ComponentMigrationFunction, ComponentOptions, ComponentType, ComponentTypeMap, ComponentTypeName, ComponentTypeNames, DataOnly, DeepPartial, DeepReadonly, DeferredCommand, DeserializationStrategy, ECSDebugStats, EntityChange, EntityDebugInfo, EntityHandle, EntityRefMetadata, EntityRefRecord, EntityTagValue, EntityWithComponents, EnumOption, EventListenerConfig, EventStats, ExtractComponents, FieldSerializeOptions, IAdvancedProfilerData, IComponent, IComponentDebugData, IComponentEventData, ICoreConfig, IECSDebugConfig, IECSDebugData, IEntityDebugData, IEntityEventData, IEntityHierarchyNode, IEventBus, IEventData, IEventListenerConfig, IEventStats, ILogger, IPerformanceDebugData, IPerformanceEventData, IPlatformAdapter, IPlugin, IPluginMetadata, IPoolable, IRuntimeMode, IScene, ISceneConfig, ISceneDebugData, ISceneEventData, ISceneFactory, IService, ISystemBase, ISystemDebugData, ISystemEventData, ITimer, IUpdatable, IWorldConfig, IWorldManagerConfig, IncrementalSerializationFormat, IncrementalSerializationOptions, IncrementalSnapshot, InjectableMetadata, InstanceTypes, LoggerColorConfig, LoggerConfig, LongTaskInfo, MemorySnapshot, MigrationFunction, PartialComponent, PerformanceData, PerformanceStats, PerformanceThresholds, PerformanceWarning, PlatformConfig, PlatformDetectionResult, PlatformWorker, PoolStats, PrefabComponentTypeEntry, PrefabCreateOptions, PrefabData, PrefabInstantiateOptions, PrefabMetadata, ProfileCounter, ProfileFrame, ProfileReport, ProfileSample, ProfileSampleStats, ProfilerConfig, PropertyAction, PropertyAssetType, PropertyControl, PropertyOptions, PropertyType, QueryResult$1 as QueryResult, ReactiveQueryChange, ReactiveQueryConfig, ReactiveQueryListener, ReadonlyComponent, RuntimeModeConfig, SampleHandle, SceneDataChange, SceneDebugInfo, SceneDeserializationOptions, SceneMigrationFunction, SceneSerializationOptions, SerializableComponent, SerializableFields, SerializableOptions, SerializationFormat, SerializationMetadata, SerializedComponent, SerializedEntity, SerializedEntityRef, SerializedPrefabEntity, SerializedScene, ServiceIdentifier, ServiceToken, ServiceType, SharedArrayBufferProcessFunction, SupportedTypedArray, SystemDebugInfo, SystemDependencyInfo, SystemEntityType, SystemLifecycleHooks, SystemMetadata, SystemSchedulingMetadata, SystemStage, TypeSafeBuilder, TypedEventHandler, TypedQueryCondition, UpdatableMetadata, ValidComponent, ValidComponentArray, WorkerCreationOptions, WorkerProcessFunction, WorkerSystemConfig };
15740
+ export { AdvancedProfilerCollector, After, AutoProfiler, Before, BinarySerializer, BitMask64Utils, Bits, COMPONENT_DEPENDENCIES, COMPONENT_EDITOR_OPTIONS, COMPONENT_TYPE_NAME, ChangeOperation, Colors, CommandBuffer, CommandType, CompiledQuery, Component, ComponentDataCollector, ComponentPool, ComponentPoolManager, ComponentRegistry, ComponentSerializer, ComponentSparseSet, ComponentStorage, ConsoleLogger, Core, CycleDependencyError, DEFAULT_PROFILER_CONFIG, DEFAULT_STAGE_ORDER, DebugConfigService, DebugManager, DebugPlugin, DeepCopy, ECSComponent, ECSEventType, ECSFluentAPI, ECSSystem, EEntityLifecyclePolicy, EMPTY_GUID, ENTITY_REF_METADATA, EVENT_TYPES, Emitter, EnableSoA, Entity, EntityDataCollector, EntityHandleManager, EntityList, EntityProcessorList, EntityRef, EntitySerializer, EntitySystem, EntityTags, EpochManager, EventBus, EventPriority, EventTypeValidator, Float32, Float64, FuncPack, GEN_BITS, GEN_MASK, GlobalComponentRegistry, GlobalEventBus, GlobalManager, HierarchyComponent, HierarchySystem, INDEX_BITS, INDEX_MASK, IdentifierPool, IgnoreSerialization, InSet, IncrementalSerializer, InjectProperty, Injectable, Int16, Int32, Int8, IntervalSystem, LogLevel, Logger, LoggerManager, MAX_ENTITIES, MAX_GENERATION, Matcher, MigrationBuilder, NULL_HANDLE, NumberExtension, PREFAB_FORMAT_VERSION, PROPERTY_METADATA, PassiveSystem, PerformanceDataCollector, PerformanceMonitor, PerformanceWarningType, PlatformDetector, PlatformManager, PluginManager, PluginServiceRegistry, PluginState, Pool, PoolManager, PrefabInstanceComponent, PrefabSerializer, ProcessingSystem, Profile, ProfileCategory, ProfileClass, ProfilerSDK, Property, QuerySystem, ReactiveQuery, ReactiveQueryChangeType, ReferenceTracker, RuntimeModeService, RuntimeModeToken, SCHEDULING_METADATA, SERIALIZABLE_METADATA, SERIALIZE_FIELD, SERIALIZE_OPTIONS, SYSTEM_TYPE_NAME, Scene, SceneDataCollector, SceneManager, SceneSerializer, Serializable, SerializationContext, Serialize, SerializeArray, SerializeAsMap, SerializeAsSet, SerializeMap, SerializeSet, ServiceContainer, ServiceLifetime, SoAStorage, SparseSet, Stage, SystemDataCollector, SystemDependencyGraph, SystemScheduler, Time, Timer, TimerManager, TypeSafeEventSystem, TypeUtils, TypedEntityBuilder, TypedQueryBuilder, TypedQueryResult, Uint16, Uint32, Uint8, Uint8Clamped, Updatable, ValueSerializer, VersionMigrationManager, WebSocketManager, WorkerEntitySystem, World, WorldManager, addAndConfigure, addEntityTag, buildEntity, createECSAPI, createEditorModeService, createInstance, createLogger, createQuery, createServiceToken, createStandaloneModeService, genOf, generateGUID, getBasicWorkerConfig, getComponentDependencies, getComponentEditorOptions, getComponentInstanceEditorOptions, getComponentInstanceTypeName, getComponentTypeName, getComponents, getCurrentAdapter, getEntityRefMetadata, getEntityRefProperties, getFullPlatformConfig, getOrAddComponent, getPropertyInjectMetadata, getPropertyMetadata, getSceneByEntityId, getSchedulingMetadata, getSerializationMetadata, getSystemInstanceMetadata, getSystemInstanceTypeName, getSystemMetadata, getSystemTypeName, getUpdatableMetadata, handleEquals, handleToString, hasAdapter, hasAnyComponent, hasComponents, hasECSComponentDecorator, hasEntityRef, hasEntityTag, hasPropertyMetadata, hasSchedulingMetadata, indexOf, injectProperties, isComponentArray, isComponentHiddenInInspector, isComponentInstanceHiddenInInspector, isComponentType, isEntityRefProperty, isFolder, isHidden, isLocked, isSerializable, isUpdatable, isValidGUID, isValidHandle, makeHandle, queryFor, queryForAll, registerInjectable, registerPlatformAdapter, removeEntityTag, requireComponent, resetLoggerColors, setGlobalLogLevel, setLoggerColors, setLoggerFactory, supportsFeature, tryGetComponent, updateComponent };
15741
+ export type { AnyComponentConstructor, AutoProfilerConfig, BitMask64Data, CallGraphNode, ComponentChange, ComponentConstructor, ComponentDebugInfo, ComponentEditorOptions, ComponentInstance, ComponentMigrationFunction, ComponentOptions, ComponentType, ComponentTypeMap, ComponentTypeName, ComponentTypeNames, DataOnly, DeepPartial, DeepReadonly, DeferredCommand, DeserializationStrategy, ECSDebugStats, EntityChange, EntityDebugInfo, EntityHandle, EntityRefMetadata, EntityRefRecord, EntityTagValue, EntityWithComponents, EnumOption, EventListenerConfig, EventStats, ExtractComponents, FieldSerializeOptions, IAdvancedProfilerData, IComponent, IComponentDebugData, IComponentEventData, IComponentRegistry, ICoreConfig, IECSDebugConfig, IECSDebugData, IEntityDebugData, IEntityEventData, IEntityHierarchyNode, IEventBus, IEventData, IEventListenerConfig, IEventStats, ILogger, IPerformanceDebugData, IPerformanceEventData, IPlatformAdapter, IPlugin, IPluginMetadata, IPoolable, IRuntimeMode, IScene, ISceneConfig, ISceneDebugData, ISceneEventData, ISceneFactory, IService, ISystemBase, ISystemDebugData, ISystemEventData, ITimer, IUpdatable, IWorldConfig, IWorldManagerConfig, IncrementalSerializationFormat, IncrementalSerializationOptions, IncrementalSnapshot, InjectableMetadata, InstanceTypes, LoggerColorConfig, LoggerConfig, LongTaskInfo, MemorySnapshot, MigrationFunction, PartialComponent, PerformanceData, PerformanceStats, PerformanceThresholds, PerformanceWarning, PlatformConfig, PlatformDetectionResult, PlatformWorker, PoolStats, PrefabComponentTypeEntry, PrefabCreateOptions, PrefabData, PrefabInstantiateOptions, PrefabMetadata, ProfileCounter, ProfileFrame, ProfileReport, ProfileSample, ProfileSampleStats, ProfilerConfig, PropertyAction, PropertyAssetType, PropertyControl, PropertyOptions, PropertyType, QueryResult$1 as QueryResult, ReactiveQueryChange, ReactiveQueryConfig, ReactiveQueryListener, ReadonlyComponent, RuntimeModeConfig, SampleHandle, SceneDataChange, SceneDebugInfo, SceneDeserializationOptions, SceneMigrationFunction, SceneSerializationOptions, SerializableComponent, SerializableFields, SerializableOptions, SerializableValue, SerializationFormat, SerializationMetadata, SerializedComponent, SerializedEntity, SerializedEntityRef, SerializedPrefabEntity, SerializedScene, ServiceIdentifier, ServiceToken, ServiceType, SharedArrayBufferProcessFunction, SupportedTypedArray, SystemDebugInfo, SystemDependencyInfo, SystemEntityType, SystemLifecycleHooks, SystemMetadata, SystemSchedulingMetadata, SystemStage, TypeDef as TypeHandler, TypeSafeBuilder, TypedEventHandler, TypedQueryCondition, TypedValue, UpdatableMetadata, ValidComponent, ValidComponentArray, WorkerCreationOptions, WorkerProcessFunction, WorkerSystemConfig };