This week was mainly spent with preparing for the next major release and upgrading stuff. Nothing fancy was done this week, just hard work: code cleanup, testing, and some streamlining:
- A pretty old issue was finally closed: the
TextArea
was refactored and now it implements the Operational Transformation model for text editing. - Added
ComponentMetadata
which holds all the necessary data forComponent
s. This greatly simplified the wayComponent
s are created - Fixed an error in the
RadioButton
which was reported by @Milo - Added
Observable
which is just a pub/sub tool for event handlers - Now you can have
Position
s with negativex
andy
coordinates. This was an unnecessary limitation as /u/coldwarrl pointed out so we removed it and added checks where negativePosition
s wouldn’t make sense - Fixed
Boundable
because it was a code smell for a long time now. It turned out that some classes likeTileGrid
andTileGraphics
don’t needBoundable
at all, they just need a simpleSize
(width
+height
). This lead to a significant simplification in code. - Introduced
TileComposite
which is the common parent ofTileImage
andDrawSurface
. This was also a code smell which I had no proper solution for a long time, but now everything is in place - The JaCoCo setup for coverage was also upgraded. Now it properly reports coverage data
- Since we are close to release and all the features are complete it is customary to refurbish tests. 3 bugs were luriking in the codebase (so far) which got fixed after tests were added for some cases. I was surprised to see that Zircon now almost has 1000 tests in place.
- The
Builder
s got cleaned up and their API got streamlined. - We’ll add Kotlin builders for Kotlin users soon next to the Java-friendly
Builder
s we have currently.
A next major release is coming up for this Autumn, so stay tuned.
Do you have questions? Ask us on our Discord Server.
If you like what we do and want to support us consider becoming a Patron.