Commit Graph
100 Commits
Author SHA1 Message Date
YHH 6178851def 修复QuerySystem/ArchetypeSystem未响应实体增删Component的问题 2025-09-28 15:23:59 +08:00
YHH 945f772c30 只在有package改动的时候触发ci流程 2025-09-28 12:32:35 +08:00
YHH b546c9c712 vitepress修改为githubpage路径 2025-09-28 12:29:43 +08:00
YHH 413ce93b31 更新文档 2025-09-28 12:26:51 +08:00
YHH cffe32911d v2.1.49 2025-09-28 10:36:01 +08:00
YHH 4f651eb42e 优化querysystem系统(减少数组拷贝)
移除dirtytracksystem
2025-09-28 09:40:36 +08:00
YHH 6da1585b6b entitysystem实用帧缓存和长期缓存策略 2025-09-26 18:30:49 +08:00
YHH b988e81a1b 数学库新增Vector3 2025-09-26 17:45:52 +08:00
YHH 1a1c1087d2 标记组件不符合规范的废弃属性 2025-09-26 17:45:26 +08:00
YHH 1a1549230f 更新references库 2025-09-26 13:06:39 +08:00
YHH 64ea53eba1 系统添加缓存实体机制避免频繁开销 2025-09-26 10:50:31 +08:00
YHH 5e052a7e7d 默认不增强事件,避免事件性能开销 2025-09-26 10:28:00 +08:00
YHH cf9ea495d0 移除过时类并标记组件和实体的update为过时方法 2025-09-26 10:09:23 +08:00
YHH 9603c6423b 系统避免在同一帧内进行多次query操作 2025-09-26 09:45:22 +08:00
YHH 457eef585e Merge branch 'master' of https://github.com/esengine/ecs-framework 2025-09-26 09:38:57 +08:00
YHH 1ade449c4d 控制实体update默认不更新 2025-09-26 09:38:51 +08:00
YHHandGitHub aa9d73a810 Merge pull request #68 from snakenjq/master
场景移除时, 清理系统
2025-09-24 18:25:55 +08:00
YHH 60566e8d78 v2.1.48 2025-09-24 16:05:22 +08:00
YHHandGitHub 306d2994dc Merge pull request #67 from foxling/fix/global-log-level
修复 setGlobalLogLevel 不影响新创建 logger 的问题
2025-09-24 15:54:28 +08:00
YHH e6a8791fc3 系统中提供更安全的事件监听器方法(避免内存泄露) 2025-09-24 11:03:37 +08:00
YHH 6cbbc06998 规范jsdoc注释 2025-09-24 10:45:33 +08:00
YHH 0b4244fd8e 修复循环依赖问题 2025-09-24 10:20:36 +08:00
YHH 168e028098 更新支持es5环境 2025-09-04 16:26:29 +08:00
YHH 042ded37d2 新增自定义log颜色ci测试 2025-09-04 16:25:40 +08:00
YHH 4137eb2bce 网络层完善消息队列 2025-09-04 16:25:18 +08:00
YHH 20a3f03e12 支持用户自定义log颜色 2025-09-04 16:24:38 +08:00
YHH 7792710694 避免splice开销问题,改为SwapPop + typeId → denseIndex 2025-09-03 10:56:33 +08:00
YHH dbddbbdfb8 更新ci测试用例 2025-09-03 10:39:29 +08:00
YHH 4869f5741e bits多态改为POD+原地操作 2025-09-03 10:29:43 +08:00
YHH bda547dd2e 把掩码从BigInt-like多态都改成Mask64 2025-09-03 00:39:00 +08:00
YHH ef80b03a44 更改为固定64位掩码,没必要为任意精度付出性能代价 2025-09-03 00:12:59 +08:00
YHH 6e511ae949 改成 SparseSet+SwapRemove 的致密存储 2025-09-02 22:29:11 +08:00
YHH 94541d0abb 实体中的线性数组换为按组件类型ID直址的稀疏数组 2025-09-02 21:59:59 +08:00
YHH 586a0e5d14 降低ci测试覆盖率 2025-09-02 21:16:36 +08:00
YHH 814842dbaf 降低测试覆盖率导致的ci错误 2025-09-02 21:11:15 +08:00
YHH 70a993573f 修复ci报错 2025-09-02 18:04:55 +08:00
YHH 21659cbb13 交/并/差运算全部改用ID集合单次扫描 2025-09-02 17:17:07 +08:00
YHH a44251cc55 新增world概念(多world管理多scene概念)现在支持多个world多个scene同时更新 2025-08-20 17:48:31 +08:00
YHH 69616bbddc 实现ServerRpc和ClientRpc装饰器 2025-08-20 10:32:56 +08:00
YHH 0a1d7ac083 实现SyncVar装饰器和组件同步 2025-08-20 10:16:54 +08:00
YHH 364bc4cdab update demo 2025-08-20 09:17:43 +08:00
YHH 2504eb24e1 经测试转换为wasm没有明显的效率提升,因为js和rust的交互反而有所下降
等待以后有密集计算再考虑使用,先移除了
2025-08-20 09:15:06 +08:00
YHH bdbef0bd0d core核心rust实现 2025-08-18 20:46:47 +08:00
YHH e4e38ee4e6 更新api文档 2025-08-15 13:47:11 +08:00
YHH 021e892e33 ci流程需要core库先编译后再测试network-shared 2025-08-15 13:32:36 +08:00
YHH c27d5022fd 优化内部组件索引机制(更改为SparseSet索引)减少用户切换索引成本
修复内部系统初始化逻辑 - 不应该再onInitialize中初始内部entities,移动到initialize中
ci跳过cocos项目避免ci失败
soa开放更多安全类型接口
2025-08-15 12:58:55 +08:00
YHH 6730a5d625 传输层实现(客户端/服务端,链接管理和心跳机制,重连机制)
消息序列化(json序列化,消息压缩,消息ID和时间戳)
网络服务器核心(networkserver/基础room/链接状态同步)
网络客户端核心(networkclient/消息队列)
2025-08-14 23:59:00 +08:00
YHH 32092f992d 更新文档 2025-08-14 18:45:24 +08:00
YHH a5f0c8f6b5 更新文档 2025-08-14 18:44:04 +08:00
YHH 85cd93e51a 文档更新 2025-08-14 18:38:09 +08:00
YHH 0b7e623748 新增组件/系统装饰器避免混淆
更改Set兼容web/小游戏
2025-08-14 18:35:03 +08:00
YHH 62f250b43c 重构network库(mvp版本)搭建基础设施和核心接口
定义ITransport/ISerializer/INetworkMessage接口
NetworkIdentity组件
基础事件定义
2025-08-13 13:07:40 +08:00
YHH 25136349ff 修复动态require导致的跨平台错误
新增emitter的dispose方法用于清理事件
启用composite增量编译
2025-08-13 12:18:40 +08:00
YHH baeb047e27 支持可以任意参数 2025-08-12 11:47:18 +08:00
YHH 56dd18b983 废弃core.scene更改为setscene方法 2025-08-12 11:08:27 +08:00
YHH 86cb70a94f Merge branch 'master' of https://github.com/esengine/ecs-framework
# Conflicts:
#	packages/network-shared/package.json
2025-08-12 09:43:29 +08:00
YHH 9f76d37a82 更新network库及core库优化 2025-08-12 09:39:07 +08:00
YHH a026ed9428 降级ws版本 2025-08-11 12:33:42 +08:00
YHH c178e2fbcc 移除ci性能测试,github下不应该测试这些文件 2025-08-11 11:34:38 +08:00
YHH b88bb1dc87 修复ci中的大小写问题
update gitsubmodule
2025-08-11 11:11:56 +08:00
YHH 3069e28224 add submodule electric-world 2025-08-11 11:06:28 +08:00
YHH d69b3af99b 更新math版本 2025-08-11 10:39:14 +08:00
YHH 7398b7c6d0 修复math库tsconfig引用问题 2025-08-11 10:38:11 +08:00
YHH 5d57904d22 更新使用rollup打包
解决大小写冲突问题
2025-08-11 10:34:13 +08:00
YHH 7daf352a25 更新库rollup配置 2025-08-11 10:25:28 +08:00
YHH 6a49f6a534 npm包发布配置更改 2025-08-11 10:03:19 +08:00
YHH 5bce08683a update 2.1.30 2025-08-11 09:31:44 +08:00
YHH edc60fc3d8 添加发布core命令 2025-08-11 09:15:14 +08:00
YHH 1361fd8a90 导出soa装饰器 2025-08-11 09:01:01 +08:00
YHH d539bb3dd9 更新文档 2025-08-11 08:18:18 +08:00
YHH 3b9ae4f384 新增math库 2025-08-10 16:00:02 +08:00
YHH 2783448de5 重新整理网络架构,tsrpc/syncvar并行 2025-08-10 12:35:39 +08:00
YHH 6e21ff08d5 集成tsrpc代替protobuf 2025-08-09 18:56:19 +08:00
YHH e56278e4a6 移除路径映射,只让Jest处理路径解析 2025-08-08 15:57:56 +08:00
YHH fc9bf816dd 修复build失败问题 2025-08-08 15:47:48 +08:00
YHH 854fd7df3a 修复ci测试 2025-08-08 15:41:37 +08:00
YHH 87dd564a12 项目统一改用Logger控制管理
拆分pool类和FluentAPI
2025-08-08 11:16:00 +08:00
YHH 2d389308ea 新增syncvar高级特性,使用protobuf定义 2025-08-07 20:23:49 +08:00
YHH ea8523be35 使用Lerna 和 monorepo管理项目结构 2025-08-07 13:29:12 +08:00
YHH 4479f0fab0 避免throw导致的中止运行,增加fallback回退json的序列化 2025-08-07 10:16:36 +08:00
YHH 7a000318a6 整合组件类型至统一的componentregistry中 2025-08-07 09:43:34 +08:00
YHH 9a08ae74b6 移除json序列化只保留protobuf 2025-08-06 17:42:12 +08:00
YHH f3d2950df3 修复ci失败 2025-08-06 17:12:39 +08:00
YHH 8cfba4a166 新增protobuf依赖(为网络和序列化做准备)
更新readme
2025-08-06 17:04:02 +08:00
YHH 51e6bba2a7 2.1.29 2025-08-06 09:56:55 +08:00
YHH ccbfa78070 修复了QuerySystem在销毁实体时的内存泄漏问题
实现了完整的onAdded/onRemoved回调系统
修复了override修饰符和类型兼容性问题
2025-08-06 09:39:08 +08:00
YHH 69655f1936 测试用例更新 2025-07-31 15:37:40 +08:00
YHH 6ea366cfed 优化matcher内部实现改为querysystem
完善type类型
更新文档
2025-07-31 11:56:04 +08:00
YHH b7d17fb16d soa添加float32 2025-07-30 18:10:14 +08:00
YHH f3dc8c6344 BigIntFactory 缓存优化
- 为 zero() 和 one() 方法添加缓存,避免重复创建对象
ComponentIndexManager 优化
  - 添加了空实体检查,跳过不必要的索引操作
  - 实现了 Set 对象池,重用 Set 实例以减少内存分配
  - 优化了自动优化检查频率,从每次操作变为每100次操作检查一次
