Project Orbiter addon development in Rust

thomasantony

Member
Joined
Nov 19, 2007
Messages
355
Reaction score
6
Points
18
Location
USA
Website
www.thomasantony.com
I am not sure if there are any Rust language fans here. I took a stab at creating a minimal Rust bindings layer for the Orbiter SDK to allow development of addons in Rust. You can find the repository here: https://github.com/thomasantony/orbiter-rs .

The repo includes a simple "Surveyor" probe addon written in Rust (based on the OrbiterWiki tutorial). The README should give you some more details. I also have a short blog post about this. Hopefully someone finds this useful!
 
Last edited:

jedidia

shoemaker without legs
Addon Developer
Joined
Mar 19, 2008
Messages
10,393
Reaction score
1,637
Points
203
Location
between the planets
I never tried Rust because I currently just have nothing to use it on, but I've heard a great many good things about it. Having a less cumbersome language than C++ to write orbiter add-ons... yeah, that would be a great thing (don't think immutability would see much use in this environment, though, but easy-to-use lambdas would be very welcome).

However, the orbiter API is pretty large, and in my experience binding libraries are very expensive to maintain. Even if we had complete bindings, I would doubt their longevity, making me somewhat hesitant to use them for any serious project. As such, the effort might not be worth it...
 

Xyon

Puts the Fun in Dysfunctional
Administrator
Moderator
Addon Developer
Webmaster
GFX Staff
Donator
Beta Tester
Joined
Aug 9, 2009
Messages
6,877
Reaction score
699
Points
203
Location
10.0.0.1
Website
www.orbiter-radio.co.uk
Preferred Pronouns
she/her
I am not sure if there are any Rust language fans here. I took a stab at creating a minimal Rust bindings layer for the Orbiter SDK to allow development of addons in Rust. You can find the repository here: https://github.com/thomasantony/orbiter-rs .

The repo includes a simple "Surveyor" probe addon written in Rust (based on the OrbiterWiki tutorial). The README should give you some more details. I also have a short blog post about this. Hopefully someone finds this useful!
I love this. I really like rust, and I really like Orbiter, so this combination of things is great! I just normally do my rust development under linux, which is somewhat more difficult for Orbiter stuff.
 

thomasantony

Member
Joined
Nov 19, 2007
Messages
355
Reaction score
6
Points
18
Location
USA
Website
www.thomasantony.com
I love this. I really like rust, and I really like Orbiter, so this combination of things is great! I just normally do my rust development under linux, which is somewhat more difficult for Orbiter stuff.
One of the biggest draws for me with this setup is that I don't have to use the Visual Studio IDE. I can code in VSCode and just run "cargo build". Running it under "Git Bash" keeps it close to a unix experience. Maybe its possible to do that with C++ as well (i.e. VS code+terminal) but I am not sure how to.

However, the orbiter API is pretty large, and in my experience binding libraries are very expensive to maintain. Even if we had complete bindings, I would doubt their longevity, making me somewhat hesitant to use them for any serious project. As such, the effort might not be worth it...

I agree. I want to use this to play with some autopilot code. And it turns out that I didn't Google this before I started. I found an older project that seems to cover more of the SDK: https://github.com/emgre/orbiter-rs . I am not sure how complete it is today, but it has some other stuff implemented that I don't. I want to get mine to something like that repo, with some more macros to improve usability.
 
Last edited:
Top