sceneValuesEqual function
Whether two property values are the same value.
== is not enough, because two property kinds are COLLECTIONS and two
lists — or two maps — with the same contents are not == each other.
Every place that asks "is this what the style says" or "is this still the
default" goes through here, or an inherited paint stack reads as an
override — which is exactly what it did before this existed.
Implementation
bool sceneValuesEqual(Object? a, Object? b) => switch ((a, b)) {
(List x, List y) => _sameList(x, y),
(Map x, Map y) => _sameMap(x, y),
_ => a == b,
};