I'm also toying with the idea of revamping the MVT support. Currently it's just 'sections:#' and weights but in practice I would find it very hard to code an experiment against a variant index and an intVal vs a named obj with values. For example.
As a user, I'd prefer something like this
if($exp.$activeVariants.buttonColor == 'red') ..
if($exp.$activeVariants.headerText == 'excited') ..
vs
An array of variant objects ($exp.$activeVariants)
[ {weight: 25 }, { weight: 25}, {weight: 25 }, { weight: 25}]..
This idea is pretty new and not totally flushed out, but if we do decide to go in this direction, then we'd want a new major version for sure.
As a non breaking change, we may support new flattened $exp.variants[name || index] computed property which is an object from itentifier to variant object.
Originally mentioned by @hecktarzuli (https://github.com/nuxt-community/google-optimize-module/pull/34#issuecomment-676496857)
As a non breaking change, we may support new flattened
$exp.variants[name || index]
computed property which is an object from itentifier to variant object.