A model editor of its own
The block editor moved in, and with it went a pile of code that never belonged here.
Every building, belt and prop in the game is a small voxel model, and until this week I had to leave the game to change one. The tool for building and painting those blocks lived in an old game project of mine, a much older thing I never finished, and Groundwork just borrowed its files. That meant two Godot projects open at once, and a model editor built for a game I am not making any more.
So I moved it in. Press F4 now and the same editor opens right inside Groundwork: add and remove blocks, paint them, set up layers and animations, save the file, all without leaving the game.
Getting it to fit meant admitting how much this project was leaning on things outside itself. The block file format, the code that edits and bakes it, and the little program that generates all my building models each lived in their own separate folder next to Groundwork, referenced from outside. Every one of them is inside the repository now. Nothing about building or testing the game reaches outside its own folder any more.
Bringing that code in also meant seeing what actually came along with it. A good chunk of it turned out to be leftovers from that old game, its own player movement, its monsters, a whole networking layer, none of which Groundwork has ever used. I deleted it and kept only the parts the model editor actually needs, cutting the amount of code by more than half.
While building the editor’s window I found a small bug that had been sitting in the game the whole time. Resizing the window did not give more room to work with, it just scaled every panel and label up or down with it, so a bigger window looked exactly like a smaller one, only blurrier. I turned that off. Now the window just gets bigger.
The tests took a pass too. A lot of them were quietly leaning on a folder of old test content, hundreds of leftover model files from that same old project, checking that every model in the folder loads. That is a strange thing to test. Trimming that folder down for something else broke tests that had no business caring, which is what pushed me to look closer. Each test now builds a tiny model of its own for the one thing it is actually checking, an animation, a shape with a hole in it, a block sitting in a second chunk, and only one test still walks a real folder: the models Groundwork actually ships in the game.
None of this changes what the game looks like today. But the model editor is home, and the project no longer needs anything outside its own folder to build, run or test.