Coding 2025-02-10

Tags:
By Max Woerner Chase

Okay, I got the SelectionDirectory tweaks in, and finally started to meaningfully cut down on the size of client code. It's just a few lines, but it scales with the number of commands, so that's a good sign.

While I was working on this, I realized that I'm going to want to rework the client interface in a major way that should make things generally nicer, at the cost of an extension interface that I don't feel super enthused about. I'm going to hold off on implementing that for now, though.

What's up next, hopefully in the next few days, is to rework the Input type into two separate types. The end goal is to make the Input type capable of tracking its source Matrix. Because a single Input can be stored in many Matrix objects, this is going to have to manifest in the form of a helper function that gets used by the new Link class.

Once I've got feature parity but with Inputs constructed dynamically on retrieval, I can work on implementing dependency tracking in Axes objects. Once that part looks to be in a good shape, then I can add dependency tracking to the Input.convert() method, which should allow for drastically simplifying the interface.

The obvious next thing to do would be that big rework, which I should do before messing with the coverage wrapper, but maybe I'll try to work on some other project for a bit instead.

Anyway, it's late and I should get to bed.

Good night.