> 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/trim-paths.md).

# Trim Paths

The `Trim Paths` group controls which part of each path is visible. Use it to draw strokes on or off, create traveling segments, reveal multiple paths in sequence, or combine trimmed strokes with dashes, width changes, and gradients.

<div data-with-frame="true"><figure><img src="/files/9SVGR5DmQXNqGCocBJoC" alt="" width="340"><figcaption></figcaption></figure></div>

{% hint style="info" %}
`Trim Start` and `Trim End` define the visible range. Animate one or both to create write-on and write-off effects.
{% endhint %}

## Controls

<details>

<summary>Trim Start</summary>

#### Trim Start

`Trim Start` sets the beginning of the visible range from 0% to 100%.

At the default value of 0%, the visible range starts at the beginning of the path. Raising `Trim Start` moves the start point forward along the path, hiding the earlier portion.

If `Trim Start` becomes greater than `Trim End`, Thicc Pro swaps the two values internally. This keeps the visible range valid, but it means crossing animated start and end values will not invert the stroke.

</details>

<details>

<summary>Trim End</summary>

#### Trim End

`Trim End` sets the end of the visible range from 0% to 100%.

At the default value of 100%, the visible range reaches the end of the path. Lowering `Trim End` moves the end point backward along the path, hiding the later portion.

Animate `Trim End` from 0% to 100% for a simple draw-on. Animate `Trim Start` after it to make the stroke travel along the path like a moving segment.

</details>

<details>

<summary>Trim Offset</summary>

#### Trim Offset

`Trim Offset` rotates the visible range around the path.

The value is an angle: 360 degrees equals one full trip around the path. This makes it useful for looping motion. For example, a narrow trim range with animated `Trim Offset` creates a segment that travels continuously along the path.

When the offset pushes the visible range past the end of a path, the range wraps back to the beginning. On open paths, this can produce two visible pieces: one near the end and one near the start.

</details>

<details>

<summary>Trim Multiple Paths</summary>

#### Trim Multiple Paths

`Trim Multiple Paths` controls how trim values are applied when the source contains more than one path.

<table><thead><tr><th width="233.03515625">Mode</th><th>Result</th></tr></thead><tbody><tr><td><code>Simultaneously</code></td><td>Applies the same trim range to every path at once</td></tr><tr><td><code>Individually</code></td><td>Treats the paths as an ordered sequence and trims across that sequence</td></tr></tbody></table>

Use `Simultaneously` when separate paths should draw on together. Use `Individually` when paths should appear one after another, such as letters, repeated shapes, or multiple light motion paths.

</details>

<details>

<summary>Trim Time Offset (sec)</summary>

#### Trim Time Offset

`Trim Time Offset` staggers animated `Trim Start` and `Trim End` values across multiple paths when `Trim Multiple Paths` is set to `Simultaneously`.

Each path samples the trim animation at a different time. Negative values make later paths use earlier animation values, which can create a trailing reveal. Positive values make later paths use later animation values.

`Trim Offset` is not time-staggered. The same `Trim Offset` value is applied to every path.

</details>

<details>

<summary>Trim Order</summary>

#### Trim Order

`Trim Order` changes the path order used by `Trim Multiple Paths`.

<table><thead><tr><th width="269.89453125">Option</th><th>Result</th></tr></thead><tbody><tr><td><code>Reverse</code></td><td>Uses the path order from last to first</td></tr><tr><td><code>Increment</code></td><td>Reorders paths into an alternating sequence</td></tr><tr><td><code>Randomize</code></td><td>Shuffles the path order</td></tr></tbody></table>

With `Trim Multiple Paths` set to `Individually`, these options change the sequence that paths are revealed through. With `Trim Multiple Paths` set to `Simultaneously`, they only have a visible effect when `Trim Time Offset (sec)` is creating a stagger.

</details>

<details>

<summary>Random Seed</summary>

#### Random Seed

`Random Seed` chooses the shuffled order used when `Randomize` is checked.

Change it when you like the timing behavior but want a different random path order. It has no visible effect unless `Randomize` is enabled.

</details>

## Interactions

<details>

<summary>Dashes</summary>

Trimming happens before dashes are generated. When `Enable Dashes` is checked, dashes are created inside the current trimmed range.

This means `Trim Start`, `Trim End`, and `Trim Offset` control the overall visible window, while `Dash`, `Gap`, and `Dash Offset` break that window into smaller visible pieces.

</details>

<details>

<summary>Width Scope and Gradient Scope</summary>

`Width Scope` and `Gradient Scope` can use trim segments as their mapping domain.

<table><thead><tr><th width="236.15234375">Scope</th><th>Result</th></tr></thead><tbody><tr><td><code>Individual Trims</code></td><td>Width or color restarts across each trimmed segment</td></tr><tr><td><code>Individual Dashes</code></td><td>Width or color restarts across each dash segment</td></tr></tbody></table>

Use `Individual Trims` when every revealed segment should receive a complete width curve or gradient. Use `Individual Dashes` when dashes should each receive their own complete width curve or gradient.

</details>

<details>

<summary>Reverse Path Direction</summary>

`Reverse Path Order` reverses the trim direction since what is considered the `Trim Start` and `Trim End` has been reversed. You can use this as a shortcut to reversing the trim direction if you have your animation laid out but simply want to invert the start and end.&#x20;

</details>

<details>

<summary>Repeater</summary>

Trim paths are applied after repeater copies have been collected, so repeater copies are trimmed too.

This lets a repeated trail reveal and disappear with the same `Trim Start`, `Trim End`, and `Trim Offset` controls as the original stroke.

</details>

## Interface Conditionals

<details>

<summary>Trim Time Offset (sec)</summary>

`Trim Time Offset (sec)` is only shown for simultaneous trimming.

| Condition                                 | Result                             |
| ----------------------------------------- | ---------------------------------- |
| `Trim Multiple Paths` is `Simultaneously` | `Trim Time Offset (sec)` is shown  |
| `Trim Multiple Paths` is `Individually`   | `Trim Time Offset (sec)` is hidden |

</details>

<details>

<summary>Trim Order and Random Seed</summary>

`Trim Order` and `Random Seed` are always visible, but their visible effect depends on the trim mode and options.

| Condition                                                                   | Result                                        |
| --------------------------------------------------------------------------- | --------------------------------------------- |
| `Randomize` is unchecked                                                    | `Random Seed` has no visible effect           |
| `Trim Multiple Paths` is `Simultaneously` and `Trim Time Offset (sec)` is 0 | `Trim Order` has no visible effect            |
| `Trim Multiple Paths` is `Individually`                                     | `Trim Order` changes the path reveal sequence |

</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/trim-paths.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.
