← Changelog
Daily2026-06-01

The desktop app runs end to end + crisp in-world text

June's first day: the desktop app ran end to end from install to play for the first time, with first-launch key onboarding. The engine landed a streak — crisp text in the 3D world, bidirectional object relations, a per-frame cache for performance, anti-aliasing and texture-orientation fixes; plus a new low-poly modeling assistant.

From "a desktop shell stands up" to "usable end to end"

The desktop shell had just stood up the prior days, but between "stands up" and "usable" lies a whole chain: the backend must be bundled in, the preview embedded, sample games seeded, and the first launch must let users enter a key smoothly. This day connected that whole chain end to end, and the desktop app could go all the way from "install" to "play" for the first time. Meanwhile the engine advanced a long streak in a single day (text, relations, performance, image-quality fixes), and the collaboration side added a new assistant. Closing the loop on an "installable and runnable" desktop experience while continuing to feed the engine and tools, this day laid June's opening firmly on the dual track of "usable and still growing."

The desktop app runs end to end + first-launch key onboarding

The desktop app ran from start to finish for the first time this day. It bundles the backend service directly into the installer, embeds the engine preview into the window, seeds sample games automatically on first launch, and even wires up the mouse pointer capture (locking the cursor into the window to turn the view) that first-person games need. Most thoughtful is the first-launch experience: an onboarding overlay prompts you to enter your API key, which takes effect immediately with no app restart — the backend applies the newly entered key to the running environment live. Ports can be overridden via environment variables to fit different machines, and a common dependency-placement issue self-heals before assembly to avoid build failures. From this day, using it as a desktop application you can install, open and play directly genuinely works end to end — the key step from "developers running in source" to "ordinary people installing an app and using it."

Engine: crisp text in the 3D world

The engine landed "world-space text rendering" this day: you can now place crisp text, sharp even when enlarged, directly anywhere in a 3D scene. This matters more than it sounds — games need text standing in the world everywhere: signs, road markers, names above characters, health-bar numbers, floating damage popups, interaction prompts. It uses a special glyph representation that keeps edges sharp whether the text is moved near or far, scaled up or down, instead of turning into a blurry pixel mush. Before this, the engine could only draw geometry and textures, and text was a glaring gap; filling it means making games with UI, prompts and numeric feedback has proper text capability for the first time. For almost any genre, this is an essential step from "can render a world" to "can convey information in the world."

Engine: bidirectional relations + unified entity lifecycle + a performance cache

The engine reinforced several things in low-level "object organization" this day. One: relationships between objects became bidirectionally auto-synced — when you create or break a parent-child or ownership link, both ends stay consistent automatically, with no dirty state where "the parent claims this child but the child doesn't recognize the parent," making composition and teardown easier. Two: scene-instance lifecycle was unified — detach, destroy and full clear follow one orderly semantics, avoiding missed deletions and leftovers in edge cases. Three, performance: a per-frame render-state cache was added, caching and reusing what would otherwise be recomputed every frame, cutting needless overhead. These are invisible inner work, but they decide whether a complex scene grows messier and slower as objects are frequently added, removed and combined. Establishing the rules for "how objects connect, are born and die" is the foundation for the engine to withstand real game complexity.

Engine image-quality fixes: anti-aliasing + texture orientation

This day also fixed several image-quality issues that directly affect look and feel. Anti-aliasing got two fixes: one was wrong math in the sampling offset, making edge smoothing inaccurate; the other more subtle — colors were wrongly converted through a space twice, making flat areas of the image overall brighter and washed out. With both fixed, edges are cleaner and colors more accurate. A texture upside-down issue on procedurally-generated geometry was also fixed: the root cause was that the texture coordinate's direction and the graphics sampler's origin convention didn't align (one counts from the top, the other from the bottom), the classic "off by one flip" pitfall — textures like grass were applied upside down and are now right-side up. None of these are new features but carving the details of existing capability to "it just looks right." Image quality often wins exactly on these glance-obvious-yet-easily-overlooked details.

A new low-poly modeling assistant + auto-starting external plugins

The collaboration roster gained another member this day: an assistant specialized in low-poly 3D modeling, with headless rendering, to help you generate those low-face-count, sharp-edged, clean-styled 3D models — an art style many indie games favor, fast to make and distinctive. The platform also lets external workbench plugins auto-start with the system: installed third-party tools work from boot without manual launching each time, smoothing the integration experience. A sync issue that made some tools wrongly report "unknown tool" was also fixed — the root cause was tool-registration sync not being timely or idempotent enough, and once fixed, tool calls are steadier. A new modeling assistant, an integration improvement that makes plugins lower-maintenance, and a fix making tool calls more reliable — together they keep polishing "collaborating with a team of specialized AIs to make games" into something smoother.

What this day means

June opening with a day like this sends a clear signal: making "ordinary people install an app and use it" genuinely end to end, while pushing the engine forward at once on visual expressiveness (text), low-level order (object relations and lifecycle), and performance and image-quality detail. The desktop side moving from "can open" to "usable" means the tool begins to have the form to reach real users; the engine adding world text and straightening out object relations means the games it can carry get closer to "complete works." A mass-market creation platform must both let people in easily (a desktop app plus first-launch onboarding) and let them make presentable things (continual engine reinforcement) — and this day took a solid step on each of these two most fundamental lines.

← All daily updates