Jan 2024, post hiatus

No project work this month. I’ll stop posting until I have something to write about. (Nothing serious, just poor time management and the programming equivalent of writer’s block.)

Dec 2023

Made a dropdown box widget. The single-line text box widget started in November is mostly operational now. Merged the two scrolling register sets (scr, scr2) into one (just scr). uiGraphics: Added a wrapper to setScissor…

Nov 2023

I moved ProdUI to a public Git repo. It’s not ready for general use, but it should work with LÖVE 11.4, 11.5 and 12.0-development if you want to take a look. Wrote some UI Context…

Oct 2023

Reorganized the theming and skinning system: In August, I added special fields that described how to reach theme objects. For example, skin[“*tex_side”] = “textures/side” would eventually lead to the assignment skin.tex_side = resources.textures.side. This was…

Sept 2023

Wrote utf8Check and updated utf8Tools. I thought that Lua 5.3’s utf8.len() was suitable for validating strings in LÖVE, but it will allow some invalid code points through that LÖVE rejects, like surrogate pairs. Minor work…

Aug 2023

Rewrote drawing code for the tabular menu widget. It’s now easier to see the contents of dragged columns. Started a ListBox widget. Scroll bar improvements: Scroll bar breadth and button length can now be overridden…

Jul 2023

Updated QuadSlice to v1.3.0. This is a major rewrite, with better support for subsets of the 3×3 9-slice grid and the ability to toggle each tile on or off. Also updated Astro to v1.1.0, with…

Jun 2023

Wrote a pair of texture atlas modules. AtlasB uses a binary tree packing algorithm to fit rectangles into square layouts. AtlasQ uses a quadtree to place and remove sub-textures with power-of-two dimensions within a larger…

Apr 2023

Released Astro, a sprite container library for LÖVE. Updated RText (0.1.0 -> 0.1.1): Added Block Merge mode, which should result in smaller Document sizes (at the cost of more overhead during creation). ProdUI: I split…