For Developers
This section provides useful information about the internal structure of the project.
General Overview
The entire project is organized as a monorepo that contains source code, assets, documentation, and more.
It is built using the Bevy game engine. Physics are handled by Rapier, and ZeroMQ is used for networking.
Source Code
Simulator
The simulator code is located in the src directory. It is currently split into several modules, each in a separate file:
auv.rs– Contains the core simulation logic for AUVs: physics, thrusters, and camera systems.net.rs– Handles networking via ZeroMQ.ui.rs– Responsible for the graphical user interface.main.rs– The main entry point of the simulator. Initializes all systems.
Python API
The Python API is located in the python directory. It includes the naus module, along with example scripts under examples. The names of the example scripts match the scene files located in the assets directory at the project root.
Documentation
The documentation is stored in the docs directory. It is built using MkDocs with the following plugins: