This is the first time I've shown off the engine using larger tiles. Of course the graphics for walls are fairly plain right now. What isn't shown is that there are now up to eight kinds of stone, which will have randomized properties.
The big thing that's visible here is that sand and water now has a smooth surface. In particular this looks nice when a single level of water is moving around at the surface of a pool. At the moment this is only cosmetic, and a bit glitchy at that. Notice how, when water meets up with sand at about the same level, the sand angles down but the water stays level, and so it looks like it's being held up by air.
Also, the known "map" areas out of sight but still onscreen are now displayed using outlines. There is some intelligence there that outlines the edges of the region but not the tiles in the middle. It's not perfect yet; you can see some dots in regions where aborted walls are drawn, and the line isn't complete at the right-hand sides of slopes. Not to mention, in some cases where sand is underwater, a black corner is drawn on the sand.
The update engine now uses a hybrid of the first system, which was a simple for loop, and the second system, which kept a list of all the tiles that might change this turn and iterated through them. Now it iterates through the cells in a spiral pattern from around the "focus," which is either the player's location or the cursor. It keeps a "dirty" flag on cells that might need updating next frame, allowing the game to avoid looking at every cell with complex interactions, like fluids, just to determine that they don't have anything to do this frame. There are a couple of bugs with this too at the moment: sometimes the game forgets about liquids on "steps" and they are left to just pool there, and in edit mode placed fluids don't do anything until an adjacent space is modified.
I've also started planning out how gasses will be returned to the game. They probably won't be updated as often as liquids, which befits a more diffuse way of spreading.