Fire monitor
Fixed firewater monitor on a red riser: flanged side inlet with open bore, long-radius elbow on a dummy-leg foot plate, low-point drain, locked-open OS&Y isolation valve, optional inline water-powered oscillator (flanged both ends, drive housing with speed and arc controls, manual override), slewing turret with lock handwheels, elevating gooseneck (80° up to 15° down) and hollow fog nozzle with bumper and tiller.
Installation
Copies safety/fire-monitor.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 { FireMonitor } from './components/deck-twin/safety/fire-monitor'
export default function Scene() {
return (
<Canvas shadows camera={{ position: [8, 5, 9], fov: 35 }}>
<Stage>
<FireMonitor />
</Stage>
<OrbitControls makeDefault />
</Canvas>
)
}
Props
| Prop | Type | Default | Range |
|---|---|---|---|
nps | number (NPS, in) | null | |
rating | 150 | 300 | 600 | 900 | 1500 | 2500 | null | |
height | number (m) | null | 1.2 – 3 |
slew | number (°) | null | -180 – 180 |
elevation | number (°) | null | -15 – 80 |
oscillating | boolean | null | |
tag | string | null | |
...group | position, rotation, scale… |
P&ID
On fire-protection layouts: a riser with a swivel (small circle) and a tapered nozzle barrel, sometimes with an arc showing the throw or the oscillation sector; on the firewater P&ID it is a branch off the ring main with an LO isolation valve and FM / MON tag.
A hose reel shows a drum with coiled hose; a hydrant is a riser with outlets and no barrel. Foam monitors are the same symbol with a foam (AFFF) supply.
npsratingheightoscillatingtagTypical suppliers
Akron Brass · Elkhart Brass · Chemguard · Delta Fire. 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/fire-monitor.json, or copy a ready-made instruction:
Add the Deck Twin "Fire monitor" component to this project. Run `npx -y https://decktwin.com/cli/deck-twin-0.2.2.tgz add fire-monitor` (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 fire-monitor` for its props, ranges and ports. Render <FireMonitor /> 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