EG/PROJECT_TASK_CHECKLIST.md

3.6 KiB
Raw Blame History

项目任务清单Project Task Checklist

更新时间2026-02-28
适用范围: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.py
    • core/selection.py
    • core/InfoPanelManager.py
    • ui/panels/runtime_actions.py
    • core/terrain_manager.py
    • scene/scene_manager_convert_tiles_mixin.py
    • scene/scene_manager_serialization_mixin.py
    • scene/scene_manager_model_mixin.py
  • scene/scene_manager_io_mixin.py::loadScene 完成两轮拆分(556 -> 74 行)。
  • main.py::__init__ 第一轮拆分完成(375 -> 27VR 初始化逻辑保持原样)。

C. 面板模块化完成

  • ui/panels/editor_panels.py 按布局拆分为 4 个模块:
    • editor_panels_top.py
    • editor_panels_left.py
    • editor_panels_center.py
    • editor_panels_right.py
  • editor_panels_right.py 再拆分为 3 个子 mixin
    • editor_panels_right_transform.py
    • editor_panels_right_material.py
    • editor_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 兜底

下一步Next

N1 updateGizmoDrag 拆分(最高优先级,非 VR

  • 目标文件:core/selection.py
  • 当前规模:278
  • 验收目标:
    • 主函数压缩到 <= 120
    • 保持 gizmo 拖拽行为一致

N2 资源管理器面板 拆分(高优先级,非 VR

  • 目标文件:ui/panels/editor_panels_left.py::_draw_resource_manager
  • 当前规模:310
  • 验收目标:
    • 提取目录/文件项渲染与右键菜单复用逻辑
    • 交互行为保持一致

验收标准(阶段)

  • 不安装 PyQt/PySide 时,python main.py 可进入编辑器主界面。
  • 非 VR 主流程(导入/选择/变换/保存/加载)无 Qt 残余异常。
  • 每轮重构后可通过最小回归(启动、导入、播放动画、保存加载)。

关联文档

  • 优化分析:PROJECT_OPTIMIZATION_ANALYSIS.md
  • 模块索引:PROJECT_MODULE_INDEX.md
  • 全量目录:PROJECT_FULL_CATALOG.md
  • 历史分析:IMGUI_MODULE_ANALYSIS.md