Nazar Misyats b75a5710b0 Updated README
2025-10-18 01:59:59 -07:00
2024-09-03 17:08:52 +02:00
2022-07-17 10:18:36 +02:00
2023-12-08 01:06:39 +01:00
2022-07-17 09:01:23 +02:00
2021-08-15 21:31:25 +02:00
2025-10-18 01:25:38 -07:00
2021-08-18 10:30:31 +02:00
2021-08-18 11:20:56 +02:00
2025-10-18 01:59:59 -07:00
2023-12-08 01:06:39 +01:00

Multiple Gravity Assist Trajectory Planner for KSP

An online tool providing automatic design of trajectories with multiple gravity assists for Kerbal Space Program. See the forum post.

Example trajectory

Installation

This section details installation building steps to modify and run the tool locally. If you are only interested in adding new solar systems, check the solar system support section.

This project requires Node.js with the TypeScript compiler. Install it globally with:

npm install -g typescript

Install the necessary type definitions for THREE.js, Chart.js and js-yaml with:

npm ci

This project also includes THREE.js example classes for line rendering and camera control. In order to have the TypeScript compiler recognize them, the following lines must be addded to node_modules/@types/three/src/Three.d.ts:

/* Examples imports */
/* Example lines */
export * from '../examples/jsm/lines/Line2';
export * from '../examples/jsm/lines/LineGeometry';
export * from '../examples/jsm/lines/LineMaterial';
/* OrbitControls */
export * from '../examples/jsm/controls/OrbitControls';

Compile the project with:

tsc -p ./src/tsconfig.json

Solar systems support

The tool can support any solar system configuration. You can contribute to add support for solar systems from known mods.

  1. Fork this project and create a new branch for your solar system.
  2. Create a new folder in data for your system with a config.yml and bodies.yml file following the templates in data/stock.
    • config.yml stores the global configurations of the tool. These parameters may need to be changed depending on the characteristics of the solar system (e.g. duration of a day, camera clip distances for large solar systems...).
    • bodies.yml stores the description of each body in the solar system. It must rigorously follow the template format. If your solar system uses Kopernicus configuration files, you can directly convert them into a bodies.yml file via this page.
  3. Add an entry to data/systems.yml for your solar system.
  4. Test the tool locally with your system (run the tool on a local HTTP server, e.g. with VSCode's Live Server), check for the coherence of results and ingame feasibility.
  5. Create a pull request to this repository.

Used resources

Description
An online tool providing automatic design of trajectories with multiple gravity assists for Kerbal Space Program.
Readme 711 KiB
Languages
TypeScript 71%
JavaScript 16%
HTML 9.6%
CSS 3.4%