4.0 KiB
4.0 KiB
项目任务清单(Project Task Checklist)
更新时间:2026-03-01
适用范围:d:\IMGUI\EG 本地工作区(不含远程仓库内容)
目标
- 保持编辑器主路径稳定运行在 ImGui + Panda3D。
- 持续收敛历史兼容耦合(
interface_manager/treeWidget/gui_manager)。 - 基于可执行任务包推进非 VR 优化重构。
当前状态总览
- Qt 运行依赖主路径已清理完成(排除
RenderPipelineFile)。 - 项目已进入“非 VR 结构优化阶段”。
_getActor与updateGizmoDrag第一轮拆分已完成,当前最高优先任务转为资源管理器面板拆分。
已完成(Done)
A. Qt 清理与迁移完成
- 清理主路径 Qt 直接依赖:
PyQt/PySide/Qt扫描主路径为0。 core/InfoPanelManager.py:去除 Qt 直接导入。core/selection.py:光标逻辑改为 Panda3D 路径。scene/scene_manager_convert_tiles_mixin.py:移除QProgressDialog。ui/widgets.py:替换为 legacy 占位模块。ui/icon_manager.py:替换为无 Qt 兼容实现。core/world.py/core/vr_manager.py/core/vr/testing/test_mode.py:清理qtWidget语义依赖。requirements/*:移除 Qt/PySide 运行依赖。
B. 上下文收敛与基础重构完成
- 建立
core/editor_context.py,并完成第一批接入:core/event_handler.pycore/selection.pycore/InfoPanelManager.pyui/panels/runtime_actions.pycore/terrain_manager.pyscene/scene_manager_convert_tiles_mixin.pyscene/scene_manager_serialization_mixin.pyscene/scene_manager_model_mixin.py
scene/scene_manager_io_mixin.py::loadScene完成两轮拆分(556 -> 74行)。main.py::__init__第一轮拆分完成(375 -> 27行,VR 初始化逻辑保持原样)。
C. 面板模块化完成
ui/panels/editor_panels.py按布局拆分为 4 个模块:editor_panels_top.pyeditor_panels_left.pyeditor_panels_center.pyeditor_panels_right.py
editor_panels_right.py再拆分为 3 个子 mixin:editor_panels_right_transform.pyeditor_panels_right_material.pyeditor_panels_right_collision.py
D. 动画加载入口拆分完成(第一轮)
ui/panels/animation_tools.py::_getActor第一轮拆分完成:- 行数:
510 -> 39 - 新增 helper:
_sync_owner_model_path_tags、_get_valid_cached_actor、_try_memory_fallback_actor、_collect_actor_candidate_paths、_try_actor_from_path等 - 保持策略:文件路径优先,失败后内存/autoBind 兜底
- 行数:
E. Gizmo 拖拽拆分完成(第一轮)
core/selection.py::updateGizmoDrag第一轮拆分完成:- 行数:
278 -> 32 - 近似圈复杂度:
65 -> 10 - 新增 helper:
_validate_gizmo_drag_state、_apply_scale_drag、_apply_rotate_drag、_compute_axis_movement_distance、_apply_translate_drag - 保持目标:gizmo 缩放/旋转/平移行为不变
- 行数:
下一步(Next)
N1 资源管理器面板 拆分(最高优先级,非 VR)
- 目标文件:
ui/panels/editor_panels_left.py::_draw_resource_manager - 当前规模:
310行 - 验收目标:
- 提取目录/文件项渲染与右键菜单复用逻辑
- 交互行为保持一致
N2 LUI 交互拖拽链路 拆分(高优先级,非 VR)
- 目标文件:
ui/LUI/lui_manager_interaction.py::_update_drag - 当前规模:
348行 - 验收目标:
- 入口流程收敛到
<= 140行 - 保持拖拽/缩放/吸附交互一致
- 入口流程收敛到
验收标准(阶段)
- 不安装 PyQt/PySide 时,
python main.py可进入编辑器主界面。 - 非 VR 主流程(导入/选择/变换/保存/加载)无 Qt 残余异常。
- 每轮重构后可通过最小回归(启动、导入、播放动画、保存加载)。
关联文档
- 优化分析:
PROJECT_OPTIMIZATION_ANALYSIS.md - 模块索引:
PROJECT_MODULE_INDEX.md - 全量目录:
PROJECT_FULL_CATALOG.md - 历史分析:
IMGUI_MODULE_ANALYSIS.md