component

Pool

A built swimming pool flush with the deck: coping rim, walkable plastered basin with corner exit steps, and a translucent water surface.

⌖ Explore the library in 3D →

Add it

npx @runek/cli add pool

Pulls @react-three/rapier@^2.2.0, @runek/core@^0.12.0.

Use it

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

<Pool position={[0, 0, 0]} />

Props

export interface PoolProps extends WorldComponentProps {
  /** Water surface `[width, depth]`, in units. */
  size?: [number, number]
  /** Basin depth below the deck, in units. */
  depth?: number
  /** Coping ledge width around the rim, in units. */
  coping?: number
  /** Build exit steps into one corner of the basin. */
  steps?: boolean
  /** Coping color; defaults to the world palette's `wall` slot. */
  copingColor?: string
  /** Basin plaster color. */
  basinColor?: string
  /** Defaults to the world palette's `waterShallow` slot. */
  waterColor?: string
}

Registry manifest

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

Browse the whole catalog in the gallery →.