Four files, one engine, and a release mode
18-09-2025
The engine is now four files with clear borders: the runtime, the build, the CSS compiler and the debug layer.
It was eleven, split up to keep things ordered while they were still moving. Once the shape settled the split stopped helping, because the boundaries between those eleven were arbitrary, and an arbitrary boundary makes you open three files to answer one question. Four files with real subjects are easier to hold than eleven with invented ones. The engine grew over the same period, from roughly nine hundred lines to over two thousand, so this is consolidation rather than shrinkage.
The more visible arrival is release mode: the same sources built a second way. A development build keeps comments, provenance headers and blank lines, because that build exists to be read when something goes wrong. A release build drops them, minifies the CSS, and honours an exclude list so a customer server does not carry a debug panel or an IDE.
One build for the machine you develop on, another for the machine that serves customers, from one set of sources with nothing conditional in the app itself.
Errors grow up in the same pass, from a message into a real exception carrying a code and a payload, with a JSON error log behind it and a dashboard section that reads it.