explaingit

puruvj/maya

Analysis updated 2026-05-18

1RustAudience · developerComplexity · 5/5LicenseSetup · hard

TLDR

A browser-based 3D world where you type sentences to build villages and forests, AI runs locally to place objects, and an ecosystem simulation keeps the world alive with animals and decay after you leave.

Mindmap

mindmap
  root((World))
    What It Does
      Type to build 3D worlds
      Living ecosystem sim
      Async shared world
    How It Works
      LLM emits build ops
      Rust WASM sim
      Deterministic seed
      Procedural shaders
    Tech Stack
      SvelteKit three.js
      Rust WebAssembly
      WebLLM WebGPU
      Cloudflare Workers
    Setup
      Rust and wasm-pack
      pnpm install
      D1 migration
Click or tap to explore — scroll the page freely

Code map

Detail Auto

An interactive map of this repo's files and how they connect — its source is parsed live in your browser. Click Visualize to build it.

filefunction / class

What do people build with it?

USE CASE 1

Type plain sentences to generate 3D environments in a browser-based world that runs its own living ecosystem simulation.

USE CASE 2

Study how to run a fine-tuned language model entirely in the browser using WebLLM and WebGPU without sending data to a server.

USE CASE 3

Explore the architecture of a Rust-to-WebAssembly ecosystem sim that runs in a Web Worker alongside a SvelteKit frontend.

USE CASE 4

Deploy your own shared-world instance on Cloudflare Workers with D1 persistence for asynchronous multiplayer contributions.

What is it built with?

RustWebAssemblySvelteKitthree.jsWebLLMWebGPUCloudflare WorkersDrizzle ORM

How does it compare?

puruvj/mayaabyo-software/ferro-stashariasbruno/glyph
Stars111
LanguageRustRustRust
Setup difficultyhardmoderateeasy
Complexity5/54/52/5
Audiencedeveloperops devopsdeveloper

Figures from each repo's GitHub metadata at analysis time.

How do you get it running?

Difficulty · hard Time to first run · 1h+

Requires Rust toolchain, wasm-pack, and pnpm, AI model weights (~840 MB) download on first run.

MIT license: use freely for any purpose, including commercial use, as long as you keep the copyright notice.

In plain English

World is a 3D browser-based game where you type sentences to build a living environment and then walk around it in first person. You might type something like "a small village with a lake" and a fine-tuned AI model running entirely in your browser transforms that into actual objects placed in the scene: buildings, trees, paths, lamps. No data is sent to a server for the AI part, the model runs locally using your device's graphics hardware. The world does not sit still when you leave. An ecosystem simulation runs continuously in the background. Animals hunt, breed, starve, and age. Settlements grow or fall into ruin. An AI director called Mother Nature makes small adjustments to keep the world alive. The design is inspired by Death Stranding's asynchronous multiplayer: you never see other players at the same time, but you see what they built. Their constructions, the AI's changes, and the simulation's own drift all blend together into a world that feels inhabited. The technical approach separates concerns carefully. The AI model never figures out where to place objects by doing math, instead it emits instructions that follow a grammar, and a separate deterministic renderer converts those instructions into geometry. The ecosystem simulation is written in Rust and compiled to WebAssembly, running in a background thread so it does not slow down the rendering. The visual look of grass, water, sky, and weather is generated by GPU shaders rather than downloaded asset files. The entire world is a pure function of a starting seed and a tick counter, meaning it can be replayed or fast-forwarded exactly. The frontend uses SvelteKit 5 and three.js. The backend, for shared world persistence, runs on Cloudflare Workers with a D1 database. The two fine-tuned AI models that handle text-to-world generation are about 840 MB and 280 MB respectively and are downloaded on first run rather than stored in the repository. Development requires the Rust toolchain, wasm-pack, Node.js with pnpm, and optionally a Cloudflare account for the shared world features. The license is MIT.

Copy-paste prompts

Prompt 1
Walk me through setting up the World repo locally: installing dependencies, compiling the Rust WASM sim with wasm-pack, running the D1 migration, and starting the dev server.
Prompt 2
How does the WorldGen language model in this project turn a text sentence into grammar-constrained build ops instead of outputting coordinates directly?
Prompt 3
Explain how the Rust worldsim crate runs as a Web Worker in the browser and why it is isolated from the three.js rendering thread.
Prompt 4
I want to deploy this project to Cloudflare Workers. Walk me through creating the D1 database, applying migrations, building WASM, and running wrangler deploy.

Frequently asked questions

What is maya?

A browser-based 3D world where you type sentences to build villages and forests, AI runs locally to place objects, and an ecosystem simulation keeps the world alive with animals and decay after you leave.

What language is maya written in?

Mainly Rust. The stack also includes Rust, WebAssembly, SvelteKit.

What license does maya use?

MIT license: use freely for any purpose, including commercial use, as long as you keep the copyright notice.

How hard is maya to set up?

Setup difficulty is rated hard, with roughly 1h+ to a first successful run.

Who is maya for?

Mainly developer.

Open on GitHub → Explain another repo

This repo across BitVibe Labs

Scan in gitsafehub Deploy in gitdeployhub puruvj on gitmyhub

Verify against the repo before relying on details.