- replace rewrite/clean transitional panel files with canonical filenames - update imports and navigation architecture notes to match runtime truth - ignore local .codex_tmp workspace artifacts
6.9 KiB
Frontend Navigation Architecture
1. Purpose
This document is the source of truth for the left-side navigation structure and the production workspace view model in the frontend.
It explains:
- the first-level menu groups
- the sectioned groups and their leaf tabs
- the special-case production workspace entry
- the reserved entries and legacy route aliases
- the files that must be updated when navigation changes
The goal is to keep module boundaries stable as the system expands across D-InSAR, time-series InSAR, AI analysis, and operations workflows.
2. Current First-Level Groups
The current first-level menu groups are:
data: 数据管理production_planning: 生产规划production_management: 生产管理insar_analysis: InSAR形变分析ai_analysis: AI分析water: 水体监测ops: 运行维护
Definition files:
frontend/src/config/appConstants.jsfrontend/src/utils/appUiHelpers.js
3. Navigation Model
The current frontend uses two navigation patterns:
- Sectioned navigation: first-level group -> second-level section -> leaf tab
- Workspace navigation: first-level group -> single leaf tab -> internal workspace view switcher
3.1 生产规划
This is a sectioned group.
生产规划
├─ 规划编组
│ ├─ 配对规划 (`pairing`)
│ ├─ 任务规划 (`pairs`)
│ ├─ 时序候选栈 (`ps_results`)
│ └─ 任务批次 (`batches`)
└─ 数据分发
└─ 数据分发 (`copier`)
Notes:
ps_resultshere means planning-stage candidate stacks, not analysis-facing result pages.- This group no longer hosts D-InSAR production or product pages.
3.2 生产管理
This is a workspace group, not a multi-tab planning tree.
生产管理
└─ 生产管理 (`production_management`)
├─ D-InSAR运行 (`dinsar_runs`)
├─ 时序InSAR运行 (`timeseries_runs`)
├─ D-InSAR产物 (`dinsar_products`)
└─ 时序InSAR产物 (`timeseries_products`)
Notes:
- The left navigation contains only one tab for this group:
production_management. - Internal workspace views are controlled by
PRODUCTION_WORKSPACE_VIEWS. - Route alias mapping is controlled by
PRODUCTION_WORKSPACE_ENTRY_TO_VIEW. - Legacy route tabs such as
dinsar_productionandps_productsmap into this workspace and should not be treated as standalone left-nav entries.
3.3 InSAR形变分析
This is a sectioned group.
InSAR形变分析
├─ D-InSAR
│ ├─ D-InSAR结果 (`dinsar_results`)
│ └─ D-InSAR分析 (`dinsar_analysis`)
└─ 时序InSAR
├─ 时序InSAR结果 (`psinsar_results`)
└─ 时序InSAR分析 (`psinsar_analysis`)
Notes:
- This group is for business-facing result browsing and interpretation.
- AI diagnosis does not belong here.
dinsar_analysis,psinsar_results, andpsinsar_analysisare currently reserved placeholders.
3.4 AI分析
This is a sectioned group.
AI分析
├─ 形变智能分析
│ ├─ AI质量评估 (`ai_quality`)
│ └─ D-InSAR诊断 (`ai_diagnosis`)
└─ 遥感视觉分析
├─ 滑坡语义分割 (`landslide_segmentation`)
└─ 无人机影像分析 (`uav_image_analysis`)
Notes:
ai_diagnosisis the actual tab key; its display label isD-InSAR诊断.landslide_segmentationanduav_image_analysisremain reserved placeholders.
3.5 无二级分组的一级入口
The following groups do not define second-level sections:
dataleaf tabs:ingest,data,hazardwaterleaf tabs:wateropsleaf tabs:health,users,audit
4. Source-Of-Truth Rules
The navigation follows these rules:
LEFT_GROUP_LABELSdefines the first-level group vocabulary.LEFT_GROUP_SECTIONSdefines second-level sections where they exist.LEFT_GROUP_TABSdefines which leaf tabs belong to each group.LEFT_TAB_GROUPandLEFT_TAB_SECTIONare derived maps and should not be edited manually.leftPanelTabremains the route/state source of truth for the selected leaf entry.production_managementis a special case: one left-nav tab owns multiple internal workspace views.- New features should be added under an existing group whenever possible.
- A new first-level group should be introduced only for a durable, independent capability area.
5. Naming Rules
To avoid future ambiguity, use these naming constraints:
- Use
结果for browsing, querying, and result-facing visualization pages. - Use
产物for extraction, publishing, packaging, and catalog-management pages. - Use
运行for task submission, engine selection, execution control, and runtime monitoring views. - Use
分析for interpretation, statistics, and analyst-facing thematic workflows. - Use
诊断for model-assisted fault analysis or AI-driven reasoning pages. - Use
时序候选栈only for planning-stage candidate stacks underproduction_planning. - Use
时序InSAR结果for analysis-facing result pages underinsar_analysis.
6. Files To Update When Navigation Changes
When adding or moving a tab, update these files together:
frontend/src/config/appConstants.jsDefines first-level groups, sections, tab ownership, workspace view mappings, and admin-only visibility.frontend/src/utils/appUiHelpers.jsDefines display labels for leaf tabs.frontend/src/components/app/AppSidePanel.jsxRenders the side-panel navigation and group/section switching behavior.frontend/src/App.jsxConnects route state with panel rendering.frontend/src/ProductionWorkspace.jsxOwns the internal production workspace view switcher.frontend/src/App.cssStyles the navigation hierarchy and workspace entry state.
If the new tab is a real page instead of a placeholder, also add or update the corresponding panel component.
7. Reserved Entries And Legacy Route Aliases
Reserved leaf tabs:
dinsar_analysispsinsar_resultspsinsar_analysislandslide_segmentationuav_image_analysis
Legacy route aliases mapped into production_management:
dinsar_productiondinsar_productsps_productionps_products
These aliases exist for compatibility, but they are not first-class left-nav entries anymore.
8. Future Extension Guidance
Recommended future additions:
- Put new production execution or product-governance capability under
production_managementas an internal workspace view unless a separate first-level domain is clearly required. - Put planning, batching, pairing, and dispatch preparation capability under
production_planning. - Put result browsing and analyst-facing deformation interpretation under
insar_analysis. - Put intelligent interpretation, diagnosis, segmentation, and computer-vision modules under
ai_analysis.
If a new feature belongs to intelligent interpretation or computer vision, prefer AI分析.
If a new feature belongs to result browsing or deformation business analysis, prefer InSAR形变分析.