Variants are data types that can store different types of values in them, as opposed to one fixed type. In contrast to a generic object or an untyped variable, there is a […]
Over 20 years of programming. From video games to communications; science to finance; compilers to business processes. Too many languages to even track anymore.
Here's looking to another 20 years towards mastery of the craft.
Let’s get into some technical details about how a layout engine works. We assume that we have a tree of elements that comprise the UI. Starting from the root node, we request […]
Images require various sizing modes to fit in a responsive layout. Here we’ll look at the relationship between the element and visual and the basic sizing options. I’ll also look at […]
In a distant memory I typed some text, pressed “Submit”, and had a blog post. Though simple, it lacked finesse; the articles lacked polish. With each article, I’d tweak my process, […]
A box model describes how to measure an element for layout. It defines what size is and how it relates to the content, margin and padding. It may seem trivial, but clear […]
A good UI design must accommodate the various device formats and resolutions that users have. Element placement cannot be absolute, but rather be constrained and expanded by the available space. Layouts […]
Layout determines how children are positioned and sized within their parent element. There are three approaches to placing child elements within a parent: Additive: The children combine to define the size […]
Devices have various physical resolutions and densities. One phone may be 10cm wide and have 800pixels across, while another may be 8cm wide and have 1200pixels across. A UI engine needs to […]
I chose Rust as the language for the Botters of the Galaxy contest. My code structure was suitable enough to get me to the final league, but I had a few […]
I made it to the top Legendary League in a bot programming contest. This is the first such competition I’ve done, with a language, Rust, which I barely know, and all while […]
Elements have either a natural size, a dependent size, or combination of the two. The size of an element influences its placement. The user and creator of a UI layout system must […]
Read Update #1 Syntax Error I addressed two problems since last update: A bad error message, and an image loading error. The bad error message was triggered when an unknown symbol […]
I fixed several issues with the vector drawing in Fuse. A few of them seemed somewhat obvious, so as with all such issues, I wonder why they were even there. In this […]
I’ve started a journey to make Leaf more visual. You may have seen some of my videos about complexity, complete with shaky mouse drawn lines. It’s simply not good enough, especially […]