No really strong preference for coordinates. I feel like x coordinates before y coordinates is super common, so I'd probably vote for not including x=, y=.
I'm fine with something like:location=(0, 300) size=(300, 150)
To be super compact, we could try:bounds=(0,300 size 300x150)
It is short indeed, feels fancy but might be ok. Apparently there's no standard way for the rect structures. I suppose the most common one is (x, y, width, height) but it has no semantics.
This is also a special case for parsers if somebody wants to parse. Does chrome://accessibility need any special support for those?
I definitely prefer brackets [] since that's how arrays work in almost all languages, and similarly {} for dictionary-like things.
I'd be fine with coordinates looking like a dict if that simplifies the syntax, so maybe bounds={x: 0, y: 300, width: 300, height: 150}. However, it's important that they're in that order. I wouldn't be happy if we used a generic dictionary outputter that sorted the keys and we got bounds={height: 150, width: 300, x: 0, y: 300} - I'd find that a lot less readable.
We do support ordered dictionaries, so, for example, mac exposes bounds={x: 0, y: 300, width: 300, height: 150} right.
So the easiest way to unify formatting is to not have special cases for sure, but it's still doable and should be ok if all the logic is in between tree formatters and readers, i.e. nobody is going to parse output or use dictionaries.
Also I'm not sure if we have to take the decision now considering
how easy to rebaseline all expectations. I guess we could take the
easy way and then improve it later?
We do support ordered dictionaries, so, for example, mac exposes bounds={x: 0, y: 300, width: 300, height: 150} right.
So the easiest way to unify formatting is to not have special cases for sure, but it's still doable and should be ok if all the logic is in between tree formatters and readers, i.e. nobody is going to parse output or use dictionaries.
Also I'm not sure if we have to take the decision now considering how easy to rebaseline all expectations. I guess we could take the easy way and then improve it later?