-
Notifications
You must be signed in to change notification settings - Fork 70
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Advanced Navigation and Astrometrics #3373
base: develop
Are you sure you want to change the base?
Advanced Navigation and Astrometrics #3373
Conversation
This seems like good work offhand. I appreciate all the explanation and screenshots. That said, I don't know that I can justify adding it to Thorium's core. It's a lot of extra code that needs to be maintained for a relatively niche feature that I don't think anyone but the CMSC is going to use. It might be time to chat about the CMSC setting up a fork of Thorium that they (you) maintain separate from this repo. I'll slowly review this and let you know if I find anything egregious, but I think I'll need to be convinced to actually press the "Merge" button. |
Also, in the future, please submit many smaller PRs instead of one big one. It will make the feedback process much easier for all of us. |
Yeah, after I saw the add number I got all embarrassed. Thankfully about half of it is lock changes. As for a fork, I’ll chat with James about it. See what he wants to do. At that point we would need our own signing key and stuff if I understand correctly. (Maybe?) |
Not strictly necessary. I'm only signing it for MacOS, and it's easy enough to override the system protections for each computer you install it on. It wouldn't be affected at all on Windows. |
Description
We wanted to make Flight Control have a little bit more freedom in how they did their job, while also connecting them better with the crew.
These additions allow the flight control and whomever gets astrometrics to work together to plan complex routes through space, all while making sure the risk of those paths are justified. This allows Flight Directors to actively engage in the time during travel, while also helping to overcome all of the people who scan for ETA. Now you don't have to scan, because it tells you.
I was very proud of how this all turned out. I'll link a drive folder with all the screenshots of the various places. Feel free to reach out with any questions. Thanks!
https://drive.google.com/drive/folders/1CraZ1R5q3btg1L4ncspJIa3MzPUMd_nS?usp=sharing
Included in this PR are the following:
New Classes/Systems
FlightSet (Class)
A FlightSet contains the following to help power some of the other cards that will be discussed later.
These can now be created and managed through a new side icon.
FlightPath (Class)
A flight path contains all of the information needed to track distance to the location, as well as the speed, start, and exit options chosen for this path. It also can be used to determine the risk and speed of this particular path.
These are located in a FlightSet, and are only created during the flight.
AdvancedNavigationAndAstrometrics (System)
This class takes all of the data above, and holds the state to make things work inside the flight. It also replaces engine systems for the ship, as all things are now managed through this interface.
New config workflow
Flight sets config workflow
To help with the creation of flight sets, we've created a new flight sets config workflow that can be accessed on the main page.
The steps to this workflow are:
After creation, flight sets can be edited or deleted at will. (Though just like tac maps, should make sure any macros that use them are disabled. )
New Cards/Cores
Advanced Navigation
This card contains all of the UI to create a flight path, execute a flight path, and check out information about points of interest near you. Flight paths can change in their risk and speed if you decide to make a stop in another point of interest (Slingshot style).
Astrometrics
This card contains information about available launched probes, if they're assigned, if they have any data, as well as their remaining fuel cell count.
If you create a probe (that is not a probe network probe), and add the part "Extra fuel cell" to it, you'll be able to double the range of the probe. Sometimes you may not be close enough to a point of interest to have the probe reach it. You can ask your flight person to move closer to the point, or have them include it in a course so that you can drop off a probe.
Probe network probes are not included in the list of probes.
Macros
Viewscreens
AdvancedNavStars
We've forked the original stars card and made a new one, so that previous interactions would be untouched. It takes the current speed of the vessel in ly/sec and translates it into the stars component velocity format. 1 ly/sec being the maximum.
Other updates and fixes
To make the code transfer from my previous project, we needed to upgrade to react-scripts 4. So you should see some lock changes, as we did some updates across the board.
Tests have also be updated with the inclusion of saved flightSets.
Screenshots (if appropriate):
https://drive.google.com/drive/folders/1CraZ1R5q3btg1L4ncspJIa3MzPUMd_nS?usp=sharing
feature on the Thorium Docs
repo. (Include the issue or pull request url below.)
Once we get the green light, I'll update the docs with info on the new system.