Jump to content

[1.2.0] Precise Node 1.2.4 - Precisely edit your maneuver nodes


blizzy78

Recommended Posts

Thanks for this mod, it makes planning maneuvers much nicer than using this dragging thing that disappers all the time! Some suggestions from me:

As Creat pointed out, changes in the time axis often need a different magnitude. An option to display a separate "Increment" bar for time would be great. It's probably not needed all the time, so having only one "Increment" by default and enabling the 2nd one in the options would be great.

Turning on and off some of the others items via the options could be helpful. E.g., i never really change my conics mode and often don't care about the value of the ejection angle. If i could turn those off, i would save some precious screen space.

And just as a thought: A natural time change when planning transfers is "one orbit", or changing the time until you get the same ejection angle (but different phase angle). Not sure if this can be implemented, but it might be really helpful.

Link to comment
Share on other sites

Some great suggestions, thanks everyone. I may eventually say no to something if we're moving into kitchen sink territory, but thankfully we're not there yet.

Conics patches, key modifier to step down the increment, show/hide certain information, additional steps for time increment (orbital period is doable)... Did I miss anything? I'll have a big update out sometime this week to address all this. Anything I miss will have to go on the todo list and we'll go from there.

Link to comment
Share on other sites

Did I miss anything?

"Add ability to open last maneuver node gizmo via hotkey" - must be one of the top priority, IMHO. Because it's very common and annoying, when you edit maneuver node and it minimize suddenly... -_-"

Nevertheless, this in definetly one of the must have mods ever, thx you for it! ^_^

Link to comment
Share on other sites

"Add ability to open last maneuver node gizmo via hotkey"

Seconding this. That's the one feature I'm missing from the previous plugin I used.

I don't recall if the ability to directly edit the numbers is already available (i.e. punching values into a text box as opposed to just incrementing them via clicks or key presses), but that would also be nice to have.

Link to comment
Share on other sites

I got all of the above guys, thanks.

I actually had the maneuver node opening via hotkey working mid-Saturday; I had to find out how to construct a ManeuverNodeGizmo from scratch, which involved searching through a bunch of code in Xamarin's asset browser, which is terrible... Anyway...

I'm restructuring the mod slightly to support all these additions so I'm revising my previous "sometime this week" estimate to the time-honored "Soon" (consider also that I have a wife and kid :)) but in all honesty it shouldn't be that long.

Edited by regex
Link to comment
Share on other sites

Ohh, this editor feels easier and more intuitive to use than the Improved one due to the expected function of the buttons + and -, so many thanks for that!

After a few minutes I haven't gone into territories of needing different increments per value yet, but what I would like to have is the total, total dv (ie. sum of all nodes) and a way to "bypass" a selected node temporarily for A/B comparison.

Thanks,

A.

Edited by Andersenman
Link to comment
Share on other sites

what I would like to have is the total, total dv (ie. sum of all nodes) and a way to "bypass" a selected node temporarily for A/B comparison.

Trip planning, huh? How many nodes in advance do you normally plan and how much do you have to adjust them along the way? I've never seen any value in node planning because you can't make instantaneous precision burns and you'll always be fiddling with the forward nodes as you go. That being said, it's good idea for expanding the mod so I'll probably write it anyway.

Link to comment
Share on other sites

Two to three, tops. When I do it it's usually for checking the feasibility of longer missions, or crazy return plots. Mainly crazy return plots. True, as errors multiply with each node and SOI pass, planning becomes increasingly fiddly indeed, but it's very handy for ball-parking dv requirements.

Oh, also, if the UI could keep the conics mode selector open when there is no node planned, that would be comfy. And just because, maybe something that allows adjusting the patch draw limit on the fly?

Edited by Andersenman
Link to comment
Share on other sites

Hmm, an idea regarding textboxes and magnitudes. I was wondering how to combine the two and save space:

  • Enable changing a highlighted character or digit in the textbox with arrow keys UP and DOWN
  • UP adds, DOWN subtracts the digit's decimal power from the value in the textbox, ie. when changing a digit from 9 to 0 or vice versa, the next higher digit should change accordingly. Corollary:
    • Changing the leftmost digit from 9 to 0 will spawn the next higher digit, 1
    • Changing the leftmost digit from 1 to 0 will despawn this digit

    [*]If the digit/character is the decimal character, don't do anything, of course.

    [*]Depending on which digit is active, left or right of the cursor, when there is no character in that direction, don't do anything, either.

    [*]If the digit/character is the sign (+ or -), change it.

Optionally,

  • To make recognising the active digit easier, enable the use of key INS to switch between textbox modes INSERT and OVERWRITE; remember per program launch and populate for all (applicable) PreciseNode textboxes
    • OVERWRITE: change the digit under the cursor
    • INSERT: change the digit left of the cursor (or right, whatever is easier, I suppose)

Does that make sense?

Link to comment
Share on other sites

Does that make sense?

