Skip to content

docs: make PLAN.md true — header, the garden claim, and a baker that no longer exists#4

Merged
proggeramlug merged 1 commit into
mainfrom
docs/plan-truth-pass
Jul 15, 2026
Merged

docs: make PLAN.md true — header, the garden claim, and a baker that no longer exists#4
proggeramlug merged 1 commit into
mainfrom
docs/plan-truth-pass

Conversation

@proggeramlug

Copy link
Copy Markdown
Contributor

The ✅ markers written into PLAN's body are accurate and unusually candid. The
prose around them is not. Docs + one test comment; no behaviour change.

claim reality
header: "plan not yet started" most of it shipped; now lists what's actually left (F2, F3, G, H, I, K1, K2)
"This directory is not a git repository" it is, with history — and as of today it's pushed
§1.4: garden is "the only game using runtime loadWorld/instantiateWorld" garden uses neither, nor bloom/world, nor any .world.json
§1.4 / §K2 / §F1: rebake via tools/build-world.ts that baker and src/generated/ are deleted — the world loads at runtime

The garden correction isn't a nitpick

instantiateWorld has zero game consumers — only the editor and the engine's
own modules. So §C1's acceptance ("garden instantiating a world with water/rivers
shows them"
) was never executable, and the "a river cannot look different
in-game than in the editor" guarantee is untested.

K2's premise was void

It targeted a baker that no longer exists, so editing a world needs no rebake
and there was nothing to hook. Rescoped to the one thing still derived — the
terrain visual mesh, and only when the heightmap changed. Terrain paint
needs no rebake either.

§K1 — the test that exists is worse than no test

testWorldRoundTrip round-trips a synthetic world with JSON.stringify. It
never calls saveWorld, and JSON.stringify is the very idiom quirk #6 says
corrupts a parsed graph — the bug that made saveWorld write 0 bytes and
report OK
. It passes by construction, sitting as a green tick over the exact
hole. Now flagged in the PLAN and at the test itself, where someone will
actually read it.

Also worth knowing

The "not a git repository" line had a reverse hazard nobody could see: prefab
authoring, play-in-editor and terrain painting sat committed on one machine's
local main
until today (#3). If a PLAN item says "done", check it's pushed.

Editor compiles clean.

https://claude.ai/code/session_01J1UWgMcrTNvwWeXcJ1T3Fp

…hat no longer exists

The ✅ markers written into PLAN's body are accurate and unusually candid. The
prose around them is not. Nothing here changes behaviour.

Header said "plan not yet started". Most of it has shipped. It now states what is
actually left: F2, F3, G, H, I, K1, K2.

"This directory is not a git repository" — false. It is, with history, and as of
today it is pushed. For a while the REVERSE hazard applied and nobody could see
it: prefab authoring, play-in-editor and terrain painting sat committed on one
machine's local main. If a PLAN item says "done", check it is PUSHED.

§1.4 called garden "the only game using the runtime loadWorld/instantiateWorld
path". Garden references NEITHER, nor bloom/world, nor any .world.json — it
predates the world module. `instantiateWorld` has ZERO game consumers: only the
editor and the engine's own modules. That is not a nitpick — §C1's acceptance
("garden instantiating a world with water/rivers shows them") was never
executable, so the "a river cannot look different in-game than in the editor"
guarantee is UNTESTED.

§1.4 runtime path, §K2 and §F1's acceptance all targeted `tools/build-world.ts`.
That baker and `src/generated/` are DELETED — the shooter loads world JSON at
runtime, exactly as §1.6 predicted once the Perry bugs were fixed. So editing a
world needs NO rebake and K2 had nothing to hook. K2 is rescoped to the one thing
still derived: the terrain VISUAL MESH (bun tools/build-terrain.ts), and only when
the heightmap changed. Terrain paint needs no rebake either.

§K1: the test that exists is worse than no test, and now says so in both places.
testWorldRoundTrip round-trips a SYNTHETIC world with JSON.stringify — it never
calls saveWorld, and JSON.stringify is the very idiom quirk #6 says corrupts a
parsed graph: the bug that made saveWorld write 0 bytes and report OK. It passes
by construction, over the exact hole.

Claude-Session: https://claude.ai/code/session_01J1UWgMcrTNvwWeXcJ1T3Fp
@proggeramlug proggeramlug merged commit 3ef86bb into main Jul 15, 2026
@proggeramlug proggeramlug deleted the docs/plan-truth-pass branch July 15, 2026 16:42
@coderabbitai

coderabbitai Bot commented Jul 15, 2026

Copy link
Copy Markdown

Warning

Review limit reached

@proggeramlug, you've reached your PR review limit, so we couldn't start this review.

Next review available in: 51 minutes

Enable usage-based reviews in Billing to review now. Otherwise, wait until the next included review is available.
You're only billed for reviews past your plan's rate limits ($0.25/file).

How can I continue?

After more reviews become available, a review can be triggered using the @coderabbitai review command as a PR comment. Alternatively, push new commits to this PR.

To avoid repeated limits, reduce automatic review volume by pausing incremental auto-reviews earlier, using label-based review opt-in, excluding WIP or generated PR titles, or requesting reviews manually when the PR is ready. If your team needs uninterrupted high-volume reviews, an organization admin can enable usage-based reviews.

How do review limits work?

CodeRabbit enforces per-developer PR review limits for each organization. Most developers receive the normal plan review availability.

For paid Pro and Pro+ PR reviews, CodeRabbit uses adaptive limits for sustained high-volume activity. When a developer's recent PR review activity reaches the 95th percentile or higher among CodeRabbit users, additional reviews become available more gradually as earlier reviews age out of the rolling window.

Please refer docs for additional details.

Review details
⚙️ Run configuration

Configuration used: defaults

Review profile: CHILL

Plan: Pro Plus

Run ID: 4ddec5b2-37ab-4d63-aa64-8142752f9b5a

📥 Commits

Reviewing files that changed from the base of the PR and between 189d0da and 8a31260.

📒 Files selected for processing (2)
  • PLAN.md
  • src/tests/self-tests.ts
✨ Finishing Touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Commit unit tests in branch docs/plan-truth-pass

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant