Commit Graph

17 Commits

Author SHA1 Message Date
3ebad63874 Unify inspector and console panel actions 2026-03-27 00:08:46 +08:00
31675e00c8 Refactor editor shell host layers 2026-03-26 23:52:05 +08:00
f87bc53875 Extract editor edit action router 2026-03-26 22:31:22 +08:00
5735e769b0 Route editor actions by active target 2026-03-26 22:10:43 +08:00
f6286d432c Extract editor interaction states 2026-03-26 21:30:46 +08:00
6467d87b81 Refactor editor UI architecture 2026-03-26 21:18:33 +08:00
45842e961e Refactor editor dock and panel chrome styling 2026-03-26 16:43:06 +08:00
5c3566774b docs: 更新 containers 和 threading 模块文档
- containers: 更新 string 类的多个方法文档
- threading: 更新 mutex 和 task-group 方法文档
2026-03-26 01:59:14 +08:00
0651666d8c Fix editor scene persistence and XC scene workflow 2026-03-26 01:26:26 +08:00
621a135ef7 Make HierarchyPanel use EventBus for selection changes
- Subscribe to SelectionChangedEvent via EventBus in OnAttach
- Unsubscribe in destructor
- Added m_selectionHandlerId and m_needsRefresh members
- HierarchyPanel now properly receives selection change notifications
2026-03-25 16:41:21 +08:00
605d086bcc Create ISceneManager interface and fix GetSceneManager return type
- Created ISceneManager interface with Editor需要的 SceneManager 方法
- SceneManager now implements ISceneManager
- IEditorContext::GetSceneManager() now returns ISceneManager& instead of void*
- Removed SceneManager::GetSceneManagerConcrete() method
- Updated HierarchyPanel and InspectorPanel to use ISceneManager interface
2026-03-25 16:39:15 +08:00
008fb98dee refactor(editor): Complete architecture refactoring
- SceneManager: remove singleton, use dependency injection via EditorContext
- SelectionManager: already interface-based via ISelectionManager
- Panel: now receives IEditorContext for accessing managers
- HierarchyPanel: migrated to use IEditorContext instead of singletons
- Add ISceneManager interface and SceneManagerImpl
- EditorContextImpl: holds all editor subsystems

Architecture now follows dependency injection pattern:
Application -> EditorContext -> SceneManager/SelectionManager
EditorLayer -> Panels (receive context via SetContext)

All Manager singletons removed: EditorSceneManager::Get(), SelectionManager::Get()
2026-03-25 15:51:27 +08:00
0948e0fdbe docs: Update RHI test refactoring status
- Mark P0-1 (Shader) and P0-2 (PipelineState) as completed
- Update test coverage matrix
- Add changelog v1.1
2026-03-25 12:30:05 +08:00
c9e459c179 Editor: UI panels and GameObject updates 2026-03-25 01:23:08 +08:00
9fae910854 Editor: 更新编辑器面板和UI控件系统
- 添加新的UI控件系统(Core.h, ScalarControls.h, VectorControls.h, UI.h)
- 更新SceneManager支持场景层级管理
- 优化SelectionManager选择管理
- 改进InspectorPanel/GameViewPanel/HierarchyPanel等面板
- 更新RHI文档说明Vulkan实现计划
2026-03-24 20:02:38 +08:00
135fe9145b refactor(editor): 重构 Editor 使用 Engine 的 Component/Scene 系统
- Editor CMakeLists.txt 链接 XCEngine 库
- 删除 editor/src/Core/GameObject.h (简化版)
- SelectionManager 使用 Engine::Components::GameObject*
- SceneManager 使用 Engine::Scene
- HierarchyPanel 使用 Engine GameObject API
- InspectorPanel 使用 Engine TransformComponent

注意: Engine RHI Shader 接口有编译错误需要修复
2026-03-24 18:38:01 +08:00
ac5c98584a refactor: rename ui_editor to editor for consistency 2026-03-24 16:23:04 +08:00