Right now both valid VL config construction from the metrics and dimensions passed to Altair
and resolving the config to query/rendering the config is done by monkeypatching Altair with additional methods.
The idea here is to divide this into two parts: resolving is done with Altair, and then querying is handled by a separate class that can work with VL configs directly, without Altair.
This will allow several things:
- Users will be able to write VL configs by hand, allowing us to support versions of VL newer than current Altair version.
- The potential frontend applications will be able to send VL configs to the backend, which will be then handled by Dictum without invoking Altair and constructing altair.Chart instance, again, allowing to use newer versions of VL on the frontend (important with the upcoming labels and other features)
Right now both valid VL config construction from the metrics and dimensions passed to Altair
and resolving the config to query/rendering the config is done by monkeypatching Altair with additional methods.
The idea here is to divide this into two parts: resolving is done with Altair, and then querying is handled by a separate class that can work with VL configs directly, without Altair.
This will allow several things: