Devlog: February 26, 2026
A dense day. Stellar Throne Sim hit version 0.4.0 with a wave of gameplay fixes. Klar pushed deep into self-hosting milestone territory. Changesmith cleaned up pricing and CI. Two smaller projects — TimeTower and AirTower — made meaningful structural progress.
Stellar Throne Sim
Nine commits culminating in a version bump to 0.4.0 — a meaningful marker on the roadmap.
The headline feature is immediate combat on fleet moves, paired with a new slip-past mechanic. Combat now resolves the moment fleets intersect rather than waiting for turn-end; the slip-past option gives players a way to dodge engagements entirely. That's a significant feel change — the game becomes more reactive and less about turn-order exploitation.
Several bugs were fixed that had real gameplay impact. Patrol ships were stuck after moving once per turn; that's fixed. The build queue was incorrectly capped at 1 ship instead of 6; fixed. The shipyard UI now shows all 6 queue slots and the military cap message. Text vertical centering was corrected alongside those slot fixes — the kind of cosmetic bug that's easy to dismiss but quietly undermines the game's polish.
On the Unity integration front: the SDL dependency was removed from the simulation library, the C API was hardened for P/Invoke on desktop platforms, and an unused function and variable were cleaned up to clear build warnings. This block of work looks like prep for a real Unity build pipeline, which is a notable milestone for a sim-first project.
Klar
Six substantive commits, two milestones checked off.
Milestone 9.8 landed: selfhost type system definitions. Milestone 9.9 followed: selfhost checker infrastructure and a test harness. These are deep compiler-bootstrap work — Klar checking Klar — and hitting two milestones in one day is a strong pace.
Alongside those: a meta layer design spec and PHILOSOPHY.md were added (worth reading if you're following the language's design direction), and a review feedback fix addressed collection metadata for params and enum destructuring in codegen. The CarbideZig rules were stripped to save roughly 17k tokens of context — a pragmatic call that signals the project is actively managing its own AI-assisted development overhead.
Changesmith
Four commits, all cleanup and infrastructure.
Pricing was simplified from four tiers to three: Free, Pro, and Business. Simpler pricing is almost always the right call for a dev tool — fewer decisions at the gate. A CVE in a rollup transitive dependency surfaced via vitest/sentry was suppressed with an ignore rule (CVE-2026-27606); a mock type signature in the autotag test was corrected to unblock CI; and Prettier formatting was applied across the codebase. Unglamorous work, but CI going green is its own reward.
TimeTower
Six commits in a PR that merged: Phases 7, 8, and 9 all landed in sequence.
Phase 7 brought tower interactions — quick-add, anchor editing, multi-tower support, and keyboard shortcuts. Phase 8 added database persistence via Neon and Drizzle. Phase 9 wired up authentication through Neon Auth (Stack Auth) with QA fixes. That's a full auth-to-persistence stack built and shipped in one branch. The project also picked up a Neon MCP config, suggesting it's being developed with AI assistance tightly integrated.
AirTower
Four commits adding Claude Code worktree awareness to the status panel.
AirTower can now detect an active Claude Code worktree in a terminal tab and surface it in the UI. Recent commits display with relative dates. A .gitignore entry was added for the worktrees directory. Small surface area, but it's the kind of developer-experience tooling that compounds over time — especially if you're spending most of your day in Claude Code.