JSim is an open source, modular FRC physics library for simulation, analysis, and robotics workflow integration.
This repository is organized as a monorepo containing the core simulation engine, language bindings, runtime apps, examples, and documentation tooling.
https://jsim.dev/JSim.json
./scripts/build-all.shFor vendordep-only builds:
cd vendordep
./gradlew testRun the vendordep Gradle test task used in CI:
cd vendordep
./gradlew testThis command runs Java tests plus the standalone native verification suite in vendordep/tests/ through Gradle.
Vendordep build tooling currently requires Java 21.
pip install mkdocs mkdocs-material
mkdocs serve --config-file mkdocs/mkdocs.ymlcore/driver/: C++ physics engine implementation and headerscore/java/: Java-side code and bindingscore/python/: Python-side code and bindingscore/bindings-java/: Java binding supportcore/gamepiece-models/: gamepiece model definitions
apps/sim-runtime/: Python runtime integration appapps/viewer-plugin/: visualization and rendering plugin
cad-import/: CAD and geometry import utilities, including JSim-owned snapshot tracking for simulation integrationsexamples/: language-specific examples (C++, Java, Python)mkdocs/: docs source and MkDocs configurationvendordep/: WPILib vendordep packaging and Gradle-based build/testing
- Docs source:
mkdocs/docs/ - MkDocs config:
mkdocs/mkdocs.yml - Deployed docs: https://jsim.dev
- Java API (Javadocs): https://jsim.dev/api/javadoc/
- Native API (Doxygen): https://jsim.dev/api/doxygen/html/
Contributions are welcome. For code and process expectations, please review:
CODE_OF_CONDUCT.md- open issues and discussions in this repository
This project is licensed under the terms in LICENSE.txt.