Yes, but I don't think Unity's GUI controls are sophisticated enough to handle that sort of functionality (and I'm not really willing to write that in my hobby time). If this were Swing, for instance, that would be no problem at all. I'm not entirely sold on the user-friendliness of that system anyway.

I have a few ideas for how to tackle it.

Link to comment
Share on other sites

Just quickly wanted to add that I'd also love a way to have the total delta-v for all currently existing nodes.

It's not necessarily for planning complex trips, but more for building an intuition what approach uses less fuel in total. So I can plan out one "route" and easily see the total delta-v, then try a different approach and also easily see the results. After doing that with a few voyages I hope I'd "get it" and would just be able to take the best route from the start without trying all options.

For this, being able to (temporarily) save/restore nodes would be fantastic, but I think I might be able to (mis-)use Kerbal Alarm Clock for that (and it's not worth implementing that just for this fiddling of mine).

Adding to my last post: directly accessing/setting the 'step size' via keyboard might be nice, but I wouldn't know where to put it (on the keyboard). But may I suggest the +/- keys on the numpad for increasing/decreasing the step size? Seems like a perfect fit, or are they used already for something?

As for hiding certain information (which I'd also appreciate), the way kerbal engineer just has an option for every single line is seems pretty nice (and doesn't clutter the actual interface with elements to allow hiding stuff).

Edited by Creat
Link to comment
Share on other sites

Just quickly wanted to add that I'd also love a way to have the total delta-v for all currently existing nodes.

For this, being able to (temporarily) save/restore nodes would be fantastic, but I think I might be able to (mis-)use Kerbal Alarm Clock for that (and it's not worth implementing that just for this fiddling of mine).

These fall under the trip planning proposed by Andersenman. I'll add in the save nodes idea, but whether it works or not depends on how I can make the UI work.

Adding to my last post: directly accessing/setting the 'step size' via keyboard might be nice

You can already do this, it's the "page increment" key and you can remap it to any key you want. I'll be adding a keyboard modifier to reverse the paging direction in the next version since you can only increment, and it wraps.

Link to comment
Share on other sites

You can already do this, it's the "page increment" key and you can remap it to any key you want. I'll be adding a keyboard modifier to reverse the paging direction in the next version since you can only increment, and it wraps.

No, I'm of course aware of that. What I meant was a direct selection for an increment. So (as an example) pressing alt+num1 for 0.01, alt+num2 for 0.1 and so on. But please just ignore this suggestion, I doubt it'll be that useful, especially once the reverse mapping is there it should be easily fast enough.

Link to comment
Share on other sites

No, I'm of course aware of that. What I meant was a direct selection for an increment. So (as an example) pressing alt+num1 for 0.01, alt+num2 for 0.1 and so on. But please just ignore this suggestion, I doubt it'll be that useful, especially once the reverse mapping is there it should be easily fast enough.

Yeah, I also feel like it would end up being control clutter. Thanks for the idea regardless.

Link to comment
Share on other sites

Long-term user of the "Maneuver Node Improvement" plugin here.

Thought I'd check this out as I read the thread a few weeks ago and have been meaning to evaluate it. A new KSP version is always a good opportunity to try out alternatives!

Initial impressions based on about 20 minutes of play:

  • Love the ability to switch between nodes. I don't often use multiple nodes due to the accumulated error in their execution. However, I do plot multiple maneuvers as part of an exploratory flight plan when slingshotting etc, and it's a neat trick to be able to quickly edit them and see knock-on effects. I'm actually finding that I'm attempting more complicated maneuvers now that I can simulate them with finer control.
  • Love the additional data readouts of ejection angle and dV. I would also second the suggestion for accumulated dV calculations (if possible).
  • The apoapsis/periapsis readouts are an absolute godsend. No more fiddling around trying to click the apo/peri points to get permanent readouts.
  • Although the increment is global, rather than per axis, I actually think this is more intuitive to use.
  • I also quite like the fact that it restricts itself to map view.

Great stuff, man!

Link to comment
Share on other sites

Long-term user of the "Maneuver Node Improvement" plugin here.

Side-note: I actually tried adding the ejection angle to Voneiden's mod but something in his GUI code resisted all my attempts to add a new field (it looked terrible and stopped rendering past a certain field) so that's why we have this one.

I would also second the suggestion for accumulated dV calculations (if possible).

It's definitely possible since the total delta-V is simply the node vector's magnitude. As you can see, we can page through maneuver nodes using the controls which also means we can do that programmatically, allowing us to simply iterate and add. :P The problem is in how to display it without cluttering the base window (which is rapidly approaching over-whelming). I think the Trip Planner feature will end up as a separate window you can open when needed, listing all the maneuver nodes currently planned along with the totals, times, and anything else that makes sense.

Thanks for the kind words!

Link to comment
Share on other sites

0.5 is now available. I reorganized and rewrote the OP so you can better see what has been done and what is available to you (hopefully). This version has a lot of the requests fulfilled but we've still got a ways to go to make it a full-on trip planner. Hopefully pretty soon in the grand scheme of things.

Let me know if you have any issues and enjoy!

Link to comment
Share on other sites

@regex may I borrow the increments button idea for MJ2 ?

I'm assuming you're asking in order to avoid the terms of the BSD license? Go for it; I learned a lot from the MJ code.

E: It's worth noting that the conics limit for a particular PatchedConicsSolver is a private int with no outside accessibility beyond the increment functions. This is why I don't have a display for it, although it would be relatively easy to do by reading the global conics limit. I'll be doing that for the next version because I just thought that up :P

E2: Oh, the increments! I had just woke up when I'd read your post, lol. Yeah, go for it.

Edited by regex
Link to comment
Share on other sites

Guest
This topic is now closed to further replies.
×
×
  • Create New...