50 lines
4.4 KiB
Markdown
50 lines
4.4 KiB
Markdown
# OpenVistaPro UI Panel Map
|
|
|
|
This is a normalized modern shell map derived from the VistaPro manuals, screenshots, and the current OpenVistaPro codebase. It is intentionally not a 1:1 recreation of the legacy menu hierarchy; instead, it groups the old surfaces into a docked shell that can grow with the product.
|
|
|
|
## Proposed panel layout
|
|
|
|
| Modern panel | VistaPro surfaces it absorbs | Suggested placement | Current code support | Notes / gaps |
|
|
|---|---|---|---|---|
|
|
| Viewport / preview | Main render window, map preview, perspective view, preview/final render output | Center dock | Partial | `src/app.rs` already renders the CPU preview into `CentralPanel`; perspective and top-down preview modes exist, but there is no GPU viewport or direct manipulation overlay yet. |
|
|
| Terrain / import | Load Landscape, Import, terrain source selection, generated terrain presets | Left dock or collapsible section | Partial | The current shell only exposes project-owned terrain presets (`Plane`, `RadialHill`) in `AppData`; legacy format import UI is still absent. |
|
|
| Scene / camera | Camera and target gadgets, lens/range, bank/heading/pitch, water/tree/snow/haze controls | Left dock or inspector stack | Partial | Position/target and scene-band sliders exist. Lens/range, orientation axes, and richer VistaPro camera semantics are still missing. |
|
|
| Render | Preview vs final render, quality/smoothing, detail tradeoffs | Left dock, toolbar, or render tab | Partial | Current code toggles top-down vs perspective render mode, but there is no dedicated quality profile or render preset UI. |
|
|
| Scripts / paths | Script menu, Run Script, MakePath path tools, animation-frame workflows | Right dock or modal workflow | Planned | Script parsing exists in the codebase, but execution and path generation are still deferred. |
|
|
| File / project actions | New/Open/Save landscape, scene load/save, export commands | Top bar / file menu | Planned | The app tracks a loaded scene path internally, but there is no visible file/project action surface yet. |
|
|
| Status / feedback | Coordinate readouts, render state, file path, progress, messages | Bottom status bar | Planned | No dedicated status bar or message strip exists yet. |
|
|
| Deferred features / legacy compatibility | Dense menu hierarchy, advanced lighting, hydrology, vertical exaggeration, palette editing, legacy image/landscape exports | Right dock, tool drawer, or dialogs | Planned | These are best surfaced as future tabs or dialogs rather than cluttering the initial shell. |
|
|
|
|
## Recommended shell structure
|
|
|
|
A practical first-pass shell is:
|
|
|
|
1. Top bar for file/project actions and render mode shortcuts.
|
|
2. Left dock for terrain/import and scene/camera controls.
|
|
3. Center viewport for preview output.
|
|
4. Right dock for scripts/paths and deferred advanced features.
|
|
5. Bottom status bar for current scene, source, and render feedback.
|
|
|
|
That layout preserves the VistaPro workflow while making room for modern discoverability and incremental feature growth.
|
|
|
|
## Panel-by-panel implementation summary
|
|
|
|
| Panel | Code support today | Implementation evidence | Priority |
|
|
|---|---|---|---|
|
|
| Viewport / preview | Present | `src/app.rs` renders the preview into `CentralPanel`; `src/app_state.rs` builds the preview image. | High |
|
|
| Terrain / import | Partial | `TerrainPreset` and `AppAction::SetTerrainPreset` in `src/app_state.rs`; terrain radio buttons in `src/app.rs`. | High |
|
|
| Scene / camera | Partial | `Scene`, camera position/target controls, and scene-band sliders in `src/app.rs` and `src/app_state.rs`. | High |
|
|
| Render | Partial | `RendererMode` plus preview switching in `src/app_state.rs` and `src/app.rs`. | High |
|
|
| Scripts / paths | Not yet | `docs/knowledgebase/feature-inventory.md` marks scripts and path generation as planned. | Medium |
|
|
| File / project actions | Not yet | `loaded_scene_path` exists in `AppData`, but there is no visible file/project UI yet. | Medium |
|
|
| Status / feedback | Not yet | No dedicated status widget or state binding is present. | Medium |
|
|
| Deferred features / legacy compatibility | Not yet | These remain future work in the feature inventory. | Low |
|
|
|
|
## Remaining gaps
|
|
|
|
- No legacy-style menu/dialog layer for file, export, or script workflows.
|
|
- No docked status bar or live feedback line.
|
|
- No UI for orientation, lens/range, or vertical exaggeration.
|
|
- No dedicated scripts/paths editor surface.
|
|
- No palette editor, hydrology controls, or legacy export panels.
|