I figured out a way to generalize control panels out to any map or array values that need setting. I’ve made a utility class that wraps object parameters, array values, and map values alike into tiny little anonymous get/set functions with identical signatures. The control panels then just need to be passed these functions and they should work perfectly.
That said, I’m a bit stuck on the type checking portion. This isn’t strictly necessary: I could always make it so these get/set functions aren’t type safe. However, I really appreciate the extra layer of security and predictability that comes with type checking, so I’d like to be as thorough as possible in that regard. Apparently, though, I’m not as familiar with how Haxe handles this sort of situation as I thought I was, so it will take me a bit to sort through these problems.