Repository navigation
Release notes from the game upgrades, and two messages that name the fix - #223
Merged
Merged
Conversation
Migrating inkline-town and spirit-call to the 0.23 release found gaps
in what npm ships:
- A tuple entry built outside the call widened to an array and failed
with "${string} is not a component of this game's schema". It now
says the entry widened, and names `as const` and `Command.Entry`.
- `set` on an entity state with `transitions` names `setRaw` for data
from outside the simulation.
- Changesets: `cancelPending()` instead of the renamed `reset()`, the
RenderSync rebuild trap and its second fix, widened tuples, the
restore trap for transient resources and `nextStates` in every
save, and replays recorded with a half-step `Clock.duration`.
- The upgrade playbook lists what 0.23 changes without a compile error.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Migrating two games (inkline-town, spirit-call) from 0.22 to the 0.23 release candidate passed every check after migration, but found gaps in what npm ships. This fixes them before #198.
Code (type-level messages only)
[Descriptor, value]tuple built outside the call (a helper's return, an array it was pushed into) widens to an array and failed with`${string} is not a component of this game's schema`. It now fails withthis entry widened to an array: write the [Descriptor, value] tuple in the call, add \as const` where it is built, or annotate it Command.Entry. Type tests cover both the message and the two fixes;Command.Entry` has a compiled example.seton an entity state declared withtransitionsnamesdata.x.setRaw(entity, raw)next totransition; thesetJSDoc no longer calls it the way to reset.Docs
runtime-robustness:cancelPending(), not the renamedreset().render-node-follows-renderable: leads with the rebuild trap (142 → 59,445 nodes made in inkline-town) and adds the fix it used: key on a component that never changes, read the written one through a requiredselectslot.exact-entries: widened tuples and their fix.saves-and-loads: a transient resource filled late and read early reads its starting value after a load (read-before-write); every save carriesnextStates.clock-steps-raw: replays recorded with a half-step duration diverge.ritmoskill, upgrade playbook: the 0.23 changes that compile but change behaviour.Checks:
pnpm check,pnpm bench:check,pnpm --dir website build.🤖 Generated with Claude Code