# tiny-world-builder
**Repository Path**: xingxing085/tiny-world-builder
## Basic Information
- **Project Name**: tiny-world-builder
- **Description**: No description available
- **Primary Language**: Unknown
- **License**: AGPL-3.0
- **Default Branch**: main
- **Homepage**: None
- **GVP Project**: No
## Statistics
- **Stars**: 0
- **Forks**: 1
- **Created**: 2026-05-15
- **Last Updated**: 2026-05-19
## Categories & Tags
**Categories**: Uncategorized
**Tags**: None
## README
# Tiny World Builder
## Run
```bash
npm run dev
# serves http://localhost:3000/tiny-world-builder
# use another port with: npm run dev -- 3001
# or open directly
open tiny-world-builder.html
```
## Deploy
The app deploys as a static site on Vercel or Netlify. Both host configs run
`./publish.sh` and serve the generated `dist/` directory. Three.js r128 and
GLTFLoader are self-hosted from `vendor/three/` so deploys do not depend on
runtime CDNs.
```bash
npm test
npm run build
# Vercel
vercel deploy
# Netlify
netlify deploy --build
# or connect the repo in Netlify; netlify.toml supplies build/publish settings
```
## Controls
| Action | Input |
| ----------------- | -------------------------------------- |
| Place | click a cell |
| Erase | `E` then click, or pick the eraser |
| Orbit | drag |
| Zoom | scroll wheel |
| Stack/enhance item | click the same object tool on an existing object (max 8) |
| Raise/lower terrain | `R` / `F` over the hovered cell |
| Switch tool | `1`–`9`, then letter shortcuts shown in the toolbar |
| Toggle camera | `P` or `I` (isometric ⇄ soft ⇄ perspective) |
| Reset to preset | reset button |
| Clear to grass | `C` |
## Tools
`Grass` · `Path` · `Dirt` · `Water` · `Stone` · `Lava` · `Sand` · `Snow` ·
`House` · `Tree` · `Fence` · `Rock` · `Bridge` · `Crop` · `Corn` · `Wheat` ·
`Pumpkin` · `Carrot` · `Sunflower` · `Tuft` · `Flower` · `Bush` · `Cow` ·
`Sheep` · `Erase`.
Terrain/object rules are normalized by the renderer: crops force dirt
underneath, bridges force water, and ordinary objects do not float on water.
Paths, shorelines, water foam, bridges, fences, castle walls, houses, and
rocks are adjacency-aware — placing a neighbor re-renders surrounding cells
so roads join, rivers get banks, bridge direction updates, fence walls connect,
house clusters form L/T/+/square buildings, and rock cells grow into craggy
outcrops.
## Architecture
Single `