Skip to content

Miscellaneous GUI polishing#6644

Open
athariqk wants to merge 26 commits intomasterfrom
fix_up_gui
Open

Miscellaneous GUI polishing#6644
athariqk wants to merge 26 commits intomasterfrom
fix_up_gui

Conversation

@athariqk
Copy link
Copy Markdown
Member

@athariqk athariqk commented Jan 18, 2026

Brief Description of What This PR Does

Hi everyone, this is my first PR in quite a while.

This PR polishes several elements of the UI that may stand out to keen players. Polishing includes tidying up UI elements and improving UI animations for better player experience, with work focused on the microbe stage UI.

I have made two notable changes that may require agreements:

  • Buttons by default now have font size of 16 px.
  • Main menu and pause menu buttons specifically use the old button style variant with the 20 px font size.
  • Grabber SVGs have bigger resolution now (downscaled on import). I think this helps with accentuating the fine details, even if slightly.

There are many more changes I would like to make, but it'd be wise to separate them into many PRs.

The following is some still image comparisons of old vs new:

Slider/Grabber
Old New
Screenshot 2026-01-17 231230 Screenshot 2026-01-17 222001
Check button (reverted)
Old New
Screenshot 2026-01-17 231324 Screenshot 2026-01-18 140123
Microbe HUD
Old New
Screenshot 2026-01-17 231551 Screenshot 2026-01-17 223106
Organelle popup menu
Old New
Screenshot 2026-01-18 135418 Screenshot 2026-01-17 223206

Related Issues

N/A

Progress Checklist

Note: before starting this checklist the PR should be marked as non-draft.

  • PR author has checked that this PR works as intended and doesn't
    break existing features:
    https://wiki.revolutionarygamesstudio.com/wiki/Testing_Checklist
    (this is important as to not waste the time of Thrive team
    members reviewing this PR)
  • Initial code review passed (this and further items should not be checked by the PR author)
  • Functionality is confirmed working by another person (see above checklist link)
  • Final code review is passed and code conforms to the
    styleguide.

Before merging all CI jobs should finish on this PR without errors, if
there are automatically detected style issues they should be fixed by
the PR author. Merging must follow our
styleguide.

> Fix up the check button icon.
> Add a new button type variant: BigFontButton, which is used by the buttons in Main Menu.
> Make CheckButtons flat.
> Make margins and font sizes consistent.
This enforces 16x16 size for all UI that displays check icons, ensuring
consistency and not relying on manual icon size overrides in Controls
Increasing original SVG size while scaling down the SVG in godot import
seem to provide better quality (more details) on the UI.
This should give a more "satisfying" feel.
With a proper check button icon now used in `thrive_theme.tres`, this
change should make existing check button instances look more normal.
> fix keyprompt minimum size and icon positioning
> remove PointLight2D node which no longer works (this was for a
masking effect)
> improve transition animations a bit
> add autowrapping in case title gets too long (common in non-english
languages)
> set left alignment for the value labels on compound progress bars
> tweak show/hide animation's easing value
> adjust text alignment and autowrapping
> this includes fixing a `call method` keyframe targetting the wrong Node.
> expand/collase animation is now more smooth
timeline panel

This should remove the unnatural small gaps on the panel's vertical borders.
@revolutionary-bot

This comment was marked as resolved.

@hhyyrylainen hhyyrylainen requested review from a team January 18, 2026 08:35
@hhyyrylainen hhyyrylainen added this to the Release 1.0.1 milestone Jan 18, 2026
@Patryk26g
Copy link
Copy Markdown
Contributor

I think that visually these changes look really good

Copy link
Copy Markdown
Member

@hhyyrylainen hhyyrylainen left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I didn't check all the changed animations and other minor changes in the game yet as if the button size is tweaked further that'll be when I'll focus my testing energy.

Copy link
Copy Markdown
Member

@hhyyrylainen hhyyrylainen left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I think I managed to check all the GUI changes. Many of them are good, but I noticed some problems, most critical of being checkbox focus style not working at all anymore.

