Mar 2025

The new WIMP demo design. WIMP Demo Moved demo plan files to a subdirectory, and redesigned the demo to shift emphasis from window frames to embedded panels. Cleaned up the debug information that was printing…

Feb 2025

A ProdUI workspace test. The snowy background is tied to a workspace render callback, so it only appears when its associated workspace is active. ProdUI Development Changed how widgets are initialized. Previously, the addChild() method…

Jan 2025

Libraries LXL: Attributes with #FIXED defaults are no longer overwritten. ProdUI Broadened the scope of menus to include full widgets as items. Some menus benefit greatly from having extensible components, and previous attempts to extend…

Nov 2024

Added a multi-state checkbox Minor tweaks and fixes to NumberBox, ComboBox and TextInputSingle Cleanup of TreeBox, ListBox code. Some work on PropertiesBox. Renamed ‘lib/depot.lua’ to ‘ui_load.lua’. Depot was a resource loading library which I don’t…

Sept 2024

I noticed that LXL is slow when reading large XML files under PUC-Lua. The problem is caused by how the library scans the document for valid XML code points. I made some changes to help…

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…