# Marble Machinations Change Log Game store page: https://crispypin.itch.io/marble-machinations ## [unreleased] ### added - create "missing levels" section allowing access to solutions to levels that are no longer available - click to collapse chapters in level list - input bindings for eraser (X), selection (B), blueprint list (Ctrl B), no tool (no default binding) ### fixed - when start and stop are bound to the same thing (as by default), only start works - When two input bindings had the same trigger but one has a strict subset of the others modifiers, both would activate when the one with more modifiers was pressed. For example (Ctrl+S -> Save) would also trigger (S -> Wire Tool). Now, Shift+S will still trigger Wire Tool, unless Shift+S (or eg. Shift+Ctrl+S) is bound to something else. ## v0.3.1 - 2025-04-05 ### fixed - broken area calculation causing crash when completing a level with a machine wider than it is tall ## v0.3.0 - 2025-04-04 ### added - score number: bounding area - configurable key bindings for many editor actions - QWERTY+ASDFGH key bindings for the tile tools by default - OS clipboard copy/paste, with fallback to old behavior when copying - cut selection - in-grid text comments (not yet editable in-game) - changelog file - (dev) sub-tick visualisation in debug mode - (dev) tests and benchmarks ### fixed - equal comparator did not output one of two incoming signals in some cases, depending on wire length and update order ### changed - made early levels (1-5) easier and more tutorial-like - comparators can now power other tiles without a wire between, including other comparators - directly moving marbles (to adjactent tile without anything between) now have priority over new marbles being created, instead of the two events cancelling each other ## v0.2.1 - 2025-03-14 ### added - "Simple comparison" level ### fixed - phantom marble (empty tile causing other marbles to bounce away) appearing after multiple machines tried to output to the same location at once ## v0.2.0 - 2024-12-24 *everything else*