Skip to content

Latest commit

 

History

History
140 lines (108 loc) · 5.69 KB

CHANGELOG.md

File metadata and controls

140 lines (108 loc) · 5.69 KB

Changelog

All notable changes to this project will be documented in this file.

The format is based on Keep a Changelog, and this project adheres to Semantic Versioning.

[0.4.1] - 2023-01-17

Fixed

  • The parser used to get confused by anonymous matrices, so something like [1 2; -3 -1]^2 wouldn't actually include the squaring. This is now fixed.
  • When animating a sequence with transitional animation, we now reset if the start and target matrices are the same

0.4.0 - 2022-11-17

Added

  • Input and output vectors can now be shown or hidden independently
  • Installers for Windows and Linux
  • The option to let lintrans update itself in the background
  • The display settings and input vector position are now saved as part of the session file
  • Matrices can now be undefined from the Show defined matrices dialog
  • You can now go back through previously used expressions using the up and down arrow keys
  • You can now use anonymous matrices (using numerical entries directly without needing to define a named matrix). See the tutorial for details
  • The input and output vectors now appear in the visual definition dialog, and are translucent
  • You are now always prompted to save the session upon exiting, even if you hadn't already saved
  • You can now edit the size of draggable points and the snapping distance for integer coordinates
  • Display settings now persist between sessions, but can still be reset to defaults
  • Allow snapping to be toggled on and off

Fixed

  • Reset the polygon when the session is reset
  • Definition dialogs now choose the first undefined matrix by default
  • When loading a session file, lintrans will now use defaults for any missing parts

0.3.0 - 2022-08-23

Added

  • Qt5 and PyQt5 version numbers to the About dialog box
  • Basis vectors now snap to integer coordinates in the visual definition dialog
  • Allow for transitional animation in sequential animation (comma syntax)
  • Info panel to display defined matrices
  • Icon for window and taskbar
  • Implement saving and loading session files
  • Add comprehensive crash reports
  • Add parentheses to the numerical definition dialog
  • Make display settings resettable
  • Save sessions and crash reports to a specific place in the user's home directory
  • Add Quit action in File menu
  • Add option to label i and j basis vectors
  • Add user-friendly bug report and feature suggestion forms that don't require a GitHub account (Help > Give feedback)
  • The user can now define an arbitrary polygon and see its transformation
  • Saved sessions should now work between lintrans versions
  • Add usage tutorial
  • Add compilation tutorial
  • The user can now drag an input vector in the main viewport and see its transformed output

Fixed

  • Make program compatible with Python 3.8 and above
  • Make link to documentation in help menu actually link properly
  • Fix bug with stretches being detected as rotations
  • Cancel animation before closing to prevent the app hanging in the background
  • Make matrices with a column of 0s only render 1 rank line
  • Reduce memory usage by automatically deleting closed dialogs
  • Fix bug with matrices that are too small creating lag with too many lines
  • Fix bug that caused crashes when animating very large matrices
  • Fix bug where validate_matrix_expression would return True, but the expression was unable to be parsed, causing a crash
  • Fix crash when animation time was 0
  • Fix bug where animations would reset to I if the user reset before animating
  • Fix bug that would cause a crash if a matrix indirectly referenced itself

0.2.2 - 2022-07-04

Added

  • Add options to hide background grid, transformed grid, and basis vectors
  • Fully respect display settings in visual definition widget
  • Support parenthesized sub-expressions as matrix identifiers
  • Add proper rotation animation that rotates at constant speed
  • Allow animation time to be varied

Fixed

  • Improve command line argument handling
  • Fixed bug with premature rot evaluation in sub-expressions

0.2.1 - 2022-03-22

Added

  • Explicit @pyqtSlot decorators
  • Link to Qt5 docs in project docs with intersphinx
  • Copyright comment in tests and setup.py
  • Create version file for Windows compilation
  • Create full compile.py script
  • Add Info.plist file for macOS compilation
  • Support --help and --version flags in __main__.py
  • Create about dialog in help menu
  • Implement minimum grid spacing

Fixed

  • Fix problems with compile script
  • Fix small bugs and docstrings

0.2.0 - 2022-03-11

There were alpha tags before this, but I wasn't properly adhering to semantic versioning, so I'll start the changelog here.

If I'd been using semantic versioning from the start, there would much more changelog here, but instead, I'll just summarize the features.

Added

  • Matrix context with the MatrixWrapper class
  • Parsing and evaluating matrix expressions
  • A simple GUI with a viewport to render linear transformations
  • Simple dialogs to create matrices and assign them to names
  • Ability to render and animate linear transformations parsed from defined matrices
  • Ability to zoom in and out of the viewport
  • Add dialog to change display settings