Block E ยท One world with the engine

One world with the engine

Godot exits zero on a script error and non-zero on a clean quit. The only honest signal is a line the script printed and no error in the log โ€” and every project that has driven it from a script has written that parser again, slightly differently.

Headless draws nothing at all

A real renderer needs a window, which makes every screenshot a manual step on a developer's desk and keeps it out of any gate. Which offscreen route works on a given machine is something capabilities() answers before a capture is attempted, rather than something a caller discovers from a blank image.

The sprite grid is declared once

A baked sprite and the running game agree on scale today because somebody set a render rectangle to match a cell size the game holds separately, and nothing fails if either moves. One declaration both sides read is the difference between an agreement and a coincidence.

Two machines, one image

The same capture script on two machines produces two different images, and the difference is a locale nobody declared rather than a change anybody made. Language and settings are pinned by the runner, so a difference in the output is a difference in the work.

The block itself

Four open lines, in the roadmap's own words

Each line names the failure it exists to remove and the measurement behind it. None of them has shipped. This list is generated from docs/ROADMAP.md, so it cannot describe a backlog the file does not have.

๐Ÿ“‹PW22the engine's exit code is not the verdict, so each project writes its own output parserGodot exits zero on a script error and non-zero on a clean quit, so the only honest signal is a line the script printed and no error in the log.
๐Ÿ“‹PW23a real renderer needs a window, so a capture cannot run where there is no screenHeadless mode draws nothing at all, which makes every screenshot a manual step on a developer's desk and keeps it out of any gate.waits on PW22
๐Ÿ“‹PW24the baked sprite and the running game agree on scale only because a constant was tunedOne unit is one pixel because somebody set the render rectangle to match a cell size the game holds separately, and nothing fails if either moves.
๐Ÿ“‹PW25a capture takes its picture in whatever language and settings the runner happens to haveThe same script on two machines produces two different images, and the difference is a locale nobody declared rather than a change anybody made.waits on PW22