Data Grid fills a grid container with squares. Squares are simple div elements in the container and each of them belongs to their uniqe object.
The user can set the density (number of squares in the container). Can move the squares by WASD on the keyboard, can recolor them with SPACE, or do a hard reset, which reset the density as well.
I don't know it, but let me know if you find it somehow useful!
Just run index.html.
Everything important is in the script.js. I tried to add meaningful comments anywhere I thought it might be helpful.