Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
24 changes: 19 additions & 5 deletions concepts/manifests.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@

## Overview

Hyperscape uses manifest-driven design where game content is defined in TypeScript data files rather than hardcoded in logic. This enables content creation without modifying game systems.

Check warning on line 9 in concepts/manifests.mdx

View check run for this annotation

Mintlify / Mintlify Validation (hyperscape-ai) - vale-spellcheck

concepts/manifests.mdx#L9

Did you really mean 'Hyperscape'?

Check warning on line 9 in concepts/manifests.mdx

View check run for this annotation

Mintlify / Mintlify Validation (hyperscape-ai) - vale-spellcheck

concepts/manifests.mdx#L9

Did you really mean 'hardcoded'?

## Design Philosophy

Expand All @@ -20,10 +20,10 @@

### Benefits

- **Content creators** can add items, NPCs, areas without deep coding

Check warning on line 23 in concepts/manifests.mdx

View check run for this annotation

Mintlify / Mintlify Validation (hyperscape-ai) - vale-spellcheck

concepts/manifests.mdx#L23

Did you really mean 'NPCs'?
- **Designers** iterate quickly on balance
- **Developers** focus on systems, not data
- **Modders** can extend content easily

Check warning on line 26 in concepts/manifests.mdx

View check run for this annotation

Mintlify / Mintlify Validation (hyperscape-ai) - vale-spellcheck

concepts/manifests.mdx#L26

Did you really mean 'Modders'?

## Manifest Files

Expand All @@ -40,7 +40,7 @@
**Production (Railway + Cloudflare):**
- Manifests fetched from CDN at server startup: `PUBLIC_CDN_URL/manifests/`
- Cached locally in `packages/server/world/assets/manifests/`
- Only re-fetched if content changes (HTTP ETag validation)

Check warning on line 43 in concepts/manifests.mdx

View check run for this annotation

Mintlify / Mintlify Validation (hyperscape-ai) - vale-spellcheck

concepts/manifests.mdx#L43

Did you really mean 'ETag'?
- Assets served directly from Cloudflare R2 CDN (no local clone)
- Frontend served from Cloudflare Pages (separate from game server)

Expand Down Expand Up @@ -91,7 +91,7 @@

| File | Content |
|------|---------|
| `npcs.json` | Mobs and NPCs |

Check warning on line 94 in concepts/manifests.mdx

View check run for this annotation

Mintlify / Mintlify Validation (hyperscape-ai) - vale-spellcheck

concepts/manifests.mdx#L94

Did you really mean 'NPCs'?
| `items/` | Equipment, resources, consumables (split by category) |
| `banks-stores.json` | Shop inventories |
| `world-areas.json` | Zones and regions |
Expand All @@ -100,7 +100,7 @@
| `tier-requirements.json` | Equipment level requirements by tier |
| `skill-unlocks.json` | What unlocks at each skill level (served via `/api/data/skill-unlocks`) |
| `gathering/` | Resource gathering data (woodcutting, mining, fishing) |
| `recipes/` | Processing recipes (cooking, firemaking, smelting, smithing, fletching, crafting, runecrafting) |

Check warning on line 103 in concepts/manifests.mdx

View check run for this annotation

Mintlify / Mintlify Validation (hyperscape-ai) - vale-spellcheck

concepts/manifests.mdx#L103

Did you really mean 'firemaking'?

Check warning on line 103 in concepts/manifests.mdx

View check run for this annotation

Mintlify / Mintlify Validation (hyperscape-ai) - vale-spellcheck

concepts/manifests.mdx#L103

Did you really mean 'smithing'?

Check warning on line 103 in concepts/manifests.mdx

View check run for this annotation

Mintlify / Mintlify Validation (hyperscape-ai) - vale-spellcheck

concepts/manifests.mdx#L103

Did you really mean 'fletching'?

Check warning on line 103 in concepts/manifests.mdx

View check run for this annotation

Mintlify / Mintlify Validation (hyperscape-ai) - vale-spellcheck

concepts/manifests.mdx#L103

Did you really mean 'runecrafting'?
| `stations.json` | World station configurations (anvils, furnaces, ranges, banks, altars) |
| `prayers.json` | Prayer definitions with bonuses and drain rates |
| `quests.json` | Quest definitions with stages, requirements, and rewards |
Expand All @@ -116,7 +116,7 @@

## Manifest Structure

### NPCs (`npcs.json`)

Check warning on line 119 in concepts/manifests.mdx

View check run for this annotation

Mintlify / Mintlify Validation (hyperscape-ai) - vale-spellcheck

concepts/manifests.mdx#L119

Did you really mean 'NPCs'?

NPC data is loaded from JSON manifests at runtime by DataManager:

Expand Down Expand Up @@ -148,13 +148,13 @@
"defaultDrop": { "enabled": true, "itemId": "bones", "quantity": 1 },
"common": [{ "itemId": "coins", "minQuantity": 5, "maxQuantity": 15, "chance": 1.0, "rarity": "common" }]
},
"appearance": { "modelPath": "asset://models/goblin/goblin.vrm", "scale": 0.75 }

Check warning on line 151 in concepts/manifests.mdx

View check run for this annotation

Mintlify / Mintlify Validation (hyperscape-ai) - vale-spellcheck

concepts/manifests.mdx#L151

Did you really mean 'modelPath'?
}
]
```

<Info>
NPC definitions are in `world/assets/manifests/npcs.json`, not hardcoded in TypeScript.

Check warning on line 157 in concepts/manifests.mdx

View check run for this annotation

Mintlify / Mintlify Validation (hyperscape-ai) - vale-spellcheck

concepts/manifests.mdx#L157

Did you really mean 'hardcoded'?
</Info>

### Items Directory
Expand Down Expand Up @@ -201,8 +201,8 @@

```json
{
"id": "dragon_pickaxe",

Check warning on line 204 in concepts/manifests.mdx

View check run for this annotation

Mintlify / Mintlify Validation (hyperscape-ai) - vale-spellcheck

concepts/manifests.mdx#L204

Did you really mean 'pickaxe'?
"name": "Dragon Pickaxe",

Check warning on line 205 in concepts/manifests.mdx

View check run for this annotation

Mintlify / Mintlify Validation (hyperscape-ai) - vale-spellcheck

concepts/manifests.mdx#L205

Did you really mean 'Pickaxe'?
"type": "tool",
"tier": "dragon",
"tool": {
Expand All @@ -212,14 +212,14 @@
"bonusTickChance": 0.167,
"bonusRollTicks": 2
},
"equipSlot": "weapon",

Check warning on line 215 in concepts/manifests.mdx

View check run for this annotation

Mintlify / Mintlify Validation (hyperscape-ai) - vale-spellcheck

concepts/manifests.mdx#L215

Did you really mean 'equipSlot'?
"weaponType": "PICKAXE",

Check warning on line 216 in concepts/manifests.mdx

View check run for this annotation

Mintlify / Mintlify Validation (hyperscape-ai) - vale-spellcheck

concepts/manifests.mdx#L216

Did you really mean 'weaponType'?
"attackType": "MELEE",

Check warning on line 217 in concepts/manifests.mdx

View check run for this annotation

Mintlify / Mintlify Validation (hyperscape-ai) - vale-spellcheck

concepts/manifests.mdx#L217

Did you really mean 'attackType'?
"value": 50000,
"weight": 2.2,
"description": "A powerful pickaxe with a chance for bonus mining speed",

Check warning on line 220 in concepts/manifests.mdx

View check run for this annotation

Mintlify / Mintlify Validation (hyperscape-ai) - vale-spellcheck

concepts/manifests.mdx#L220

Did you really mean 'pickaxe'?
"examine": "A pickaxe with a dragon metal head.",
"tradeable": true,

Check warning on line 222 in concepts/manifests.mdx

View check run for this annotation

Mintlify / Mintlify Validation (hyperscape-ai) - vale-spellcheck

concepts/manifests.mdx#L222

Did you really mean 'tradeable'?
"rarity": "rare",
"modelPath": "asset://models/pickaxe-dragon/pickaxe-dragon.glb"
}
Expand All @@ -238,18 +238,18 @@
}
```

**Mining Pickaxe Bonus Speed:**

Check warning on line 241 in concepts/manifests.mdx

View check run for this annotation

Mintlify / Mintlify Validation (hyperscape-ai) - vale-spellcheck

concepts/manifests.mdx#L241

Did you really mean 'Pickaxe'?

Dragon and crystal pickaxes have a chance to mine faster:

| Pickaxe | Roll Ticks | Bonus Chance | Bonus Ticks | Avg Speed |

Check warning on line 245 in concepts/manifests.mdx

View check run for this annotation

Mintlify / Mintlify Validation (hyperscape-ai) - vale-spellcheck

concepts/manifests.mdx#L245

Did you really mean 'Pickaxe'?
|---------|------------|--------------|-------------|-----------|
| Bronze | 8 | - | - | 8 ticks |
| Rune | 3 | - | - | 3 ticks |
| Dragon | 3 | 1/6 (0.167) | 2 | 2.83 ticks |
| Crystal | 3 | 1/4 (0.25) | 2 | 2.75 ticks |

The bonus roll is determined **server-side** to maintain determinism and prevent client/server desyncs.

Check warning on line 252 in concepts/manifests.mdx

View check run for this annotation

Mintlify / Mintlify Validation (hyperscape-ai) - vale-spellcheck

concepts/manifests.mdx#L252

Did you really mean 'desyncs'?

<Info>
Tools with `equipSlot: "weapon"` can be equipped and used for combat. The tier system automatically derives level requirements from `tier-requirements.json`.
Expand All @@ -275,7 +275,7 @@
| **Eat** | Food items | Shrimp, Lobster, Shark |
| **Drink** | Potions | Strength potion, Attack potion |
| **Wield** | Weapons, shields | Bronze sword, Wooden shield |
| **Wear** | Armor | Bronze platebody, Leather body |

Check warning on line 278 in concepts/manifests.mdx

View check run for this annotation

Mintlify / Mintlify Validation (hyperscape-ai) - vale-spellcheck

concepts/manifests.mdx#L278

Did you really mean 'platebody'?
| **Bury** | Bones | Bones, Big bones, Dragon bones |
| **Use** | Tools, misc | Tinderbox, Hammer, Logs |
| **Drop** | Any item | (always available) |
Expand All @@ -290,23 +290,37 @@
{
"trees": [
{
"id": "tree_normal",
"name": "Tree",
"id": "oak",
"name": "Oak",
"type": "tree",
"harvestSkill": "woodcutting",
"toolRequired": "bronze_hatchet",
"levelRequired": 1,
"levelRequired": 15,
"baseCycleTicks": 4,
"depleteChance": 0.125,
"respawnTicks": 80,
"modelPath": "asset://trees/oak/oak_01.glb",
"modelVariants": [
"asset://trees/oak/oak_01.glb",
"asset://trees/oak/oak_02.glb",
"asset://trees/oak/oak_03.glb"
],
"modelScale": 1.2,
"harvestYield": [
{ "itemId": "logs", "quantity": 1, "chance": 1.0, "xpAmount": 25 }
{ "itemId": "oak_logs", "quantity": 1, "chance": 1.0, "xpAmount": 37.5 }
]
}
]
}
```

