Genhis / KRPC.MechJeb

kRPC service for MechJeb2 (Kerbal Space Program)
https://genhis.github.io/KRPC.MechJeb/
GNU General Public License v3.0
15 stars 8 forks source link

Transform public API into window-oriented approach (plans for 1.0) #22

Open Genhis opened 1 year ago

Genhis commented 1 year ago

I have been thinking about the public API. While it mimics MechJeb internal API, I think it's not as intuitive because some things may have different names or be in different places than expected. I think this also makes it harder to maintain.

For 1.0, I would like to transform public API into window-oriented approach. That is, what you see in MechJeb GUIs in-game should directly tell you which API function you should call. For example, Ascent Guidance (currently referred to as AscentAutopilot in the API) should include StagingController and ThrustController functions. There may be duplicate functions in some places - I am not sure how to deal with it yet. I hope this gets us a more stable API with user-friendly property/function names less prone to internal MechJeb changes.

What do you all think about this change? How do you use the API now and what are its benefits/drawbacks in your opinion?