Door set (fire, blast, sliding, roller shutter)
Offshore door set in a short lined wall stub with a real hole, so you can see through it when open. kind picks a single or double hinged steel door (pressed-steel rebated frame with seals, 3–4 hinges, stainless threshold and kick plates, overhead closer, lever or panic bar, vision panel, astragal and flush bolts on pairs), a top-hung sliding door, a blast door (100 mm leaf, heavy hinges, multi-point locking with dog lever, bolted laminated vision panel) or a roller shutter (slat curtain in side guides, coil box with drive, push-button station). fireRating sets leaf thickness and the A60 / H120 rating plates. open (0–1) swings, slides or rolls the leaf; leaves swing towards +Z. ISO 7010 exit sign over the door and a room-name sign beside it. Set wall: none to drop it into a room wall; doorOpening() gives the hole size.
Installation
Copies interiors/door.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 { Door } from './components/deck-twin/interiors/door'
export default function Scene() {
return (
<Canvas shadows camera={{ position: [8, 5, 9], fov: 35 }}>
<Stage>
<Door />
</Stage>
<OrbitControls makeDefault />
</Canvas>
)
}
Props
| Prop | Type | Default | Range |
|---|---|---|---|
kind | "single" | "double" | "sliding" | "blast" | "roller-shutter" | null | |
fireRating | "A60" | "H120" | "none" | null | |
open | number | null | 0 – 1 |
width | number (m) | null | 0 – 4 |
height | number (m) | null | 0 – 4 |
hand | "left" | "right" | null | |
hardware | "lever" | "panic" | null | |
visionPanel | boolean | null | |
wall | "stub" | "none" | null | |
wallThickness | number (m) | null | 0.06 – 0.4 |
sign | "both" | "exit" | "room" | "none" | null | |
label | string | null | |
tag | string | null | |
...group | position, rotation, scale… |
P&ID
Plan view: a gap in the wall with the door leaf drawn as a line at 90° and a quarter-circle arc for the swing; double doors have two leaves and arcs, sliding doors a leaf parallel to the wall. The fire rating (A60, H120) is noted on the door schedule.
Arc = hinged door; the hinge side is the arc centre. Blast doors are drawn thicker; roller shutters as a dashed line across the opening.
kindfireRatingwidthheighthandhardwarevisionPaneltagTypical suppliers
MML Marine · Baggerod · Bimar · NORAC. 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/door.json, or copy a ready-made instruction:
Add the Deck Twin "Door set (fire, blast, sliding, roller shutter)" component to this project. Run `npx -y https://decktwin.com/cli/deck-twin-0.2.2.tgz add door` (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 door` for its props, ranges and ports. Render <Door /> 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