focus_next = NodePath("../BackButton")
focus_previous = NodePath("../../HBoxContainer3/MarginContainer2/MarginContainer/VBoxContainer/PageTree")
focus_previous = NodePath("../../HBoxContainer3/Control/PanelContainer/MarginContainer/VBoxContainer/PageTree")
toggle_mode = true
Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I would expect this if the toggle mode is kept to be the opposite, i.e when active and sidepanel is shown then the button is in pressed state. Otherwise the toggled state is like the opposite than it should be.

And personally that kind of seems strange so, I think I'd prefer to not give this the toggle mode attribute...

Copy link
Copy Markdown
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Ah, this is accidental, it was left over from me experimenting. Thanks for noticing.

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I think something here is causing quite an ugly black line overlapping the nicely curving bit here:

image

I noticed that the scroll bar is no longer fully within the container like before which avoided the clipping of the parent container's edge.

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Also the bottom of the report tab now doesn't line up with the patch map tab. So when swapping between the tabs the bottom of the main "content" shifts up and down a few pixels which is distracting.

This is the part I'm talking about:

image image

It now does match the editor tab so I guess patch map tab needs a slight height fix?

Copy link
Copy Markdown
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I think something here is causing quite an ugly black line overlapping the nicely curving bit here:

I can fix this one, should be as easy as setting the corner radius.

I noticed that the scroll bar is no longer fully within the container like before which avoided the clipping of the parent container's edge.

Unfortunately, I think this is unavoidable. But the justification is so that the actual content in the container does not get clipped abruptly at the borders, which was caused by the margins applied. As seen below:

Screenshot 2026-01-21 214618

Versus (margins removed):

Screenshot 2026-01-21 214102

This looks more natural and is common in every other UI, although scrollbar do get squished at the border.

Copy link
Copy Markdown
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Also the bottom of the report tab now doesn't line up with the patch map tab. So when swapping between the tabs the bottom of the main "content" shifts up and down a few pixels which is distracting.

Apparently, all the three screens are inconsistent lol. I found the problem though; it was incorrect control sizing. The fix was reapplying full rect anchors for all three screens.

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This looks more natural and is common in every other UI, although scrollbar do get squished at the border.

Honestly, I'd prefer to keep using the margin-based view then as it avoids scrollbar clipping, because otherwise I think the rounding needs to go as it looks extremely sloppy that a scrollbar cuts into the border of the container it is in.

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I'm not exactly sure what line it is, but this change has broken focus style on checkboxes, which is a pretty critical error.

This Mute checkbox has focus but the player cannot see it:
image
(the font colour is ever so slightly different, but you cannot tell)

Less critically I'm not yet fully sold on wider toggle buttons than they need to be.

Copy link
Copy Markdown
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I'm not exactly sure what line it is, but this change has broken focus style on checkboxes, which is a pretty critical error.

So, I somehow replaced the focus style with an empty stylebox...

Less critically I'm not yet fully sold on wider toggle buttons than they need to be.

Which toggle buttons do you mean?

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

All of them as this is the theme definition. There's now quite many pixels of extra padding on the left and right side of the content:

image

(I highlighted in red where the extra padding is added that doesn't exist on the master branch version)

Button/colors/font_color_disabled = Color(1, 1, 1, 1)
Button/colors/font_color_hover = Color(1, 1, 1, 1)
Button/colors/font_color_pressed = Color(0, 0, 0, 1)
Button/colors/font_color_pressed = Color(1, 1, 1, 1)
Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

It seems like this doesn't actually do anything? I'd revert this because I think it is good that button font colour changes on click and this one line trying to undo that which doesn't work seems a bit confusing to leave in.

Copy link
Copy Markdown
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Yeah, this is non-functional... there's even another similar property named font_pressed_color which is probably the actual one being used. I guess we can safely delete this one.

@Patryk26g
Copy link
Copy Markdown
Contributor

Is this PR still worked on? If not, then I would borrow the changes to main game UI (the stop button) and the organelle upgrade UI

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

Labels

Projects

Status: In progress

Development

Successfully merging this pull request may close these issues.

4 participants