Control room operator console
CCR operator console run of 1–5 segments laid out straight, angled with wedge fillers, or curved about the operator. Each segment has a compact-laminate worksurface with a rubber-nosed front edge, a lower rear monitor level on a technical base with louvred rear access doors and a recessed kick plinth, a cable basket, one or two monitor rails with arm-mounted narrow-bezel monitors, keyboard and mouse and a 24/7 chair; phone, desk radio and LED task lights at the ends. sitStand puts the worksurface on electric lifting columns. Monitors show procedural sample HMI pages (alarm list, mimic, trends, F&G, ESD, CCTV); pass screens (CanvasTexture, VideoTexture or render-target texture per monitor) for live content.
Installation
Copies interiors/control-console.tsx and the shared lib/ into src/components/deck-twin/. Needs three, @react-three/fiber and @react-three/drei. See installation for the manual route.
Usage
import { Canvas } from '@react-three/fiber'
import { OrbitControls } from '@react-three/drei'
import { Stage } from './components/deck-twin/lib/stage'
import { ControlConsole } from './components/deck-twin/interiors/control-console'
export default function Scene() {
return (
<Canvas shadows camera={{ position: [8, 5, 9], fov: 35 }}>
<Stage>
<ControlConsole />
</Stage>
<OrbitControls makeDefault />
</Canvas>
)
}
Props
| Prop | Type | Default | Range |
|---|---|---|---|
segments | number | null | 1 – 5 |
layout | "straight" | "angled" | "curved" | null | |
angle | number (°) | null | 0 – 45 |
segmentWidth | number (m) | null | 0.8 – 2.4 |
depth | number (m) | null | 0.9 – 1.6 |
sitStand | boolean | null | |
deskHeight | number (m) | null | 0.65 – 1.25 |
monitorsPerSegment | number | null | 1 – 4 |
rows | number | null | 1 – 2 |
monitorSize | number (in) | null | 19 – 34 |
chairs | boolean | null | |
accessories | boolean | null | |
tag | string | null | |
...group | position, rotation, scale… |
P&ID
Plan view: a run of desk segments (straight, angled or curved) with the monitor line along the back edge and operator chairs as circles in front, laid out facing the video wall.
Only on control room layouts. A straight table with a chair is a desk; a grid of tiles on a wall is the video wall.
segmentslayoutanglesegmentWidthdepthsitStanddeskHeightmonitorsPerSegmentrowsmonitorSizetagTypical suppliers
Winsted · Vertiv Knürr · GESAB · Thinking Space. The geometry is generic and sized from public standards. It is not vendor CAD.
For agents
Machine-readable entry with props, ranges, defaults and ports:
Or fetch /r/control-console.json, or copy a ready-made instruction:
Add the Deck Twin "Control room operator console" component to this project. Run `npx -y https://decktwin.com/cli/deck-twin-0.2.2.tgz add control-console` (it copies the file and the shared lib into src/components/deck-twin/), then `npx -y https://decktwin.com/cli/deck-twin-0.2.2.tgz info control-console` for its props, ranges and ports. Render <ControlConsole /> inside a React Three Fiber <Canvas shadows>, wrapped in <Stage> from src/components/deck-twin/lib/stage. Set props from my data (metres, NPS in inches, ASME class) and leave the rest at defaults. Install three, @react-three/fiber, @react-three/drei and @types/three if they're missing. Full guide: https://decktwin.com/skill/SKILL.md