Heat-wave let's you adjust the size of the sheet you are working on. You can, if you choose, work with a tiny 2x2 grid of values, or you can specify a very large 9999x9999 grid with almost 100 million values (and 400 million bytes). And you don't have to restrict yourself to a square -- you can set up a 2x1000 sheet to get a long thin ribbon.
The maximum size restriction is arbitrary, and is enforced only by the UI. It should probably be bigger, but the entire sheet is allocated as one giant array right now. And since the allocation occurs in the main UI thread with no way to interrupt it, the size restriction is a good idea. This is an issue to consider when re-working the program architecture. One of the first problem you run into when setting up a large sheet is the graphics system. The sheet is drawn using OpenGL, and it is easy to overwhelm the graphics capabilities of many computers. For example, Heat-wave draws a 1000x1000 sheet using 1,996,002 (2x999x999) triangles — almost 2 million.
I don't have a graphics card, and drawing a 1000x1000 sheet takes more than a second. Drawing a 2000x2000 sheet (8 million triangles) takes about 4-and-a-half seconds, which leads to an unacceptably jerky UI since drawing is done in the UI thread.
There are several ways to improve on this:
The following pictures show how drawing resolution affects the appearance of the sheet. All but the last one draw fast enough to allow for reasonably smooth animation.
Here is what a 2000x2000 sheet looks like when draw resolution is limited to 1000 cells (about 31x31).