This repository was archived by the owner on Oct 25, 2026. It is now read-only.
Repository navigation
LLMville moves in: the shared-world AI-lab tycoon builds on engine-ref with its Convex backend - #263
Merged
Merged
Conversation
…f with its Convex backend
Noisemaker111
enabled auto-merge
October 25, 2026 18:17
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 subscribe to this conversation on GitHub.
Already have an account?
Sign in.
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.
What changed
LLMville (React web client +
@llmville/game+ Convex backend, accounts, shared multiplayer world) moves in whole asllmville/, built on the engine inengine-ref.txt(0.19 on npm before, engine source e87ceb5 now).apps/webisllmville/(@games/llmville, found bygameDirs);packages/gameandpackages/backendsit underllmville/packages/*, added to the root workspaces. Root catalog gains@jgengine/convex(soengine:syncbuilds and links it),convex,better-auth,@convex-dev/better-auth,zod,dotenv.Noisemaker111/LLMvillemaster(3e2e552), without history: that repo is private and this one is public, so importing 566 commits would publish every past file; history stays in the old repo. Dropped non-game tooling (mcps/,.cursor/, turbo, eslint, opencode) and the deploy workflows. Open LLMville PR harbor-heat: weapon runtime needs the reserve adapter and a shot-presentation seam #156 (cloud setup / prod smoke) was not carried over.packages/game/src/world/cityHash.tsdrops its hand-rolled FNV-1a and mulberry32 for@jgengine/core/random/rng(hashString,stepRandomSeed); a new test pins the exact values saved worlds were placed with.types: ["node"], catalog@types/reactso R3F's JSX augmentation lands).check:frameworkfalse positives fixed with tests: atype X = "a" | ...declaration no longer counts as a state transition, anddueAt/nextRunAt/scheduledAtonly mark a scheduler where the module also drains a queue. Two ReactsetPhasesetters renamed.llmville/capabilities.json(36 adopted, 50 not-applicable, 0 debt), README design checklist,llmville-first-modelflow.Engine seam
Engine seam: none - LLMville moved in whole; it adopts the existing @jgengine/core/random/rng and needs no engine change
Checks
vite buildsucceeds.Switching production (not done; Jon decides)
Production keeps deploying from
Noisemaker111/LLMvillemaster. To move it: point Cloudflare Workers Builds for Workerllmvilleat this repo (rootllmville, buildbun install --frozen-lockfile && bun run engine:sync && bun --cwd=llmville run build, deploybunx wrangler deploywithllmville/wrangler.jsonc) - note the build needs the engine checkout, so a GitHub Action that builds and runswrangler deployis simpler; add a deploy-convex workflow here with theCONVEX_DEPLOY_KEYsecret; then disable both in the old repo.🤖 Generated with Claude Code