NOTE: You'll quickly notice that you can't interact with any of the UI elements yet. Worry not as this will come fairly soon. Until then, there's not much reason to use this in your own projects, but I still thought the mechanics behind it were interesting enough to share. ABOUT: This project is a re-imagining of the pen-rendered toggle switches I released on my other account. Since I already knew I could create a functional version of the concept, this time around I focused on creating a library that would be easy for anyone to use in their own projects even if they didn't know how it worked. INFORMATION: So what's different? Well, last time you added UI elements by calling a procedure in a loop. The arguments were the x position and y position, as well as an index that was used to keep track of which element was which. This time I took a fundamentally different approach. Rather than customizing the UI in the loop that draws it, you use the 'define' procedure to add an element to the UI. To define an element, you provide a 'tag', a 'type', an 'x position', and a 'y position'. The last two are self-explanatory, but I'll explain the other two. The 'tag' is an arbitrary string representing the name of the element, which is used when changing its value and the like. The 'type' determines what the element is, and can currently be any of the following: • 'slider' - lets you input a value in a range • 'toggle' - lets you toggle a boolean's state Once the elements are defined, they track their own values and can be drawn to the screen with the 'draw ui' procedure. UNDER THE HOOD: The astute among you will have noticed the 'elements' list on the left of the stage. This is where any declared elements reside. Each element takes up 5 list items: one for its 'tag', one for its 'type', one storing its 'value', and two for its coordinates. The 'draw ui' procedure iterates over each element, drawing it with the procedure corresponding to its type. I'll be happy to answer any questions you may have, but I'll refrain from going into any more detail here as the code is thoroughly commented and well-organized. For this reason, this is actually a pretty good project to take a closer look at if you've had any issues understanding my code in the past.