Skip to content

Releases: bennett-nguyen/KAY

v0.8.1

14 Sep 09:07
Compare
Choose a tag to compare

Version 0.8.1

This patch includes a new command error-handling system. By overriding the default argparse.ArgumentParser.exit(), this will now raise a CommandException for the CommandManager to catch instead of exiting the application. The new parser is called ArgumentParserNoExit. Other than that, if the parser detects any argument errors like invalid type for example, the parser will raise an ArgumentError and it's the responsibility of CommandManager to catch that as well.

I also reworked the line-drawing algorithm by adding anti-aliasing. Now the lines that connect the nodes will look 100000x smoother than before.

Changes

2a0abd6: New command error-handling system.
79f136c: Anti-aliasing for line-drawing.

v0.8.0

12 Sep 13:47
Compare
Choose a tag to compare

Version 0.8.0

This version introduced a new command processing system and added commands so users can freely interact with the app.
Each command has its own parser implemented using the argparse Python library and they can access the states of the app to change the app's behavior. This version only includes basic command support, command error handling is not yet a feature and the app may exit on error.

This version also changes the roles of some components. Particularly, Model is now changed to AppState so that it only holds the states and data of the app (rendering, theme management, tree management, etc.). This change is critical as it allows commands to modify certain stuff within the app.

I'm too lazy to describe what has changed so here's the changelog.

Changelog

154d130: Restructured the codebase and add a base class for implementing commands. I also created some basic commands for interacting with the tree and stuff.
627cf36: Restructured the codebase again and added even more commands. This also includes rendering access from the AppState for highlighting-range
658a620: Docstrings to the win! (+ a description attribute for QueryFunction)

v0.7.0

09 Sep 14:25
Compare
Choose a tag to compare

Version 0.7.0

This version introduces a lot of breaking changes to the app, mainly to replace the old command line system with a new one that is easier to program and maintain in the future. Along with that, I also ditches some UI implementation in the previous version to make it less bloated.

The app now has some QOL updates after a year of inactivity:

  • Window resizing;
  • Dynamic FPS - frame rate will automatically set to lowest if the window is not focused;
  • Better module management;
  • Resizable window.

Changes

05379fb: Removed basically everything about the old command line system.
9fc2dbf: Added the infrastructure to change the segment tree's query function, the front-end to interact with this will be implemented via a command in the new command line system.
74b7444: Rewritten the tree drawing part using BFS and merged finding hovered node into this process as well.
d9d221f: Added tree zooming.
4d7a6c7 & 21dc56a: Added more code documentation.
05379fb: Restructured the project files and revamp the codebase once again to make importing stuff less of a hassle.
45613ca: Fix that one minor inconsistency in the requirements.
bba0bfe: Added window resizing support, also the window now has its own class.
d8fd64a: Completed the front-end for inputting commands.

v0.6.1

07 Sep 02:21
Compare
Choose a tag to compare

This is the last version which still implement the pygamegui GUI engine. From this version onwards, the app will be rewritten entirely using a new GUI engine with a simpler user interface.

This version includes some patches and minor optimizations.