GUI scale settings, a reworked title screen, a faster color picker, theme colors that keep their own alpha, and glass behind translucent menus and widgets. Glass was tested on 1.21.4, 1.21.5, 1.21.6, 1.21.10 and 1.21.11. The last commit, which skips blur work that draws nothing, hasn't been run in game yet.
GUI scale
Three sliders under Settings → General, 0.5× to 2× relative to Minecraft's GUI scale: Title screen scale, Menu scale (mods, settings, cosmetics) and HUD menu scale (emote wheel, shift menu). Each screen picks its setting with SaturnScreen.getScaleSetting().
Above 1×, a screen stops growing once it would be smaller than 320×240 GUI pixels, like Minecraft's own scale.
A changed scale rebuilds the screen once the mouse is released, so dragging the slider doesn't replace it under the cursor.
The HUD editor stays in GUI pixels (getScale() returns 1) instead of undoing a hard-coded half scale.
Title screen
The shift menu's logo and small wordmark, with Singleplayer and Multiplayer close under them.
The account chip and a quit button in the top corners, the same height, and the version, smaller and fainter, in the bottom left.
A smaller dock: Mods, Cosmetics, the Saturn logo (opens the shift menu) and Minecraft's options.
The intro comes in in reading order, one Main Menu stagger apart: account, quit, logo, the two menus, version, dock.
Faded elements start hidden instead of at 10% opacity, so staggered items no longer show as ghosts before their turn (every screen).
Color picker
The square and bars were drawn one pixel at a time, about 10,000 fills a frame. They now stretch four gradient strips, made once, so a frame is about 5 draws.
Theme alpha
Panels, buttons, cards and tiles multiplied the Background and Primary colors by a fixed alpha, so they were always translucent. They now use the colors as they are; the defaults and presets carry the old translucency in their alpha (0xD1 and 0xB8), so nothing looks different until it's changed. Popups (dropdowns, the color picker, curves) stay nearly solid. A saved saturn.json with the old opaque colors shows solid panels until a preset is applied again.
Glass
RenderScope.drawGlassRectangle draws the blurred game behind a translucent background, cut to exactly the same rounded rectangle texture as the background (getRoundedRectangle), so the corners match.
Three blurs in Settings → General: World blur (the old Background blur, still faded in; its saved value resets with the rename), Menu blur for panels and the sidebar, and Widget blur for buttons, the dock, the account chip and the emote wheel's page control. Menu and widget blurs are fixed, not animated.
Glass is left out when the background is solid or its blur is 0, and Config.usesGlass() tells the version code whether any glass can be drawn.
The drawing itself is in the saturnclient PR, for every version.
Needs the saturnclient PR
A follow-up saturnclient PR points at this one's merge commit. It has the Fabric side of the GUI scale, and glass for 1.21.4 to 1.21.11 (GlassRenderer, the glass shaders).
GUI scale settings, a reworked title screen, a faster color picker, theme colors that keep their own alpha, and glass behind translucent menus and widgets. Glass was tested on 1.21.4, 1.21.5, 1.21.6, 1.21.10 and 1.21.11. The last commit, which skips blur work that draws nothing, hasn't been run in game yet.
## GUI scale
- Three sliders under Settings → General, 0.5× to 2× relative to Minecraft's GUI scale: **Title screen scale**, **Menu scale** (mods, settings, cosmetics) and **HUD menu scale** (emote wheel, shift menu). Each screen picks its setting with `SaturnScreen.getScaleSetting()`.
- Above 1×, a screen stops growing once it would be smaller than 320×240 GUI pixels, like Minecraft's own scale.
- A changed scale rebuilds the screen once the mouse is released, so dragging the slider doesn't replace it under the cursor.
- The HUD editor stays in GUI pixels (`getScale()` returns 1) instead of undoing a hard-coded half scale.
## Title screen
- The shift menu's logo and small wordmark, with Singleplayer and Multiplayer close under them.
- The account chip and a quit button in the top corners, the same height, and the version, smaller and fainter, in the bottom left.
- A smaller dock: Mods, Cosmetics, the Saturn logo (opens the shift menu) and Minecraft's options.
- The intro comes in in reading order, one Main Menu stagger apart: account, quit, logo, the two menus, version, dock.
- Faded elements start hidden instead of at 10% opacity, so staggered items no longer show as ghosts before their turn (every screen).
## Color picker
The square and bars were drawn one pixel at a time, about 10,000 fills a frame. They now stretch four gradient strips, made once, so a frame is about 5 draws.
## Theme alpha
Panels, buttons, cards and tiles multiplied the Background and Primary colors by a fixed alpha, so they were always translucent. They now use the colors as they are; the defaults and presets carry the old translucency in their alpha (`0xD1` and `0xB8`), so nothing looks different until it's changed. Popups (dropdowns, the color picker, curves) stay nearly solid. A saved `saturn.json` with the old opaque colors shows solid panels until a preset is applied again.
## Glass
- `RenderScope.drawGlassRectangle` draws the blurred game behind a translucent background, cut to exactly the same rounded rectangle texture as the background (`getRoundedRectangle`), so the corners match.
- Three blurs in Settings → General: **World blur** (the old Background blur, still faded in; its saved value resets with the rename), **Menu blur** for panels and the sidebar, and **Widget blur** for buttons, the dock, the account chip and the emote wheel's page control. Menu and widget blurs are fixed, not animated.
- Glass is left out when the background is solid or its blur is 0, and `Config.usesGlass()` tells the version code whether any glass can be drawn.
- The drawing itself is in the saturnclient PR, for every version.
## Needs the saturnclient PR
A follow-up saturnclient PR points at this one's merge commit. It has the Fabric side of the GUI scale, and glass for 1.21.4 to 1.21.11 (`GlassRenderer`, the glass shaders).
🤖 Generated with [Claude Code](https://claude.com/claude-code)
The title screen, the menus and the HUD menus (emote wheel, shift menu)
each get a scale slider, relative to Minecraft's GUI scale. The HUD
editor stays in GUI pixels.
Co-Authored-By: Claude Opus 5.5 <[email protected]>
Give the title screen the shift menu's logo and wordmark, bring the
menus up under it, and make the dock smaller with a settings item.
Co-Authored-By: Claude Opus 5.5 <[email protected]>
The account chip and a quit button go in the top corners and the version
in the bottom left, now smaller and fainter. Minecraft's options and
Saturn's settings take the HUD editor's place in the dock, and the intro
brings the menus and edges in after the logo. Faded elements now start
hidden instead of at 10% opacity.
Co-Authored-By: Claude Opus 5.5 <[email protected]>
The intro now comes in in reading order, one Main Menu stagger apart.
The account chip is as tall as the quit button, with a smaller head and
name, both sitting a little tighter in the top corners, and the Saturn
dock item opens the shift menu.
Co-Authored-By: Claude Opus 5.5 <[email protected]>
The picker drew its square and bars one pixel at a time, about 10,000
fills a frame. It now stretches four gradient strips, made once, over
them instead.
Co-Authored-By: Claude Opus 5.5 <[email protected]>
Panels, buttons, cards and tiles multiplied the theme's background and
primary colors by a fixed alpha, so they were translucent however the
colors were set. They now use the colors as they are, and the defaults
and presets carry the old translucency in their alpha instead. Popups
stay nearly solid so they're readable over panels.
Co-Authored-By: Claude Opus 5.5 <[email protected]>
Panels whose background isn't solid draw the blurred game behind them,
cut to the same rounded rectangle texture as the background, where the
version supports glass. Panel screens then leave the rest of the game
unblurred.
Co-Authored-By: Claude Opus 5.5 <[email protected]>
The world or panorama keeps its animated background blur, while glass
behind menus and behind widgets (buttons, the dock, the account chip)
each get a fixed blur of their own. Glass is left out when its blur is 0.
Co-Authored-By: Claude Opus 5.5 <[email protected]>
Blocking a user prevents them from interacting with repositories, such as opening or commenting on pull requests or issues. Learn more about blocking a user.
GUI scale settings, a reworked title screen, a faster color picker, theme colors that keep their own alpha, and glass behind translucent menus and widgets. Glass was tested on 1.21.4, 1.21.5, 1.21.6, 1.21.10 and 1.21.11. The last commit, which skips blur work that draws nothing, hasn't been run in game yet.
GUI scale
SaturnScreen.getScaleSetting().getScale()returns 1) instead of undoing a hard-coded half scale.Title screen
Color picker
The square and bars were drawn one pixel at a time, about 10,000 fills a frame. They now stretch four gradient strips, made once, so a frame is about 5 draws.
Theme alpha
Panels, buttons, cards and tiles multiplied the Background and Primary colors by a fixed alpha, so they were always translucent. They now use the colors as they are; the defaults and presets carry the old translucency in their alpha (
0xD1and0xB8), so nothing looks different until it's changed. Popups (dropdowns, the color picker, curves) stay nearly solid. A savedsaturn.jsonwith the old opaque colors shows solid panels until a preset is applied again.Glass
RenderScope.drawGlassRectangledraws the blurred game behind a translucent background, cut to exactly the same rounded rectangle texture as the background (getRoundedRectangle), so the corners match.Config.usesGlass()tells the version code whether any glass can be drawn.Needs the saturnclient PR
A follow-up saturnclient PR points at this one's merge commit. It has the Fabric side of the GUI scale, and glass for 1.21.4 to 1.21.11 (
GlassRenderer, the glass shaders).🤖 Generated with Claude Code