Move README content to MARSH docs, license art assets under CC-BY

This commit is contained in:
Marek S. Łukasiewicz 2025-12-13 21:04:03 +01:00
parent 1f3c747c72
commit e5bebc86cc
4 changed files with 402 additions and 109 deletions

113
README.md
View file

@ -1,114 +1,9 @@
# Visualisation for MARSH
This is a visualisation module for [Modular Architecture for Reconfigurable Simulation of Helicopters](https://marsh-sim.github.io/).
The project is configured to display cockpit instruments with [lidia](https://pypi.org/project/lidia) Python package.
For documentation, see [MARSH Documentation - Visualisation](https://marsh-sim.github.io/nodes/visualisation/)
Named in this order so not everything starts with the same word.
## License
## Usage
The application will attempt to start in VR, but if it fails it will display the default pilot viewpoint looking forward.
### Parameters
These can be modified over MAVLink, for example using MARSH Manager.
Example changes to `NAV_OFS_` parameters to start in given positions:
- Sidestep, vertical repositioning: all default
- Accelerate/decelerate: `HDG` = -90
- Hover maneuver: `X` = 50, `Y` = 50
- Start of slalom: `HDG` = -90, `X` = -100, `Y` = 300
#### NAV_OFS_HDG
Displayed heading relative to default position, in degrees.
#### NAV_OFS_X
Starting position offset, forward in default orientation, in meters.
#### NAV_OFS_X
Starting position offset, right in default orientation, in meters.
#### LOCAL_FRAME_LAT
Latitude of local coordinate frame origin when using messages with global position, in degrees.
#### LOCAL_FRAME_LON
Longitude of local coordinate frame origin when using messages with global position, in degrees.
## Development
The asset files like textures and models are very big, so the project also uses [Git Large File Storage](https://git-lfs.com/).
Once installed, it should work correctly with usual `git` commands but you may need to run this if you install it after cloning the repository:
```sh
git lfs pull
```
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.
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
Source code available under the terms of [The MIT License](https://opensource.org/license/mit).
Other assets available under [Creative Commons Attribution 4.0 (CC-BY)](https://creativecommons.org/licenses/by/4.0/).