UI bug fixes, and the screens the redesign didn't cover brought into the same style. Tested on 1.21.11.
Emote wheel
Fixed: the slot index was taken before the middle slot was skipped, so emote 5 never showed and emote 8 showed on two pages. Empty slots could also be clicked, playing a null emote.
Fixed: previews were tinted with the theme colors, almost black on hover. They now keep their own colors.
Emotes are tiles with their names, an icon when there's no preview (Front Flip has none), and page controls in the middle cell that only show with more than one page.
The wheel key closes the wheel too (in the saturnclient PR).
Buttons, Shift menu and title screen
Button is one translucent outlined style that brightens on hover; IconButton is its square icon version. They replace the PNG TextureButtons and no longer use Element.scale, which multiplied click positions instead of dividing them.
Shift menu: HUD editor, Mods (it was labelled "Settings") and Cosmetics.
Title screen: the logo over a compact stack of the game's menus; along the bottom, a player chip (skin face, name, Saturn connection dot), an icon dock for Mods, Cosmetics and the HUD editor, and the version.
HUD editor
HUDs are drawn as they are in game, background included, with no blur behind them. Each has an outline and name while hovered or dragged and a visible resize handle. Scale stays within its range and HUDs stay on screen, and a hint says how to use it.
Cleanup
Removed TextureButton, ClickableTexture, Text, Notification, FadeOut, SlideX, Utils.getOrNull, Element.duration, 17 old PNG icons and 26 unused Textures constants.
Needs the saturnclient PR
A follow-up saturnclient PR points at this one's merge commit. It adds SaturnProvider.getPlayerSkin for the player chip, and closes the emote wheel with its key.
UI bug fixes, and the screens the redesign didn't cover brought into the same style. Tested on 1.21.11.
## Emote wheel
- **Fixed:** the slot index was taken before the middle slot was skipped, so emote 5 never showed and emote 8 showed on two pages. Empty slots could also be clicked, playing a `null` emote.
- **Fixed:** previews were tinted with the theme colors, almost black on hover. They now keep their own colors.
- Emotes are tiles with their names, an icon when there's no preview (Front Flip has none), and page controls in the middle cell that only show with more than one page.
- The wheel key closes the wheel too (in the saturnclient PR).
## Buttons, Shift menu and title screen
- `Button` is one translucent outlined style that brightens on hover; `IconButton` is its square icon version. They replace the PNG `TextureButton`s and no longer use `Element.scale`, which multiplied click positions instead of dividing them.
- **Shift menu:** HUD editor, Mods (it was labelled "Settings") and Cosmetics.
- **Title screen:** the logo over a compact stack of the game's menus; along the bottom, a player chip (skin face, name, Saturn connection dot), an icon dock for Mods, Cosmetics and the HUD editor, and the version.
## HUD editor
HUDs are drawn as they are in game, background included, with no blur behind them. Each has an outline and name while hovered or dragged and a visible resize handle. Scale stays within its range and HUDs stay on screen, and a hint says how to use it.
## Cleanup
Removed `TextureButton`, `ClickableTexture`, `Text`, `Notification`, `FadeOut`, `SlideX`, `Utils.getOrNull`, `Element.duration`, 17 old PNG icons and 26 unused `Textures` constants.
## Needs the saturnclient PR
A follow-up saturnclient PR points at this one's merge commit. It adds `SaturnProvider.getPlayerSkin` for the player chip, and closes the emote wheel with its key.
🤖 Generated with [Claude Code](https://claude.com/claude-code)
The slot index was taken before the middle slot was skipped, so page one
showed emotes 0-4 and 6-8: emote 5 never appeared and emote 8 showed on
two pages. Emotes now fill the eight cells around the middle in order,
and slots past the last emote aren't drawn, so they can't play a null
emote.
Emotes show as EmoteTiles: the preview in its own colors (it was tinted,
almost black on hover), the name under it, an accent outline on hover, and
an icon when an emote has no preview. The middle cell holds the page and
its arrows when there's more than one page. Emote names and cosmetic names
share Utils.nameFromId.
Co-Authored-By: Claude Opus 5.5 <[email protected]>
Button is now primary (accent fill) or secondary (a translucent outlined
surface), and IconButton is a square secondary button with a Lucide icon,
replacing the PNG TextureButtons. Neither is scaled with Element.scale any
more, which multiplied click positions instead of dividing them.
The Shift menu is the HUD editor, the mod menu (its button was labelled
"Settings") and cosmetics. The title screen centers the logo over a
compact stack of the game's menus, with the player, a dock of Saturn's
screens and the version along the bottom. The player chip shows the
player's face from their skin and whether they're connected to Saturn.
Co-Authored-By: Claude Opus 5.5 <[email protected]>
Buttons no longer have a primary style: every button is the translucent
outlined surface that brightens on hover, and only an icon button's icon
takes the accent color. The title screen's dock shows just its icons.
Co-Authored-By: Claude Opus 5.5 <[email protected]>
HUDs are drawn as they are in game, background included, through the
new HudModPreview.draw, and the world behind the editor isn't blurred.
Each has an outline that turns the accent color with the mod's name while
hovered or dragged, and a visible resize handle that's easier to grab.
Scale stays within its range and HUDs stay on screen, and a hint says how
to use the editor.
Co-Authored-By: Claude Opus 5.5 <[email protected]>
TextureButton, ClickableTexture, Text, Notification and the FadeOut and
SlideX animations only Notification used, Utils.getOrNull and the
commented-out notify, Element.duration, the 17 PNG icons the Lucide SVGs
replaced, and the Textures constants for them and for files that don't
exist.
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.
UI bug fixes, and the screens the redesign didn't cover brought into the same style. Tested on 1.21.11.
Emote wheel
nullemote.Buttons, Shift menu and title screen
Buttonis one translucent outlined style that brightens on hover;IconButtonis its square icon version. They replace the PNGTextureButtons and no longer useElement.scale, which multiplied click positions instead of dividing them.HUD editor
HUDs are drawn as they are in game, background included, with no blur behind them. Each has an outline and name while hovered or dragged and a visible resize handle. Scale stays within its range and HUDs stay on screen, and a hint says how to use it.
Cleanup
Removed
TextureButton,ClickableTexture,Text,Notification,FadeOut,SlideX,Utils.getOrNull,Element.duration, 17 old PNG icons and 26 unusedTexturesconstants.Needs the saturnclient PR
A follow-up saturnclient PR points at this one's merge commit. It adds
SaturnProvider.getPlayerSkinfor the player chip, and closes the emote wheel with its key.🤖 Generated with Claude Code