
router
TanStack Router is a type-safe, data-driven React router with built-in caching, prefetching, and nested layouts, while TanStack Start extends it into a full-stack SSR framework.
该项目仅依靠程序化生成纹理(基于噪声的烘焙)、模型(有符号距离场+移动立方体)和音频,配合确定性种子、HDR渲染管线(GTAO、泛光、ACES色调映射)以及集成截图回归测试工具,实现了一个完整的类游戏场景。
A first-person, modern-3D-cartoon reimagining of the opening of Pokémon LeafGreen — the town, and the choice of a first partner Pokémon — built in Three.js.
Everything you see is generated in code. The project ships no binary art assets: every texture is baked procedurally at load time, every model is sculpted from signed-distance fields and marching cubes, and every sound is synthesised in WebAudio.
npm install
npm run dev # http://127.0.0.1:5173
npm run check # typecheck
npm test # unit tests
First load builds the whole world procedurally and currently takes around 20 seconds. That is on
the player's critical path and is the largest outstanding defect in the project; World.build()
logs a per-step breakdown to the console so the expensive step is always visible.
Click to lock the pointer. WASD move · Shift run · Space jump · Mouse look · E interact · Esc release cursor.
src/
core/ engine, render pipeline, input, procedural texture bakery, noise
world/ terrain, sky, water, buildings, vegetation, props, lab interior
player/ first-person controller
gameplay/ the starter Pokémon and the choice sequence
ui/ HUD, dialogue, menus
audio/ procedural soundscape
fx/ shared materials and the sculpting toolkit
tools/ headless capture harnesses used for visual review
ART_DIRECTION.md is the art bible. It is the reason a scene assembled by many hands still reads
as one place, and it takes precedence over individual taste. PROMPT.md is the single message the
whole project was built from.
The whole chain runs in HDR half-float targets, with exactly one tone-map at the end:
scene (MSAA) → GTAO → bloom → grade (DOF · ACES · split-tone · vignette · grain) → SMAA
Tone mapping is deliberately disabled on the renderer itself. Bloom has to see true over-range
values or sunlight blooms into a grey halo instead of a soft falloff, so the single ACES conversion
lives at the end of the post chain in PostFX.ts — never in both places.
Lighting is a small rig, owned entirely by world/Atmosphere.ts: one shadow-casting key light, a
hemisphere fill whose ground colour is what makes shadows read blue-green rather than grey, a dim
warm bounce, and a PMREM envir
Pallet Town — a first-person, modern 3D cartoon reimagining of the opening of Pokemon LeafGreen, built in Three.js with zero binary art assets
根据分类、Topic 和编程语言匹配的相似项目。

TanStack Router is a type-safe, data-driven React router with built-in caching, prefetching, and nested layouts, while TanStack Start extends it into a full-stack SSR framework.
scriptc compiles ordinary TypeScript into small, fast native executables without needing Node.js, V8, or any JavaScript runtime in the binary.
A React component library that renders six hand-tuned animated thought orb loading indicators on a plain 2D canvas, with two purpose-tuned sizes and automatic theme detection for AI and agent UIs.