component

Level

A stackable wall ring plus optional slab: per-side openings, sides that can be omitted, and a stairwell hole — the unit a building is composed from.

⌖ Explore the library in 3D →

Add it

npx @runek/cli add level

Pulls floor, wall, @runek/core@^0.13.0.

Use it

import { Level } from './runek/Level'

<Level position={[0, 0, 0]} seed={1} />

Props

export interface LevelProps {
  position?: Vec3
  rotation?: Vec3
  /** Interior footprint `[width, depth]`, in units. */
  size?: [number, number]
  height?: number
  thickness?: number
  /** Per-side wall configs; an omitted side renders a solid wall. */
  walls?: LevelWalls
  /** The slab underfoot; `false` for none, or a config with a stairwell `opening`. */
  floor?: boolean | LevelFloorConfig
  /** Defaults to the world palette's `wall` slot. */
  color?: string
  /** Reserved for procedural variation. */
  seed?: number
}

Registry manifest

registry manifest /r/components/level.json Self-contained JSON: inlined source plus resolved dependencies, exactly what runek add level fetches.

Browse the whole catalog in the gallery →.