Coding 2023-01-30
I got the Output stuff updated and qualified. The merge was shockingly uneventful, all things considered.
I could try to work on several different fronts now:
- Try to fix the new names I came up with, because there's a bunch of "well I needed to call it something" classes, and they really don't make things clear.
- Try to add new wrappers using the current state of things.
- Remove the MapOverSelection class.
I really want to do that last one, then loop around to the beginning. It's late now, so I'm going to just quickly lay out some knowledge I'll need later:
- parametric.Metadata currently does not track box.Label status; I did the hard stuff first with selection.Label.
- box.Label should be just "here are the labels it needs".
- The selection.Label stuff is going to need the names re-evaluated. Like, "provided", "required", "handled", and "multivalue"? I could try to defend those names, but I guarantee it wouldn't be persuasive.
- Once I re-familiarize myself with the selection.Labels meanings, I should be able to figure out the required relationships between the metadatas in what is currently called AdaptiveParametric.
- Also, the different parts of parametric_command should be named to properly correspond to the unique/parametric/artifact distinction.
Okay, I did a little thinking, and I really need to figure out how selection.Label stuff should interact with include_box, and I'm still on "yeah, it probably shouldn't allow that". But I should figure out how to express that in terms of the existing metadata.
One last note: once I have this all converted to use Parametrics, then I should be ready to assess whether to try doing the ContextVar stuff.
For now, though, I should get ready for bed.
Good night.