Skip to content

Conversation

mwerle
Copy link
Contributor

@mwerle mwerle commented Jun 16, 2025

DRAFT PR

The code still needs some cleaning up, but preparing a PR for initial review/commenting on the implementation and direction.

Specifically:

  • keep view-setting buttons on the bottom or move them into the left sidebar (the latter makes them more consistent with the Sector View)
  • if moved into sidebar, should they be converted to checkboxes or drop-downs, again, for consistency?

NB: Apologies for the massive commit which refactors/modifies a large part of system-view-ui.lua; it could probably have been committed in stages to make it easier to review, but ultimately it was an iterative work which resulted in the current code.


Fixes #6170 (see issue for screenshots; before, during, and final)

After the trivial work of adding the missing values, some of the values were shown using icons instead of text labels due to the Object Info window being too narrow (constrained by the time control buttons).

So the Object Info window was converted to a Sidebar Module and added to the left sidebar, which displayed nicely, but prevented being able to click through system objects using the overview window while seeing the object information.

So the entire view was rewritten to be more in-line with the sector map:

  • right-side button bar moved to bottom-center
  • right-hand sidebar created
  • sidebar Object View moved to right sidebar
  • Orbit Planner converted to sidebar module and added to right sidebar
  • a new settings sidebar module was created and the view settings buttons copied into it (Proof-of-Concept)
  • some other minor tweaks, such as renaming the translate-button when in the System Overview mode

mwerle added 3 commits June 16, 2025 21:53
Add better formatting for Earth Masses and Solar Masses, but leaving it
disabled as not all unicode characters are supported in the in-game fonts.

Add space for the "atmosphere" formatting.
- move the button bar to the bottom center
- create a right-hand bar to contain the object info and orbit planner
- remove obsolete windows

TODO:
- code cleanup
- save and restore display settings
@sturnclaw
Copy link
Member

I like the orbit planner as a sidebar widget; I think that makes a lot more sense and removes a barrier to modernizing its functionality.

The "settings" buttons are tristate and could perhaps benefit from being made combo widgets (i.e. dropdowns) in the settings tab, but I'm unsure if that would hurt discoverability and ease of access as toggling ship display specifically is a somewhat high-frequency operation.

For consistency with the sector map, the object info and system overview widgets should swap sidebar sides. That more closely matches both the WorldView's placement of the system overview widget, as well as the general pattern from the SectorMap with object info being on the left and search/selection controls on the right. Additionally, it allows using the economy display widget with the overview open as well.

@mwerle
Copy link
Contributor Author

mwerle commented Jun 17, 2025

The "settings" buttons are tristate and could perhaps benefit from being made combo widgets (i.e. dropdowns) in the settings tab, but I'm unsure if that would hurt discoverability and ease of access as toggling ship display specifically is a somewhat high-frequency operation.

That's why I left this open as a question and copied the buttons for now instead of moving them / converting them to drop-downs until I got some feedback. I just felt it was more consistent with the Sector Map view to have them in the sidebar..

I didn't realise people would toggle the ship display constantly, I thought people would choose one and leave it. Perhaps it's more likely people would toggle ship lines on/off rather than ships themselves?

Also, these settings should probably be saved; it's a little bit annoying having to enable the grid every time I open the game, for example.

For consistency with the sector map, the object info and system overview widgets should swap sidebar sides.

Done (db24d60):

image

@mwerle
Copy link
Contributor Author

mwerle commented Jun 17, 2025

One issue is that object icons and labels are not being dimmed behind the sidebars. The same happens in every view..

Is there a way to raise the z-order of the sidebars to be on top?

@impaktor
Copy link
Member

impaktor commented Jun 18, 2025

I don't think we write out the full name of the setting, usually. Basically because then Germans come with their impossible long words, like: über-den-shipen-waffen-getrinken-displayung-jawhol-bitte-sehr

456245250-3114b9dd-abb9-4cff-95ea-899eb49dec46

@mwerle
Copy link
Contributor Author

mwerle commented Jun 18, 2025

I don't think we write out the full name of the setting, usually. Basically because then Germans come with their impossible long words, like: über-den-shipen-waffen-getrinken-displayung-jawhol-bitte-sehr

🤣

As a german, I resemble this remark! And while the sentiment is not entirely inaccurate, Pioneer does have labels for settings everywhere else in the UI. Just open the main settings dialog, for example. Or, closer to home as it were, the Settings tab in the Sector Map.

Anyway, this is currently only a placeholder to determine how / where to have these settings. For consistency with the Sector Map, they should be in a sidebar panel.

@sturnclaw
Copy link
Member

That's why I left this open as a question and copied the buttons for now instead of moving them / converting them to drop-downs until I got some feedback. I just felt it was more consistent with the Sector Map view to have them in the sidebar..

I didn't realise people would toggle the ship display constantly, I thought people would choose one and leave it. Perhaps it's more likely people would toggle ship lines on/off rather than ships themselves?

Ship display is a common toggle (usually for mission purposes), and having it enabled it has performance implications. Full ship display with orbit lines is very inefficient right now and can cost multiple milliseconds of frame time even on high-end computers. Grids and L-points on the other hand have almost no gameplay purpose, and are rarely toggled in my experience.

Continuing discussion from IRC, my feedback/design decision is that we should retain a two-state button in the action bar (with a keyboard shortcut... eventually) which toggles display of ships (and hyperspace clouds) globally on/off.

Control of whether to render ship lines should be set with a combo or checkbox in the sidebar, defaulting to off (for performance and visual clutter reasons).

Control of whether to render arrival only, departure only, or all hyperspace clouds should be set in the sidebar as well. This ideally should be a dropdown (ui.combo(), uses zero-based indices) with three distinct options.

Each of these settings will only have an effect when the master toggles for ships and hyperspace clouds (respectively) are enabled.

Display of grids and lagrange points should also be combo boxes in the sidebar.

There is a premade UI style for themed combo boxes present in master; it's used in the sector map and can be accessed like so:

local comboStyle = require 'pigui.styles'.combo

comboStyle:withStyle(function()
    ui.combo(...) -- or ui.comboBox if you want to manually submit contents without an array
end)

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

System overview and map are missing surface temperature and pressure values
4 participants