Code structure
OpenRocket is a Java application organized using the Java Platform Module System (JPMS) and built with Gradle. The codebase is split into two modules:info.openrocket.core
The backend library. Contains the rocket component model, simulation engine, file format parsers and writers, and aerodynamic calculators. Has no dependency on any GUI toolkit — it can be embedded in other applications.
info.openrocket.swing
The graphical user interface. Built with the Java Swing toolkit. Depends on
info.openrocket.core and uses it to run simulations and display results.Developer guide sections
Development setup
Prerequisites, forking and cloning the repository, IntelliJ IDEA setup, and building from source.
Architecture
High-level code architecture: JPMS modules, dependency injection with Guice, and key subsystems.
Codebase walkthrough
A package-by-package guide to the most important directories in
core and swing.File specification
The
.ork rocket design file format and the .orc component preset file format.Development guidelines
Coding standards, commit etiquette, pull request process, and Checkstyle enforcement.
Contributions are welcome from everyone. Whether you are fixing a bug, adding a feature, improving documentation, or translating the UI, the maintainers appreciate any help.