Files
openvistapro/docs/knowledgebase/ui-panel-map.md
2026-05-16 16:20:15 -04:00

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.

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.