Files
openvistapro/docs/knowledgebase/feature-inventory.md
2026-05-16 16:20:15 -04:00

3.7 KiB

Feature Inventory

This is a first-pass inventory from the VistaPro 2/3 manuals, MakePath guide, screenshots, and public descriptions.

Terrain sources

  • VistaPro landscape files.
  • USGS DEM elevation data.
  • NASA/planetary or other gridded elevation datasets.
  • Fractal landscape generation.
  • User-supplied two-dimensional integer height arrays, up to historical limits around 1024x1024.

Scene controls

  • Camera and target X/Y/Z positioning.
  • Lens/range controls.
  • Bank, heading, and pitch.
  • Sea level and water planes.
  • Lake and river controls.
  • Timber/tree line, tree drawing, and tree density.
  • Snow line.
  • Haze/fog distance.
  • Sky/stars options.
  • Light direction and custom lighting.
  • Vertical exaggeration.
  • Color maps/palettes.
  • Texture image loading, including PCX in the Windows manual.

Rendering and quality

  • Wire/topographic preview workflow.
  • Progressive/final render action.
  • Quality menu/settings for smoothing/detail/performance tradeoffs.
  • Save rendered images; historical formats included IFF/IFF24/RGB on Amiga and PC-era formats on Windows.
  • 24-bit output was a differentiator in user examples.

Scripting and animation

  • Script files list camera/target positions and commands.
  • Scripts are landscape-independent enough to rerun against different terrain/settings.
  • Commands include camera coordinates, vertical scale, and render actions.
  • VistaPro could generate simple linear camera-to-target paths.
  • MakePath Flight Director created spline paths over a topographic map and exported VistaPro scripts.
  • MakePath vehicle models included jet, glider, dune buggy, motorcycle, helicopter, cruise missile, and custom vehicles.

UI surfaces observed in screenshots

  • Main workspace with topographic map/preview on the left and dense control panels on the right.
  • Pull-down menus: Project, Load, Save, Exp/Imp, Script, Image, Quality, and related dialogs.
  • File dialogs and confirmation/progress dialogs.
  • Numeric/text gadgets for direct value editing.
  • Multiple lower control panels for color-map/palette editing, fractal settings, lighting, and scene/environment settings.
  • Color-map editor with vertical channel/range sliders and palette swatches.
  • Map/radar-like view for camera/target placement.

Normalized UI panel map

  • Viewport / preview: the central render surface. Today this is the egui CentralPanel preview in src/app.rs.
  • Terrain / import: terrain source selection and generated-terrain presets. Today this is only a small preset selector; legacy import UI is still absent.
  • Scene / camera: camera, target, water, tree line, snow line, haze, and related controls. Today the app has position/target plus the scene-band sliders.
  • Render: preview vs final render and render-quality choices. Today only the top-down vs perspective switch exists.
  • Scripts / paths: script menu, animation frames, and MakePath-style path generation. Today this is planned only.
  • File / project actions: load/save/open/export and scene-file operations. Today this is planned only, with a loaded-scene path tracked internally.
  • Status / feedback: live readouts, progress, and current file/scene state. Today this is planned only.
  • Deferred features / legacy compatibility: menus, dialogs, palette editing, advanced lighting, hydrology, vertical exaggeration, and legacy export formats. Today these remain future work.

Modernization opportunities

  • Replace dense fixed control panels with an immediate-mode or dockable UI shell.
  • Use modern terrain formats: GeoTIFF/COG, DEM, HGT/SRTM, PNG/RAW heightmaps.
  • Use WGPU for cross-platform rendering.
  • Add reproducible scene files in human-readable formats such as RON/TOML/JSON.
  • Provide CLI rendering for tests and batch workflows.
  • Keep compatibility import/export separate from the clean internal model.