axes property
The axes this app defines for itself, each with the values this folder runs in — the first one, again, the default.
const phones = ScenarioProfile(
'phones',
devices: [Devices.iphone16],
axes: {'brand': ['coffee', 'tea']},
);
Nothing here knows what tea means: a scenario reads the value with
s.axis('brand') and builds its app for it, and every lane carries the
word — into the run, the test's name, the directories a matrix writes.
So a value is a word a directory can hold, and a run that names one this
folder does not declare is refused rather than handed to an app that
would quietly fall back to its default.
Labels rather than values, unlike a preview shell's picker: a profile
is const, and a theme is not. The one place that turns tea into a
ThemeData is the scenario, or a helper it shares.
Implementation
final Map<String, List<String>> axes;