Handmade Network»Andrew Reece

Recent Activity

I had a few minutes spare this morning so I rushed out a summary video of how MetaDocs is looking after the jam (apologies for lack of polish, I didn't have time to plan it out fully): https://youtu.be/kKppU0zcXjM


  • reading clang's AST from JSON into C structures, deduplicating repeated nodes
  • converting that into a more convenient structure for navigating symbols and their attached documentation comments
  • starting to autogenerate a markdown-like syntax for symbols and attaching the documentation text
  • evaluating constant expressions from the AST for enum values

Still to finish:

  • representing primitive types in the same way as custom types
  • finalising binary and JSON outputs
  • complete example translating to a final HTML
  • library methods to assist with references between documentation and symbols
  • proper scoping of types

quick new UI mini-feature for WhiteBox: see all the points in the execution timeline that correspond to a location in the code (i.e. there's a highlight for every time the instruction pointer hits the code under the cursor)

I was cheating a bit before by determining what functions need to be compiled before starting to run.

I've improved the communication between the processes running & overseeing the code execution: WhiteBox now has the option to defer a function's compilation until the first time it's called.

This opens up possibilities for optimization as well as adds support for using function pointers 😀

"WhiteBox ANNIHALATES Visual Studio in an EPIC debugger showdown" hmm maybe too much... "How the real-time feedback of WhiteBox will revolutionize the way you program" ... is this marketing? Am I doing it yet? 😁

This compares the process of getting feedback for a simple problem from a normal debugger and with WhiteBox. This is fairly low-hanging fruit as far as improvements go (conceptually at least), but I think it shows how much quicker & easier feedback should be for at least the common cases of writing code.

Jump to 1:20 if you just want to see how WhiteBox looks in use

It's been a while since I added any new features to WhiteBox (my real-time debugger), and I've been intending to implement a data timeline for ages: here it is in an early form 😀

People who've preordered will be getting a version of this in the next couple of days to start playing with.

I now have loads of information fairly easily queryable for adding new representations like this, before we even get to different types of data that we can collect!

I've just added a new feature to WhiteBox (my live code debugger/previsualizer) that's really been missing - the ability to add a length component to pointers, so that they can be treated as arrays 😀

For those unfamiliar, a quick overview of what's being shown here:

the code in the box in the top right is providing arguments for and calling the code in the editor to the left. the bottom-right section is a mutant debugger-like data-tree the values highlighted red are those that changed just before the "breakpoint" on the position of the cursor there are 2 values for the last 3 elements of array because both are seen at some point in the run when the instruction pointer reaches the cursor (there is only 1 value for the first element because it's already been scaled before the first time the instruction pointer reaches the cursor - my first reaction was that something was wrong, but I'm pretty sure this is correct - WhiteBox is already correcting my misconceptions 😁)

I also realised there aren't any new features to add before I send out to the preorderers! I just have a few things to tidy up and then we're good to go 😀 If you'd like to be one of the vanguard with imminent access to the (buggy) alpha version, you can preorder WhiteBox with a 35% discount here https://azmr.itch.io/whitebox

I've started to update the colourscheme for WhiteBox (my live code debugger/previsualizer). (I've yet to update the graphs) red highlights data changed in statement before the editor cursor position blue (and the graph) is showing all of the changes for a given variable

WhiteBox (live code previsualizer/debugger) now has global & per-variable data print options (proper cascading options and more UI feedback coming soon)

Variables that change in a loop shown inline - now working with struct members and eliding elements between the top and bottom 3 (easily changed to more/less)

Note the cursor is on line 11, before data.num has been set. Correspondingly, in the # (change number) column, there is one remaining change in value for data.num (which also means there's another change for data).

(if you're wondering why i has 33 values, it's because it's also recording after the final ++i, at which point the loop exits)

I added inline displaying of loop-value changes to WhiteBox. It's on it's way to something useful but definitely still needs some tuning

It's been a little while since my last devlog, so here's an update on some of the progress I've made.

an actual GUI! familiar debugger-like data tree graph and tree-based exploration of variable changes over a function. Let me know what you think! https://www.youtube.com/watch?v=lZX8I0w7jJ4

Right, after some feedback from a few people and with the perspective of a new day I decided that my previous video was unreasonably difficult to follow, so I've reuploaded it with commentary and a visual indicator of what I'm talking about at any given time. If you found the previous version a bit lacklustre, please give this one a try: https://youtu.be/4T11-B7jXIk

Although this doesn't look like much, it represents quite a few months of work. Apologies for the silence, hopefully it makes sense. https://www.youtube.com/watch?v=r7v2EcTVUVs

Andrew Reece
New forum thread: A few of my collected comments
Andrew Reece

successfully outputting MIDI with multiple instruments

Andrew Reece
New forum thread: Casey's C webpage generator
Andrew Reece

Colourblind shader demo (play both at the same time)

closeup through a slightly grubby 10x loupe

Got my blit16 font running on a tiny 128x32 LCD screen (via arduino)

New blog post: v0.62.0 OpenGL at last
Andrew Reece

Progress is slow (sneaking in 20 mins here and there), but I got OpenGL working with the main drawing. Need to tweak some parameters now, the points are all wrong 😛

Andrew Reece

woo, OpenGL finally working (and drawing the primitives I need)!

Andrew Reece
Andrew Reece
Andrew Reece

Slight change to show another feature at the start

Added a couple of helpful new features to geometer (e.g. selecting & deleting points!)

Andrew Reece
New forum thread: Delay in updates
Andrew Reece
New blog post: 02. Line Drawing
Andrew Reece
New blog post: 01. Overview
Andrew Reece
Andrew Reece
Andrew Reece
Andrew Reece
Andrew Reece
Andrew Reece
Andrew Reece
Andrew Reece
New blog post: 00. Greetings
Andrew Reece
Forum reply: CapsLock - rebind
Andrew Reece
Andrew Reece