Open source physics-based sandbox game.
  • C++ 68.5%
  • C 25.9%
  • Java 5.1%
  • GLSL 0.1%
Find a file
Dimitris Dafnis 08ab103f44
Guard external URL launch in the in-game WebView (#215)
When the WebView opens a URL that is neither a principia: link nor a
community-host page, it hands it to an external app with
startActivity(ACTION_VIEW). On a device with no app able to open the URI
that call throws ActivityNotFoundException and the activity crashes.

Wrap the launch in a try/catch so an unresolvable link is logged and the
WebView dialog still closes cleanly.
2026-06-04 20:37:22 +02:00
.github Merge in featured-list-creator into utils/ 2026-06-02 00:31:44 +02:00
android Guard external URL launch in the in-game WebView (#215) 2026-06-04 20:37:22 +02:00
cmake/Modules Use Emscripten ports for all web dependencies & disable cURL 2025-03-10 23:21:07 +01:00
data Flip suction cup model so that sockets are not inverted 2026-04-15 21:54:59 +02:00
data-src Don't set executable bit on level files 2024-03-11 23:32:27 +01:00
fastlane/metadata/android/en-US Add fastlane changelog for upcoming version 2025-04-02 22:05:08 +02:00
lib Update Dear Imgui to 93e396f 2026-05-17 22:35:13 +02:00
packaging make Windows installer high DPI aware. (#213) 2026-05-28 14:19:49 +02:00
src Remove unnecessary Windows-specific codepath for getting level modification date 2026-06-03 20:51:14 +02:00
utils Add progress-dump tool for dumping data.bin progress data 2026-06-02 21:29:56 +02:00
.gitattributes Move in-tree libraries to lib/, move main codebase into root of src/ 2025-03-05 20:23:30 +01:00
.gitignore Clean out some old notes in doc, move some Doxygen stuff 2025-03-04 23:02:41 +01:00
.gitmodules Rename Android project folder to just android 2025-03-04 23:17:47 +01:00
AUTHORS.md [ci skip] meta file fixups, merge build instructions with wiki 2024-04-26 00:02:12 +02:00
CMakeLists.txt Don't link against GTK3 libs if we're doing a desktop build with Imgui backend 2026-06-03 19:05:18 +02:00
Doxyfile Move in-tree libraries to lib/, move main codebase into root of src/ 2025-03-05 20:23:30 +01:00
LICENSE.md First public version, compilation on Windows (mingw64) verified 2022-08-06 14:06:22 +02:00
README.md [ci skip] Update Mastodon links 2025-07-01 16:06:57 +02:00
THANKS.md [ci skip] meta file fixups, merge build instructions with wiki 2024-04-26 00:02:12 +02:00

Principia Open Source Project

Principia

Principia is a sandbox physics game originally released in November 2013. It is the successor to the 2011 Android hit game "Apparatus". In August of 2022 Principia was released as open source, and is now being developed as an open source project by the Principia community.

Principia runs on anything with a recent enough version of Windows, Linux or Android. Experimental ports to Haiku OS and macOS are also available, and work to port Principia to other platforms are very welcome.

Binary builds

Release builds builds of Principia for Windows, Android and Linux are available on the download page.

There are also nightly build artifacts that get automatically built by GitHub Actions CI on each commit and are available for download, see Nightly Builds on the wiki.

Getting involved

Feel free to fork this project and send in your pull requests. This is a community project and the community decides how the project evolves.

For a brief overview on how to get started with contributing to the game, see the Contributing to the Game page on the wiki.

Also be sure to follow @principia on Mastodon for more updates about the project.

Building from source

See Compiling Principia on the wiki for building from source on supported platforms.

(You can also view the plaintext Markdown document here)

License

See LICENSE.md