EG/PROJECT_MODULE_INDEX.md

11 KiB
Raw Permalink Blame History

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