# hullMask

> Talos next · Since next

Keeps the drawn water out of a hull: inside a footprint that rides with the entity the water is held down to `capHeight`, and optionally held in a skirt around it, so crests do not come up through the deck in a rough sea.

Several masks work at once (the 16 nearest the camera on HD, 3 on standard). HD pushes the water down; standard cannot, its sea is one flat plane, so it hides the plane inside the footprint and has no skirt. Visual only: the wave and buoyancy queries are unchanged.

Use it in a scene entity's `components` list as `{ "type": "hullMask", … }`. The contract writes the fields flat and refuses unknown keys.

## Fields

| Field | Type | Required | Default | Allowed values | Description |
|---|---|---|---|---|---|
| `center` | `Vec3` | no | `[0,0,0]` |  | The footprint's middle in the entity's local space, metres. Default [0, 0, 0]. |
| `halfLength` | `number` | yes |  |  | Half the footprint's length along local Z, metres, 0.05..200. The bow points toward -Z. Outside is clamped (`hull-mask-out-of-range`). |
| `halfWidth` | `number` | yes |  |  | Half the footprint's width along local X, metres, 0.05..100. Outside is clamped (`hull-mask-out-of-range`). |
| `bowLength` | `number` | no |  |  | How far back from the bow's end the footprint starts to narrow, metres, 0..400. Default 0 (a plain box). Outside is clamped (`hull-mask-out-of-range`). |
| `bowWidth` | `number` | no | `0` |  | The footprint's width at the bow's end as a share of its full width, 0..1. Default 0.25. Outside is clamped (`hull-mask-out-of-range`). |
| `edgeSoftness` | `number` | no | `0` |  | Metres over which the mask blends into the open water, 0.01..10. Default 0.25. Outside is clamped (`hull-mask-out-of-range`). |
| `capHeight` | `number` | no | `0` |  | How high the water may stand inside the footprint, metres above the plane through `center`, -20..20. Default 0.15. Outside is clamped (`hull-mask-out-of-range`). |
| `skirtWidth` | `number` | no | `2` |  | How far out from the footprint the water is held too, metres, 0..100: it climbs back to the open sea over this width. Default 2; at 0 a crest over the cap stands as a wall at the footprint's edge. HD only. Outside is clamped (`hull-mask-out-of-range`). |
| `skirtCap` | `number` | no | `capHeight` |  | How high the water may stand in the skirt, metres above the same plane, -20..20. Default `capHeight`. Outside is clamped (`hull-mask-out-of-range`). |
