* grid-column-index-start
* grid-column-index-end
* grid-column-length
PS: I have to say though that this grid thing is fucking awesome, and this game to learn this grid thing is fucking amazing as well.
I've being coding HTML since 2001, and have started using CSS in 2005. I can say that I've been dearly missing tables until now.
but consistent with the rest of CSS IIRC, for example nth-child starts at one
This is opening up a situation where you have a 2D Javascript array for a model and a bunch of components in the layout (a chessboard, imagine). And the coordinates won' t match!
What kind of programmer can't deal with properly escaping input under the control of the user?
What kind of programmer can't deal with keeping array indexes in bounds?
(tl;dr: you. And me.)
Example: https://jsfiddle.net/5uvpco6e/
CSS grid's negative indexes, hilarious, don't even get this right. If the first element is 1 then the last must be 0, right? No, it's not. Nor is it -1. It's negative two. Don't ask. I don't know.
I do have to point out that your second point is not correct. Remember it's not grid areas, it's grid dividers. So the final grid line <strong>is</strong> in fact -1.
See my very hasty little Codepen: https://codepen.io/jodi/pen/ZeNRJZ
Not for rectangles, but the closest example of Y/X I can think of is GW-BASIC's "locate". It gets row number first and column number next. I.e Y/X
1. Grid columns and rows are 1 indexed instead of 0, ensuring a coming decade of mistakes due to the mismatch with Javascript (and, y'know, everything else) conventions for arrays.
2. Grid extents use the "one more than end" convention instead of "length", which is sorta confusing. But then they call it "end", which is even more so.
(edit) more:
3. grid-area's four arguments are, in order (using normal cartesian conventions to show how insane this is): y0 / x0 / y1 / x1. Has any API anywhere ever tried to specify a rectangle like this?