The concept of Configuration belongs together with the model, so the class should move upstream to compas.robots. This implies that methods that currently expect a dictionary of joint states should start working with instances of it.
To make it a non-breaking change, we should still support the dict as input and automatically convert it to an instance of Configuration. Or even better, make the Configuration class behave like a dictionary using magic methods, so that a dict can also be used interchangeably (as with the primitive equivalence to builtin data types).
The concept of
Configuration
belongs together with the model, so the class should move upstream tocompas.robots
. This implies that methods that currently expect a dictionary of joint states should start working with instances of it.To make it a non-breaking change, we should still support the dict as input and automatically convert it to an instance of
Configuration
. Or even better, make theConfiguration
class behave like a dictionary using magic methods, so that a dict can also be used interchangeably (as with the primitive equivalence to builtin data types).