# 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)。