All notable changes to Hyperspeedcube will be documented in this file.
The format is based on Keep a Changelog.
- Crash when starting timer on web
- Built-in timer (@JosieElliston #65)
- Glitchy window size on program start (@thatcomputerguy0101 #49)
- macOS universal binary (@thatcomputerguy0101 #51)
- Crash due to keybinds reference font size (#36)
- Fallback copy/paste on web (@milojacquet #37)
- Tweaked "Welcome" and "About" windows
- Incorrect key names on web
- Modifier keys sticking on web
- "Solved!" message not appearing most of the time
- Web version
- Configurable FPS limit
- Copy/paste commands
- File → Open from clipboard (Ctrl+V)
- File → Copy (.hsc) (Ctrl+C)
- File → Copy (.log) (Ctrl+Shift+C)
- "Click to copy" button on YAML editor
- Tweaked UI styling due to egui update
- Disabled VSync
- Opening log file passed via CLI arg
- Missing scrollbar on piece filters window
- Built-in "Next" and "Previous" presets for "Filter" keybindings (@Sonicpineapple)
- Tweaked default keybinds (@Sonicpineapple)
- Preferences not saving on macOS (@Edan-Purple)
- Keys staying held after window loses focus
- Incorrect key names on Linux (@picuber)
- Holding a key no longer twists the puzzle repeatedly (@Edan-Purple)
- "Clip 4D" option (enabled by default)
- "Realign on keypress" option (enabled by default)
- Keybinding command to select custom view presets (not bound by default)
- Easter egg
- Optimized rendering of invisible pieces; large puzzles now render more smoothly when many pieces are hidden (@Sonicpineapple)
- Incorrect YouTube link in welcome screen (@Leoongithub)
- Hovered sticker with off-center puzzle
- Selection of fallback graphics adapter
- Keybinds reference resizing being janky
- Official release
- Puzzle positioning settings in View settings
- Font size adjustment for keybinds reference
- Keybind sets whose names start with
^
are hidden from the Keybind sets tool
- Keybind sets UI is now (hopefully) more intuitive
- Filter commands now use icons in keybinds reference
- Typo in welcome screen
- Loading of older MC4D log files with invalid scramble state
- Scancodes now use evdev instead of XKB on Linux
- Welcome screen
- Built-in "Everything" preset for "Filter" keybindings
- MC4D-compatible log files are now saved correctly
- Edge twists now animate correctly
- Preferences migration
- Keybinding sets
- Customizable mousebindings
- Editing keybinds, mousebindings, and presets as plaintext YAML
- Option to align puzzle when mouse is released (disabled by default)
- "Smart realign" option that automatically applies the appropriate rotation to the puzzle based on mouse drag rotation before controls that depend on face locations (enabled by default)
- Option to save hidden piece opacity in piece filter preset
- Keybinding command to select custom piece filters (not bound by default)
- Button to bind Numpad Enter key
- Roll setting
- Tweaked piece filters UI
- Clicking on a filter now applies the filter
- Name of active filter is now highlighted
- Selected pieces are now unaffected by piece filters
- Rubik's 4D log file save/load
- 180-degree face twists are now saved correctly
- 1x1x1x1 non-face rotations are now parsed correctly
- Puzzle not rerendering when twist animation is skipped
- Copy/paste mistakes in preferences UI
- Selecting a layer using "Puzzle controls" no longer deselects other layers
- Dropdowns at the bottom of the keybinds list are now accessible
- Pressing enter after typing in a preset name now saves the preset
- Piece filter presets are no longer inverted
- Piece filtering by color and type
- Presets per puzzle
- Current filters save with
.hsc
log file
- Marking pieces using left click while holding Shift
- View settings presets
- New system for specifying layer masks that changes with the number of layers in the puzzle
- Modifier key toggle buttons tool
- Overhauled UI
- Most windows are now floating
- Reorganized preferences
- Renamed "selection" to "grip"
- Combined "Grip axis" and "Grip layers" commands
- Combined selection fade duration and hover fade duration preferences
- Default 3D keybinds for X, C, ,, and .
- Option to highlight only sticker on hover instead of whole piece
- Crash when scrambling a single-layer puzzle
- Preferences saving/loading now works again
- Option to hide frontfaces and backfaces in 3D puzzles
- Temporarily adjusting view angle with mouse drag
- Overhauled turn metrics
- Clicking outer stickers on 1x1x1x1 and 2x2x2x2 now executes 90-degree twists
- Preferences saving/loading is broken
- All cubic puzzles from 1x1x1 to 9x9x9
- All hypercubic puzzles from 1x1x1x1 to 9x9x9x9
- 180-degree twists (no keybinds by default)
- Log file import/export for all puzzles
- Use
.log
extension to save as MC4D-compatible log file
- Use
- QTM (Quarter Turn Metric) and ATM (Axial Turn Metric)
- Improved logging and fatal error handling
- Filtering by piece type
- Twist metric descriptions and implementations are now more specific and more accurate
- Scrambling (Ctrl+F)
- Clicking on a sticker to twist its face
- Left click twists counterclockwise
- Right click twists clockwise
- Middle click recenters the face
- Layer selections work as usual (e.g., Shift by default for wide moves)
- Solved state detection
- Animated opacity and outline changes
- Fine-grained outline settings
- Option to confirm discard only when the puzzle has been fully scrambled
- Reorganized preferences
- FPS limit setting
- Interactive keybinds reference
- Puzzle controls panel
- Improved battery usage when idling
- Improved outline rendering
- Improved 4D projection clipping at extreme values
- Tweaked default colors
- Automatic reloading of preferences file when modified externally
- 2x and 8x MSAA settings
- Transparent stickers now have the correct color
- Stickers now render in the correct order
- Single keypress can no longer perform multiple twists at once
- Blindfold mode (Ctrl+B)
- Customizable twist speed
- Lighting
- Changed color format in preferences file
- Tweaked default colors
- Tweaked UI
- Crash on startup on macOS
- Console window visible on Windows
- Overhauled UI
- Light/dark theme is now automatically detected from OS
- Preferences are now docked to the left side of the window
- Every preferences item has a reset button
- Help tooltips
- Outline width setting
- Hidden stickers opacity setting
- About window
- Preferences are now saved in
hyperspeedcube.yaml
in the same directory ashyperspeedcube.exe
by default. To continue using the old location, create a file namednonportable
(no file extension) in the same directory ashyperspeedcube.exe
. The old preferences file can be found in the following locations:- Linux:
/home/<user>/.config/hyperspeedcube/hyperspeedcube.yaml
- macOS:
/Users/<user>/Library/Application Support/Hyperspeedcube/hyperspeedcube.yaml
- Windows:
%APPDATA%\Hyperspeedcube\config\hyperspeedcube.yaml
- Linux:
- Dialogs hang on macOS
- Log file with no moves loads incorrectly
- Status bar
- Text indicating puzzle save/load and other events
- Twist count (QSTM, FTM, STM, ETM)
- Automatic reloading of preferences file when modified externally
- Customizable keybinds for undo, redo, etc.
- Reset (Ctrl+R)
- New Rubik's 3D (F3)
- New Rubik's 4D (F4)
- Preferences file format is not backwards-compatible. Existing custom keybindings will be erased when loading for the first time.
- Preferences loading is now more lenient with handling invalid/missing values
- HiDPI / display scaling (#2)
- Configuring font size no longer requires restart
- Puzzles
- Rubik's 3D (3x3x3)
- Rubik's 4D (3x3x3x3)
- Customization
- Graphics settings
- View/projection parameters
- Colors
- Keybinds for selecting (highlighting) various facets of the puzzles
- Keybinds for twisting the puzzle
- Import/export
- Can save/load MC4D log files for Rubik's 4D puzzle
- Undo history
- Undo (Ctrl+Z)
- Redo (Ctrl+Y or Ctrl+Shift+Z)