**Tree Model System**:
- **modelPath**: Primary model for the tree type

Check warning on line 317 in concepts/manifests.mdx

View check run for this annotation

Mintlify / Mintlify Validation (hyperscape-ai) - vale-spellcheck

concepts/manifests.mdx#L317

Did you really mean 'modelPath'?
- **modelVariants**: Array of model variants for visual diversity (optional)

Check warning on line 318 in concepts/manifests.mdx

View check run for this annotation

Mintlify / Mintlify Validation (hyperscape-ai) - vale-spellcheck

concepts/manifests.mdx#L318

Did you really mean 'modelVariants'?
- **modelScale**: Scale multiplier for tree models

Check warning on line 319 in concepts/manifests.mdx

View check run for this annotation

Mintlify / Mintlify Validation (hyperscape-ai) - vale-spellcheck

concepts/manifests.mdx#L319

Did you really mean 'modelScale'?
- **LOD support**: Models include LOD levels (_lod1.glb, _lod2.glb) for performance
- **12 tree types**: bamboo, birch, cactus, chinaPine, coconut, dead, fir, knotwood, maple, oak, palm, pine

Check warning on line 321 in concepts/manifests.mdx

View check run for this annotation

Mintlify / Mintlify Validation (hyperscape-ai) - vale-spellcheck

concepts/manifests.mdx#L321

Did you really mean 'chinaPine'?

Check warning on line 321 in concepts/manifests.mdx

View check run for this annotation

Mintlify / Mintlify Validation (hyperscape-ai) - vale-spellcheck

concepts/manifests.mdx#L321

Did you really mean 'knotwood'?
- **Wind pine**: Single-model tree type for tundra biome (uses modelPath only)

Check warning on line 322 in concepts/manifests.mdx

View check run for this annotation

Mintlify / Mintlify Validation (hyperscape-ai) - vale-spellcheck

concepts/manifests.mdx#L322

Did you really mean 'modelPath'?

