> 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/pen-style/line-caps.md).

# Line Caps

`Line Cap` controls how open stroke ends are drawn. Caps appear at open path ends, trimmed segment ends, and dash segment ends.

<div data-with-frame="true"><figure><img src="/files/RLqE23RBGmIVrB6y0U31" alt=""><figcaption><p><code>Pen Shape</code> and <code>Line Cap</code> combinations. <code>Gradient Blending</code> is set to 0% for demonstration purposes.</p></figcaption></figure></div>

{% columns %}
{% column %}

1. `Round` + `Round Cap`
2. `Round` + `Projecting Cap`
3. `Flat` + `Round Cap`
   {% endcolumn %}

{% column %}
4\. `Flat` + `Projecting Cap`
5\. `Flat` + `Butt Cap`
6\. `Sphere (3D)`
{% endcolumn %}
{% endcolumns %}

{% hint style="info" %}
If you have a closed path with no trim paths or dashes, `Line Caps` and `Cap Limits` don't apply.&#x20;
{% endhint %}

## Controls

<details>

<summary>Round Cap</summary>

#### Round Cap

`Round Cap` creates a rounded end at each open stroke endpoint.

With `Pen Shape` set to `Round`, this is produced naturally by the circular brush sweep. The cap extent is fixed by the stroke radius, so `Cap Limit` is hidden.

With `Pen Shape` set to `Flat`, Thicc Pro generates rounded cap geometry at the open end. This can create pill-shaped strokes when paired with a straight path.

</details>

<details>

<summary>Projecting Cap</summary>

#### Projecting Cap

`Projecting Cap` extends the stroke past the endpoint.

Use it when open ends should feel slightly longer, when a stroke needs to cover the exact endpoint more generously, or when dashes should have a heavier mark than their raw `Dash` length.

`Cap Limit` is available for `Projecting Cap` because the cap extends beyond the endpoint.

</details>

<details>

<summary>Butt Cap</summary>

#### Butt Cap

`Butt Cap` ends exactly at the endpoint.

Use it for square-ended technical strokes, precise dashed lines, and designs where the stroke should not extend beyond the source path.

`Butt Cap` is only available with `Pen Shape` set to `Flat`. It is unavailable for `Round` because a circular brush tip cannot terminate as a flat edge.

</details>

<details>

<summary>Cap Limit</summary>

#### Cap Limit

`Cap Limit` controls the maximum extension of generated cap geometry beyond the stroke boundary. It is a multiplier relative to the stroke radius.

The default is `2.0`. Use it when animated paths, animated width, or very sharp width changes produce unwanted cap popping over time.

`Cap Limit` is hidden when the active cap has no adjustable extension.

</details>

## Interactions

{% hint style="info" %}
Use `Line Cap` with `Enable Dashes` to change each dash from a rounded dot, to an extended mark, to a precise square-ended segment.
{% endhint %}

<details>

<summary>Pen Shape</summary>

#### Pen Shape

`Round` supports `Round Cap` and `Projecting Cap`.

`Flat` supports `Round Cap`, `Projecting Cap`, and `Butt Cap`.

`Sphere (3D)` hides `Line Cap` because its dedicated 3D rendering pipeline creates rounded stroke ends.

See [Pen Shapes](/plugin-everything-docs/controls/pen-style/pen-shapes.md) for more about each brush model.

</details>

<details>

<summary>Dashes</summary>

#### Dashes

Every visible dash segment has its own start and end. `Line Cap` controls those dash ends for `Round` and `Flat` pen shapes.

Use `Round Cap` with a short `Dash` value for dotted strokes. Use `Butt Cap` with `Flat` for precise square dashes.

</details>

<details>

<summary>Trim Paths</summary>

#### Trim Paths

Trimmed strokes create open segment ends. `Line Cap` controls those ends for `Round` and `Flat` pen shapes, even if the original source path is closed.

</details>

## Interface Conditionals

<details>

<summary>Line Cap</summary>

| Condition                    | Result                                                      |
| ---------------------------- | ----------------------------------------------------------- |
| `Pen Shape` is `Round`       | `Round Cap` and `Projecting Cap` are available              |
| `Pen Shape` is `Round`       | `Butt Cap` is unavailable                                   |
| `Pen Shape` is `Flat`        | `Round Cap`, `Projecting Cap`, and `Butt Cap` are available |
| `Pen Shape` is `Sphere (3D)` | `Line Cap` is hidden                                        |

</details>

<details>

<summary>Cap Limit</summary>

`Cap Limit` is hidden when it would have no visible effect.

| Condition                                            | Result                 |
| ---------------------------------------------------- | ---------------------- |
| `Pen Shape` is `Round` and `Line Cap` is `Round Cap` | `Cap Limit` is hidden  |
| `Pen Shape` is `Flat` and `Line Cap` is `Butt Cap`   | `Cap Limit` is hidden  |
| `Pen Shape` is `Sphere (3D)`                         | `Cap Limit` is hidden  |
| `Line Cap` has adjustable extension                  | `Cap Limit` is visible |

</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/pen-style/line-caps.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.
