4.4 KiB
4.4 KiB
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:
- Top bar for file/project actions and render mode shortcuts.
- Left dock for terrain/import and scene/camera controls.
- Center viewport for preview output.
- Right dock for scripts/paths and deferred advanced features.
- 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.