Pipeline end termination (PLET)
Subsea PLET: skirted mudmat with stiffeners and padeyes, tubular protection frame with sloped (overtrawlable) ends, rigging padeyes, ROV grab bars, anodes and an ROV-readable nameplate. Pipeline stub with a tie-in flange, ROV-operated trunnion ball valve (gearbox and class-4 bucket facing the ROV side), then a vertical jumper hub inside an alignment funnel or a horizontal hub on a connector receiver (hubOrientation); optional hub protection cap. The item sits on its mudmat with y = 0 at the seabed (skirts penetrate below it). The hub port has no flange rating: it is a clamp/collet hub face.
Installation
Copies drilling/plet.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 { Plet } from './components/deck-twin/drilling/plet'
export default function Scene() {
return (
<Canvas shadows camera={{ position: [8, 5, 9], fov: 35 }}>
<Stage>
<Plet />
</Stage>
<OrbitControls makeDefault />
</Canvas>
)
}
Props
| Prop | Type | Default | Range |
|---|---|---|---|
nps | number (NPS, in) | null | |
rating | 150 | 300 | 600 | 900 | 1500 | 2500 | null | |
hubOrientation | "vertical" | "horizontal" | null | |
hubCap | boolean | null | |
tag | string | null | |
...group | position, rotation, scale… |
P&ID
On subsea P&IDs: the pipeline ending at a structure (dashed boundary) with an isolation valve and a connection hub (clamp or collet connector, drawn as a pair of thick bars or a hub outline) for the spool or jumper; on field layouts a small rectangle at the pipeline end.
A PLEM is the same idea with several hubs or a manifold header. Topsides pig traps and risers are separate items.
npsratinghubOrientationhubCaptagTypical suppliers
Oil States · Turcomp. 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/plet.json, or copy a ready-made instruction:
Add the Deck Twin "Pipeline end termination (PLET)" component to this project. Run `npx -y https://decktwin.com/cli/deck-twin-0.2.2.tgz add plet` (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 plet` for its props, ranges and ports. Render <Plet /> 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