> For the complete documentation index, see [llms.txt](https://plugin-everything.gitbook.io/docs/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://plugin-everything.gitbook.io/docs/controls/width-modes/width-control-modes.md).

# Width Control Modes

`Width Control Mode` chooses the shape of the width profile. Use it to keep a stroke constant, taper between endpoints, add a middle width point, or draw a custom curve with the `Curve Graph`.

{% hint style="info" %}
All variable width modes multiply the top-level `Stroke Width`. A 50% multiplier on a 100 pixel `Stroke Width` renders as 50 pixels at that point on the path.
{% endhint %}

## Visual Examples

`Start & End` is ideal for simple, open paths. For closed paths, it’s not ideal for looping unless you are scoping the width per dash or trim. `Start Middle End` is handy for closed paths that should loop seamlessly:

<div data-with-frame="true"><figure><img src="https://749037855-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2Ftv64kPMoAtApBYU0Un9u%2Fuploads%2FRMix4SvykduuejG8Z5Mk%2Fwidth%20modes%20circle.png?alt=media&amp;token=7c9d34fa-d822-4d04-8a79-47cbad6061d4" alt="" width="563"><figcaption><p>Left: <code>Start &#x26; End</code> Right: <code>Start Middle End</code></p></figcaption></figure></div>

`Curve Graph` is suitable for more complex or stylistic results:

<div data-with-frame="true"><figure><img src="https://749037855-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2Ftv64kPMoAtApBYU0Un9u%2Fuploads%2FqBFyNRCvhq3JfLqKX1Ib%2FWidth%20Modes%20Curve%20Dash.png?alt=media&amp;token=aaaf93f9-fc38-47d5-9948-111c4fbc743b" alt="" width="563"><figcaption></figcaption></figure></div>

<div data-with-frame="true"><figure><img src="https://749037855-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2Ftv64kPMoAtApBYU0Un9u%2Fuploads%2FOv3TZw1RS2TMnDfetX06%2Fcurve%20graph%20arrow.png?alt=media&amp;token=7679c805-13f5-437c-927a-185830b4ea11" alt="" width="563"><figcaption></figcaption></figure></div>

## Controls

<details>

<summary>None (Constant Width)</summary>

#### None (Constant Width)

`None (Constant Width)` renders the stroke at the same width from start to end.

The result is determined by `Stroke Width`, plus any later modifiers such as `Scene Scale` and repeater width changes. `Width Easing` and `Width Scope` are hidden because there is no width variation to ease or scope.

</details>

<details>

<summary>Start &#x26; End</summary>

#### Start & End

`Start & End` varies the stroke width between the beginning and end of the path.

Two multiplier sliders control the width at each endpoint:

* `Multiplier Start` - width multiplier at the beginning of the path
* `Multiplier End` - width multiplier at the end of the path

The width transitions smoothly between the two values along the path, controlled by `Width Easing`.

</details>

<details>

<summary>Start Middle End</summary>

#### Start Middle End

`Start Middle End` adds a third multiplier at the midpoint of the path. Use it for width profiles such as a center bulge, a pinched middle, or a taper at both ends.

Three multiplier sliders control the width:

* `Multiplier Start` - width multiplier at the beginning of the path
* `Multiplier Middle` - width multiplier at the midpoint of the path
* `Multiplier End` - width multiplier at the end of the path

The width transitions smoothly from start to middle, and from middle to end, with the shape of each transition controlled by `Width Easing`.

</details>

<details>

<summary>Curve Graph</summary>

#### Curve Graph

`Curve Graph` uses the editable graph widget to define a custom width profile.

The X-axis represents position along the path. The Y-axis represents width multiplier, from zero width at the bottom to full `Stroke Width` at the top.

Use `Curve Graph` when the start, middle, and end sliders are not enough, such as repeated bulges, sharp pinches, or a hand-shaped taper.

See [Curve Graph](/docs/controls/width-modes/width-control-modes/curve-graph.md) for point editing, tangent buttons, utility buttons, and keyframing behavior.

</details>

## Interactions

<details>

<summary>Stroke Width</summary>

All width multipliers are relative to the top-level `Stroke Width` parameter. A `Multiplier Start` of 50% with a `Stroke Width` of 10 produces a width of 5 at the start of the path. Changing `Stroke Width` scales the entire width profile proportionally.

</details>

<details>

<summary>Width Easing</summary>

`Width Easing` affects `Start & End` and `Start Middle End`.

It does not change `Curve Graph`, because the graph's Bezier handles already define the shape of the curve.

</details>

<details>

<summary>Width Scope</summary>

`Width Scope` controls where the selected width profile starts and ends.

Use it to apply one profile across all paths, restart the profile on each path, or restart it on each trim or dash segment.

</details>

<details>

<summary>Repeater</summary>

The `Repeater` group has its own width controls that multiply and offset stroke width per copy.

Those changes are applied before the selected width profile maps across each copied path.

</details>

## Interface Conditionals

<details>

<summary>Width Control Mode</summary>

The selected `Width Control Mode` determines which width controls are visible.

| Condition                                       | Result                                          |
| ----------------------------------------------- | ----------------------------------------------- |
| `Width Control Mode` is `None (Constant Width)` | Multiplier controls are hidden                  |
| `Width Control Mode` is `Start & End`           | `Multiplier Start` and `Multiplier End` visible |
| `Width Control Mode` is `Start Middle End`      | Start, middle, and end multipliers visible      |
| `Width Control Mode` is `Curve Graph`           | `Thiccness Graph` controls are visible          |

</details>

<details>

<summary>Width Easing and Width Scope</summary>

| Condition                                       | Result                                            |
| ----------------------------------------------- | ------------------------------------------------- |
| `Width Control Mode` is `None (Constant Width)` | `Width Easing` and `Width Scope` are hidden       |
| `Width Control Mode` is `Curve Graph`           | `Width Easing` is hidden                          |
| `Width Control Mode` varies width               | `Width Scope` is available                        |
| `Enable Dashes` is checked                      | `Individual Dashes` is available in `Width Scope` |

</details>
