visualisation-marsh/README.md

79 lines
3 KiB
Markdown

# Visualisation for MARSH
Named in this order so not everything starts with the same word
## Development
This repository uses [Git Submodules](https://git-scm.com/book/en/v2/Git-Tools-Submodules), to get all the code you need to run either:
```sh
git clone --recurse-submodules <address of this repository>
# Or at any later point
git submodule update --init --recursive
```
Using Godot v4.4 beta3 (expect it to change often until 4.4 is released)
Install SCons with `pipx install scons`.
You will need a C++ compiler, you might have one already on Linux, see below for Windows, otherwise in [Godot documentation](https://docs.godotengine.org/en/stable/contributing/development/compiling/index.html).
For updating MAVLink generator, you additionally `pip install future`.
It is recommended to install any packages in a [virtual environment](https://docs.python.org/3/library/venv.html), for example:
```sh
python3 -m venv venv
source venv/bin/activate
pip install future
```
Some files are generated, run the following commands on first setup and when dependencies change:
```sh
godot --dump-extension-api # after updating Godot
python update_mavlink.py # after updating MAVLink dialect
python update_addons.py # after changing any addon submodules
scons compile_commands # after modifying SConstruct
cd project/addons/gdcef; python build.py
```
### Windows setup
The most convenient way of getting a C++ compiler is via the LLVM-MinGW project (by the way, it optimizes the binary more).
Download the `llvm-mingw-...-msvcrt-x86_64.zip` from the [Releases page](https://github.com/mstorsjo/llvm-mingw/releases).
Unzip the archive to some location you like, and add its `bin` folder to `Path` using the "Edit environment variables for your account" program.
### Build
To build the GDExtension binary run SCons in the repository root, the default arguments have been added to the file.
```sh
scons
```
When building for Windows with MinGW-LLVM, you need to [select this compiler](https://docs.godotengine.org/en/stable/contributing/development/compiling/compiling_for_windows.html#selecting-a-compiler):
```powershell
scons platform=windows use_mingw=yes use_llvm=yes
```
## Roadmap
- Try to have some acceptable setup for Varjo even without the tracker
- Rework the fly area
- Make it bigger
- Keep it square to avoid assymetric geometry
- Don't use the flat plane, just flatten the terrain
- Make the terrain mostly green, but add some small patches of different color
- Fix z-figthing when looking at the runway from afar
- Reduce pixel artifacts
- Adjust antialiasing
- Ensure there are mipmaps and they're used
- Increase sense of urgency/stress when tracking the visual height cue
- Change the perspective to make the ball leave the strip for smaller error
- Time to complete the task
- Configurable length
- Some way to verify completion
- Some way to reset it
- Sound cue for desired and required timing
- Visual timing like progress bar
- Also change color
- On the vertical cue or instrument panel?