EntityManager 优化
  - 对空实体跳过不必要的组件索引、原型系统和脏标记操作
  - 批量创建时同样应用空实体优化
2025-07-30 17:10:58 +08:00
YHH 69ec545854 优化createEntity的性能/新增批量创建实体api 2025-07-30 16:05:16 +08:00
YHH 65386ff731 优化EntitySystem初始化逻辑/防止多次初始化
增加matcher和entitysystem的测试
2025-07-30 15:42:19 +08:00
YHH 01fa33e122 新增soastorage存储器 2025-07-30 14:14:04 +08:00
YHH 0411aa9aef 2.1.28 2025-07-30 11:14:26 +08:00
YHH 4a5c890121 对bigint进行兼容处理(不支持的环境回退到兼容模式) 2025-07-30 11:11:46 +08:00
YHH 4c11fdc176 2.1.27 2025-07-29 16:10:09 +08:00
YHH d99e7a45ea 新增更多覆盖测试 2025-07-29 15:56:40 +08:00
YHH 52528ff1b7 修复querysystem的rebuildindex方法
修复位掩码不一致问题
修复未注册组件的处理
2025-07-29 10:58:31 +08:00
YHH 4a9317f3f4 querysystem进行ci测试隔离 2025-07-29 10:39:48 +08:00
YHH 9450dd5869 修复ci报错 2025-07-29 10:25:12 +08:00