Skip to content

场景菜单层级系统

系统概览

场景菜单层级系统(Schema 驱动)。场景弹窗的各级面板(渲染设置、舞台管理、道具详情、 物理设置、拖拽层级等),每个面板为独立的 PopupLevelscene-menu-state.ts 维护菜单实例 注册表,resource-detail-helpers.ts 提供资源详情卡片构建函数。

核心职责

  • scene-menu-state.ts — 场景菜单状态 + 实例注册表。
  • scene-*-levels.ts — 各场景子系统的菜单 schema 定义。
  • resource-detail-helpers.ts — 资源详情卡片构建(变换、材质、危险操作)。

对外 API(节选)

  • getSceneMenu() / setSceneMenu(menu) — 取/设场景菜单实例。
  • reRenderSceneMenu() — 重渲染场景菜单。
  • buildTransformCard(model) — 构建变换卡片。
  • buildMaterialCard(model) — 构建材质卡片。
  • buildDangerCard() — 构建危险操作卡片(删除等)。

与其他子系统关系

  • 模型操作:../scene/manager/model-ops.ts
  • 场景状态:../scene/scene.ts
  • 渲染设置:../scene/render/renderer.ts
  • 物理:../scene/physics/*
  • 渲染:render-menu.ts

不变量

  • Schema 驱动 UI:所有控件定义在 MenuNode[] 中。
  • 场景菜单状态在 scene-menu-state.ts 中管理,不分散到各 levels 文件。
  • 危险操作(删除模型等)使用 buildDangerCard,有确认提示。