YHH
|
d92c2a7b66
|
feat(asset): 增强资产管理系统和编辑器 UI (#291)
* fix(editor): 修复粒子实体创建和优化检视器
- 添加 effects 分类到右键菜单,修复粒子实体无法创建的问题
- 添加粒子效果的本地化标签
- 简化粒子组件检视器,优先显示资产文件选择
- 高级属性只在未选择资产时显示,且默认折叠
- 添加可折叠的属性分组提升用户体验
* fix(particle): 修复粒子系统在浏览器预览中的资产加载和渲染
- 添加粒子 Gizmo 支持,显示发射形状并响应 Transform 缩放/旋转
- 修复资产热重载:添加 reloadAsset() 方法和 assets:refresh 事件监听
- 修复 VectorFieldEditors 数值输入精度(step 改为 0.01)
- 修复浏览器预览中粒子资产加载失败的问题:
- 将相对路径转换为绝对路径以正确复制资产文件
- 使用原始 GUID 而非生成的 GUID 构建 asset catalog
- 初始化全局 assetManager 单例的 catalog 和 loader
- 在 GameRuntime 的 systemContext 中添加 engineIntegration
- 公开 AssetManager.initializeFromCatalog 方法供运行时使用
* feat(asset): 增强资产管理系统和编辑器 UI
主要改动:
- 添加 loaderType 字段支持显式指定加载器类型覆盖
- 添加 .particle 扩展名和类型映射
- 新增 MANAGED_ASSET_DIRECTORIES 常量和相关工具方法
- EngineService 使用全局 assetManager 并同步 AssetRegistry 数据
- 修复插件启用逻辑,defaultEnabled=true 的新插件不被旧配置禁用
- ContentBrowser 添加 GUID 管理目录指示和非托管目录警告
- AssetPickerDialog 和 AssetFileInspector UI 增强
|
2025-12-07 20:26:03 +08:00 |
|
YHH
|
3617f40309
|
feat(asset): 统一资产引用使用 GUID 替代路径 (#287)
* feat(world-streaming): 添加世界流式加载系统
实现基于区块的世界流式加载系统,支持开放世界游戏:
运行时包 (@esengine/world-streaming):
- ChunkComponent: 区块实体组件,包含坐标、边界、状态
- StreamingAnchorComponent: 流式锚点组件(玩家/摄像机)
- ChunkLoaderComponent: 流式加载配置组件
- ChunkStreamingSystem: 区块加载/卸载调度系统
- ChunkCullingSystem: 区块可见性剔除系统
- ChunkManager: 区块生命周期管理服务
- SpatialHashGrid: 空间哈希网格
- ChunkSerializer: 区块序列化
编辑器包 (@esengine/world-streaming-editor):
- ChunkVisualizer: 区块可视化覆盖层
- ChunkLoaderInspectorProvider: 区块加载器检视器
- StreamingAnchorInspectorProvider: 流式锚点检视器
- WorldStreamingPlugin: 完整插件导出
* feat(asset): 统一资产引用使用 GUID 替代路径
将所有组件的资产引用字段从路径改为 GUID:
- SpriteComponent: texture -> textureGuid, material -> materialGuid
- SpriteAnimatorComponent: AnimationFrame.texture -> textureGuid
- UIRenderComponent: texture -> textureGuid
- UIButtonComponent: normalTexture -> normalTextureGuid 等
- AudioSourceComponent: clip -> clipGuid
- ParticleSystemComponent: 已使用 textureGuid
修复 AssetRegistryService 注册问题和路径规范化,
添加渲染系统的 GUID 解析支持。
* fix(sprite-editor): 更新 material 为 materialGuid
* fix(editor-app): 更新 AnimationFrame.texture 为 textureGuid
|
2025-12-06 14:08:48 +08:00 |
|
YHH
|
3d5fcc1a55
|
feat(editor-core): 添加用户系统自动注册功能 (#283)
* feat(editor-core): 添加用户系统自动注册功能
- IUserCodeService 新增 registerSystems/unregisterSystems/getRegisteredSystems 方法
- UserCodeService 实现系统检测、实例化和场景注册逻辑
- ServiceRegistry 在预览开始时注册用户系统,停止时移除
- 热更新时自动重新加载用户系统
- 更新 System 脚本模板添加 @ECSSystem 装饰器
* feat(editor-core): 添加编辑器脚本支持(Inspector/Gizmo)
- registerEditorExtensions 实际注册用户 Inspector 和 Gizmo
- 添加 unregisterEditorExtensions 方法
- ServiceRegistry 在项目加载时编译并加载编辑器脚本
- 项目关闭时自动清理编辑器扩展
- 添加 Inspector 和 Gizmo 脚本创建模板
|
2025-12-05 18:28:11 +08:00 |
|
YHH
|
6702f0bfad
|
feat(editor): 完善用户代码热更新和环境检测 (#275)
* fix: 更新 bundle-runtime 脚本使用正确的 platform-web 输出文件
原脚本引用的 runtime.browser.js 不存在,改为使用 index.mjs
* feat(editor): 完善用户代码热更新和环境检测
## 热更新改进
- 添加 hotReloadInstances() 方法,通过更新原型链实现真正的热更新
- 组件实例保留数据,仅更新方法
- ComponentRegistry 支持热更新时替换同名组件类
## 环境检测
- 启动时检测 esbuild 可用性
- 在启动页面底部显示环境状态指示器
- 添加 check_environment Rust 命令和前端 API
## esbuild 打包
- 将 esbuild 二进制文件打包到应用中
- 用户无需全局安装 esbuild
- 支持 Windows/macOS/Linux 平台
## 文件监视优化
- 添加 300ms 防抖,避免重复编译
- 修复路径分隔符混合问题
## 资源打包修复
- 修复 Tauri 资源配置,保留 engine 目录结构
- 添加 src-tauri/bin/ 和 src-tauri/engine/ 到 gitignore
* fix: 将热更新模式改为可选,修复测试失败
- ComponentRegistry 添加 hotReloadEnabled 标志,默认禁用
- 只有启用热更新模式时才会替换同名组件类
- 编辑器环境自动启用热更新模式
- reset() 方法中重置热更新标志
* test: 添加热更新模式的测试用例
|
2025-12-05 14:24:09 +08:00 |
|
YHH
|
d7454e3ca4
|
feat(engine): 添加编辑器模式标志控制编辑器UI显示 (#274)
* feat(engine): 添加编辑器模式标志控制编辑器UI显示
- 在 Rust 引擎中添加 isEditor 标志,控制网格、gizmos、坐标轴指示器的显示
- 运行时模式下自动隐藏所有编辑器专用 UI
- 编辑器预览和浏览器运行时通过 setEditorMode(false) 禁用编辑器 UI
- 添加 Scene.isEditorMode 延迟组件生命周期回调,直到 begin() 调用
- 修复用户组件注册到 Core ComponentRegistry 以支持序列化
- 修复 Run in Browser 时用户组件加载问题
* fix: 复制引擎模块的类型定义文件到 dist/engine
* fix: 修复用户项目 tsconfig paths 类型定义路径
- 从 module.json 读取实际包名而不是使用目录名
- 修复 .d.ts 文件复制逻辑,支持 .mjs 扩展名
|
2025-12-04 22:43:26 +08:00 |
|
YHH
|
0d9bab910e
|
feat(editor): 实现用户脚本编译加载和自动重编译 (#273)
|
2025-12-04 19:32:51 +08:00 |
|
YHH
|
b4e7ba2abd
|
fix: 修复项目切换时运行时和系统重复初始化问题 (#267)
* feat(editor): 添加 GitHub Discussions 社区论坛功能
* chore: 更新 pnpm-lock.yaml
* chore: 删除测试图片
* refactor: 改用 Imgur 图床上传图片
* fix: 修复项目切换时运行时和系统重复初始化问题
* fix: 修复多个编辑器问题
* feat: 添加脚本编辑器配置和类型定义支持
* feat: 实现资产 .meta 文件自动生成功能
|
2025-12-04 14:04:39 +08:00 |
|
YHH
|
63f006ab62
|
feat: 添加跨平台运行时、资产系统和UI适配功能 (#256)
* feat(platform-common): 添加WASM加载器和环境检测API
* feat(rapier2d): 新增Rapier2D WASM绑定包
* feat(physics-rapier2d): 添加跨平台WASM加载器
* feat(asset-system): 添加运行时资产目录和bundle格式
* feat(asset-system-editor): 新增编辑器资产管理包
* feat(editor-core): 添加构建系统和模块管理
* feat(editor-app): 重构浏览器预览使用import maps
* feat(platform-web): 添加BrowserRuntime和资产读取
* feat(engine): 添加材质系统和着色器管理
* feat(material): 新增材质系统和着色器编辑器
* feat(tilemap): 增强tilemap编辑器和动画系统
* feat(modules): 添加module.json配置
* feat(core): 添加module.json和类型定义更新
* chore: 更新依赖和构建配置
* refactor(plugins): 更新插件模板使用ModuleManifest
* chore: 添加第三方依赖库
* chore: 移除BehaviourTree-ai和ecs-astar子模块
* docs: 更新README和文档主题样式
* fix: 修复Rust文档测试和添加rapier2d WASM绑定
* fix(tilemap-editor): 修复画布高DPI屏幕分辨率适配问题
* feat(ui): 添加UI屏幕适配系统(CanvasScaler/SafeArea)
* fix(ecs-engine-bindgen): 添加缺失的ecs-framework-math依赖
* fix: 添加缺失的包依赖修复CI构建
* fix: 修复CodeQL检测到的代码问题
* fix: 修复构建错误和缺失依赖
* fix: 修复类型检查错误
* fix(material-system): 修复tsconfig配置支持TypeScript项目引用
* fix(editor-core): 修复Rollup构建配置添加tauri external
* fix: 修复CodeQL检测到的代码问题
* fix: 修复CodeQL检测到的代码问题
|
2025-12-03 22:15:22 +08:00 |
|
YHH
|
b42a7b4e43
|
Feature/editor optimization (#251)
* refactor: 编辑器/运行时架构拆分与构建系统升级
* feat(core): 层级系统重构与UI变换矩阵修复
* refactor: 移除 ecs-components 聚合包并修复跨包组件查找问题
* fix(physics): 修复跨包组件类引用问题
* feat: 统一运行时架构与浏览器运行支持
* feat(asset): 实现浏览器运行时资产加载系统
* fix: 修复文档、CodeQL安全问题和CI类型检查错误
* fix: 修复文档、CodeQL安全问题和CI类型检查错误
* fix: 修复文档、CodeQL安全问题、CI类型检查和测试错误
* test: 补齐核心模块测试用例,修复CI构建配置
* fix: 修复测试用例中的类型错误和断言问题
* fix: 修复 turbo build:npm 任务的依赖顺序问题
* fix: 修复 CI 构建错误并优化构建性能
|
2025-12-01 22:28:51 +08:00 |
|
YHH
|
359886c72f
|
Feature/physics and tilemap enhancement (#247)
* feat(behavior-tree,tilemap): 修复编辑器连线缩放问题并增强插件系统
* feat(node-editor,blueprint): 新增通用节点编辑器和蓝图可视化脚本系统
* feat(editor,tilemap): 优化编辑器UI样式和Tilemap编辑器功能
* fix: 修复CodeQL安全警告和CI类型检查错误
* fix: 修复CodeQL安全警告和CI类型检查错误
* fix: 修复CodeQL安全警告和CI类型检查错误
|
2025-11-29 23:00:48 +08:00 |
|
YHH
|
107439d70c
|
Feature/runtime cdn and plugin loader (#240)
* feat(ui): 完善 UI 布局系统和编辑器可视化工具
* refactor: 移除 ModuleRegistry,统一使用 PluginManager 插件系统
* fix: 修复 CodeQL 警告并提升测试覆盖率
* refactor: 分离运行时入口点,解决 runtime bundle 包含 React 的问题
* fix(ci): 添加 editor-core 和 editor-runtime 到 CI 依赖构建步骤
* docs: 完善 ServiceContainer 文档,新增 Symbol.for 模式和 @InjectProperty 说明
* fix(ci): 修复 type-check 失败问题
* fix(ci): 修复类型检查失败问题
* fix(ci): 修复类型检查失败问题
* fix(ci): behavior-tree 构建添加 @tauri-apps 外部依赖
* fix(ci): behavior-tree 添加 @tauri-apps/plugin-fs 类型依赖
* fix(ci): platform-web 添加缺失的 behavior-tree 依赖
* fix(lint): 移除正则表达式中不必要的转义字符
|
2025-11-27 20:42:46 +08:00 |
|
YHH
|
7b14fa2da4
|
feat(editor): 添加 ECS UI 系统和编辑器更新优化 (#238)
|
2025-11-26 11:08:10 +08:00 |
|
YHH
|
3fb6f919f8
|
Feature/tilemap editor (#237)
* feat: 添加 Tilemap 编辑器插件和组件生命周期支持
* feat(editor-core): 添加声明式插件注册 API
* feat(editor-core): 改进tiledmap结构合并tileset进tiledmapeditor
* feat: 添加 editor-runtime SDK 和插件系统改进
* fix(ci): 修复SceneResourceManager里变量未使用问题
|
2025-11-25 22:23:19 +08:00 |
|
YHH
|
32460ac133
|
feat(editor): 优化编辑器UI和改进核心功能 (#234)
* feat(editor): 优化编辑器UI和改进核心功能
* feat(editor): 优化编辑器UI和改进核心功能
|
2025-11-23 21:45:10 +08:00 |
|
YHH
|
a3f7cc38b1
|
Feature/render pipeline (#232)
* refactor(engine): 重构2D渲染管线坐标系统
* feat(engine): 完善2D渲染管线和编辑器视口功能
* feat(editor): 实现Viewport变换工具系统
* feat(editor): 优化Inspector渲染性能并修复Gizmo变换工具显示
* feat(editor): 实现Run on Device移动预览功能
* feat(editor): 添加组件属性控制和依赖关系系统
* feat(editor): 实现动画预览功能和优化SpriteAnimator编辑器
* feat(editor): 修复SpriteAnimator动画预览功能并迁移CI到pnpm
* feat(editor): 修复SpriteAnimator动画预览并迁移到pnpm
* feat(editor): 修复SpriteAnimator动画预览并迁移到pnpm
* feat(editor): 修复SpriteAnimator动画预览并迁移到pnpm
* feat(editor): 修复SpriteAnimator动画预览并迁移到pnpm
* feat(ci): 迁移项目到pnpm并修复CI构建问题
* chore: 迁移CI工作流到pnpm并添加WASM构建支持
* chore: 迁移CI工作流到pnpm并添加WASM构建支持
* chore: 迁移CI工作流到pnpm并添加WASM构建支持
* chore: 迁移CI工作流到pnpm并添加WASM构建支持
* chore: 迁移CI工作流到pnpm并添加WASM构建支持
* chore: 迁移CI工作流到pnpm并添加WASM构建支持
* chore: 移除 network 相关包
* chore: 移除 network 相关包
|
2025-11-23 14:49:37 +08:00 |
|
yhh
|
8b9616837d
|
style(editor-app): 移除log信息
|
2025-11-20 09:51:29 +08:00 |
|
YHH
|
ecfef727c8
|
feat: 实现可扩展的字段编辑器系统与专业资产选择器 (#227)
|
2025-11-19 14:54:03 +08:00 |
|
YHH
|
caed5428d5
|
refactor(editor-app): 改进架构和类型安全 (#226)
* refactor(editor-app): 改进架构和类型安全
* refactor(editor-app): 开始拆分 Inspector.tsx - 创建基础架构
* refactor(editor-app): 完成 Inspector.tsx 拆分
* refactor(editor-app): 优化 Inspector 类型定义,消除所有 any 使用
* refactor(editor): 实现可扩展的属性渲染器系统
* Potential fix for code scanning alert no. 231: Unused variable, import, function or class
Co-authored-by: Copilot Autofix powered by AI <62310815+github-advanced-security[bot]@users.noreply.github.com>
* fix(ci): 防止 Codecov 服务故障阻塞 CI 流程
---------
Co-authored-by: Copilot Autofix powered by AI <62310815+github-advanced-security[bot]@users.noreply.github.com>
|
2025-11-18 22:28:13 +08:00 |
|
YHH
|
bce3a6e253
|
refactor(editor): 提取行为树编辑器为独立包并重构编辑器架构 (#216)
* refactor(editor): 提取行为树编辑器为独立包并重构编辑器架构
* feat(editor): 添加插件市场功能
* feat(editor): 重构插件市场以支持版本管理和ZIP打包
* feat(editor): 重构插件发布流程并修复React渲染警告
* fix(plugin): 修复插件发布和市场的路径不一致问题
* feat: 重构插件发布流程并添加插件删除功能
* fix(editor): 完善插件删除功能并修复多个关键问题
* fix(auth): 修复自动登录与手动登录的竞态条件问题
* feat(editor): 重构插件管理流程
* feat(editor): 支持 ZIP 文件直接发布插件
- 新增 PluginSourceParser 解析插件源
- 重构发布流程支持文件夹和 ZIP 两种方式
- 优化发布向导 UI
* feat(editor): 插件市场支持多版本安装
- 插件解压到项目 plugins 目录
- 新增 Tauri 后端安装/卸载命令
- 支持选择任意版本安装
- 修复打包逻辑,保留完整 dist 目录结构
* feat(editor): 个人中心支持多版本管理
- 合并同一插件的不同版本
- 添加版本历史展开/折叠功能
- 禁止有待审核 PR 时更新插件
* fix(editor): 修复 InspectorRegistry 服务注册
- InspectorRegistry 实现 IService 接口
- 注册到 Core.services 供插件使用
* feat(behavior-tree-editor): 完善插件注册和文件操作
- 添加文件创建模板和操作处理器
- 实现右键菜单创建行为树功能
- 修复文件读取权限问题(使用 Tauri 命令)
- 添加 BehaviorTreeEditorPanel 组件
- 修复 rollup 配置支持动态导入
* feat(plugin): 完善插件构建和发布流程
* fix(behavior-tree-editor): 完整恢复编辑器并修复 Toast 集成
* fix(behavior-tree-editor): 修复节点选中、连线跟随和文件加载问题并优化性能
* fix(behavior-tree-editor): 修复端口连接失败问题并优化连线样式
* refactor(behavior-tree-editor): 移除调试面板功能简化代码结构
* refactor(behavior-tree-editor): 清理冗余代码合并重复逻辑
* feat(behavior-tree-editor): 完善编辑器核心功能增强扩展性
* fix(lint): 修复ESLint错误确保CI通过
* refactor(behavior-tree-editor): 优化编辑器工具栏和编译器功能
* refactor(behavior-tree-editor): 清理技术债务,优化代码质量
* fix(editor-app): 修复字符串替换安全问题
|
2025-11-18 14:46:51 +08:00 |
|
YHH
|
f9afa22406
|
refactor(editor): 重构编辑器架构并增强行为树执行可视化
|
2025-11-04 18:29:28 +08:00 |
|
YHH
|
ddc7a7750e
|
Chore/lint fixes (#212)
* fix(eslint): 修复装饰器缩进配置
* fix(eslint): 修复装饰器缩进配置
* chore: 删除未使用的导入
* chore(lint): 移除未使用的导入和变量
* chore(lint): 修复editor-app中未使用的函数参数
* chore(lint): 修复未使用的赋值变量
* chore(eslint): 将所有错误级别改为警告以通过CI
* fix(codeql): 修复GitHub Advanced Security检测到的问题
|
2025-11-02 23:50:41 +08:00 |
|
YHH
|
b826bbc4c7
|
更新图标及场景序列化系统
|
2025-10-17 18:13:31 +08:00 |
|
YHH
|
3cda3c2238
|
显示客户端链接的ip:port
|
2025-10-16 17:33:43 +08:00 |
|
YHH
|
43bdd7e43b
|
远程读取日志
|
2025-10-16 17:10:22 +08:00 |
|
YHH
|
1ec7892338
|
设置界面
|
2025-10-16 13:07:19 +08:00 |
|
YHH
|
6bcfd48a2f
|
清理调试日志
|
2025-10-16 12:21:18 +08:00 |
|
YHH
|
0a860920ad
|
日志面板
|
2025-10-15 17:21:59 +08:00 |
|
YHH
|
fb7a1b1282
|
可动态识别属性
|
2025-10-15 17:15:05 +08:00 |
|
YHH
|
285279629e
|
优化加载脚本逻辑
|
2025-10-15 09:19:30 +08:00 |
|
YHH
|
cbfe09b5e9
|
组件发现和动态加载系统
|
2025-10-15 00:40:27 +08:00 |
|
YHH
|
b757c1d06c
|
项目打开功能
|
2025-10-15 00:23:19 +08:00 |
|
YHH
|
4550a6146a
|
组件属性编辑器
|
2025-10-15 00:15:12 +08:00 |
|
YHH
|
3224bb9696
|
国际化系统
|
2025-10-14 23:56:54 +08:00 |
|
YHH
|
3a5e73266e
|
组件注册与添加
|
2025-10-14 23:42:06 +08:00 |
|
YHH
|
1cf5641c4c
|
实体存储和管理服务
|
2025-10-14 23:31:09 +08:00 |
|
YHH
|
b20b2ae4ce
|
编辑器核心框架
|
2025-10-14 22:33:55 +08:00 |
|