Compatibility wrapper for SingleOptimizable and FunctionOptimizable
With make()
now being effectively reimplemented by us, we have the option to add automatic wrappers for SingleOptimizable and FunctionOptimizable.
Thoughts about that:
- We need a
Wrapper
class for these interfaces.gymnasium.Wrapper
no longer works since it will stop forwarding attribute access. That Wrapper will have to be designed carefully to avoid API breakage. - What kind of wrappers are useful? Ideas:
- auto-normalization
- auto-flatten
- auto-providing QoL features like context manager functions for objects that only implement the protocols and not the ABCs
- it must be possible to disable these features in make() and register()