{
  "$schema": "https://runek.nullorder.org/registry/schema.json",
  "name": "runek",
  "homepage": "https://runek.nullorder.org",
  "items": [
    {
      "name": "player",
      "title": "Player",
      "type": "registry:component",
      "category": "character",
      "description": "First/third-person character controller (ecctrl wrapper).",
      "files": [{ "path": "packages/components/src/Player.tsx", "target": "Player.tsx" }]
    },
    {
      "name": "terrain",
      "title": "Terrain",
      "type": "registry:component",
      "category": "terrain",
      "description": "Procedural fbm-displaced ground with a matching trimesh collider and a flat build-pad option.",
      "files": [{ "path": "packages/components/src/Terrain.tsx", "target": "Terrain.tsx" }]
    },
    {
      "name": "room",
      "title": "Room",
      "type": "registry:component",
      "category": "structures",
      "description": "Four walls + floor with a doorway and fixed colliders; optional roof.",
      "files": [{ "path": "packages/components/src/Room.tsx", "target": "Room.tsx" }]
    },
    {
      "name": "house",
      "title": "House",
      "type": "registry:component",
      "category": "structures",
      "description": "Composed dwelling: walls with openings, floor, roof, door, and windows.",
      "files": [{ "path": "packages/components/src/House.tsx", "target": "House.tsx" }]
    },
    {
      "name": "wall",
      "title": "Wall",
      "type": "registry:component",
      "category": "structures",
      "description": "Wall segment with door/window openings and a fixed collider.",
      "files": [{ "path": "packages/components/src/Wall.tsx", "target": "Wall.tsx" }]
    },
    {
      "name": "floor",
      "title": "Floor",
      "type": "registry:component",
      "category": "structures",
      "description": "Flat floor slab with a fixed collider.",
      "files": [{ "path": "packages/components/src/Floor.tsx", "target": "Floor.tsx" }]
    },
    {
      "name": "roof",
      "title": "Roof",
      "type": "registry:component",
      "category": "structures",
      "description": "Flat or gable roof.",
      "files": [{ "path": "packages/components/src/Roof.tsx", "target": "Roof.tsx" }]
    },
    {
      "name": "door",
      "title": "Door",
      "type": "registry:component",
      "category": "structures",
      "description": "Door panel within a frame.",
      "files": [{ "path": "packages/components/src/Door.tsx", "target": "Door.tsx" }]
    },
    {
      "name": "window",
      "title": "Window",
      "type": "registry:component",
      "category": "structures",
      "description": "Window with frame and translucent pane.",
      "files": [{ "path": "packages/components/src/Window.tsx", "target": "Window.tsx" }]
    },
    {
      "name": "staircase",
      "title": "Staircase",
      "type": "registry:component",
      "category": "structures",
      "description": "Stepped staircase with per-step colliders.",
      "files": [{ "path": "packages/components/src/Staircase.tsx", "target": "Staircase.tsx" }]
    },
    {
      "name": "table",
      "title": "Table",
      "type": "registry:component",
      "category": "interiors",
      "description": "Table with a top and four legs.",
      "files": [{ "path": "packages/components/src/Table.tsx", "target": "Table.tsx" }]
    },
    {
      "name": "chair",
      "title": "Chair",
      "type": "registry:component",
      "category": "interiors",
      "description": "Chair with seat, back, and legs.",
      "files": [{ "path": "packages/components/src/Chair.tsx", "target": "Chair.tsx" }]
    },
    {
      "name": "clock",
      "title": "Clock",
      "type": "registry:component",
      "category": "interiors",
      "description": "Procedural analog wall clock; hands track the system clock or a given IANA timezone.",
      "files": [{ "path": "packages/components/src/Clock.tsx", "target": "Clock.tsx" }]
    },
    {
      "name": "sign",
      "title": "Sign",
      "type": "registry:component",
      "category": "interiors",
      "description": "In-world text rendered in a world font (the one font-using component); falls back to the default bundled in @runek/core.",
      "files": [{ "path": "packages/components/src/Sign.tsx", "target": "Sign.tsx" }]
    },
    {
      "name": "lamp",
      "title": "Lamp",
      "type": "registry:component",
      "category": "interiors",
      "description": "Lamp that emits a point light.",
      "files": [{ "path": "packages/components/src/Lamp.tsx", "target": "Lamp.tsx" }]
    },
    {
      "name": "rug",
      "title": "Rug",
      "type": "registry:component",
      "category": "interiors",
      "description": "Procedural striped rug (seeded stripes, no textures).",
      "files": [{ "path": "packages/components/src/Rug.tsx", "target": "Rug.tsx" }]
    },
    {
      "name": "shelf",
      "title": "Shelf",
      "type": "registry:component",
      "category": "interiors",
      "description": "Wall shelf with planks.",
      "files": [{ "path": "packages/components/src/Shelf.tsx", "target": "Shelf.tsx" }]
    },
    {
      "name": "bookshelf",
      "title": "Bookshelf",
      "type": "registry:component",
      "category": "interiors",
      "description": "Procedurally generated bookshelf with seeded books and one cuboid collider.",
      "files": [{ "path": "packages/components/src/Bookshelf.tsx", "target": "Bookshelf.tsx" }]
    },
    {
      "name": "lake",
      "title": "Lake",
      "type": "registry:component",
      "category": "water",
      "description": "Procedural animated-shader water surface (no textures); place its surface at or below ground level.",
      "files": [{ "path": "packages/components/src/Lake.tsx", "target": "Lake.tsx" }]
    },
    {
      "name": "shore",
      "title": "Shore",
      "type": "registry:component",
      "category": "water",
      "description": "Sloped beach/shore strip to meet a Lake.",
      "files": [{ "path": "packages/components/src/Shore.tsx", "target": "Shore.tsx" }]
    },
    {
      "name": "rocks",
      "title": "Rocks",
      "type": "registry:component",
      "category": "environment",
      "description": "Faceted rocks with convex-hull colliders (seeded scatter).",
      "files": [{ "path": "packages/components/src/Rocks.tsx", "target": "Rocks.tsx" }]
    },
    {
      "name": "sky",
      "title": "Sky",
      "type": "registry:component",
      "category": "environment",
      "description": "Procedural atmosphere (drei Sky).",
      "files": [{ "path": "packages/components/src/Sky.tsx", "target": "Sky.tsx" }]
    },
    {
      "name": "grass",
      "title": "Grass",
      "type": "registry:component",
      "category": "environment",
      "description": "Instanced grass blades (seeded scatter).",
      "files": [{ "path": "packages/components/src/Grass.tsx", "target": "Grass.tsx" }]
    },
    {
      "name": "trees",
      "title": "Trees",
      "type": "registry:component",
      "category": "vegetation",
      "description": "L-system trees grown by a 3D turtle, deterministic from seed.",
      "files": [{ "path": "packages/components/src/Trees.tsx", "target": "Trees.tsx" }]
    },
    {
      "name": "lightrig",
      "title": "LightRig",
      "type": "registry:component",
      "category": "systems",
      "description": "Sun + hemisphere/ground fill with shadow configuration.",
      "files": [{ "path": "packages/components/src/LightRig.tsx", "target": "LightRig.tsx" }]
    },
    {
      "name": "fence",
      "title": "Fence",
      "type": "registry:component",
      "category": "structures",
      "description": "Posts and rails with seeded weathering; encloses yards and paths. One footprint collider.",
      "files": [{ "path": "packages/components/src/Fence.tsx", "target": "Fence.tsx" }]
    },
    {
      "name": "bridge",
      "title": "Bridge",
      "type": "registry:component",
      "category": "structures",
      "description": "Plank deck spanning a gap, optionally arched, with railings and slab colliders that follow the deck.",
      "files": [{ "path": "packages/components/src/Bridge.tsx", "target": "Bridge.tsx" }]
    },
    {
      "name": "arch",
      "title": "Arch",
      "type": "registry:component",
      "category": "structures",
      "description": "Freestanding gateway: two piers and a semicircular arch of voussoirs. Composes with Wall.",
      "files": [{ "path": "packages/components/src/Arch.tsx", "target": "Arch.tsx" }]
    },
    {
      "name": "pillar",
      "title": "Pillar",
      "type": "registry:component",
      "category": "structures",
      "description": "Column with a plinth, a tapered (optionally fluted) shaft, and a capital.",
      "files": [{ "path": "packages/components/src/Pillar.tsx", "target": "Pillar.tsx" }]
    },
    {
      "name": "well",
      "title": "Well",
      "type": "registry:component",
      "category": "structures",
      "description": "Stone well with a dark pool, posts, a little pyramid roof, and a bucket on a rope.",
      "files": [{ "path": "packages/components/src/Well.tsx", "target": "Well.tsx" }]
    },
    {
      "name": "path",
      "title": "Path",
      "type": "registry:component",
      "category": "terrain",
      "description": "A meandering ribbon trail from seeded waypoints; decorative, laid just over the ground.",
      "files": [{ "path": "packages/components/src/Path.tsx", "target": "Path.tsx" }]
    },
    {
      "name": "bush",
      "title": "Bush",
      "type": "registry:component",
      "category": "vegetation",
      "description": "Clustered foliage blobs, seeded; the mid-height density between Grass and Trees.",
      "files": [{ "path": "packages/components/src/Bush.tsx", "target": "Bush.tsx" }]
    },
    {
      "name": "flowers",
      "title": "Flowers",
      "type": "registry:component",
      "category": "vegetation",
      "description": "Instanced seeded wildflowers (stem + colored head) scattered over a patch.",
      "files": [{ "path": "packages/components/src/Flowers.tsx", "target": "Flowers.tsx" }]
    },
    {
      "name": "hedge",
      "title": "Hedge",
      "type": "registry:component",
      "category": "vegetation",
      "description": "A trimmed green wall with seeded surface tufts; blocks like a Wall.",
      "files": [{ "path": "packages/components/src/Hedge.tsx", "target": "Hedge.tsx" }]
    },
    {
      "name": "fountain",
      "title": "Fountain",
      "type": "registry:component",
      "category": "water",
      "description": "Two-tier stone fountain with gently rippling water (a per-frame bob, no textures).",
      "files": [{ "path": "packages/components/src/Fountain.tsx", "target": "Fountain.tsx" }]
    },
    {
      "name": "bench",
      "title": "Bench",
      "type": "registry:component",
      "category": "interiors",
      "description": "Slatted bench with an optional backrest; indoor or outdoor seating.",
      "files": [{ "path": "packages/components/src/Bench.tsx", "target": "Bench.tsx" }]
    },
    {
      "name": "bed",
      "title": "Bed",
      "type": "registry:component",
      "category": "interiors",
      "description": "Bed with a frame, mattress, pillows, and a headboard.",
      "files": [{ "path": "packages/components/src/Bed.tsx", "target": "Bed.tsx" }]
    },
    {
      "name": "crate",
      "title": "Crate",
      "type": "registry:component",
      "category": "interiors",
      "description": "Slatted wooden crate with seeded plank shades; stacks via a cuboid collider.",
      "files": [{ "path": "packages/components/src/Crate.tsx", "target": "Crate.tsx" }]
    },
    {
      "name": "barrel",
      "title": "Barrel",
      "type": "registry:component",
      "category": "interiors",
      "description": "Staved barrel bellied at the middle, banded by metal hoops; convex-hull collider.",
      "files": [{ "path": "packages/components/src/Barrel.tsx", "target": "Barrel.tsx" }]
    },
    {
      "name": "plant",
      "title": "Plant",
      "type": "registry:component",
      "category": "interiors",
      "description": "Potted plant: a tapered planter and a seeded cluster of foliage.",
      "files": [{ "path": "packages/components/src/Plant.tsx", "target": "Plant.tsx" }]
    },
    {
      "name": "clouds",
      "title": "Clouds",
      "type": "registry:component",
      "category": "environment",
      "description": "Drifting clouds built from clustered soft blobs (no textures); layer above a Sky.",
      "files": [{ "path": "packages/components/src/Clouds.tsx", "target": "Clouds.tsx" }]
    },
    {
      "name": "campfire",
      "title": "Campfire",
      "type": "registry:component",
      "category": "environment",
      "description": "Stone ring, a tepee of logs, and an animated flame with a warm flickering light.",
      "files": [{ "path": "packages/components/src/Campfire.tsx", "target": "Campfire.tsx" }]
    },
    {
      "name": "birds",
      "title": "Birds",
      "type": "registry:component",
      "category": "environment",
      "description": "A loose flock circling overhead, each bird flapping on its own seeded orbit.",
      "files": [{ "path": "packages/components/src/Birds.tsx", "target": "Birds.tsx" }]
    }
  ]
}
