EG/PROJECT_MODULE_INDEX.md

353 lines
11 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.

# PROJECT_MODULE_INDEX
> 本文档只基于本地工作区扫描生成,不依赖 Git 远程信息。
- 生成时间: 2026-02-28 16:41:46
- 目标: 为后续优化/重构提供 功能模块 -> 文件 的快速定位索引
## 0. 关联分析文档
- 优化分析(本轮): `PROJECT_OPTIMIZATION_ANALYSIS.md`
- Qt 清理迁移清单: `QT_TO_IMGUI_MIGRATION_CHECKLIST.md`
- 历史模块分析: `IMGUI_MODULE_ANALYSIS.md`
## 1. 一级目录规模Python
| 目录 | 文件数 | 代码行数 |
|---|---:|---:|
| core | 40 | 19892 |
| gui | 1 | 7 |
| project | 2 | 759 |
| root | 2 | 812 |
| scene | 10 | 3792 |
| scripts | 18 | 1378 |
| ssbo_component | 3 | 1907 |
| templates | 1 | 1282 |
| tools | 1 | 73 |
| TransformGizmo | 5 | 3705 |
| ui | 63 | 17403 |
## 2. 功能模块 -> 关键文件映射
### 应用启动与组装
- 模块职责: 程序入口、系统初始化、模块装配
- 对应文件:
- Start_Run.py
- main.py
- templates/main_template.py
### 世界与运行时核心
- 模块职责: 世界生命周期、输入事件、选择、命令、资源、碰撞、地形等
- 对应文件:
- core/world.py
- core/event_handler.py
- core/selection.py
- core/Command_System.py
- core/tool_manager.py
- core/script_system.py
- core/resource_manager.py
- core/collision_manager.py
- core/terrain_manager.py
- core/model_drag_drop.py
- core/InfoPanelManager.py
- core/CustomMouseController.py
- core/imgui_style_manager.py
- core/imgui_webview.py
- core/selection_outline.py
- core/render_pipeline_utils.py
### VR 系统
- 模块职责: VR 管理、渲染阶段、交互、追踪、性能、可视化、配置
- 对应文件:
- core/vr_manager.py
- core/vr/config/vr_config.py
- core/vr/config/joystick_config.py
- core/vr/config/shadow_stage.py
- core/vr/rendering/stages.py
- core/vr/interaction/actions.py
- core/vr/interaction/grab.py
- core/vr/interaction/joystick.py
- core/vr/interaction/teleport.py
- core/vr/tracking/controllers.py
- core/vr/visualization/controllers.py
- core/vr/visualization/effects.py
- core/vr/performance/monitoring.py
- core/vr/performance/optimization.py
- core/vr/testing/test_mode.py
### 场景管理
- 模块职责: 模型导入、灯光管理、序列化、IO、切片转换
- 对应文件:
- scene/scene_manager.py
- scene/scene_manager_impl.py
- scene/scene_manager_model_mixin.py
- scene/scene_manager_light_mixin.py
- scene/scene_manager_serialization_mixin.py
- scene/scene_manager_io_mixin.py
- scene/scene_manager_convert_tiles_mixin.py
- scene/util.py
- scene/tree_roles.py
### 项目管理
- 模块职责: 项目创建、打开、保存、资源清单
- 对应文件:
- project/project_manager.py
### 编辑器面板 (ImGui)
- 模块职责: 顶部/左侧/中心/右侧属性面板、弹窗、运行时动作、创建对象、动画工具
- 对应文件:
- ui/panels/editor_panels.py
- ui/panels/editor_panels_top.py
- ui/panels/editor_panels_left.py
- ui/panels/editor_panels_center.py
- ui/panels/editor_panels_right.py
- ui/panels/editor_panels_right_transform.py
- ui/panels/editor_panels_right_material.py
- ui/panels/editor_panels_right_collision.py
- ui/panels/panel_delegates.py
- ui/panels/property_helpers.py
- ui/panels/runtime_actions.py
- ui/panels/create_actions.py
- ui/panels/app_actions.py
- ui/panels/dialog_panels.py
- ui/panels/script_panels.py
- ui/panels/interaction_panels.py
- ui/panels/object_factory.py
- ui/panels/animation_tools.py
### LUI 编辑器与组件
- 模块职责: LUI 管理、属性编辑、交互编辑、组件定义
- 对应文件:
- ui/lui_manager.py
- ui/lui_function.py
- ui/LUI/lui_manager_editor.py
- ui/LUI/lui_manager_interaction.py
- ui/LUI/lui_function_properties.py
- ui/LUI/lui_function_components.py
- ui/LUI/lui_shared.py
- ui/widgets.py
- ui/icon_manager.py
### LUI 内建控件与皮肤
- 模块职责: LUI 基础控件实现与皮肤资源脚本
- 对应文件:
- ui/Builtin/Elements.py
- ui/Builtin/LUI*.py
- ui/Builtin/RectTransform.py
- ui/Skins/Metro/LUIMetroSkin.py
- ui/Skins/Metro/copy_frames.py
### Transform Gizmo
- 模块职责: 移动/旋转/缩放 gizmo 与事件
- 对应文件:
- TransformGizmo/transform_gizmo.py
- TransformGizmo/move_gizmo.py
- TransformGizmo/rotate_gizmo.py
- TransformGizmo/scale_gizmo.py
- TransformGizmo/events.py
### SSBO 选取与编辑
- 模块职责: 基于 SSBO 的对象选取与编辑器
- 对应文件:
- ssbo_component/ssbo_editor.py
- ssbo_component/ssbo_controller.py
- ssbo_component/demo_component.py
### 脚本样例与测试
- 模块职责: 内置脚本、旋转/移动/缩放测试脚本
- 对应文件:
- scripts/*.py
### 开发工具
- 模块职责: 辅助分析脚本
- 对应文件:
- tools/open_source_rate.py
## 3. 配置与运行关键文件
- config/vr_settings.json
- core/vr/config/vr_settings.json
- vr_actions/actions.json
- vr_actions/bindings_index.json
- vr_actions/bindings_oculus.json
- vr_actions/bindings_vive.json
- imgui.ini
- requirements/requirements.txt
- requirements/clean-requirements.txt
- requirements/conda-requirements.txt
- requirements/environment.yml
## 4. 第三方/外部子树说明
- RenderPipelineFile/: 第三方渲染管线源码与工具Python 文件 246 个,约 31629 行。
- 优化建议: 优先在本项目业务目录改动core/, ui/, scene/, project/, ssbo_component/, TransformGizmo/),避免直接修改第三方目录。
## 5. 完整 Python 文件索引(含行数)
| 文件 | 行数 |
|---|---:|
| core/__init__.py | 23 |
| core/collision_manager.py | 1050 |
| core/Command_System.py | 576 |
| core/CustomMouseController.py | 185 |
| core/event_handler.py | 576 |
| core/imgui_style_manager.py | 428 |
| core/imgui_webview.py | 189 |
| core/InfoPanelManager.py | 1460 |
| core/model_drag_drop.py | 485 |
| core/render_pipeline_utils.py | 17 |
| core/resource_manager.py | 471 |
| core/script_system.py | 817 |
| core/selection.py | 2461 |
| core/selection_outline.py | 263 |
| core/terrain_manager.py | 571 |
| core/tool_manager.py | 133 |
| core/vr/__init__.py | 31 |
| core/vr/config/__init__.py | 8 |
| core/vr/config/joystick_config.py | 226 |
| core/vr/config/shadow_stage.py | 145 |
| core/vr/config/vr_config.py | 216 |
| core/vr/interaction/__init__.py | 9 |
| core/vr/interaction/actions.py | 484 |
| core/vr/interaction/grab.py | 329 |
| core/vr/interaction/joystick.py | 561 |
| core/vr/interaction/teleport.py | 331 |
| core/vr/performance/__init__.py | 9 |
| core/vr/performance/monitoring.py | 972 |
| core/vr/performance/optimization.py | 287 |
| core/vr/rendering/__init__.py | 10 |
| core/vr/rendering/stages.py | 712 |
| core/vr/testing/__init__.py | 6 |
| core/vr/testing/test_mode.py | 609 |
| core/vr/tracking/__init__.py | 9 |
| core/vr/tracking/controllers.py | 391 |
| core/vr/visualization/__init__.py | 8 |
| core/vr/visualization/controllers.py | 631 |
| core/vr/visualization/effects.py | 174 |
| core/vr_manager.py | 2970 |
| core/world.py | 1059 |
| gui/__init__.py | 7 |
| main.py | 770 |
| project/__init__.py | 10 |
| project/project_manager.py | 749 |
| scene/__init__.py | 10 |
| scene/scene_manager.py | 17 |
| scene/scene_manager_convert_tiles_mixin.py | 473 |
| scene/scene_manager_impl.py | 15 |
| scene/scene_manager_io_mixin.py | 962 |
| scene/scene_manager_light_mixin.py | 403 |
| scene/scene_manager_model_mixin.py | 919 |
| scene/scene_manager_serialization_mixin.py | 749 |
| scene/tree_roles.py | 3 |
| scene/util.py | 241 |
| scripts/a.py | 25 |
| scripts/BouncerScript.py | 99 |
| scripts/ColorChangerScript.py | 157 |
| scripts/ComboAnimatorScript.py | 36 |
| scripts/example_script.py | 44 |
| scripts/FollowerScript.py | 66 |
| scripts/MoverScript.py | 88 |
| scripts/R_P.py | 110 |
| scripts/R_R.py | 110 |
| scripts/Rotate_H_Script.py | 181 |
| scripts/Rotate_P_Script.py | 181 |
| scripts/Rotate_R_Script.py | 44 |
| scripts/RotatorScript.py | 36 |
| scripts/ScalerScript.py | 88 |
| scripts/test_quick_script.py | 25 |
| scripts/TestMover.py | 38 |
| scripts/TestRotator.py | 25 |
| scripts/TestScaler.py | 25 |
| ssbo_component/demo_component.py | 70 |
| ssbo_component/ssbo_controller.py | 1055 |
| ssbo_component/ssbo_editor.py | 782 |
| Start_Run.py | 42 |
| templates/main_template.py | 1282 |
| tools/open_source_rate.py | 73 |
| TransformGizmo/events.py | 14 |
| TransformGizmo/move_gizmo.py | 950 |
| TransformGizmo/rotate_gizmo.py | 1412 |
| TransformGizmo/scale_gizmo.py | 860 |
| TransformGizmo/transform_gizmo.py | 469 |
| ui/Builtin/__init__.py | 0 |
| ui/Builtin/Elements.py | 242 |
| ui/Builtin/LUIBlockText.py | 74 |
| ui/Builtin/LUIButton.py | 169 |
| ui/Builtin/LUICanvas.py | 97 |
| ui/Builtin/LUICheckbox.py | 65 |
| ui/Builtin/LUIFormattedLabel.py | 38 |
| ui/Builtin/LUIFrame.py | 54 |
| ui/Builtin/LUIHorizontalLayout.py | 13 |
| ui/Builtin/LUIInitialState.py | 32 |
| ui/Builtin/LUIInputField.py | 180 |
| ui/Builtin/LUIInputHandler.py | 5 |
| ui/Builtin/LUILabel.py | 63 |
| ui/Builtin/LUILayouts.py | 80 |
| ui/Builtin/LUIObject.py | 12 |
| ui/Builtin/LUIProgressbar.py | 54 |
| ui/Builtin/LUIRadiobox.py | 73 |
| ui/Builtin/LUIRadioboxGroup.py | 31 |
| ui/Builtin/LUIRegion.py | 5 |
| ui/Builtin/LUIRoot.py | 5 |
| ui/Builtin/LUIScrollableRegion.py | 119 |
| ui/Builtin/LUISelectbox.py | 158 |
| ui/Builtin/LUISkin.py | 34 |
| ui/Builtin/LUISlider.py | 185 |
| ui/Builtin/LUISprite.py | 12 |
| ui/Builtin/LUISpriteButton.py | 23 |
| ui/Builtin/LUITabbedFrame.py | 77 |
| ui/Builtin/LUIVerticalLayout.py | 13 |
| ui/Builtin/RectTransform.py | 73 |
| ui/icon_manager.py | 123 |
| ui/LUI/__init__.py | 1 |
| ui/LUI/lui_function_components.py | 1149 |
| ui/LUI/lui_function_properties.py | 1601 |
| ui/LUI/lui_manager_editor.py | 1593 |
| ui/LUI/lui_manager_interaction.py | 1351 |
| ui/LUI/lui_shared.py | 62 |
| ui/lui_function.py | 31 |
| ui/lui_manager.py | 199 |
| ui/panels/__init__.py | 0 |
| ui/panels/animation_tools.py | 1390 |
| ui/panels/app_actions.py | 1097 |
| ui/panels/create_actions.py | 147 |
| ui/panels/dialog_panels.py | 992 |
| ui/panels/editor_panels.py | 20 |
| ui/panels/editor_panels_center.py | 187 |
| ui/panels/editor_panels_left.py | 543 |
| ui/panels/editor_panels_right.py | 742 |
| ui/panels/editor_panels_right_collision.py | 210 |
| ui/panels/editor_panels_right_material.py | 222 |
| ui/panels/editor_panels_right_transform.py | 89 |
| ui/panels/editor_panels_top.py | 319 |
| ui/panels/interaction_panels.py | 128 |
| ui/panels/object_factory.py | 390 |
| ui/panels/panel_delegates.py | 512 |
| ui/panels/property_helpers.py | 1583 |
| ui/panels/runtime_actions.py | 356 |
| ui/panels/script_panels.py | 287 |
| ui/Skins/__init__.py | 0 |
| ui/Skins/Default/__init__.py | 0 |
| ui/Skins/Metro/__init__.py | 0 |
| ui/Skins/Metro/copy_frames.py | 31 |
| ui/Skins/Metro/LUIMetroSkin.py | 24 |
| ui/widgets.py | 38 |
## 6. 使用方式(优化流程建议)
1. 先在 功能模块 -> 关键文件映射 中定位模块。
2. 再到 完整 Python 文件索引 按文件名快速跳转。
3. 优先处理高行数核心文件(如 core/selection.py, core/vr_manager.py, ui/panels/property_helpers.py