EG/QT_TO_IMGUI_MIGRATION_CHECKLIST.md
2026-03-17 16:18:10 +08:00

63 lines
3.1 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# Qt -> ImGui 迁移清单Qt 清理后状态)
更新时间2026-02-28
适用范围:`d:\IMGUI\EG` 本地工作区
## 目标
- 编辑器主路径稳定运行在 ImGui + Panda3D。
- 项目主代码不再依赖 PyQt/PySide 运行。
- 后续把历史命名与耦合(`interface_manager/treeWidget/gui_manager`)继续收敛。
## 当前状态总览
- `PyQt/PySide/Qt` 在项目代码主路径(排除 `RenderPipelineFile`)扫描结果:`0`。
- 依赖清单已从 Qt 运行依赖切到 ImGui 运行依赖。
- `ui/widgets.py` 已改为 legacy 占位模块,避免误用 Qt 路径。
## 已完成Done
- [x] `core/InfoPanelManager.py`:去除 Qt 直接导入。
- [x] `core/selection.py`:光标逻辑改为 Panda3D 路径。
- [x] `scene/scene_manager_convert_tiles_mixin.py`:去掉 `QProgressDialog`,改为非 Qt 进度反馈。
- [x] `ui/widgets.py`:替换为 ImGui 迁移提示占位模块。
- [x] `ui/icon_manager.py`:替换为无 Qt 的兼容层实现。
- [x] `core/world.py` / `core/vr_manager.py` / `core/vr/testing/test_mode.py`:去除 `qtWidget` 语义依赖。
- [x] `requirements/*`:清理 Qt/PySide 依赖项并同步部署文档。
- [x] `main.py`:补齐兼容字段初始化(`gui_elements/gui_manager/interface_manager/guiEditMode/currentGUITool`)。
- [x] `scene/scene_manager_io_mixin.py`:修复 `_find_scrip_in_directory` 拼写错误。
- [x] `main.py`:入口改为 `if __name__ == "__main__":`,消除导入即运行副作用。
- [x] `core/event_handler.py`:新增场景树访问 helper替换 `interface_manager.treeWidget` 直连。
- [x] `core/selection.py`:统一树控件清空逻辑(`_get_tree_widget/_clear_tree_selection`)。
- [x] `ui/panels/runtime_actions.py`:统一 `gui_manager` 访问与 `gui_elements` 追加入口。
- [x] `core/InfoPanelManager.py`:统一场景树控件访问 helper。
- [x] `ui/panels/editor_panels.py`:按布局拆分为 4 个 mixin`top/left/right/center`),保留门面类组合。
## 待完成Next
### N1 场景树接口收敛(高优先级)
- 目标:移除 `treeWidget` 语义,统一走 ImGui 场景树接口。
- 影响路径:`core/event_handler.py`、`scene/scene_manager_*_mixin.py`、`core/terrain_manager.py` 等。
### N2 GUI 管理上下文收敛(高优先级)
- 目标:将 `interface_manager/gui_manager/gui_elements` 统一到单一上下文对象。
- 影响路径:`project/project_manager.py`、`scene/scene_manager_io_mixin.py`、`ui/panels/*`。
### N3 入口规范化与回归脚本(中优先级)
- 目标:减少脚本式副作用,建立最小回归检查。
- 建议覆盖:启动、导入模型、选择变换、保存加载、脚本挂载。
## 验收标准
- 不安装 PyQt/PySide 时,`python Start_Run.py` 能进入编辑器主界面。
- 场景导入/保存/加载流程不触发 Qt 相关异常。
- 关键交互(选择、变换、场景树)行为与清理前一致。
## 关联文档
- 模块分析: [IMGUI_MODULE_ANALYSIS.md](d:/IMGUI/EG/IMGUI_MODULE_ANALYSIS.md)
- 全量目录与脚本清单: [PROJECT_FULL_CATALOG.md](d:/IMGUI/EG/PROJECT_FULL_CATALOG.md)