I've been working on a little program called ndtoy that's been in my head for a while. It's been really fun and difficult! The basic idea is to write a lot of components and algorithms that are n-dimensional (they work regardless of how many dimensions they're acting on). Here's an example with some 1D and 2D sand. The code that controls it is the same so it works for 3D and more, although it becomes a lot harder to render intelligibly at higher dimensions.
There are a lot more things I want to do with this but I need to get back to work on slice & dice for now. Here are a few more things I've made with it.