> For the complete documentation index, see [llms.txt](https://axongenesis.gitbook.io/timeflow/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://axongenesis.gitbook.io/timeflow/user-guide/timeflow-view/alignment-tools.md).

# Alignment Tools

## Time Alignment Tools ![](/files/hu0vXMSc4aA1VgaMkclm)

{% embed url="<https://youtu.be/PZHEVJWZSKU>" %}

The alignment tools can be found at the bottom of the Timeflow view in either the Track or Graph view and used to align selected keyframes and tracks in time.

<figure><img src="/files/LUoIyR2TvZNC44oXZgdL" alt=""><figcaption></figcaption></figure>

## Alignment Tools Toggle ![](/files/W12zFaToCpG4a7iCqcpq)

The alignment tools and bounding box may toggled on/off by pressing the button in the lower toolbar, or by using the keyboard shortcut T.

## Time Alignment

### Align Time Left ![](/files/WUx31dXJhQkxGPbxb0wQ)

This aligns the selected keyframes to the time of the first item in the selection, or to the current time if the Control key is held when clicking.&#x20;

<figure><img src="/files/qoZuqF5Io2YRHgGPb1s6" alt=""><figcaption><p>Selected keyframes and tracks before applying alignment.</p></figcaption></figure>

When applied, the relative offsets between keyframes is maintained on each cannel so that each row slides to the left until the first elements of each are aligned.&#x20;

<figure><img src="/files/wobbd05HSHJvXH53XKSU" alt=""><figcaption><p>After applying left alignment.</p></figcaption></figure>

{% hint style="success" %}
Hold the **Control** key when clicking each alignment tool button to anchor alignment at the current time.
{% endhint %}

<figure><img src="/files/XjsjtBtYeqZDEr9nE2IJ" alt=""><figcaption><p>Holding Control to align the selection to the left, anchored at the current time.</p></figcaption></figure>

### Align Time Right ![](/files/veLPf23iqdEd26yBK5Vl)

Aligns the selected items to the furthest right element in the selection, or the current time if the Control key is held.

<figure><img src="/files/3w9SomlnW8Elw2PEeb7n" alt=""><figcaption><p>After applying right alignment.</p></figcaption></figure>

### Align Time Center ![](/files/cGvTnZJ7JVKnexpYde69)

Shifts each row so that its start and end time within the items selected is aligned to the center of the selection, or to the current time if the Control key is held.&#x20;

<figure><img src="/files/uuATaAecmtIRePFVOQ0M" alt=""><figcaption><p>After applying center alignment.</p></figcaption></figure>

### Align Time Distribute ![](/files/qAfy3GJARQAOgg2eO6KZ)

Evenly distributes the timing between the selected keyframes. The distribution is applied to each channel, maintaining the start and end items of the selection in place.

<figure><img src="/files/Ufc3BcabmJICiLsDE4Ys" alt=""><figcaption><p>After applying distribute alignment.</p></figcaption></figure>

{% hint style="info" %}
Note that distribute is the only alignment tool which modifies the relative offset between the selected keyframes. Holding the Control key has no effect with this tool.
{% endhint %}

## Track Related Keys

When any tracks are selected, hold the **Shift** key to highlight related keyframes in green and include them in the alignment operation. This works the same as if the keyframes were selected and is a helpful way to work with tracks and all the keyframes on any number of channels on the object or within its hierarchy.

<figure><img src="/files/o43czdFd8mP6ezquNIjC" alt=""><figcaption></figcaption></figure>

{% hint style="success" %}
Shift + double click on track sections to add its related keyframes to the current selection.
{% endhint %}

{% hint style="info" %}
Note that related keyframes only applies to channels displayed in the Timeflow view. Any hidden channels or subhierarchies not currently displayed in the view are unaffected.&#x20;
{% endhint %}

## Value Alignment ![](/files/n51M1DSKGGlugQzCTM9y)

{% embed url="<https://youtu.be/lSiyvS0Tv_Q>" %}

The value alignment tools are only displayed in the Graph view and apply alignment to the selected keyframe values.&#x20;

<figure><img src="/files/ujfOzXpIxdSJg5x0CkRQ" alt=""><figcaption><p>Selected keyframes before alignment is applied.</p></figcaption></figure>

### Align Value Bottom ![](/files/EsquWlV4XgVTxUbHID10)

Aligns the selected keyframes to the minimum value within the selection.

<figure><img src="/files/uT5Eb00U97vrBNF5IIXa" alt=""><figcaption><p>After bottom alignment has been applied</p></figcaption></figure>

### Align Value Top ![](/files/e0kITErEk9Jbyf1BpwtQ)

Aligns the selected keyframes to the maximum value within the selection.

<figure><img src="/files/JfWc0KD3fToqFOoNSKd7" alt=""><figcaption><p>After top alignment has been applied</p></figcaption></figure>

### Align Value Center ![](/files/KuamkAEsjyO1UjL9QBPK)

Aligns the selected keyframes to the average value within the selection.

<figure><img src="/files/i7zfQx0JXZIGIgREpAim" alt=""><figcaption><p>After center alignment has been applied</p></figcaption></figure>

### Align Value Distribute ![](/files/h0yvwqROOENFQi59N6ZK)

Aligns the selected keyframes from lowest to highest value, ordered by time.&#x20;

<figure><img src="/files/TJnizAdla4WmDv0C1yqk" alt=""><figcaption><p>After distribute alignment has been applied. All keys were selected to better demonstrate for this example.</p></figcaption></figure>

{% hint style="info" %}

## Precision Alignments

To perform more precise alignments, it may be helpful to first manually set the values/times of the min-max keyframes to be modified to define the desired range. Or another way to make precise adjustments to keyframe times and values is to use the [Keyframe Tools](/timeflow/user-guide/timeflow-view/keyframe-tools.md).&#x20;
{% endhint %}


---

# 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://axongenesis.gitbook.io/timeflow/user-guide/timeflow-view/alignment-tools.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.
