b9aaf894d78834d88c3ba2d39fe897aafebe4e25
*Total -- 1,159.60kb -> 862.13kb (25.65%) /screenshots/main_screetshot.png -- 175.29kb -> 84.97kb (51.52%) /screenshots/settings.png -- 44.17kb -> 25.59kb (42.06%) /screenshots/plugin_manager.png -- 60.70kb -> 37.42kb (38.35%) /screenshots/about.png -- 32.89kb -> 23.61kb (28.21%) /screenshots/performance_profiler.png -- 564.36kb -> 420.67kb (25.46%) /packages/editor-app/src-tauri/icons/128x128.png -- 4.76kb -> 4.40kb (7.55%) /packages/editor-app/src-tauri/icons/ios/AppIcon-512@2x.png -- 58.30kb -> 54.30kb (6.86%) /packages/editor-app/src-tauri/icons/Square107x107Logo.png -- 3.96kb -> 3.73kb (5.75%) /packages/editor-app/src-tauri/icons/Square142x142Logo.png -- 5.44kb -> 5.13kb (5.69%) /packages/editor-app/src-tauri/icons/android/mipmap-xhdpi/ic_launcher.png -- 3.16kb -> 2.98kb (5.69%) /packages/editor-app/src-tauri/icons/android/mipmap-xhdpi/ic_launcher_round.png -- 3.16kb -> 2.98kb (5.69%) /packages/editor-app/src-tauri/icons/ios/AppIcon-40x40@2x-1.png -- 2.61kb -> 2.47kb (5.35%) /packages/editor-app/src-tauri/icons/ios/AppIcon-40x40@2x.png -- 2.61kb -> 2.47kb (5.35%) /packages/editor-app/src-tauri/icons/android/mipmap-mdpi/ic_launcher_foreground.png -- 4.06kb -> 3.87kb (4.73%) /packages/editor-app/src-tauri/icons/android/mipmap-xxxhdpi/ic_launcher.png -- 7.68kb -> 7.34kb (4.41%) /packages/editor-app/src-tauri/icons/android/mipmap-xxxhdpi/ic_launcher_round.png -- 7.68kb -> 7.34kb (4.41%) /packages/editor-app/src-tauri/icons/ios/AppIcon-40x40@3x.png -- 4.58kb -> 4.38kb (4.33%) /packages/editor-app/src-tauri/icons/ios/AppIcon-60x60@2x.png -- 4.58kb -> 4.38kb (4.33%) /packages/editor-app/src-tauri/icons/64x64.png -- 2.11kb -> 2.02kb (4.21%) /packages/editor-app/src-tauri/icons/Square310x310Logo.png -- 13.92kb -> 13.36kb (4.04%) /packages/editor-app/src-tauri/icons/Square89x89Logo.png -- 2.99kb -> 2.87kb (3.95%) /packages/editor-app/src-tauri/icons/Square284x284Logo.png -- 12.53kb -> 12.04kb (3.89%) /packages/editor-app/src-tauri/icons/Square150x150Logo.png -- 5.84kb -> 5.62kb (3.83%) /packages/editor-app/src-tauri/icons/icon.png -- 25.58kb -> 24.61kb (3.81%) /packages/editor-app/src-tauri/icons/ios/AppIcon-83.5x83.5@2x.png -- 6.73kb -> 6.47kb (3.75%) /packages/editor-app/src-tauri/icons/android/mipmap-hdpi/ic_launcher_foreground.png -- 6.27kb -> 6.03kb (3.72%) /packages/editor-app/src-tauri/icons/android/mipmap-xxhdpi/ic_launcher_foreground.png -- 14.68kb -> 14.15kb (3.59%) /packages/editor-app/src-tauri/icons/ios/AppIcon-76x76@2x.png -- 6.06kb -> 5.85kb (3.51%) /packages/editor-app/src-tauri/icons/128x128@2x.png -- 10.88kb -> 10.53kb (3.21%) /packages/editor-app/src-tauri/icons/android/mipmap-xxhdpi/ic_launcher.png -- 5.66kb -> 5.48kb (3.21%) /packages/editor-app/src-tauri/icons/android/mipmap-xxhdpi/ic_launcher_round.png -- 5.66kb -> 5.48kb (3.21%) /packages/editor-app/src-tauri/icons/android/mipmap-xhdpi/ic_launcher_foreground.png -- 9.02kb -> 8.78kb (2.74%) /packages/editor-app/src-tauri/icons/ios/AppIcon-60x60@3x.png -- 7.22kb -> 7.02kb (2.65%) /packages/editor-app/src-tauri/icons/android/mipmap-xxxhdpi/ic_launcher_foreground.png -- 20.92kb -> 20.40kb (2.49%) /packages/editor-app/src-tauri/icons/Square71x71Logo.png -- 2.38kb -> 2.33kb (1.81%) /packages/editor-app/src-tauri/icons/ios/AppIcon-76x76@1x.png -- 2.52kb -> 2.47kb (1.79%) /packages/editor-app/src-tauri/icons/ios/AppIcon-20x20@3x.png -- 2.01kb -> 1.98kb (1.46%) /packages/editor-app/src-tauri/icons/ios/AppIcon-29x29@3x.png -- 2.84kb -> 2.81kb (1.1%) /packages/editor-app/src-tauri/icons/ios/AppIcon-29x29@2x-1.png -- 1.91kb -> 1.89kb (0.82%) /packages/editor-app/src-tauri/icons/ios/AppIcon-29x29@2x.png -- 1.91kb -> 1.89kb (0.82%) Signed-off-by: ImgBotApp <ImgBotHelp@gmail.com> Co-authored-by: ImgBotApp <ImgBotHelp@gmail.com> Co-authored-by: YHH <359807859@qq.com>
ECS Framework
一个高性能的 TypeScript ECS (Entity-Component-System) 框架,专为现代游戏开发而设计。
A high-performance TypeScript ECS (Entity-Component-System) framework designed for modern game development.
📊 项目统计 / Project Stats
📈 下载趋势 / Download Trends
特性
- 高性能 - 针对大规模实体优化,支持SoA存储和批量处理
- 多线程计算 - Worker系统支持真正的并行处理,充分利用多核CPU性能
- 类型安全 - 完整的TypeScript支持,编译时类型检查
- 现代架构 - 支持多World、多Scene的分层架构设计
- 开发友好 - 内置调试工具和性能监控
- 跨平台 - 支持Cocos Creator、Laya引擎和Web平台
安装
npm install @esengine/ecs-framework
快速开始
import { Core, Scene, Component, EntitySystem, ECSComponent, ECSSystem, Matcher, Time } from '@esengine/ecs-framework';
// 定义组件
@ECSComponent('Position')
class Position extends Component {
constructor(public x = 0, public y = 0) {
super();
}
}
@ECSComponent('Velocity')
class Velocity extends Component {
constructor(public dx = 0, public dy = 0) {
super();
}
}
// 创建系统
@ECSSystem('Movement')
class MovementSystem extends EntitySystem {
constructor() {
super(Matcher.all(Position, Velocity));
}
protected process(entities: readonly Entity[]): void {
for (const entity of entities) {
const position = entity.getComponent(Position)!;
const velocity = entity.getComponent(Velocity)!;
position.x += velocity.dx * Time.deltaTime;
position.y += velocity.dy * Time.deltaTime;
}
}
}
// 创建场景并启动
class GameScene extends Scene {
protected initialize(): void {
this.addSystem(new MovementSystem());
const player = this.createEntity("Player");
player.addComponent(new Position(100, 100));
player.addComponent(new Velocity(50, 0));
}
}
// 启动游戏
Core.create();
Core.setScene(new GameScene());
// 游戏循环中更新
function gameLoop(deltaTime: number) {
Core.update(deltaTime);
}
核心特性
- 实体查询 - 使用 Matcher API 进行高效的实体过滤
- 事件系统 - 类型安全的事件发布/订阅机制
- 性能优化 - SoA 存储优化,支持大规模实体处理
- 多线程支持 - Worker系统实现真正的并行计算,充分利用多核CPU
- 多场景 - 支持 World/Scene 分层架构
- 时间管理 - 内置定时器和时间控制系统
🏗️ 架构设计 / Architecture
graph TB
A[Core 核心] --> B[World 世界]
B --> C[Scene 场景]
C --> D[EntityManager 实体管理器]
C --> E[SystemManager 系统管理器]
D --> F[Entity 实体]
F --> G[Component 组件]
E --> H[EntitySystem 实体系统]
E --> I[WorkerSystem 工作线程系统]
style A fill:#e1f5ff
style B fill:#fff3e0
style C fill:#f3e5f5
style D fill:#e8f5e9
style E fill:#fff9c4
style F fill:#ffebee
style G fill:#e0f2f1
style H fill:#fce4ec
style I fill:#f1f8e9
平台支持
支持主流游戏引擎和 Web 平台:
- Cocos Creator
- Laya 引擎
- 原生 Web - 浏览器环境直接运行
- 小游戏平台 - 微信、支付宝等小游戏
ECS Framework Editor
跨平台桌面编辑器,提供可视化开发和调试工具。
主要功能
- 场景管理 - 可视化场景层级和实体管理
- 组件检视 - 实时查看和编辑实体组件
- 性能分析 - 内置 Profiler 监控系统性能
- 插件系统 - 可扩展的插件架构
- 远程调试 - 连接运行中的游戏进行实时调试
- 自动更新 - 支持热更新,自动获取最新版本
下载
支持 Windows、macOS (Intel & Apple Silicon)
截图
示例项目
- Worker系统演示 - 多线程物理系统演示,展示高性能并行计算
- 割草机演示 - 完整的游戏示例
文档
生态系统
💪 支持项目 / Support the Project
如果这个项目对你有帮助,请考虑:
If this project helps you, please consider:
- ⭐ 给项目点个 Star
- 🐛 报告 Bug 或提出新功能
- 📝 改进文档
- 💖 成为赞助者
社区与支持
贡献者 / Contributors
感谢所有为这个项目做出贡献的人!
Thanks goes to these wonderful people:
esengine 🚧 💻 🎨 |
LING YE 💻 |
MirageTank 💻 |
本项目遵循 all-contributors 规范。欢迎任何形式的贡献!
许可证
MIT © 2025 ECS Framework
Description
【开源】TypeScript 可视化蓝图系统
https://esengine.cn/modules/blueprint/cocos-editor/
https://forum.cocos.org/t/topic/173430
Languages
TypeScript
89.7%
Rust
4.7%
CSS
4.4%
JavaScript
0.9%
HTML
0.3%


