> For the complete documentation index, see [llms.txt](https://plugin-everything.gitbook.io/plugin-everything-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/plugin-everything-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 %}

## 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](/plugin-everything-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>


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter, and the optional `goal` query parameter:

```
GET https://plugin-everything.gitbook.io/plugin-everything-docs/controls/width-modes/width-control-modes.md?ask=<question>&goal=<endgoal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is optional and describes the broader end goal you are ultimately trying to accomplish on behalf of the user. GitBook uses it to tailor the answer towards what is most useful for that goal.

The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
