Coding 2023-02-03
I mostly messed with other stuff today, but I'm going to put in a small amount of work on MOTR now:
The parametric metadata should track "the Box must specify a value for these labels". This should be populated by from_box and from_selection, should be left unchanged by flatten, map_over_1_parametric and reduce_parameterization, unioned by map_over_2_parametric (as well as a planned decorator that will replace the map functions in some contexts), and include_box is... complicated. include_box should remove any value that is not iterated over.
So we also need to track "this label gets iterated over", which is populated by from_selection, and passed through everything else in the expected fashion. In include_box, it prevents the removal of the requirement to be explicitly specified.
It's... a little mindblowing that I haven't defined these exact fields before... Anyway, I've written them down in my notes with the date of this post, so I should be able to get myself up to speed when I want to try to implement these.
Anyway, I'm going to call it here and mess with other stuff before I get ready for bed.
Good night.