# Function: taper()

[**lifecycle-kit**](https://jonbogaty.com/lifecycle-kit/api/readme/index.md)

***

[lifecycle-kit](https://jonbogaty.com/lifecycle-kit/api/readme/index.md) / [forms](https://jonbogaty.com/lifecycle-kit/api/forms/readme/index.md) / taper


# Function: taper() {#function-taper}


> **taper**(`params`): [`Path`](https://jonbogaty.com/lifecycle-kit/api/forms/interfaces/path/index.md)

Defined in: [forms/rules/taper.ts:55](https://github.com/jbcom/lifecycle-kit/blob/074e4e7b8038d3e2de9eb44c4b5b5aee0ef02b48/src/forms/rules/taper.ts#L55)

Emit a closed tapering silhouette along +x.

The curve through (0, from), (bulgeAt*length, max(from,to)*shape-dependent
peak) and (length, to) is built from two quadratics per side — flare-in and
taper-out — so the outline can bulge past both endpoints' widths rather
than being confined to a straight interpolation between them. This is what
lets `bulgeAt` actually read as a bulge instead of a corner.


## Parameters {#parameters}



### params {#params}


[`TaperParams`](https://jonbogaty.com/lifecycle-kit/api/forms/interfaces/taperparams/index.md)


## Returns {#returns}


[`Path`](https://jonbogaty.com/lifecycle-kit/api/forms/interfaces/path/index.md)