**gathering/mining.json** - Ore rocks with OSRS-accurate success rates:
```json
{
Expand Down Expand Up @@ -414,7 +428,7 @@
"model": "asset://models/anvil/anvil.glb",
"modelScale": 0.5,
"modelYOffset": 0.2,
"examine": "An anvil for smithing metal bars into weapons and tools."

Check warning on line 431 in concepts/manifests.mdx

View check run for this annotation

Mintlify / Mintlify Validation (hyperscape-ai) - vale-spellcheck

concepts/manifests.mdx#L431

Did you really mean 'smithing'?
},
{
"type": "furnace",
Expand Down Expand Up @@ -487,7 +501,7 @@

## DataManager

The `DataManager` class loads all manifests and populates runtime data structures. Smithing, cooking, and other processing skills use recipe manifests:

Check warning on line 504 in concepts/manifests.mdx

View check run for this annotation

Mintlify / Mintlify Validation (hyperscape-ai) - vale-spellcheck

concepts/manifests.mdx#L504

Did you really mean 'Smithing'?

**Smelting Recipe** (`recipes/smelting.json`):
```json
Expand All @@ -508,7 +522,7 @@
}
```

**Smithing Recipe** (`recipes/smithing.json`):

Check warning on line 525 in concepts/manifests.mdx

View check run for this annotation

Mintlify / Mintlify Validation (hyperscape-ai) - vale-spellcheck

concepts/manifests.mdx#L525

Did you really mean 'Smithing'?
```json
{
"recipes": [
Expand Down Expand Up @@ -587,12 +601,12 @@
**Prayer Fields:**
- `id` — Unique prayer ID (lowercase, underscores, max 64 chars)
- `name` — Display name
- `description` — Effect description for tooltip

Check warning on line 604 in concepts/manifests.mdx

View check run for this annotation

Mintlify / Mintlify Validation (hyperscape-ai) - vale-spellcheck

concepts/manifests.mdx#L604

Did you really mean 'tooltip'?
- `icon` — Emoji icon for UI
- `level` — Required Prayer level (1-99)
- `category` — "offensive", "defensive", or "utility"
- `drainEffect` — Drain rate (higher = faster drain)
- `bonuses` — Combat stat multipliers (attackMultiplier, strengthMultiplier, defenseMultiplier)

Check warning on line 609 in concepts/manifests.mdx

View check run for this annotation

Mintlify / Mintlify Validation (hyperscape-ai) - vale-spellcheck

concepts/manifests.mdx#L609

Did you really mean 'attackMultiplier'?

Check warning on line 609 in concepts/manifests.mdx

View check run for this annotation

Mintlify / Mintlify Validation (hyperscape-ai) - vale-spellcheck

concepts/manifests.mdx#L609

Did you really mean 'strengthMultiplier'?

Check warning on line 609 in concepts/manifests.mdx

View check run for this annotation

Mintlify / Mintlify Validation (hyperscape-ai) - vale-spellcheck

concepts/manifests.mdx#L609

Did you really mean 'defenseMultiplier'?
- `conflicts` — Array of prayer IDs that conflict with this prayer

<Info>
Expand Down Expand Up @@ -632,12 +646,12 @@

### Development vs Production

Hyperscape uses different manifest loading strategies for development and production:

Check warning on line 649 in concepts/manifests.mdx

View check run for this annotation

Mintlify / Mintlify Validation (hyperscape-ai) - vale-spellcheck

concepts/manifests.mdx#L649

Did you really mean 'Hyperscape'?

**Development (Local):**
- Manifests loaded from `packages/server/world/assets/manifests/`
- Assets cloned via Git LFS during `bun install`
- CDN serves from local Docker nginx container

Check warning on line 654 in concepts/manifests.mdx

View check run for this annotation

Mintlify / Mintlify Validation (hyperscape-ai) - vale-spellcheck

concepts/manifests.mdx#L654

Did you really mean 'nginx'?

**Production (Railway/Cloudflare):**
- Manifests fetched from CDN at server startup
Expand Down Expand Up @@ -680,7 +694,7 @@
```

<Info>
This architecture allows content updates (new items, NPCs, balance changes) to be deployed by updating manifests on the CDN, without requiring server redeployment or downtime.

Check warning on line 697 in concepts/manifests.mdx

View check run for this annotation

Mintlify / Mintlify Validation (hyperscape-ai) - vale-spellcheck

concepts/manifests.mdx#L697

Did you really mean 'NPCs'?
</Info>

## DataManager
Expand Down Expand Up @@ -837,16 +851,16 @@
- **Atomic loading**: Items directory loads all files or falls back to legacy format

<Warning>
Invalid JSON syntax will cause server startup to fail. Use a JSON validator before committing changes.

Check warning on line 854 in concepts/manifests.mdx

View check run for this annotation

Mintlify / Mintlify Validation (hyperscape-ai) - vale-spellcheck

concepts/manifests.mdx#L854

Did you really mean 'validator'?
</Warning>

## Data Providers

The manifest system uses specialized data providers for efficient lookups:

Check warning on line 859 in concepts/manifests.mdx

View check run for this annotation

Mintlify / Mintlify Validation (hyperscape-ai) - vale-spellcheck

concepts/manifests.mdx#L859

Did you really mean 'lookups'?

| Provider | Purpose | Manifest Source |
|----------|---------|-----------------|
| `ProcessingDataProvider` | Cooking, firemaking, smelting, smithing recipes | `recipes/*.json` |

Check warning on line 863 in concepts/manifests.mdx

View check run for this annotation

Mintlify / Mintlify Validation (hyperscape-ai) - vale-spellcheck

concepts/manifests.mdx#L863

Did you really mean 'firemaking'?
| `TierDataProvider` | Equipment level requirements by tier | `tier-requirements.json` |
| `StationDataProvider` | Station models and configurations | `stations.json` |
| `DataManager` | Central loader for all manifests | All manifests |
Expand Down Expand Up @@ -910,7 +924,7 @@
- Models loaded via `ModelCache` with transform baking
- `modelYOffset` raises model so base sits on ground
- Graceful fallback to blue box placeholder if model fails
- Shadows and raycasting layers configured automatically

Check warning on line 927 in concepts/manifests.mdx

View check run for this annotation

Mintlify / Mintlify Validation (hyperscape-ai) - vale-spellcheck

concepts/manifests.mdx#L927

Did you really mean 'raycasting'?

### Quests (`quests.json`)

Expand Down Expand Up @@ -1031,7 +1045,7 @@
**Properties**:
- `id` — Unique prayer identifier
- `name` — Display name shown in prayer book
- `description` — Effect description for tooltip

Check warning on line 1048 in concepts/manifests.mdx

View check run for this annotation

Mintlify / Mintlify Validation (hyperscape-ai) - vale-spellcheck

concepts/manifests.mdx#L1048

Did you really mean 'tooltip'?
- `icon` — Icon asset path for prayer book UI
- `level` — Prayer level required to unlock
- `category` — Prayer type: `offensive`, `defensive`, or `utility`
Expand Down Expand Up @@ -1105,7 +1119,7 @@
```

**Quest Properties**:
- `id` — Unique quest identifier (snake_case)

Check warning on line 1122 in concepts/manifests.mdx

View check run for this annotation

Mintlify / Mintlify Validation (hyperscape-ai) - vale-spellcheck

concepts/manifests.mdx#L1122

Did you really mean 'snake_case'?
- `name` — Display name shown in quest journal
- `description` — Quest summary
- `difficulty` — `novice`, `intermediate`, `experienced`, `master`
Expand Down Expand Up @@ -1134,7 +1148,7 @@

## Overview

Hyperscape uses manifest-driven design where game content is defined in TypeScript data files rather than hardcoded in logic. This enables content creation without modifying game systems.

Check warning on line 1151 in concepts/manifests.mdx

View check run for this annotation

Mintlify / Mintlify Validation (hyperscape-ai) - vale-spellcheck

concepts/manifests.mdx#L1151

Did you really mean 'Hyperscape'?

Check warning on line 1151 in concepts/manifests.mdx

View check run for this annotation

Mintlify / Mintlify Validation (hyperscape-ai) - vale-spellcheck

concepts/manifests.mdx#L1151

Did you really mean 'hardcoded'?

## Design Philosophy

Expand All @@ -1148,10 +1162,10 @@

### Benefits

- **Content creators** can add items, NPCs, areas without deep coding

Check warning on line 1165 in concepts/manifests.mdx

View check run for this annotation

Mintlify / Mintlify Validation (hyperscape-ai) - vale-spellcheck

concepts/manifests.mdx#L1165

Did you really mean 'NPCs'?
- **Designers** iterate quickly on balance
- **Developers** focus on systems, not data
- **Modders** can extend content easily

Check warning on line 1168 in concepts/manifests.mdx

View check run for this annotation

Mintlify / Mintlify Validation (hyperscape-ai) - vale-spellcheck

concepts/manifests.mdx#L1168

Did you really mean 'Modders'?

## Manifest Files

Expand All @@ -1159,7 +1173,7 @@

| File | Content |
|------|---------|
| `npcs.json` | Mobs and NPCs |

Check warning on line 1176 in concepts/manifests.mdx

View check run for this annotation

Mintlify / Mintlify Validation (hyperscape-ai) - vale-spellcheck

concepts/manifests.mdx#L1176

Did you really mean 'NPCs'?
| `items/` | Equipment, resources, consumables (split by category) |
| `banks-stores.json` | Shop inventories |
| `world-areas.json` | Zones and regions |
Expand All @@ -1167,7 +1181,7 @@
| `tier-requirements.json` | Equipment level requirements by tier |
| `skill-unlocks.json` | What unlocks at each skill level |
| `gathering/` | Resource gathering data (woodcutting, mining, fishing) |
| `recipes/` | Processing recipes (cooking, firemaking, smelting, smithing) |

Check warning on line 1184 in concepts/manifests.mdx

View check run for this annotation

Mintlify / Mintlify Validation (hyperscape-ai) - vale-spellcheck

concepts/manifests.mdx#L1184

Did you really mean 'firemaking'?

Check warning on line 1184 in concepts/manifests.mdx

View check run for this annotation

Mintlify / Mintlify Validation (hyperscape-ai) - vale-spellcheck

concepts/manifests.mdx#L1184

Did you really mean 'smithing'?
| `stations.json` | World station configurations (anvils, furnaces, ranges) |
| `prayers.json` | Prayer definitions with bonuses and drain rates |
| `quests.json` | Quest definitions with stages, requirements, and rewards |
Expand All @@ -1175,7 +1189,7 @@

## Manifest Structure

### NPCs (`npcs.json`)

Check warning on line 1192 in concepts/manifests.mdx

View check run for this annotation

Mintlify / Mintlify Validation (hyperscape-ai) - vale-spellcheck

concepts/manifests.mdx#L1192

Did you really mean 'NPCs'?

NPC data is loaded from JSON manifests at runtime by DataManager:

Expand Down Expand Up @@ -1213,7 +1227,7 @@
```

<Info>
NPC definitions are in `world/assets/manifests/npcs.json`, not hardcoded in TypeScript.

Check warning on line 1230 in concepts/manifests.mdx

View check run for this annotation

Mintlify / Mintlify Validation (hyperscape-ai) - vale-spellcheck

concepts/manifests.mdx#L1230

Did you really mean 'hardcoded'?
</Info>

### Items Directory
Expand Down Expand Up @@ -1297,7 +1311,7 @@
}
```

**Mining Pickaxe Bonus Speed:**

Check warning on line 1314 in concepts/manifests.mdx

View check run for this annotation

Mintlify / Mintlify Validation (hyperscape-ai) - vale-spellcheck

concepts/manifests.mdx#L1314

Did you really mean 'Pickaxe'?

Dragon and crystal pickaxes have a chance to mine faster:

Expand All @@ -1308,7 +1322,7 @@
| Dragon | 3 | 1/6 (0.167) | 2 | 2.83 ticks |
| Crystal | 3 | 1/4 (0.25) | 2 | 2.75 ticks |

The bonus roll is determined **server-side** to maintain determinism and prevent client/server desyncs.

Check warning on line 1325 in concepts/manifests.mdx

View check run for this annotation

Mintlify / Mintlify Validation (hyperscape-ai) - vale-spellcheck

concepts/manifests.mdx#L1325

Did you really mean 'desyncs'?

<Info>
Tools with `equipSlot: "weapon"` can be equipped and used for combat. The tier system automatically derives level requirements from `tier-requirements.json`.
Expand All @@ -1334,7 +1348,7 @@
| **Eat** | Food items | Shrimp, Lobster, Shark |
| **Drink** | Potions | Strength potion, Attack potion |
| **Wield** | Weapons, shields | Bronze sword, Wooden shield |
| **Wear** | Armor | Bronze platebody, Leather body |

Check warning on line 1351 in concepts/manifests.mdx

View check run for this annotation

Mintlify / Mintlify Validation (hyperscape-ai) - vale-spellcheck

concepts/manifests.mdx#L1351

Did you really mean 'platebody'?
| **Bury** | Bones | Bones, Big bones, Dragon bones |
| **Use** | Tools, misc | Tinderbox, Hammer, Logs |
| **Drop** | Any item | (always available) |
Expand Down Expand Up @@ -1476,7 +1490,7 @@
- Station footprint calculated from model bounds × scale
- Flat zone created with dimensions: `(footprint + padding × 2)`
- Terrain height sampled at station center position
- Smoothstep blending (t² × (3 - 2t)) creates natural transitions

Check warning on line 1493 in concepts/manifests.mdx

View check run for this annotation

Mintlify / Mintlify Validation (hyperscape-ai) - vale-spellcheck

concepts/manifests.mdx#L1493

Did you really mean 'Smoothstep'?
- Spatial indexing using terrain tiles (100m) for O(1) lookup

<Info>
Expand Down Expand Up @@ -1569,7 +1583,7 @@

## DataManager

Smithing, cooking, and other processing skills use recipe manifests:

Check warning on line 1586 in concepts/manifests.mdx

View check run for this annotation

Mintlify / Mintlify Validation (hyperscape-ai) - vale-spellcheck

concepts/manifests.mdx#L1586

Did you really mean 'Smithing'?

**Smelting Recipe** (`recipes/smelting.json`):
```json
Expand All @@ -1590,7 +1604,7 @@
}
```

**Smithing Recipe** (`recipes/smithing.json`):

Check warning on line 1607 in concepts/manifests.mdx

View check run for this annotation

Mintlify / Mintlify Validation (hyperscape-ai) - vale-spellcheck

concepts/manifests.mdx#L1607

Did you really mean 'Smithing'?
```json
{
"recipes": [
Expand Down Expand Up @@ -1735,7 +1749,7 @@
**StationSpawnerSystem:**
- Reads `stations` field from WorldArea definitions
- Spawns station entities at configured positions
- Replaces hardcoded station spawning in EntityManager

Check warning on line 1752 in concepts/manifests.mdx

View check run for this annotation

Mintlify / Mintlify Validation (hyperscape-ai) - vale-spellcheck

concepts/manifests.mdx#L1752

Did you really mean 'hardcoded'?
- Uses `getStationsInArea()` helper for querying

### Step 1: Choose the Right Manifest
Expand Down Expand Up @@ -1787,16 +1801,16 @@
- **Atomic loading**: Items directory loads all files or falls back to legacy format

<Warning>
Invalid JSON syntax will cause server startup to fail. Use a JSON validator before committing changes.

Check warning on line 1804 in concepts/manifests.mdx

View check run for this annotation

Mintlify / Mintlify Validation (hyperscape-ai) - vale-spellcheck

concepts/manifests.mdx#L1804

Did you really mean 'validator'?
</Warning>

## Data Providers

The manifest system uses specialized data providers for efficient lookups:

Check warning on line 1809 in concepts/manifests.mdx

View check run for this annotation

Mintlify / Mintlify Validation (hyperscape-ai) - vale-spellcheck

concepts/manifests.mdx#L1809

Did you really mean 'lookups'?

| Provider | Purpose | Manifest Source |
|----------|---------|-----------------|
| `ProcessingDataProvider` | Cooking, firemaking, smelting, smithing recipes | `recipes/*.json` |

Check warning on line 1813 in concepts/manifests.mdx

View check run for this annotation

Mintlify / Mintlify Validation (hyperscape-ai) - vale-spellcheck

concepts/manifests.mdx#L1813

Did you really mean 'firemaking'?
| `TierDataProvider` | Equipment level requirements by tier | `tier-requirements.json` |
| `StationDataProvider` | Station models and configurations | `stations.json` |
| `DataManager` | Central loader for all manifests | All manifests |
Expand Down Expand Up @@ -1828,7 +1842,7 @@
- Models loaded via `ModelCache` with transform baking
- `modelYOffset` raises model so base sits on ground
- Graceful fallback to blue box placeholder if model fails
- Shadows and raycasting layers configured automatically

Check warning on line 1845 in concepts/manifests.mdx

View check run for this annotation

Mintlify / Mintlify Validation (hyperscape-ai) - vale-spellcheck

concepts/manifests.mdx#L1845

Did you really mean 'raycasting'?

### Quests (`quests.json`)

Expand Down Expand Up @@ -1911,9 +1925,9 @@

**Available Quests:**
- **Goblin Slayer** — Combat tutorial (kill 15 goblins)
- **Lumberjack's First Lesson** — Woodcutting and firemaking tutorial

Check warning on line 1928 in concepts/manifests.mdx

View check run for this annotation

Mintlify / Mintlify Validation (hyperscape-ai) - vale-spellcheck

concepts/manifests.mdx#L1928

Did you really mean 'firemaking'?
- **Fresh Catch** — Fishing and cooking tutorial
- **Torvin's Tools** — Mining, smelting, and smithing tutorial

Check warning on line 1930 in concepts/manifests.mdx

View check run for this annotation

Mintlify / Mintlify Validation (hyperscape-ai) - vale-spellcheck

concepts/manifests.mdx#L1930

Did you really mean 'Torvin's'?

Check warning on line 1930 in concepts/manifests.mdx

View check run for this annotation

Mintlify / Mintlify Validation (hyperscape-ai) - vale-spellcheck

concepts/manifests.mdx#L1930

Did you really mean 'smithing'?

<Info>
Quest progress is tracked server-side. Each stage must be completed in order before advancing to the next stage.
Expand Down Expand Up @@ -1948,7 +1962,7 @@
**Properties**:
- `id` — Unique prayer identifier
- `name` — Display name shown in prayer book
- `description` — Effect description for tooltip

Check warning on line 1965 in concepts/manifests.mdx

View check run for this annotation

Mintlify / Mintlify Validation (hyperscape-ai) - vale-spellcheck

concepts/manifests.mdx#L1965

Did you really mean 'tooltip'?
- `icon` — Icon asset path for prayer book UI
- `level` — Prayer level required to unlock
- `category` — Prayer type: `offensive`, `defensive`, or `utility`
Expand Down Expand Up @@ -2014,19 +2028,19 @@
- **Placement Validation** — Ensure entities fit within available space
- **Collision Detection** — Fast AABB checks for physics and interactions
- **Tile Occupancy** — Calculate which tiles an entity occupies
- **Spatial Queries** — Optimize raycasting and proximity checks

Check warning on line 2031 in concepts/manifests.mdx

View check run for this annotation

Mintlify / Mintlify Validation (hyperscape-ai) - vale-spellcheck

concepts/manifests.mdx#L2031

Did you really mean 'raycasting'?

The bounds are automatically generated from the actual 3D model geometry and updated when models change.

## Best Practices

1. **Use descriptive IDs**: `bronze_sword` not `sword1`
2. **Follow naming conventions**: snake_case for IDs

Check warning on line 2038 in concepts/manifests.mdx

View check run for this annotation

Mintlify / Mintlify Validation (hyperscape-ai) - vale-spellcheck

concepts/manifests.mdx#L2038

Did you really mean 'snake_case'?
3. **Organize by category**: Use the directory structure (items/, recipes/, gathering/)
4. **Test after changes**: Verify in-game before committing
5. **Keep data flat**: Avoid deep nesting in manifest structures
6. **Use tier system**: Leverage TierDataProvider for equipment requirements instead of hardcoding

Check warning on line 2042 in concepts/manifests.mdx

View check run for this annotation

Mintlify / Mintlify Validation (hyperscape-ai) - vale-spellcheck

concepts/manifests.mdx#L2042

Did you really mean 'hardcoding'?
7. **Validate JSON**: Use a JSON validator before committing to catch syntax errors

Check warning on line 2043 in concepts/manifests.mdx

View check run for this annotation

Mintlify / Mintlify Validation (hyperscape-ai) - vale-spellcheck

concepts/manifests.mdx#L2043

Did you really mean 'validator'?

## Manifest Loading Order

Expand All @@ -2035,7 +2049,7 @@
1. **Tier requirements** (`tier-requirements.json`) - Needed for item normalization
2. **Model bounds** (`model-bounds.json`) - Needed for station footprint calculation
3. **Items** (`items/` directory or `items.json` fallback)
4. **NPCs** (`npcs.json`)

Check warning on line 2052 in concepts/manifests.mdx

View check run for this annotation

Mintlify / Mintlify Validation (hyperscape-ai) - vale-spellcheck

concepts/manifests.mdx#L2052

Did you really mean 'NPCs'?
5. **Gathering resources** (`gathering/*.json`)
6. **Recipe manifests** (`recipes/*.json`)
7. **Skill unlocks** (`skill-unlocks.json`)
Expand All @@ -2060,7 +2074,7 @@

**Process:**
1. Scans `world/assets/models/**/*.glb` files
2. Parses glTF position accessor min/max values

Check warning on line 2077 in concepts/manifests.mdx

View check run for this annotation

Mintlify / Mintlify Validation (hyperscape-ai) - vale-spellcheck

concepts/manifests.mdx#L2077

Did you really mean 'accessor'?
3. Calculates bounding boxes and footprints at scale 1.0
4. Writes to `world/assets/manifests/model-bounds.json`

Expand Down
16 changes: 16 additions & 0 deletions concepts/skills.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -6,11 +6,11 @@

## Overview

Hyperscape features a RuneScape-inspired skill system with leveling, XP gain, and level requirements for equipment and activities.

Check warning on line 9 in concepts/skills.mdx

View check run for this annotation

Mintlify / Mintlify Validation (hyperscape-ai) - vale-spellcheck

concepts/skills.mdx#L9

Did you really mean 'Hyperscape'?

## Available Skills

Hyperscape has **14 skills** total:

Check warning on line 13 in concepts/skills.mdx

View check run for this annotation

Mintlify / Mintlify Validation (hyperscape-ai) - vale-spellcheck

concepts/skills.mdx#L13

Did you really mean 'Hyperscape'?

### Combat Skills

Expand All @@ -36,12 +36,12 @@

| Skill | Activity |
|-------|----------|
| **Firemaking** | Create fires from logs |

Check warning on line 39 in concepts/skills.mdx

View check run for this annotation

Mintlify / Mintlify Validation (hyperscape-ai) - vale-spellcheck

concepts/skills.mdx#L39

Did you really mean 'Firemaking'?
| **Cooking** | Prepare food from raw fish |
| **Smithing** | Smelt ores into bars and smith equipment |

Check warning on line 41 in concepts/skills.mdx

View check run for this annotation

Mintlify / Mintlify Validation (hyperscape-ai) - vale-spellcheck

concepts/skills.mdx#L41

Did you really mean 'Smithing'?
| **Fletching** | Craft bows and arrows from logs |

Check warning on line 42 in concepts/skills.mdx

View check run for this annotation

Mintlify / Mintlify Validation (hyperscape-ai) - vale-spellcheck

concepts/skills.mdx#L42

Did you really mean 'Fletching'?
| **Crafting** | Create leather armor, jewelry, and cut gems |
| **Runecrafting** | Craft elemental and combat runes at altars |

Check warning on line 44 in concepts/skills.mdx

View check run for this annotation

Mintlify / Mintlify Validation (hyperscape-ai) - vale-spellcheck

concepts/skills.mdx#L44

Did you really mean 'Runecrafting'?

### Support Skills

Expand All @@ -57,13 +57,13 @@

- **Combat** — Damage dealt grants Attack/Strength/Defense/Constitution XP
- **Gathering** — Woodcutting, Mining, Fishing grant XP per resource
- **Artisan** — Firemaking, Cooking, Smithing grant XP per action

Check warning on line 60 in concepts/skills.mdx

View check run for this annotation

Mintlify / Mintlify Validation (hyperscape-ai) - vale-spellcheck

concepts/skills.mdx#L60

Did you really mean 'Firemaking'?

Check warning on line 60 in concepts/skills.mdx

View check run for this annotation

Mintlify / Mintlify Validation (hyperscape-ai) - vale-spellcheck

concepts/skills.mdx#L60

Did you really mean 'Smithing'?
- **Quest Rewards** — Quests award XP to specific skills
- **XP Lamps** — Quest rewards that grant XP to chosen skill

### XP Formula

Hyperscape uses RuneScape's XP curve:

Check warning on line 66 in concepts/skills.mdx

View check run for this annotation

Mintlify / Mintlify Validation (hyperscape-ai) - vale-spellcheck

concepts/skills.mdx#L66

Did you really mean 'Hyperscape'?

```
XP for Level N = floor(sum(floor(L + 300 * 2^(L/7))) / 4) for L = 1 to N-1
Expand Down Expand Up @@ -95,18 +95,34 @@
| Normal | 1 | 25 |
| Oak | 15 | 37.5 |
| Willow | 30 | 67.5 |
| Maple | 45 | 100 |
| Yew | 60 | 175 |
| Magic | 75 | 250 |

**Available Tree Types** (12 types with visual variants):
- **Bamboo** - Fast-growing tropical tree
- **Birch** - Light-colored deciduous tree
- **Cactus** - Desert vegetation
- **China Pine** - Asian conifer variant
- **Coconut** - Tropical palm with coconuts
- **Dead** - Withered tree variants
- **Fir** - Evergreen conifer
- **Knotwood** - Gnarled tree with amber leaves (#C4832A)

Check warning on line 110 in concepts/skills.mdx

View check run for this annotation

Mintlify / Mintlify Validation (hyperscape-ai) - vale-spellcheck

concepts/skills.mdx#L110

Did you really mean 'Knotwood'?
- **Maple** - Deciduous hardwood
- **Oak** - Classic hardwood tree
- **Palm** - Tropical palm tree
- **Pine** - Standard conifer
- **Wind Pine** - Tundra-specific wind-swept pine (single model)

### Mining

Requirements:
- Pickaxe in inventory or equipped

Check warning on line 120 in concepts/skills.mdx

View check run for this annotation

Mintlify / Mintlify Validation (hyperscape-ai) - vale-spellcheck

concepts/skills.mdx#L120

Did you really mean 'Pickaxe'?
- Click ore rock to mine

**OSRS-Accurate Mechanics:**
- Pickaxe tier affects **roll frequency** (not success rate)

Check warning on line 124 in concepts/skills.mdx

View check run for this annotation

Mintlify / Mintlify Validation (hyperscape-ai) - vale-spellcheck

concepts/skills.mdx#L124

Did you really mean 'Pickaxe'?
- Success rate is **level-only** (pickaxe doesn't affect it)

Check warning on line 125 in concepts/skills.mdx

View check run for this annotation

Mintlify / Mintlify Validation (hyperscape-ai) - vale-spellcheck

concepts/skills.mdx#L125

Did you really mean 'pickaxe'?
- Rocks have **100% depletion** on successful mine (1/8 chance)
- Dragon/Crystal pickaxes have **bonus speed rolls**

Expand All @@ -115,18 +131,18 @@
| Copper/Tin | 1 | 17.5 | 1/8 chance |
| Iron | 15 | 35 | 1/8 chance |
| Coal | 30 | 50 | 1/8 chance |
| Mithril | 55 | 80 | 1/8 chance |

Check warning on line 134 in concepts/skills.mdx

View check run for this annotation

Mintlify / Mintlify Validation (hyperscape-ai) - vale-spellcheck

concepts/skills.mdx#L134

Did you really mean 'Mithril'?
| Adamantite | 70 | 95 | 1/8 chance |

Check warning on line 135 in concepts/skills.mdx

View check run for this annotation

Mintlify / Mintlify Validation (hyperscape-ai) - vale-spellcheck

concepts/skills.mdx#L135

Did you really mean 'Adamantite'?
| Runite | 85 | 125 | 1/8 chance |

Check warning on line 136 in concepts/skills.mdx

View check run for this annotation

Mintlify / Mintlify Validation (hyperscape-ai) - vale-spellcheck

concepts/skills.mdx#L136

Did you really mean 'Runite'?

**Pickaxe Tiers:**

Check warning on line 138 in concepts/skills.mdx

View check run for this annotation

Mintlify / Mintlify Validation (hyperscape-ai) - vale-spellcheck

concepts/skills.mdx#L138

Did you really mean 'Pickaxe'?

| Pickaxe | Level | Roll Ticks | Bonus Speed |

Check warning on line 140 in concepts/skills.mdx

View check run for this annotation

Mintlify / Mintlify Validation (hyperscape-ai) - vale-spellcheck

concepts/skills.mdx#L140

Did you really mean 'Pickaxe'?
|---------|-------|------------|-------------|
| Bronze | 1 | 8 ticks | None |
| Iron | 1 | 7 ticks | None |
| Steel | 6 | 6 ticks | None |
| Mithril | 21 | 5 ticks | None |

Check warning on line 145 in concepts/skills.mdx

View check run for this annotation

Mintlify / Mintlify Validation (hyperscape-ai) - vale-spellcheck

concepts/skills.mdx#L145

Did you really mean 'Mithril'?
| Adamant | 31 | 4 ticks | None |
| Rune | 41 | 3 ticks | None |
| Dragon | 61 | 3 ticks | 1/6 chance for 2 ticks |
Expand All @@ -152,7 +168,7 @@

### Agility

Agility is trained passively by moving through the world. Unlike traditional RuneScape agility courses, Hyperscape's Agility system rewards exploration and travel.

Check warning on line 171 in concepts/skills.mdx

View check run for this annotation

Mintlify / Mintlify Validation (hyperscape-ai) - vale-spellcheck

concepts/skills.mdx#L171

Did you really mean 'Hyperscape's'?

**Training Method:**
- Gain 1 XP per 2 tiles traveled (walking or running)
Expand All @@ -160,7 +176,7 @@
- XP drops appear every ~15 seconds while running, ~30 seconds while walking

**Benefits:**
- **Stamina Regeneration**: +1% stamina regen per Agility level

Check warning on line 179 in concepts/skills.mdx

View check run for this annotation

Mintlify / Mintlify Validation (hyperscape-ai) - vale-spellcheck

concepts/skills.mdx#L179

Did you really mean 'regen'?
- Level 1: 1% bonus (4.04/sec idle, 2.02/sec walking)
- Level 50: 50% bonus (6.0/sec idle, 3.0/sec walking)
- Level 99: 99% bonus (7.96/sec idle, 3.98/sec walking)
Expand All @@ -175,7 +191,7 @@

## Artisan Skills

### Firemaking

Check warning on line 194 in concepts/skills.mdx

View check run for this annotation

Mintlify / Mintlify Validation (hyperscape-ai) - vale-spellcheck

concepts/skills.mdx#L194

Did you really mean 'Firemaking'?

Use tinderbox on logs in inventory to create a fire.

Expand All @@ -200,14 +216,14 @@
| Shark | 80 | 210 | 20 HP |

**Cooking Sources:**
- **Fires**: Created via Firemaking skill (temporary)

Check warning on line 219 in concepts/skills.mdx

View check run for this annotation

Mintlify / Mintlify Validation (hyperscape-ai) - vale-spellcheck

concepts/skills.mdx#L219

Did you really mean 'Firemaking'?
- **Ranges**: Permanent cooking stations found in towns

<Warning>
Cooking can fail at low levels, burning the food. Ranges reduce burn chance compared to fires.
</Warning>

### Fletching

Check warning on line 226 in concepts/skills.mdx

View check run for this annotation

Mintlify / Mintlify Validation (hyperscape-ai) - vale-spellcheck

concepts/skills.mdx#L226

Did you really mean 'Fletching'?

Craft bows and arrows from logs using a knife.

Expand All @@ -224,26 +240,26 @@
**Bows** (Knife + Logs, then String):
| Bow | Level | XP (Cut) | XP (String) |
|-----|-------|----------|-------------|
| Shortbow | 5 | 5 | 5 |

Check warning on line 243 in concepts/skills.mdx

View check run for this annotation

Mintlify / Mintlify Validation (hyperscape-ai) - vale-spellcheck

concepts/skills.mdx#L243

Did you really mean 'Shortbow'?
| Longbow | 10 | 10 | 10 |
| Oak Shortbow | 20 | 16.5 | 16.5 |

Check warning on line 245 in concepts/skills.mdx

View check run for this annotation

Mintlify / Mintlify Validation (hyperscape-ai) - vale-spellcheck

concepts/skills.mdx#L245

Did you really mean 'Shortbow'?
| Oak Longbow | 25 | 25 | 25 |
| Willow Shortbow | 35 | 33.3 | 33.3 |

Check warning on line 247 in concepts/skills.mdx

View check run for this annotation

Mintlify / Mintlify Validation (hyperscape-ai) - vale-spellcheck

concepts/skills.mdx#L247

Did you really mean 'Shortbow'?
| Willow Longbow | 40 | 41.5 | 41.5 |
| Maple Shortbow | 50 | 50 | 50 |

Check warning on line 249 in concepts/skills.mdx

View check run for this annotation

Mintlify / Mintlify Validation (hyperscape-ai) - vale-spellcheck

concepts/skills.mdx#L249

Did you really mean 'Shortbow'?
| Maple Longbow | 55 | 58.3 | 58.3 |
| Yew Shortbow | 65 | 67.5 | 67.5 |

Check warning on line 251 in concepts/skills.mdx

View check run for this annotation

Mintlify / Mintlify Validation (hyperscape-ai) - vale-spellcheck

concepts/skills.mdx#L251

Did you really mean 'Shortbow'?
| Yew Longbow | 70 | 75 | 75 |
| Magic Shortbow | 80 | 83.3 | 83.3 |

Check warning on line 253 in concepts/skills.mdx

View check run for this annotation

Mintlify / Mintlify Validation (hyperscape-ai) - vale-spellcheck

concepts/skills.mdx#L253

Did you really mean 'Shortbow'?
| Magic Longbow | 85 | 91.5 | 91.5 |

**Arrows** (Arrowtips + Headless Arrows):

Check warning on line 256 in concepts/skills.mdx

View check run for this annotation

Mintlify / Mintlify Validation (hyperscape-ai) - vale-spellcheck

concepts/skills.mdx#L256

Did you really mean 'Arrowtips'?
| Arrow | Level | XP (per 15) |
|-------|-------|-------------|
| Bronze | 1 | 19.5 |
| Iron | 15 | 37.5 |
| Steel | 30 | 75 |
| Mithril | 45 | 112.5 |

Check warning on line 262 in concepts/skills.mdx

View check run for this annotation

Mintlify / Mintlify Validation (hyperscape-ai) - vale-spellcheck

concepts/skills.mdx#L262

Did you really mean 'Mithril'?
| Adamant | 60 | 150 |
| Rune | 75 | 187.5 |

Expand All @@ -262,12 +278,12 @@
| Leather Chaps | 18 | 27 |
| Coif | 38 | 37 |

**Dragonhide Armor** (Needle + Thread + Dragon Leather):

Check warning on line 281 in concepts/skills.mdx

View check run for this annotation

Mintlify / Mintlify Validation (hyperscape-ai) - vale-spellcheck

concepts/skills.mdx#L281

Did you really mean 'Dragonhide'?
| Item | Level | Leather | XP |
|------|-------|---------|-----|
| Green D'hide Vambraces | 57 | 1 | 62 |

Check warning on line 284 in concepts/skills.mdx

View check run for this annotation

Mintlify / Mintlify Validation (hyperscape-ai) - vale-spellcheck

concepts/skills.mdx#L284

Did you really mean 'D'hide'?
| Green D'hide Chaps | 60 | 2 | 124 |

Check warning on line 285 in concepts/skills.mdx

View check run for this annotation

Mintlify / Mintlify Validation (hyperscape-ai) - vale-spellcheck

concepts/skills.mdx#L285

Did you really mean 'D'hide'?
| Green D'hide Body | 63 | 3 | 186 |

Check warning on line 286 in concepts/skills.mdx

View check run for this annotation

Mintlify / Mintlify Validation (hyperscape-ai) - vale-spellcheck

concepts/skills.mdx#L286

Did you really mean 'D'hide'?

**Jewelry** (Gold Bar + Gem at Furnace):
| Item | Level | XP |
Expand All @@ -286,12 +302,12 @@
| Emerald | 27 | 67.5 |
| Ruby | 34 | 85 |
| Diamond | 43 | 107.5 |
| Dragonstone | 55 | 137.5 |

Check warning on line 305 in concepts/skills.mdx

View check run for this annotation

Mintlify / Mintlify Validation (hyperscape-ai) - vale-spellcheck

concepts/skills.mdx#L305

Did you really mean 'Dragonstone'?
| Onyx | 67 | 167.5 |

### Runecrafting

Check warning on line 308 in concepts/skills.mdx

View check run for this annotation

Mintlify / Mintlify Validation (hyperscape-ai) - vale-spellcheck

concepts/skills.mdx#L308

Did you really mean 'Runecrafting'?

Craft elemental and combat runes at runecrafting altars using essence.

Check warning on line 310 in concepts/skills.mdx

View check run for this annotation

Mintlify / Mintlify Validation (hyperscape-ai) - vale-spellcheck

concepts/skills.mdx#L310

Did you really mean 'runecrafting'?

| Rune | Level | XP per Essence | Multi-Rune Levels |
|------|-------|----------------|-------------------|
Expand All @@ -303,10 +319,10 @@
| Chaos | 35 | 8.5 | 74 |

<Info>
Multi-rune levels allow you to craft multiple runes per essence. For example, at level 11 Runecrafting, you craft 2 air runes per essence instead of 1.

Check warning on line 322 in concepts/skills.mdx

View check run for this annotation

Mintlify / Mintlify Validation (hyperscape-ai) - vale-spellcheck

concepts/skills.mdx#L322

Did you really mean 'Runecrafting'?
</Info>

### Smithing

Check warning on line 325 in concepts/skills.mdx

View check run for this annotation

Mintlify / Mintlify Validation (hyperscape-ai) - vale-spellcheck

concepts/skills.mdx#L325

Did you really mean 'Smithing'?

Smelt ores into bars at furnaces, then smith bars into equipment at anvils.

Expand All @@ -317,9 +333,9 @@
| Bronze | 1 | 1 Copper + 1 Tin | 6.25 | 100% |
| Iron | 15 | 1 Iron Ore | 12.5 | 50% |
| Steel | 30 | 1 Iron Ore + 2 Coal | 17.5 | 100% |
| Mithril | 50 | 1 Mithril Ore + 4 Coal | 30 | 100% |

Check warning on line 336 in concepts/skills.mdx

View check run for this annotation

Mintlify / Mintlify Validation (hyperscape-ai) - vale-spellcheck

concepts/skills.mdx#L336

Did you really mean 'Mithril'?

Check warning on line 336 in concepts/skills.mdx

View check run for this annotation

Mintlify / Mintlify Validation (hyperscape-ai) - vale-spellcheck

concepts/skills.mdx#L336

Did you really mean 'Mithril'?
| Adamant | 70 | 1 Adamantite Ore + 6 Coal | 37.5 | 100% |

Check warning on line 337 in concepts/skills.mdx

View check run for this annotation

Mintlify / Mintlify Validation (hyperscape-ai) - vale-spellcheck

concepts/skills.mdx#L337

Did you really mean 'Adamantite'?
| Rune | 85 | 1 Runite Ore + 8 Coal | 50 | 100% |

Check warning on line 338 in concepts/skills.mdx

View check run for this annotation

Mintlify / Mintlify Validation (hyperscape-ai) - vale-spellcheck

concepts/skills.mdx#L338

Did you really mean 'Runite'?

<Info>
Iron ore has a 50% failure rate when smelting, matching OSRS mechanics.
Expand All @@ -327,7 +343,7 @@

### Agility

Agility is a unique skill that rewards players for traversing the game world. Unlike traditional RuneScape agility courses, Hyperscape's agility system is integrated with movement and stamina mechanics.

Check warning on line 346 in concepts/skills.mdx

View check run for this annotation

Mintlify / Mintlify Validation (hyperscape-ai) - vale-spellcheck

concepts/skills.mdx#L346

Did you really mean 'Hyperscape's'?

#### Training Agility

Expand All @@ -346,9 +362,9 @@

#### Agility Benefits

**Stamina Regeneration Bonus**: +1% stamina regen per agility level

Check warning on line 365 in concepts/skills.mdx

View check run for this annotation

Mintlify / Mintlify Validation (hyperscape-ai) - vale-spellcheck

concepts/skills.mdx#L365

Did you really mean 'regen'?

| Agility Level | Regen Multiplier | Idle Regen/Sec | Walk Regen/Sec |

Check warning on line 367 in concepts/skills.mdx

View check run for this annotation

Mintlify / Mintlify Validation (hyperscape-ai) - vale-spellcheck

concepts/skills.mdx#L367

Did you really mean 'Regen'?
|---------------|------------------|----------------|----------------|
| 1 | 1.01x | 4.04 | 2.02 |
| 25 | 1.25x | 5.00 | 2.50 |
Expand Down Expand Up @@ -377,9 +393,9 @@
Heavy loads significantly increase stamina drain. Manage your inventory weight for optimal running efficiency.
</Warning>

#### Smithing (at Anvil)

Check warning on line 396 in concepts/skills.mdx

View check run for this annotation

Mintlify / Mintlify Validation (hyperscape-ai) - vale-spellcheck

concepts/skills.mdx#L396

Did you really mean 'Smithing'?

Click an anvil to open the smithing interface. **Requires a hammer in your inventory** (not consumed). Select the item to smith and quantity.

Check warning on line 398 in concepts/skills.mdx

View check run for this annotation

Mintlify / Mintlify Validation (hyperscape-ai) - vale-spellcheck

concepts/skills.mdx#L398

Did you really mean 'smithing'?

**Weapons:**

Expand All @@ -389,23 +405,23 @@
| Bronze Scimitar | 5 | 2 Bronze | 25 | 4 |
| Iron Sword | 19 | 1 Iron | 25 | 4 |
| Steel Sword | 34 | 1 Steel | 37.5 | 4 |
| Mithril Sword | 54 | 1 Mithril | 50 | 4 |

Check warning on line 408 in concepts/skills.mdx

View check run for this annotation

Mintlify / Mintlify Validation (hyperscape-ai) - vale-spellcheck

concepts/skills.mdx#L408

Did you really mean 'Mithril'?

Check warning on line 408 in concepts/skills.mdx

View check run for this annotation

Mintlify / Mintlify Validation (hyperscape-ai) - vale-spellcheck

concepts/skills.mdx#L408

Did you really mean 'Mithril'?

**Armor:**

| Item | Level | Bars Required | XP | Ticks |
|------|-------|---------------|-----|-------|
| Bronze Platebody | 18 | 5 Bronze | 62.5 | 4 |

Check warning on line 414 in concepts/skills.mdx

View check run for this annotation

Mintlify / Mintlify Validation (hyperscape-ai) - vale-spellcheck

concepts/skills.mdx#L414

Did you really mean 'Platebody'?
| Iron Platebody | 33 | 5 Iron | 125 | 4 |

Check warning on line 415 in concepts/skills.mdx

View check run for this annotation

Mintlify / Mintlify Validation (hyperscape-ai) - vale-spellcheck

concepts/skills.mdx#L415

Did you really mean 'Platebody'?
| Steel Platebody | 48 | 5 Steel | 187.5 | 4 |

Check warning on line 416 in concepts/skills.mdx

View check run for this annotation

Mintlify / Mintlify Validation (hyperscape-ai) - vale-spellcheck

concepts/skills.mdx#L416

Did you really mean 'Platebody'?
| Mithril Platebody | 68 | 5 Mithril | 250 | 4 |

Check warning on line 417 in concepts/skills.mdx

View check run for this annotation

Mintlify / Mintlify Validation (hyperscape-ai) - vale-spellcheck

concepts/skills.mdx#L417

Did you really mean 'Mithril'?

Check warning on line 417 in concepts/skills.mdx

View check run for this annotation

Mintlify / Mintlify Validation (hyperscape-ai) - vale-spellcheck

concepts/skills.mdx#L417

Did you really mean 'Platebody'?

Check warning on line 417 in concepts/skills.mdx

View check run for this annotation

Mintlify / Mintlify Validation (hyperscape-ai) - vale-spellcheck

concepts/skills.mdx#L417

Did you really mean 'Mithril'?

**Tools:**

| Item | Level | Bars Required | XP | Ticks |
|------|-------|---------------|-----|-------|
| Bronze Hatchet | 1 | 1 Bronze | 12.5 | 4 |
| Bronze Pickaxe | 1 | 1 Bronze | 12.5 | 4 |

Check warning on line 424 in concepts/skills.mdx

View check run for this annotation

Mintlify / Mintlify Validation (hyperscape-ai) - vale-spellcheck

concepts/skills.mdx#L424

Did you really mean 'Pickaxe'?
| Iron Hatchet | 16 | 1 Iron | 25 | 4 |
| Steel Hatchet | 31 | 1 Steel | 37.5 | 4 |

Expand All @@ -414,7 +430,7 @@
</Warning>

<Info>
Smithing supports "Make X" functionality - you can smith multiple items in one session. The system auto-smiths until you run out of bars or reach the target quantity.

Check warning on line 433 in concepts/skills.mdx

View check run for this annotation

Mintlify / Mintlify Validation (hyperscape-ai) - vale-spellcheck

concepts/skills.mdx#L433

Did you really mean 'Smithing'?
</Info>

## Equipment Level Requirements
Expand All @@ -426,7 +442,7 @@
| Bronze | 1 | 1 |
| Iron | 5 | - |
| Steel | 10 | 10 |
| Mithril | 20 | 20 |

Check warning on line 445 in concepts/skills.mdx

View check run for this annotation

Mintlify / Mintlify Validation (hyperscape-ai) - vale-spellcheck

concepts/skills.mdx#L445

Did you really mean 'Mithril'?
| Adamant | 30 | - |
| Rune | 40 | - |
| Dragon | 60 | - |
Expand All @@ -447,7 +463,7 @@
**Features**:
- Visual distinction between unlocked (green) and locked (gray) items
- Next unlock highlighted with progress indicator
- Scrollable list for skills with many unlocks

Check warning on line 466 in concepts/skills.mdx

View check run for this annotation

Mintlify / Mintlify Validation (hyperscape-ai) - vale-spellcheck

concepts/skills.mdx#L466

Did you really mean 'Scrollable'?
- Type indicators (item vs ability)
- Shows levels needed to reach next unlock

Expand Down Expand Up @@ -481,7 +497,7 @@
```

<Info>
Constitution starts at level 10 (1,154 XP) like RuneScape's Hitpoints.

Check warning on line 500 in concepts/skills.mdx

View check run for this annotation

Mintlify / Mintlify Validation (hyperscape-ai) - vale-spellcheck

concepts/skills.mdx#L500

Did you really mean 'Hitpoints'?
Player health equals their Constitution level.
</Info>

Expand Down Expand Up @@ -514,8 +530,8 @@
**Available Skills:**
- Attack, Strength, Defense, Constitution
- Ranged, Prayer
- Mining, Smithing, Fishing, Cooking, Firemaking, Woodcutting

Check warning on line 533 in concepts/skills.mdx

View check run for this annotation

Mintlify / Mintlify Validation (hyperscape-ai) - vale-spellcheck

concepts/skills.mdx#L533

Did you really mean 'Smithing'?

Check warning on line 533 in concepts/skills.mdx

View check run for this annotation

Mintlify / Mintlify Validation (hyperscape-ai) - vale-spellcheck

concepts/skills.mdx#L533

Did you really mean 'Firemaking'?
- Agility, Fletching, Runecrafting

Check warning on line 534 in concepts/skills.mdx

View check run for this annotation

Mintlify / Mintlify Validation (hyperscape-ai) - vale-spellcheck

concepts/skills.mdx#L534

Did you really mean 'Fletching'?

Check warning on line 534 in concepts/skills.mdx

View check run for this annotation

Mintlify / Mintlify Validation (hyperscape-ai) - vale-spellcheck

concepts/skills.mdx#L534

Did you really mean 'Runecrafting'?

<Info>
XP lamps are commonly awarded as quest rewards, allowing you to boost the skill of your choice.
Expand Down
82 changes: 78 additions & 4 deletions wiki/data/overview.mdx
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
---
title: "Data Manifests Overview"
description: "Manifest-driven content system for NPCs, items, and world areas"

Check warning on line 3 in wiki/data/overview.mdx

View check run for this annotation

Mintlify / Mintlify Validation (hyperscape-ai) - vale-spellcheck

wiki/data/overview.mdx#L3

Did you really mean 'NPCs'?
icon: "database"
---

Expand Down Expand Up @@ -58,12 +58,12 @@
│ └── misc.json # Miscellaneous items
├── recipes/ # Crafting recipes by skill
│ ├── cooking.json # Cooking recipes
│ ├── firemaking.json # Firemaking recipes

Check warning on line 61 in wiki/data/overview.mdx

View check run for this annotation

Mintlify / Mintlify Validation (hyperscape-ai) - vale-spellcheck

wiki/data/overview.mdx#L61

Did you really mean 'Firemaking'?
│ ├── smelting.json # Ore smelting recipes
│ ├── smithing.json # Smithing recipes

Check warning on line 63 in wiki/data/overview.mdx

View check run for this annotation

Mintlify / Mintlify Validation (hyperscape-ai) - vale-spellcheck

wiki/data/overview.mdx#L63

Did you really mean 'Smithing'?
│ ├── fletching.json # Fletching recipes (NEW)

Check warning on line 64 in wiki/data/overview.mdx

View check run for this annotation

Mintlify / Mintlify Validation (hyperscape-ai) - vale-spellcheck

wiki/data/overview.mdx#L64

Did you really mean 'Fletching'?
│ ├── crafting.json # Crafting recipes (NEW)
│ ├── runecrafting.json # Runecrafting recipes (NEW)

Check warning on line 66 in wiki/data/overview.mdx

View check run for this annotation

Mintlify / Mintlify Validation (hyperscape-ai) - vale-spellcheck

wiki/data/overview.mdx#L66

Did you really mean 'Runecrafting'?
│ └── tanning.json # Leather tanning recipes
├── gathering/ # Gathering skill data
│ ├── woodcutting.json # Tree data
Expand Down Expand Up @@ -100,7 +100,7 @@
| `category` | `"mob" \| "boss" \| "quest" \| "neutral"` | NPC type |
| `stats` | `NPCStats` | Combat stats (attack, strength, defense, health, ranged, level) |
| `drops` | `DropTable` | Loot table with rarity tiers |
| `spawnBiomes` | `string[]` | Biomes where NPC spawns |

Check warning on line 103 in wiki/data/overview.mdx

View check run for this annotation

Mintlify / Mintlify Validation (hyperscape-ai) - vale-spellcheck

wiki/data/overview.mdx#L103

Did you really mean 'Biomes'?
| `modelPath` | `string` | Path to 3D model |
| `behavior` | `"passive" \| "aggressive"` | Combat behavior |

Expand Down Expand Up @@ -179,8 +179,55 @@
**Vegetation**:
```
/assets/trees/
└── mushroom.glb → Giant mushroom (new)
```
├── bamboo/
│ ├── bamboo_01.glb → Bamboo variant 1 (LOD 0)
│ ├── bamboo_01_lod1.glb → Bamboo variant 1 (LOD 1)
│ ├── bamboo_01_lod2.glb → Bamboo variant 1 (LOD 2)
│ └── ... (55 variants × 3 LOD levels)
├── birch/
│ ├── birch_01.glb → Birch variant 1 (LOD 0)
│ └── ... (variants with LOD levels)
├── cactus/
│ ├── cactus_01.glb → Cactus variant 1 (LOD 0)
│ └── ... (variants with LOD levels)
├── chinaPine/
│ ├── chinaPine_01.glb → China Pine variant 1 (LOD 0)
│ └── ... (variants with LOD levels)
├── coconut/
│ ├── coconut_01.glb → Coconut palm variant 1 (LOD 0)
│ └── ... (variants with LOD levels)
├── dead/
│ ├── dead_01.glb → Dead tree variant 1 (LOD 0)
│ └── ... (variants with LOD levels)
├── fir/
│ ├── fir_01.glb → Fir tree variant 1 (LOD 0)
│ └── ... (variants with LOD levels)
├── knotwood/
│ ├── knotwood_01.glb → Knotwood variant 1 (LOD 0)
│ └── ... (variants with LOD levels)
├── maple/
│ ├── maple_01.glb → Maple variant 1 (LOD 0)
│ └── ... (variants with LOD levels)
├── oak/
│ ├── oak_01.glb → Oak variant 1 (LOD 0)
│ └── ... (variants with LOD levels)
├── palm/
│ ├── palm_01.glb → Palm tree variant 1 (LOD 0)
│ └── ... (variants with LOD levels)
├── pine/
│ ├── pine_01.glb → Pine tree variant 1 (LOD 0)
│ └── ... (variants with LOD levels)
├── windPine/
│ └── windPine.glb → Wind-swept pine (single model)
└── mushroom.glb → Giant mushroom
```

**Tree Model System**:
- **165 tree models** total (55 variants × 3 LOD levels)
- **12 tree types**: bamboo, birch, cactus, chinaPine, coconut, dead, fir, knotwood, maple, oak, palm, pine

Check warning on line 227 in wiki/data/overview.mdx

View check run for this annotation

Mintlify / Mintlify Validation (hyperscape-ai) - vale-spellcheck

wiki/data/overview.mdx#L227

Did you really mean 'chinaPine'?

Check warning on line 227 in wiki/data/overview.mdx

View check run for this annotation

Mintlify / Mintlify Validation (hyperscape-ai) - vale-spellcheck

wiki/data/overview.mdx#L227

Did you really mean 'knotwood'?
- **13th type**: windPine (single model for tundra biome)

Check warning on line 228 in wiki/data/overview.mdx

View check run for this annotation

Mintlify / Mintlify Validation (hyperscape-ai) - vale-spellcheck

wiki/data/overview.mdx#L228

Did you really mean 'windPine'?
- **LOD levels**: LOD 0 (high detail), LOD 1 (medium), LOD 2 (low)
- **Model variants**: Each tree type has multiple visual variants for diversity

### NPC Helper Functions

Expand Down Expand Up @@ -259,10 +306,10 @@
```

**Supported Tiers:**
- **Melee**: bronze, iron, steel, black, mithril, adamant, rune, dragon

Check warning on line 309 in wiki/data/overview.mdx

View check run for this annotation

Mintlify / Mintlify Validation (hyperscape-ai) - vale-spellcheck

wiki/data/overview.mdx#L309

Did you really mean 'mithril'?
- **Tools**: Same as melee (with different skill requirements)
- **Ranged**: leather, studded, green_dhide, blue_dhide, red_dhide, black_dhide

Check warning on line 311 in wiki/data/overview.mdx

View check run for this annotation

Mintlify / Mintlify Validation (hyperscape-ai) - vale-spellcheck

wiki/data/overview.mdx#L311

Did you really mean 'green_dhide'?

Check warning on line 311 in wiki/data/overview.mdx

View check run for this annotation

Mintlify / Mintlify Validation (hyperscape-ai) - vale-spellcheck

wiki/data/overview.mdx#L311

Did you really mean 'blue_dhide'?

Check warning on line 311 in wiki/data/overview.mdx

View check run for this annotation

Mintlify / Mintlify Validation (hyperscape-ai) - vale-spellcheck

wiki/data/overview.mdx#L311

Did you really mean 'red_dhide'?

Check warning on line 311 in wiki/data/overview.mdx

View check run for this annotation

Mintlify / Mintlify Validation (hyperscape-ai) - vale-spellcheck

wiki/data/overview.mdx#L311

Did you really mean 'black_dhide'?
- **Magic**: wizard, mystic, infinity, ahrims

Check warning on line 312 in wiki/data/overview.mdx

View check run for this annotation

Mintlify / Mintlify Validation (hyperscape-ai) - vale-spellcheck

wiki/data/overview.mdx#L312

Did you really mean 'ahrims'?

### Item Helper Functions

Expand Down Expand Up @@ -309,7 +356,7 @@

### Bank Notes

The system supports bank notes for stackable versions of items:

Check warning on line 359 in wiki/data/overview.mdx

View check run for this annotation

Mintlify / Mintlify Validation (hyperscape-ai) - vale-spellcheck

wiki/data/overview.mdx#L359

Did you really mean 'stackable'?

```typescript
// From packages/shared/src/data/items.ts
Expand All @@ -332,7 +379,7 @@

## Drop Tables

NPCs have tiered drop tables:

Check warning on line 382 in wiki/data/overview.mdx

View check run for this annotation

Mintlify / Mintlify Validation (hyperscape-ai) - vale-spellcheck

wiki/data/overview.mdx#L382

Did you really mean 'NPCs'?

```typescript
interface DropTable {
Expand Down Expand Up @@ -396,7 +443,7 @@

## World Areas

World areas define zones, biomes, and spawn points:

Check warning on line 446 in wiki/data/overview.mdx

View check run for this annotation

Mintlify / Mintlify Validation (hyperscape-ai) - vale-spellcheck

wiki/data/overview.mdx#L446

Did you really mean 'biomes'?

```
packages/shared/src/data/
Expand All @@ -412,7 +459,7 @@
| `name` | Display name |
| `biome` | Biome type (forest, plains, etc.) |
| `difficulty` | 0-3 difficulty level |
| `mobs` | NPCs that spawn here |

Check warning on line 462 in wiki/data/overview.mdx

View check run for this annotation

Mintlify / Mintlify Validation (hyperscape-ai) - vale-spellcheck

wiki/data/overview.mdx#L462

Did you really mean 'NPCs'?
| `resources` | Trees, fishing spots, etc. |
| `isSafe` | Whether it's a safe zone |

Expand All @@ -433,7 +480,7 @@

## Stations

Crafting stations are interactive objects that enable processing skills like smithing, smelting, and cooking:

Check warning on line 483 in wiki/data/overview.mdx

View check run for this annotation

Mintlify / Mintlify Validation (hyperscape-ai) - vale-spellcheck

wiki/data/overview.mdx#L483

Did you really mean 'smithing'?

```typescript
interface StationData {
Expand Down Expand Up @@ -544,7 +591,7 @@

Stations are defined in `stations.json`:

- **Anvil** - Used for smithing bars into equipment

Check warning on line 594 in wiki/data/overview.mdx

View check run for this annotation

Mintlify / Mintlify Validation (hyperscape-ai) - vale-spellcheck

wiki/data/overview.mdx#L594

Did you really mean 'smithing'?
- **Furnace** - Used for smelting ores into bars
- **Range** - Used for cooking food (reduces burn chance compared to fires)
- **Bank Booth** - Used for accessing bank storage
Expand Down Expand Up @@ -596,7 +643,7 @@

| Station | Purpose | Model | Scale | Y Offset |
|---------|---------|-------|-------|----------|
| **Anvil** | Smithing bars into equipment | `models/anvil/anvil.glb` | 0.5 | 0.2 |

Check warning on line 646 in wiki/data/overview.mdx

View check run for this annotation

Mintlify / Mintlify Validation (hyperscape-ai) - vale-spellcheck

wiki/data/overview.mdx#L646

Did you really mean 'Smithing'?
| **Furnace** | Smelting ores into bars | `models/furnace/furnace.glb` | 1.5 | 1.0 |
| **Cooking Range** | Cooking food (reduced burn chance) | `models/cooking-range/cooking-range.glb` | 1.0 | 0.5 |
| **Bank Chest** | Accessing bank storage | `models/bank-chest/bank-chest.glb` | 0.5 | 0.75 |
Expand Down Expand Up @@ -632,7 +679,7 @@
| Dragon | 2 |
| Rune | 3 |
| Adamant | 4 |
| Mithril | 5 |

Check warning on line 682 in wiki/data/overview.mdx

View check run for this annotation

Mintlify / Mintlify Validation (hyperscape-ai) - vale-spellcheck

wiki/data/overview.mdx#L682

Did you really mean 'Mithril'?
| Steel | 6 |
| Iron | 7 |
| Bronze | 8 (worst) |
Expand All @@ -644,14 +691,14 @@
| Dragon | 2 | 3 |
| Rune | 3 | 3 |
| Adamant | 4 | 4 |
| Mithril | 5 | 5 |

Check warning on line 694 in wiki/data/overview.mdx

View check run for this annotation

Mintlify / Mintlify Validation (hyperscape-ai) - vale-spellcheck

wiki/data/overview.mdx#L694

Did you really mean 'Mithril'?
| Steel | 6 | 6 |
| Iron | 7 | 7 |
| Bronze | 8 | 8 |

---

## Vegetation & Biomes

Check warning on line 701 in wiki/data/overview.mdx

View check run for this annotation

Mintlify / Mintlify Validation (hyperscape-ai) - vale-spellcheck

wiki/data/overview.mdx#L701

Did you really mean 'Biomes'?

### Vegetation Assets

Expand Down Expand Up @@ -683,9 +730,31 @@
- `fallen_tree` - Fallen logs
- `mushroom` - Giant mushrooms (added in recent update)

### Biome Configuration

**Active Biomes** (3 biomes):

Check warning on line 735 in wiki/data/overview.mdx

View check run for this annotation

Mintlify / Mintlify Validation (hyperscape-ai) - vale-spellcheck

wiki/data/overview.mdx#L735

Did you really mean 'Biomes'?

Check warning on line 735 in wiki/data/overview.mdx

View check run for this annotation

Mintlify / Mintlify Validation (hyperscape-ai) - vale-spellcheck

wiki/data/overview.mdx#L735

Did you really mean 'biomes'?
- **Tundra** - Cold, snowy terrain with wind pines
- **Forest** - Temperate woodland with varied tree types
- **Canyon** - Rocky, arid terrain with steep slopes

**Biome Terrain Textures**:
Biomes now use dedicated terrain textures for realistic ground rendering:

Check warning on line 741 in wiki/data/overview.mdx

View check run for this annotation

Mintlify / Mintlify Validation (hyperscape-ai) - vale-spellcheck

wiki/data/overview.mdx#L741

Did you really mean 'Biomes'?
- **Grass textures**: Biome-specific grass variants
- **Dirt textures**: Soil and earth textures
- **Cliff textures**: Rocky cliff faces
- **Desert textures**: Sandy terrain
- **Snow textures**: Snowy ground for tundra

**Walkability Thresholds** (maxSlope adjustments):

Check warning on line 748 in wiki/data/overview.mdx

View check run for this annotation

Mintlify / Mintlify Validation (hyperscape-ai) - vale-spellcheck

wiki/data/overview.mdx#L748

Did you really mean 'Walkability'?

Check warning on line 748 in wiki/data/overview.mdx

View check run for this annotation

Mintlify / Mintlify Validation (hyperscape-ai) - vale-spellcheck

wiki/data/overview.mdx#L748

Did you really mean 'maxSlope'?
- **Tundra**: 0.8 → 1.8 (allows steeper terrain navigation)
- **Forest**: 0.8 → 1.5 (moderate slope tolerance)
- **Canyon**: 0.6 → 2.5 (very steep terrain allowed)

These adjustments match actual terrain generation slopes from terracing and landscape features.

### Biome Vegetation Layers

Biomes in `biomes.json` define procedural vegetation layers that reference vegetation assets:

Check warning on line 757 in wiki/data/overview.mdx

View check run for this annotation

Mintlify / Mintlify Validation (hyperscape-ai) - vale-spellcheck

wiki/data/overview.mdx#L757

Did you really mean 'Biomes'?

```typescript
interface VegetationLayer {
Expand All @@ -704,10 +773,15 @@
```

**Recent Updates**:
- **Tree system overhaul**: 165 tree models added (12 types × variants × 3 LOD levels)
- **Terrain textures**: Biome-specific textures added for grass, dirt, cliff, desert, and snow
- **Biome configuration**: Reduced to 3 active biomes (tundra, forest, canyon)

Check warning on line 778 in wiki/data/overview.mdx

View check run for this annotation

Mintlify / Mintlify Validation (hyperscape-ai) - vale-spellcheck

wiki/data/overview.mdx#L778

Did you really mean 'biomes'?
- **Walkability adjustments**: maxSlope thresholds increased (tundra: 0.8→1.8, forest: 0.8→1.5, canyon: 0.6→2.5)

Check warning on line 779 in wiki/data/overview.mdx

View check run for this annotation

Mintlify / Mintlify Validation (hyperscape-ai) - vale-spellcheck

wiki/data/overview.mdx#L779

Did you really mean 'Walkability'?

Check warning on line 779 in wiki/data/overview.mdx

View check run for this annotation

Mintlify / Mintlify Validation (hyperscape-ai) - vale-spellcheck

wiki/data/overview.mdx#L779

Did you really mean 'maxSlope'?
- **Tree management**: Trees now managed via TreeTypes.ts + woodcutting.json (removed from vegetation layers)
- **Wind pine**: New tundra-specific tree type (single model)
- **Knotwood recolor**: Leaves changed from golden-yellow to warm amber (#C4832A)

Check warning on line 782 in wiki/data/overview.mdx

View check run for this annotation

Mintlify / Mintlify Validation (hyperscape-ai) - vale-spellcheck

wiki/data/overview.mdx#L782

Did you really mean 'Knotwood'?
- Mushroom vegetation added to all biomes with varying densities (2-30)

Check warning on line 783 in wiki/data/overview.mdx

View check run for this annotation

Mintlify / Mintlify Validation (hyperscape-ai) - vale-spellcheck

wiki/data/overview.mdx#L783

Did you really mean 'biomes'?
- Tree density reduced in plains biome (8 → 5)
- Mushroom clustering varies by biome (cluster size 3-8)
- Firemaking fire 3D model added (`models/firemaking-fire/firemaking-fire.glb`)

Check warning on line 784 in wiki/data/overview.mdx

View check run for this annotation

Mintlify / Mintlify Validation (hyperscape-ai) - vale-spellcheck

wiki/data/overview.mdx#L784

Did you really mean 'Firemaking'?

---

Expand All @@ -715,7 +789,7 @@

Recipe manifests define crafting, processing, and production activities for artisan skills. All recipes follow a consistent structure with inputs, outputs, tools, level requirements, and XP rewards.

### Fletching Recipes

Check warning on line 792 in wiki/data/overview.mdx

View check run for this annotation

Mintlify / Mintlify Validation (hyperscape-ai) - vale-spellcheck

wiki/data/overview.mdx#L792

Did you really mean 'Fletching'?

The `recipes/fletching.json` manifest defines bow and arrow crafting:

Expand All @@ -739,10 +813,10 @@
**Recipe Categories**:
- `arrow_shafts` - Knife + logs → arrow shafts (15-90 per log)
- `headless_arrows` - Arrow shafts + feathers → headless arrows
- `shortbows` - Knife + logs → unstrung shortbows

Check warning on line 816 in wiki/data/overview.mdx

View check run for this annotation

Mintlify / Mintlify Validation (hyperscape-ai) - vale-spellcheck

wiki/data/overview.mdx#L816

Did you really mean 'shortbows'?
- `longbows` - Knife + logs → unstrung longbows
- `stringing` - Bowstring + unstrung bow → finished bow
- `arrows` - Arrowtips + headless arrows → finished arrows

Check warning on line 819 in wiki/data/overview.mdx

View check run for this annotation

Mintlify / Mintlify Validation (hyperscape-ai) - vale-spellcheck

wiki/data/overview.mdx#L819

Did you really mean 'Arrowtips'?

### Crafting Recipes

Expand Down Expand Up @@ -771,11 +845,11 @@
**Recipe Categories**:
- `leather` - Needle + thread + leather → leather armor
- `studded` - Leather armor + steel studs → studded armor
- `dragonhide` - Needle + thread + dragon leather → dragonhide armor

Check warning on line 848 in wiki/data/overview.mdx

View check run for this annotation

Mintlify / Mintlify Validation (hyperscape-ai) - vale-spellcheck

wiki/data/overview.mdx#L848

Did you really mean 'dragonhide'?
- `jewelry` - Gold bar + gems + mould → jewelry (at furnace)
- `gem_cutting` - Chisel + uncut gem → cut gem

### Runecrafting Recipes

Check warning on line 852 in wiki/data/overview.mdx

View check run for this annotation

Mintlify / Mintlify Validation (hyperscape-ai) - vale-spellcheck

wiki/data/overview.mdx#L852

Did you really mean 'Runecrafting'?

The `recipes/runecrafting.json` manifest defines rune crafting at altars:

Expand Down Expand Up @@ -849,14 +923,14 @@
| **Goblin Slayer** | Novice | 1 | Help Captain Rowan deal with the goblin threat |
| **Lumberjack's First Lesson** | Novice | 1 | Help Forester Wilma gather and burn firewood |
| **Fresh Catch** | Novice | 1 | Help Fisherman Pete catch and cook fish |
| **Torvin's Tools** | Novice | 1 | Help Torvin forge a set of bronze tools |

Check warning on line 926 in wiki/data/overview.mdx

View check run for this annotation

Mintlify / Mintlify Validation (hyperscape-ai) - vale-spellcheck

wiki/data/overview.mdx#L926

Did you really mean 'Torvin's'?

Check warning on line 926 in wiki/data/overview.mdx

View check run for this annotation

Mintlify / Mintlify Validation (hyperscape-ai) - vale-spellcheck

wiki/data/overview.mdx#L926

Did you really mean 'Torvin'?

### Quest Stage Types

- **dialogue** - Talk to an NPC
- **kill** - Defeat a specific number of NPCs

Check warning on line 931 in wiki/data/overview.mdx

View check run for this annotation

Mintlify / Mintlify Validation (hyperscape-ai) - vale-spellcheck

wiki/data/overview.mdx#L931

Did you really mean 'NPCs'?
- **gather** - Collect items through skilling
- **interact** - Use items or stations (cooking, smithing, etc.)

Check warning on line 933 in wiki/data/overview.mdx

View check run for this annotation

Mintlify / Mintlify Validation (hyperscape-ai) - vale-spellcheck

wiki/data/overview.mdx#L933

Did you really mean 'smithing'?

---

Expand All @@ -867,7 +941,7 @@
- Items: Add to appropriate file in `items/` directory
- Gathering: Add to `gathering/woodcutting.json`, `mining.json`, or `fishing.json`
- Recipes: Add to appropriate file in `recipes/` directory
- NPCs: Add to `npcs.json`

Check warning on line 944 in wiki/data/overview.mdx

View check run for this annotation

Mintlify / Mintlify Validation (hyperscape-ai) - vale-spellcheck

wiki/data/overview.mdx#L944

Did you really mean 'NPCs'?
</Step>
<Step title="Follow existing patterns">
Use the same structure as existing entries. For tiered equipment, specify the `tier` field.
Expand All @@ -893,12 +967,12 @@

Three new artisan skills added with complete OSRS-accurate recipe manifests:

- **Fletching**: Arrow shafts, headless arrows, shortbows, longbows, bow stringing, arrow tipping (40+ recipes)

Check warning on line 970 in wiki/data/overview.mdx

View check run for this annotation

Mintlify / Mintlify Validation (hyperscape-ai) - vale-spellcheck

wiki/data/overview.mdx#L970

Did you really mean 'Fletching'?

Check warning on line 970 in wiki/data/overview.mdx

View check run for this annotation

Mintlify / Mintlify Validation (hyperscape-ai) - vale-spellcheck

wiki/data/overview.mdx#L970

Did you really mean 'shortbows'?
- **Crafting**: Leather armor, studded armor, dragonhide armor, jewelry, gem cutting (25+ recipes)

Check warning on line 971 in wiki/data/overview.mdx

View check run for this annotation

Mintlify / Mintlify Validation (hyperscape-ai) - vale-spellcheck

wiki/data/overview.mdx#L971

Did you really mean 'dragonhide'?
- **Runecrafting**: Air, mind, water, earth, fire, chaos runes with multi-rune level thresholds

Check warning on line 972 in wiki/data/overview.mdx

View check run for this annotation

Mintlify / Mintlify Validation (hyperscape-ai) - vale-spellcheck

wiki/data/overview.mdx#L972

Did you really mean 'Runecrafting'?

**New Assets**:
- Firemaking fire 3D model (`models/firemaking-fire/firemaking-fire.glb`)

Check warning on line 975 in wiki/data/overview.mdx

View check run for this annotation

Mintlify / Mintlify Validation (hyperscape-ai) - vale-spellcheck

wiki/data/overview.mdx#L975

Did you really mean 'Firemaking'?
- Comprehensive armor manifest with 80+ armor pieces across all combat styles

### Manifest Refactor (PR #3)
Expand All @@ -907,13 +981,13 @@

- **Items split by type**: Weapons, tools, resources, food, ammunition, runes, armor, and misc are now in separate files
- **Gathering resources**: Woodcutting, mining, and fishing data moved to dedicated files
- **Recipe system**: New recipes directory for smelting, smithing, cooking, firemaking, fletching, crafting, and runecrafting

Check warning on line 984 in wiki/data/overview.mdx

View check run for this annotation

Mintlify / Mintlify Validation (hyperscape-ai) - vale-spellcheck

wiki/data/overview.mdx#L984

Did you really mean 'smithing'?

Check warning on line 984 in wiki/data/overview.mdx

View check run for this annotation

Mintlify / Mintlify Validation (hyperscape-ai) - vale-spellcheck

wiki/data/overview.mdx#L984

Did you really mean 'firemaking'?

Check warning on line 984 in wiki/data/overview.mdx

View check run for this annotation

Mintlify / Mintlify Validation (hyperscape-ai) - vale-spellcheck

wiki/data/overview.mdx#L984

Did you really mean 'fletching'?

Check warning on line 984 in wiki/data/overview.mdx

View check run for this annotation

Mintlify / Mintlify Validation (hyperscape-ai) - vale-spellcheck

wiki/data/overview.mdx#L984

Did you really mean 'runecrafting'?
- **Centralized requirements**: `tier-requirements.json` provides OSRS-accurate level requirements
- **Skill unlocks**: `skill-unlocks.json` documents progression milestones

### New Vegetation (PR #4)

Mushroom vegetation added to biomes with configurable density, clustering, and spawn parameters.

Check warning on line 990 in wiki/data/overview.mdx

View check run for this annotation

Mintlify / Mintlify Validation (hyperscape-ai) - vale-spellcheck

wiki/data/overview.mdx#L990

Did you really mean 'biomes'?

---

Expand Down
Loading