Building the coordinate system for an infinite spreadsheet
quadratichq.com
quadratichq.com
No, it doesn't... the fault is assuming that the cells have a "width", or alternatively, that the cells coordinates aren't in the center of the cell.
If you treat the cells as if they are centered on coordinates, the problem is resolved. (-2,0) is 2 to the left, and (2,0) is 2 to the right of the origin.
[Edit] I'm not talking about the display format, I'm talking about the representation/metaphor... it doesn't matter how things look on the screen... -2 is 2 cells left, +2 is 2 cells right of 0.
The article's screenshot already shows the cells "centered on the coordinates": https://www.quadratichq.com/assets/blog/2023-05-15-coordinat...
The issue is the row-0-column-0-cells are themselves also "containers" and making those cells "inclusive" of either the positive or negative range of cells will make it asymmetric.
If I have a formula in cell C4 saying "=$A4 * $A$1 + B4", that would translate to a formula in cell R4C3, "=RC1 * R1C1 + RC[-1]".
The relative references are much clearer. If you "fill" a formula it looks the same everywhere.
But what is the advantage to having the negative quadrants? Couldn’t the positive quadrant extend to infinity and still be considered infinite?
I suppose that not having any way to run off the edge would be nice but at the same time it looks like it introduces more complexity
Since .xlsx and .csv will be how you eventually export these files if any non-programmer needs the data then how will the translation be handled?
I'll admit though, I'd never really considered that overloading the dash symbol to mean so many things was strange until I read this. It still seems like inventing a new nomenclature for negative numbers is a bit reaching for spreadsheet software.
edit I'm not sure I understand what problem is being solved here either. What does negative spreadsheet indexes give us that positive-only indexes didn't?
edit 2 None of this is to downplay what OP & co is doing here. I'm hugely thankful for the community behind any effort to open source key pieces of technology. I don't use spreadsheets on a regular basis, but when I do, I am always impressed by their ability to flexibly solve problems. Awesome work making this technology modern and open source.
i = get(url).json()['index']
r = avar + offset
out = cell(r, i)
As to the question do customers need an infinite grid... I am asking myself the same question.
The obvious solution to which is to use indices of ..-3/2, -1/2, 1/2, 3/2, ...