I've been misunderstanding what Text objects are. They can render a lot
of text with a given line height, word wrap, colors in various places.
And I've been creating one for every word 🤦
Unwinding this will take some time. This is just a first baby step for
ad hoc text objects. Turns out I don't need to convert to Text to get
something's rendered width, just the Font can do that.
Thanks to the LÖVE Discord for educating me:
https://discord.com/channels/329400828920070144/330089431379869708/1091535487333826580
I'm a bit leery of going down this road:
- If there's a bug in how I render logs graphically that could be
extremely misleading. Perhaps this suggests that the code to log
things should be significantly simpler than the code that might be
debugged. If writing the debug helper requires all my smarts I'm not
smart enough to debug using the helper, etc. Given this idea, the fact
that I'm copying production code into the logging helper is
concerning.
- There's a question of what code it's ok for logging helpers to depend
on. This is an issue shared with tests. I often implicitly (and
without meaning to) assume the presence of some well-tested helpers
when writing tests. If those helpers ever break I can get into a
rabbit hole of debugging. This problem might be even more insidious
with logging helpers that will give me no indication when they break.
Still and all, it's cool to see menus in my logs. Let's see if it's
useful.
One open question is how to manage logs while drawing, since they can be
extremely verbose. Neither tags nor depths seem like the right metaphor
here, and that gives me pause that I perhaps don't see the full space of
needs yet.
I'm starting to edit the sources from within the app in ernest. First
question: why does the file navigation menu skip some files? These
prints answer the question.
I've been running out of ctrl+ shortcuts, and I just remembered my
original idea to keep ctrl+ for drawings/mouse operations and alt+ for
everything else.