# Flux User Manual

Flux is an Adobe After Effects production tool that provides easing editing, anchor-point controls, composition alignment, color management, notes, project organization, layer editing, automation, and preset management through either the complete Flux panel or feature-specific dedicated panels.

## Table of Contents

1. [Basics](#1-basics)
2. [Interface Overview](#2-interface-overview)
3. [Anchor / Graph](#3-anchor--graph)
4. [Frame Navigation and Alignment Tools](#4-frame-navigation-and-alignment-tools)
5. [Color Palette](#5-color-palette)
6. [Memo](#6-memo)
7. [Utility Common Operations](#7-utility-common-operations)
8. [Productivity](#8-productivity)
9. [Project](#9-project)
10. [Edit](#10-edit)
11. [Automation](#11-automation)
12. [Library](#12-library)
13. [Settings](#13-settings)
14. [Data and Operational Notes](#14-data-and-operational-notes)
15. [25 Utility Quick Reference](#15-25-utility-quick-reference)

---

## 1. Basics

### 1.1 Supported Environment and Required Context

Flux supports the following environment.

| Item | Supported Environment |
| :--- | :--- |
| OS | Windows |
| After Effects | After Effects 2022 (22.0) or later |
| Font Preview | After Effects 2024 (24.0) or later |

Many features additionally require one or more of the following:

- An active composition
- One or more selected layers
- Selected keyframes or properties
- An open After Effects project

When the required target is not available, Flux does not run the operation and displays a notification instead.

### 1.2 Undo

Major features that modify After Effects content generally execute one operation as a single Undo group.
If the result is not what you expected, use **Edit > Undo** in After Effects.

### 1.3 Project and Global

Color Palette and Memo support two storage scopes.

| Scope | Description |
| :--- | :--- |
| Project | Saved with the current After Effects project. The data is not shown in other projects. |
| Global | Available throughout Flux and shown in other projects as well. |

Project data is stored in a Flux-specific data area inside the project. Global data and many user presets are stored in Flux's data folder.

### 1.4 Modifier Keys

Flux lets you configure two modifier keys that add alternate behavior to clicks and drags.
The defaults are as follows.

| Setting | Default | Typical Uses |
| :--- | :--- | :--- |
| Modifier Key 1 | Shift | Anchor-based alignment, graph-value limiting, axis locking in the color picker, doubling frame-navigation distance, and similar alternate actions |
| Modifier Key 2 | Control | Graph panning, zooming, and other viewport operations |

You can assign different keys from Settings.

---

## 2. Interface Overview

Flux provides one complete panel containing all features and several dedicated panels that display only a specific feature area.

### 2.1 Complete Flux Panel

The `Flux` panel is organized into five tabs.

| Tab | Main Features |
| :--- | :--- |
| Anchor / Graph | Anchor-point movement, easing editing, easing presets, and expressions |
| Color Palette | Color palettes, color picker, and applying colors to Fill / Stroke |
| Memo | Creating, searching, and editing Project / Global notes |
| Utility | 25 utility tools |
| Settings | Language, theme, modifier keys, color-picker behavior, toolbar display, and more |

Depending on your settings, the following auxiliary bars can be displayed along the top, bottom, left, or right side of the panel.

- Frame navigation and alignment tools
- Color swatches
- Utility toolbar

### 2.2 Dedicated Panels

The following dedicated panels can be opened separately from the After Effects extensions menu.

| Panel | Displayed Content |
| :--- | :--- |
| Flux - Anchor Graph | Displays only the Anchor / Graph features. |
| Flux - Color Palette | Displays only the Color Palette features. |
| Flux - Memo | Displays only the Memo features. |
| Flux - Utility | Displays only the Utility features. |
| Flux - Motion Node Editor | Displays the Motion Node graph editor as a modeless window. |

Dedicated panels use the same data as the complete panel while hiding unrelated tabs, Settings, and auxiliary interface elements. Motion Node Editor can remain open independently, allowing you to move between After Effects and the graph editor while working.

### 2.3 Cross-Panel Synchronization

When the complete panel and one or more dedicated panels are open at the same time, changes to shared data and presets are reflected in the other open Flux panels.

The main synchronized resources include:

- Project and Global Memo data
- Project and Global Color Palette data
- Easing, Rename, Project Organizer, Comp, Shape, Gradient, Motion Node, and other presets
- Utility Favorites, Hidden tools, Utility Toolbar contents, and their order
- Comp Status Tags
- The selected Motion Node preset and the graph currently being edited

An unsaved Motion Node graph is shared between the Utility panel and Motion Node Editor only for the current session. It is not restored after After Effects restarts, so save any graph you need to keep as a preset.

---

## 3. Anchor / Graph

### 3.1 Move Anchor Point

Use the 3 × 3 button grid to move the anchor point relative to the visible contents of each selected layer.

| Button Position | Destination |
| :--- | :--- |
| Top Left | Left edge and top edge |
| Top | Horizontal center and top edge |
| Top Right | Right edge and top edge |
| Left | Left edge and vertical center |
| Center | Horizontal and vertical center |
| Right | Right edge and vertical center |
| Bottom Left | Left edge and bottom edge |
| Bottom | Horizontal center and bottom edge |
| Bottom Right | Right edge and bottom edge |

#### How to Use

1. Select one or more layers in a composition.
2. Click the desired destination in the 3 × 3 grid.
3. The anchor point of each layer moves relative to that layer's visible bounds.

#### Behavior

- Multiple layers can be processed at once.
- Flux uses each layer's visible bounds at the current composition time.
- Position is compensated so that the layer's appearance stays in place as much as possible while only the anchor point changes.
- Both 2D and 3D layers are supported. The Z value is preserved for 3D layers.
- Position compensation accounts for Scale and Z Rotation.

> On layers whose Anchor Point is already animated, the value at the current time is changed. Check how this affects the existing animation before continuing.

---

### 3.2 Easing Graph

Displays and edits consecutive selected keyframe segments as a Bezier graph.
Instead of entering values directly in After Effects' Speed Graph, you can adjust the easing by moving two handles.

#### Basic Controls

| Operation | Result |
| :--- | :--- |
| Drag a handle | Changes the easing of the selected segment. |
| Drag while holding Modifier Key 1 | Constrains the value axis to 0–1, keeping the curve within a non-overshooting range. |
| Drag while holding Modifier Key 2 | Pans the graph viewport. |
| Mouse wheel while holding Modifier Key 2 | Zooms around the pointer position. |
| Double-click | Resets pan and zoom to their defaults. |

#### Selecting Keyframes

- Select two or more adjacent keyframes on the same property.
- When multiple segments are selected, each selected segment is processed.
- On spatial properties such as Position and Anchor Point, values may be adjusted to remain within the speed range allowed by After Effects.

#### Automatic Synchronization

When automatic graph synchronization is enabled, Flux periodically checks the keyframe selection in After Effects and updates the graph whenever the selection changes.
Disable automatic synchronization when you want to edit without continuous polling.

#### Tool Buttons

| Button | Description |
| :--- | :--- |
| Save | Saves the current curve as an easing preset. |
| Expression | Applies Bounce or Elastic to the selected property. |
| Invert | Inverts the current curve. |
| Copy | Copies the relative easing information of the selected segments into Flux. |
| Paste | Applies the copied easing to the currently selected segments. |

#### Copy / Paste Behavior

- When one segment is copied, that curve can be repeated across all selected destination segments.
- When multiple segments are copied, they are assigned to destination segments in order.
- If there are more destination segments than copied segments, the last copied segment is reused for the remainder.
- Flux uses handle information relative to each segment rather than copying the keyframe times or values themselves.

---

### 3.3 Easing Presets

Select a saved curve from the preset list and apply it to the selected keyframes.

#### How to Use

1. Select the target keyframes in After Effects.
2. Click the preset you want to use.
3. The curve is applied to the selected segments.

#### Managing Presets

- Use Save to store the current curve as a new preset.
- Drag presets to change their display order.
- Right-click a preset to rename or delete it.

---

### 3.4 Expression

Use the Expression menu to add a motion expression to the selected property.

| Option | Description |
| :--- | :--- |
| Bounce | Adds a rebound motion after the value changes. |
| Elastic | Adds an elastic oscillation that gradually settles. |

Any existing expression on the property is replaced. Save the existing expression first when necessary.

---

## 4. Frame Navigation and Alignment Tools

### 4.1 Frame Navigation

Enter a number of frames, then use the backward or forward button to move the current time.

#### How to Use

1. Enter the frame count.
2. Click the left button to move backward by that number of frames.
3. Click the right button to move forward by that number of frames.

#### Modifier Key 1

While Modifier Key 1 is held, the actual movement is twice the entered value.

Example with an input value of `5`:

- Normal click: moves 5 frames
- Modifier Key 1 + click: moves 10 frames

Movement is clamped to the valid range of the composition.

---

### 4.2 Composition Alignment

Align selected layers to the left, center, right, top, or bottom of the composition.

| Button | Description |
| :--- | :--- |
| Align Left | Aligns the left edge of the visible bounds to the left edge of the composition. |
| Align Center Horizontal | Aligns the layer to the horizontal center. |
| Align Right | Aligns the right edge of the visible bounds to the right edge of the composition. |
| Align Center Both | Centers the layer both horizontally and vertically. |
| Align Top | Aligns the top edge of the visible bounds to the top edge of the composition. |
| Align Center Vertical | Aligns the layer to the vertical center. |
| Align Bottom | Aligns the bottom edge of the visible bounds to the bottom edge of the composition. |

#### Normal Click

Alignment is based on the layer's actual visible bounds. This allows text, shape, footage, and other layers to be positioned according to their visible content even when the anchor point does not coincide with the visual center.

#### Modifier Key 1 + Click

Alignment is based on the layer's anchor point instead of its visible bounds. The anchor point is aligned to the corresponding composition edge or center.

#### When Position Has Keyframes

When a layer has animated Position, Flux aligns only the pose at the current playhead time. If no Position key exists at that time, Flux creates one; if a key already exists, Flux updates its value.

Existing Position keyframes at other times are not moved, so alignment does not translate the entire animation.

- Both 2D and 3D layers are supported. The Z position of a 3D layer is preserved.
- Separated Position dimensions are supported.
- With separated dimensions, Flux writes keys only to the axes required by the alignment, such as X for horizontal alignment and Y for vertical alignment.
- Align Center Both updates both X and Y.

---

## 5. Color Palette

### 5.1 Overview

Color Palette lets you save colors in palettes and reuse them on layers in After Effects.
You can create both Project palettes and Global palettes.

### 5.2 Creating a Palette

1. Open the `+` menu.
2. Choose the storage scope.
   - Save to Project
   - Save to Global
3. Enter a palette name.
4. Select the palette you created.

#### Display Filters

| Filter | Description |
| :--- | :--- |
| All | Shows both Project and Global palettes. |
| Project | Shows only palettes saved for the current project. |
| Global | Shows only palettes shared across all projects. |

Enter part of a palette name in the search field to filter the list.

#### Palette Context Menu

- Rename: Changes the palette name.
- Delete: Deletes the palette.
- Copy to the opposite storage scope: Duplicates a Project palette to Global or a Global palette to Project. The original palette remains in place.

---

### 5.3 Color Picker

Choose a color with the color picker, then add it to the current palette.

#### Main Controls

- Drag inside the color-selection area to adjust the color.
- Use the Hue control to change hue.
- Enter a hexadecimal color directly in the HEX field.
- Use the eyedropper to open the system color picker.
- When dragging while holding Modifier Key 1, Flux locks one axis based on the direction in which you first move farther.

The color model and picker shape can be changed in Settings.

---

### 5.4 Adding, Reordering, and Editing Colors

#### Adding a Color

1. Select the target palette.
2. Create a color in the color picker.
3. Click the add button.

#### Managing Colors

- Drag color tiles to reorder them.
- Right-click a color tile to edit or delete it.
- Use Copy to copy the HEX value to the clipboard.
- Double-click a color tile to apply it to the current Apply Target.

---

### 5.5 Importing Colors

You can import multiple colors from text into the currently selected palette.

Recognized formats include:

- HEX
- RGB / RGBA
- HSL / HSLA
- Color strings contained in CSS, LESS, SASS, XML, and similar text formats

Near-duplicate colors are consolidated.

---

### 5.6 Apply Target

| Option | Destination |
| :--- | :--- |
| Fill | Applies the color to a fill. |
| Stroke | Applies the color to a stroke. |

#### Supported Layers

- Text layers
- Shape layers
- Solid layers

#### Behavior by Layer Type

- Text: Changes the Fill Color or Stroke Color in the Text Document.
- Shape: Recursively searches the Contents group and applies the color to fills or strokes.
- Solid: Changes the solid source color.

#### Paint ON / OFF

- ON: Enables the target fill or stroke and applies the color.
- OFF: Disables the target paint on text or shape layers.

Solid layers do not have independently enabled Fill / Stroke paint, so Paint ON / OFF does not apply to them.

---

### 5.7 Color Swatch Bar

When enabled in Settings, the colors from the selected palette are shown in an auxiliary bar.
This makes it easy to inspect and apply colors without keeping the Color Palette tab open.

- The bar can be placed at the top, bottom, left, or right.
- Colors are applied according to the Fill / Stroke Apply Target currently selected in Color Palette.
- Double-click a color to apply it. Double-click while holding Modifier Key 1 to copy its HEX value.

---

## 6. Memo

### 6.1 Overview

Create and manage Project or Global notes inside Flux.

### 6.2 Creating a Memo

1. Open the `+` menu.
2. Choose Project or Global.
3. Enter a name.
4. Select the memo you created and enter its contents.

### 6.3 Display and Search

| Filter | Description |
| :--- | :--- |
| All | Shows all memos. |
| Project | Shows only memos associated with the current project. |
| Global | Shows only memos shared across all projects. |

Use the search field to filter memos by name.

### 6.4 Saving

Memo contents are saved automatically about three seconds after you stop typing.
They are saved immediately in the following situations:

- When the text field loses focus
- When you switch to another memo
- When the panel state is refreshed

### 6.5 Rename, Delete, and Copy

Right-click a memo to access the following actions:

- Rename
- Delete
- Copy from Project to Global or from Global to Project

The original memo remains after copying.

### 6.6 Font Size

Use **Memo Font Size** in Settings to change the memo-body display size from 10 to 36 px.

---

## 7. Utility Common Operations

The Utility tab contains 25 tools.

### 7.1 Tool List

| Category | Tools |
| :--- | :--- |
| Productivity | Pomodoro, Timer, Stopwatch, Calculator, FPS Converter |
| Project | Project Organizer, Comp Status Tags, Project Stats, Trash |
| Edit | Comp Restructure, Text Decompose, Shape Forge, Key Trim, Layer Stagger, Midpoint Align, Rename |
| Automation | Motion Node, BPM Sync, Smart Duplicator, Render Notify |
| Library | Shape Library, Gradient Library, Font Preview, 3D Shape Builder, Comp Preset |

### 7.2 Categories

Use the Utility sidebar to switch between the following views.

| Category | Description |
| :--- | :--- |
| All | All tools |
| Favorites | Tools added to Favorites |
| Productivity | Time-management and calculation tools |
| Project | Project-management tools |
| Edit | Layer and composition editing tools |
| Automation | Automation and animation tools |
| Library | Preset and asset-library tools |
| Hidden | Hidden tools |

### 7.3 Tool Search

Enter part of a tool name in the search field above the tool list to show only matching tools in the currently selected category. Matching ignores letter case and whitespace.

The search field remains fixed at the top while the list scrolls. If you switch categories while searching, the same search continues within the newly selected category. Clear the field to restore the normal view of the selected category. The search text and results are not saved and do not affect tool settings or saved data.

### 7.4 Tool Card Context Menu

- Add to Favorites / Remove from Favorites
- Add to Utility Toolbar / Remove from Toolbar
- Hide
- Unhide

Tools added to Favorites can be dragged within the Favorites view to change their order. The new order is saved and preserved the next time Flux starts.

### 7.5 Utility Toolbar

Register frequently used tools in an auxiliary bar so that you can open them without first navigating to the Utility tab.

- The toolbar can be placed at the top, bottom, left, or right.
- Toolbar buttons can be dragged to change their order. The new order is saved.
- When it contains many tools, scroll it with the mouse wheel.
- Toolbar scroll speed can be set from 1% to 1000% in Settings.

---

## 8. Productivity

### 8.1 Pomodoro

A Pomodoro timer that alternates between work and break periods.

#### Settings

| Item | Description |
| :--- | :--- |
| Work min | Sets the duration of one work session in minutes. Decimal values are supported. |
| Break min | Sets the duration of a normal break in minutes. |
| Auto-start Break | Automatically starts a break when a work session ends. |
| Auto-start Work | Automatically starts the next work session when a break ends. |
| Sound Alert | Plays a notification sound when a phase ends. |
| Long Break | Enables long breaks. |
| Long Break After sessions | Sets how many completed work sessions occur before a long break. |
| Long Break min | Sets the duration of a long break. |

#### Controls

- Start: Starts the timer.
- Pause: Pauses the timer.
- Reset: Resets the current Pomodoro cycle.

Completed work sessions are represented by dots. When a phase ends, Flux can bring its panel to the front when appropriate.
The timer continues running while Flux remains active, even when the tool panel itself is closed.

---

### 8.2 Timer

A countdown timer that runs from a specified duration to zero.

#### How to Use

1. Enter Hours, Minutes, and Seconds.
2. Enable Sound Alert when needed.
3. Click Start.
4. Use Pause to pause and Reset to return to the initial state.

When the timer reaches zero, Flux displays a completion notification and plays a sound when Sound Alert is enabled.
The countdown continues while Flux remains active, even when the tool panel is closed.

---

### 8.3 Stopwatch

Measures elapsed time.

#### Controls

| Button | Description |
| :--- | :--- |
| Start | Starts measurement. |
| Pause | Pauses measurement. |
| Lap | Records the current lap time while measurement is running. |
| Reset | Clears the elapsed time and all laps. |

The display uses hundredths of a second.
New lap records are added at the top of the list, and the difference between consecutive laps is also shown.

---

### 8.4 Calculator

A simple calculator built into Flux.

#### Supported Operations

- Basic arithmetic: `+` `−` `×` `÷`
- Decimal point
- Sign inversion `±`
- Percent `%`
- Delete one character
- Clear
- Equals

#### Operational Notes

- Operations are evaluated in the order entered rather than using the precedence rules of a scientific calculator.
- Division by zero resets the result to 0 instead of displaying an error string.
- Results are rounded to approximately seven decimal places.
- Press `Ctrl + C` to copy the displayed value.
- When text is pasted, Flux extracts the portion that can be interpreted as a number.

---

### 8.5 FPS Converter

Converts frame counts, seconds, and timecode between different frame rates.

#### Base Side

| Item | Description |
| :--- | :--- |
| FPS | Frame rate of the source data |
| DF / NDF | Drop Frame or Non-Drop Frame |
| Frames | Source frame count |
| Seconds | Source duration in seconds |
| Timecode | Source timecode |

Editing Frames, Seconds, or Timecode synchronizes the other two fields. The field edited most recently becomes the source value for conversion.

#### Target Side

| Item | Description |
| :--- | :--- |
| Target FPS | Destination frame rate |
| DF / NDF | Destination timecode method |
| Frames | Converted frame count |
| Seconds | Preserved real-world duration |
| Timecode | Converted timecode |

#### Get Comp

Loads the active composition's frame rate and Drop Frame setting into the Base side.

#### Conversion Method

Conversion preserves real-world duration and rounds the resulting frame count for the Target FPS.

Example: 240 frames at 24 fps equals 10 seconds, so the equivalent at 60 fps is 600 frames.

#### DF / NDF

Drop Frame is primarily used for timecode management at 29.97 fps and 59.94 fps.
It does not remove frames from the video. It is a timecode numbering method designed to reduce drift from actual elapsed time.

#### Copy

The Frames, Seconds, and Timecode values on both the Base and Target sides can be copied to the clipboard with their respective copy buttons.

---

## 9. Project

### 9.1 Project Organizer

Organizes items in the After Effects Project panel into folders according to configurable conditions.
In addition to simple type-based sorting, it supports names, extensions, multiple conditions, nested folders, unmatched items, and rules for handling existing folders.

#### Basic Workflow

1. Create a new preset or select an existing preset.
2. Add destination folders.
3. Configure conditions for each folder.
4. Configure Others and Options.
5. Use Preview to review the planned moves.
6. Run Organize.

#### Presets

- Save a new preset
- Select a preset
- Rename a preset
- Delete a preset

A preset stores the folder hierarchy, conditions, Others settings, and Options settings.

#### Folder Structure

- Root folders can be added.
- Child folders can be added inside other folders.
- Drag folders to change their order or hierarchy.
- Folders can be renamed or deleted.
- The configured folder hierarchy is created even when no item matches a folder's conditions.

#### Condition Fields

| Field | Description |
| :--- | :--- |
| Type | Evaluates the item type. |
| Name | Evaluates the item name. |
| Extension | Evaluates the file extension. |

#### Type Options

| Type | Target |
| :--- | :--- |
| Composition | Compositions |
| Video | Video footage |
| Image | Still-image footage |
| Audio | Audio footage |
| Other Footage | Footage other than the types above |
| Solid (All) | All solid sources, including normal solids, nulls, and adjustment layers |
| Solid (Normal) | Normal solids |
| Null Object | Solid sources used for null objects |
| Adjustment Layer | Solid sources used for adjustment layers |

#### Type Operators

| Operator | Description |
| :--- | :--- |
| is | Matches the specified type. |
| is not | Matches every type except the specified type. |

#### Name / Extension Operators

| Operator | Description |
| :--- | :--- |
| contains | Contains the specified text. |
| not contains | Does not contain the specified text. |
| starts with | Starts with the specified text. |
| ends with | Ends with the specified text. |
| is | Exact match. |
| is not | Does not exactly match. |
| regex | Evaluates with a regular expression. |

#### Multiple Conditions

When a folder has two or more conditions, choose how they are combined.

| Mode | Description |
| :--- | :--- |
| Match ALL | Matches only when every condition is satisfied. |
| Match ANY | Matches when at least one condition is satisfied. |

#### Evaluation Order

- Child-folder conditions are evaluated first.
- Parent folders are evaluated afterward.
- An item is moved to the first matching destination.

When conditions overlap, pay attention to folder order and hierarchy.

#### Others

Controls what happens to items that match no condition.

| Option | Description |
| :--- | :--- |
| Move to | Moves all unmatched items into the specified folder. |
| Leave | Leaves unmatched items in their current location. |

#### Options

##### Delete unused Solids

Deletes solid sources that are not used by any composition.
This can clean up unused solid sources beyond only standard solid layers.

##### Group default names

Groups Null, Adjustment Layer, and Solid items whose names resemble After Effects' default names into specified folders.
Differences in localized default names are taken into account.

##### Existing Folders

Choose how existing folders are handled.

| Option | Description |
| :--- | :--- |
| Leave | Leaves existing folders unchanged. |
| Delete | Deletes existing folders that become empty. Folders that still contain items are not deleted. |
| Move to | Moves the existing folder itself into the specified folder. |

#### Preview

Preview lets you verify the following before running the operation:

- The destination of each item
- Items that match no condition
- Unused solids scheduled for deletion
- Items that will not be organized because of name-based evaluation

Always review Preview before organizing a project with a large amount of media.

#### Exclusions

- Flux-specific data items are excluded from organization.
- When a folder hierarchy matching the one Project Organizer plans to create already exists, Flux reuses existing folders whenever possible.

---

### 9.2 Comp Status Tags

Registers a production status and memo for compositions and manages them in a list.

#### Statuses

- WIP
- Review
- Done
- Pending
- Hold

#### Register Mode

Lists compositions that have not yet been registered.

1. Use search to narrow down the compositions.
2. Click the checkbox on the left to select a composition.
3. Use the header checkbox to select all currently displayed compositions.
4. Click `Register Selected`.
5. Enter the Status and Memo, then save.

Double-click a composition name to open that composition.

#### Check Mode

Displays registered compositions.

- Shows the status badge and composition name.
- Expand a row to inspect the memo, registration date, update date, and other details.
- Use the drag handle to reorder the list.
- Open the composition directly.
- Right-click to run Edit or Delete.

#### Synchronization

- If a composition is renamed in After Effects, its name in the list is synchronized.
- Orphaned data for deleted compositions is cleaned up.
- Data is saved with the current project.

---

### 9.3 Project Stats

Scans the entire current After Effects project and summarizes its structure and usage.

#### Summary

| Item | Description |
| :--- | :--- |
| Compositions | Number of compositions |
| Total Layers | Combined layer count across all compositions |
| Total Items | Total number of items in the Project panel, excluding Flux-specific data items |

#### Layer Breakdown

Counts layers by the following types:

- Shape
- Text
- Solid
- Adjustment
- Comp
- Null
- Camera
- Light
- Footage
- Other

#### Expressions

- Total number of enabled expressions
- Total number of expression errors
- List of layers containing expressions
- List of layers containing expression errors

Click a layer name in the list to open its composition and select that layer.

#### Fonts Used

Lists fonts used by text layers, including usage counts and layer locations.
Click a target layer to navigate to it.

#### Missing Footage

Lists offline or missing footage.
Click an entry to select the corresponding item in the Project panel.

#### Effects Used

Summarizes used effects by name, usage count, and layers on which they are used.
Click a target layer to navigate to it.

#### Buttons

| Button | Description |
| :--- | :--- |
| Scan Project | Scans the entire project. |
| Reset | Returns the displayed summary to its initial state. The project itself is not modified. |

In a large project, the scan can take time because Flux checks every composition, layer, and property.

---

### 9.4 Trash

Removes selected categories of data from the selected layers in one operation.

#### Options

| Item | Removed Data |
| :--- | :--- |
| Keyframes | Keyframes on properties inside the layers |
| Expressions | Expressions |
| Effects | Effects |

Multiple items can be enabled at the same time.

#### Keyframes Behavior

- Flux recursively searches the layer and removes keyframes, excluding layer markers.
- Before removal, it reads each property's value at the current playhead time and leaves that value as a static value.
- Keyframes inside effects are handled separately in the recursive process to avoid overlap with Effects removal.

#### How to Use

1. Select one or more layers.
2. Enable the categories you want to remove.
3. Click Apply.

This is a destructive operation. Make sure you do not accidentally remove animation or expressions that you still need.

---

## 10. Edit

### 10.1 Comp Restructure

Assists with precomposing layers and expanding layers that are already precomposed.

#### Mode: Precomp

Combines the selected layers into one new precomposition.
The new composition is named in the form `Precomp N`, with the number adjusted to avoid duplicates.

##### Spatial Crop

Resizes the new precomposition to the visible bounds of the selected layers at the current time.
Flux compensates the positions of the internal layers and the outer precomp layer to preserve the appearance.

- If the selection contains a 3D layer, Spatial Crop cancels the entire operation for safety.
- Blur, shadows, effects that draw beyond the layer bounds, and similar rendering can extend outside the calculated visible bounds.

##### Time Crop

Sets the time range of the new precomposition from the earliest In Point to the latest Out Point among the selected layers.
The timing of the internal layers and the outer precomp layer is also compensated.

Spatial Crop and Time Crop can be used together.

#### Mode: Flatten

Expands the internal layers of selected precomp layers into the parent composition.
Each selected precomp layer is processed separately.

Flux uses temporary parent layers while converting placement so that parenting and transforms are preserved as closely as possible.

##### Marker Null

Creates a guide Null to preserve markers from the original precomp layer.

##### Hide Original

Disables the original precomp layer after expansion.

##### Shy Original

Sets the original precomp layer as a shy layer.

Complex effects, track mattes, blending, Collapse Transformations, unusual parenting, and similar cases may not reproduce an identical appearance. Check the result after running the operation.

---

### 10.2 Text Decompose

Splits selected text layers into characters, words, lines, or other units.

#### Mode

| Mode | Description |
| :--- | :--- |
| Text | Creates the result as editable text layers. |
| Shape | Converts the text to shapes and then splits it. |

#### Split

| Option | Description |
| :--- | :--- |
| Character | Splits the text into individual characters. Spaces and line breaks are not created as independent layers. |
| Word | Splits by word. Half-width spaces, full-width spaces, and line breaks are treated as separators. |
| Line | Splits by line. |
| Component | In Shape mode, splits the converted shape into its individual shape components. |

#### Options

| Item | Description |
| :--- | :--- |
| Delete original | Deletes the original text layer. |
| Hide original | Disables the original text layer. |

#### Requirements and Limitations

- Every selected layer must be a text layer.
- Empty text cannot be processed.
- 3D text layers are not supported.
- Text on a path using Path Options is not supported.
- Complex text containing multiple mixed styles may not reproduce the original appearance perfectly.

Flux temporarily converts text to shapes to obtain placement data and generates the result while preserving the original arrangement as closely as possible.

---

### 10.3 Shape Forge

Splits or merges the top-level Contents groups of shape layers.

#### Mode: Split

Creates a separate shape layer for each top-level group in one shape layer.

#### Mode: Merge

Combines two or more shape layers into one shape layer.
The transform of each source layer is transferred to its shape group so that the original placement is preserved as closely as possible.

#### Options

| Item | Description |
| :--- | :--- |
| Hide Original | Disables the original layers. |
| Shy Original | Sets the original layers as shy layers. |

#### Limitations

- Only shape layers can be processed.
- 3D shape layers are not supported.
- Shape layers with a parent are not supported.
- Merge requires at least two shape layers.

---

### 10.4 Key Trim

Adjusts the In Point and/or Out Point of selected layers according to the range containing their keyframes.

#### Mode

| Mode | Description |
| :--- | :--- |
| Trim | Trims the current layer range inward to the first and last keyframe. It never extends a layer outward. |
| Extend | Extends the layer outward when the first or last keyframe lies outside the current layer range, so that the keyframes are included. |

#### Options

| Item | Description |
| :--- | :--- |
| Start | Processes the In Point. |
| End | Processes the Out Point. |

Start and End can be used independently. Apply is unavailable when both are disabled.

#### Behavior

- Flux recursively scans each selected layer and finds its earliest and latest keyframe times.
- Layer markers are excluded from the calculation.
- Locked layers and layers without keyframes are skipped.
- The adjusted range is kept within the valid range of the composition and source.

---

### 10.5 Layer Stagger

Offsets the timing of multiple layers using a fixed interval, random variation, or a Bezier distribution.

#### Interval

Enter the base amount of timing offset.

#### Unit

| Option | Description |
| :--- | :--- |
| Frames | Treats Interval and Random Amount as frame counts. |
| Seconds | Treats them as seconds. |

#### Direction

| Option | Description |
| :--- | :--- |
| Top | Offsets layers in order from the top of the After Effects timeline. |
| Bottom | Offsets layers in order from the bottom. |

Flux uses After Effects layer-index order, not the order in which layers were clicked.

#### Basis

| Option | Description |
| :--- | :--- |
| In Point | Uses the layer start as the basis and delays each subsequent layer. |
| Out Point | Uses the layer end as the basis and offsets in the opposite direction, arranging layers with the concept of aligning their end timing. |

#### Random

When enabled, adds a random offset to each layer.
Use `Amount` to set the maximum variation.

The resulting offsets are normalized so that the earliest offset becomes 0. This prevents every layer from being shifted uniformly far later in time.

#### Bezier Curve

When enabled, controls the timing distribution across layer order with a Bezier curve.

- Linear: equal intervals
- Slower at the beginning: small intervals at first, widening later
- Slower at the end: wide intervals at first, narrowing later

Use Reset Curve to return to a straight line.

#### What Actually Moves

Flux changes each layer's `startTime`. As a result, the In Point, Out Point, layer keyframes, markers, and other internal timing move together with the layer while preserving their relative spacing.

Locked layers are skipped.

---

### 10.6 Midpoint Align

Calculates a center or intermediate arrangement from multiple origin layers and places other layers at the resulting positions.

#### Origin Layers

The layers used as the basis for position calculation.

- Pick: Registers the currently selected layers.
- Clear: Clears the list.
- At least two layers are required.

#### Target Layers

The layers that will actually move.

- Pick: Registers the currently selected layers.
- Clear: Clears the list.
- At least one layer is required.

After Pick, the Origin and Target layers must remain in the same active composition.

#### Mode: Center

Averages the Position values of the Origin layers and places every Target layer at that center position.

#### Mode: Distribute

Distributes the Target layers according to the Origin arrangement.

- Two Origin layers: places Targets at equal intervals between the two points.
- Three or more Origin layers: calculates the Origin center, creates an inner closed route through the midpoint between each Origin and the center, then distributes Targets along that route.
- One Target layer: places it at the center.

#### Create

| Item | Description |
| :--- | :--- |
| Count | Number to create, from 1 to 99 |
| Create Null | Creates Nulls at the calculated positions. If the Origin layers are 3D, creates 3D Nulls. |
| Create Guide | Creates circular guide shapes in 2D, or guide Nulls in 3D. |

#### Limitations

- 2D and 3D layers cannot be mixed between Origin and Target.
- If Position is animated, Flux adds or updates a keyframe at the current time.
- Separated Position dimensions are supported.

---

### 10.7 Rename

Batch-renames layers or Project-panel items by combining multiple transformation rules.

#### Basic Workflow

1. Select the Scope.
2. Configure type filters and search conditions.
3. Add Transform Rules.
4. Click Refresh to update Preview.
5. Review and select the target rows.
6. Click Apply.

#### Scope

| Option | Description |
| :--- | :--- |
| Layers | Targets layers in the active composition. |
| Project | Targets items in the Project panel. |

#### Type Filters for Layers

- Shape Layer
- Text Layer
- Solid Layer
- Null Layer
- Footage Layer
- Camera Layer
- Light Layer
- Adjustment Layer
- Guide Layer

#### Item Filters for Project

- Composition
- Folder
- Video
- Audio
- Image
- Photoshop
- Illustrator
- Other Footage
- Selected only

In Project Scope, solid sources are excluded from the normal project-footage filters.

#### Search Keyword

| Mode | Description |
| :--- | :--- |
| Contains | The name contains the specified text. |
| Starts with | The name starts with the specified text. |
| Ends with | The name ends with the specified text. |
| Exact | The name exactly matches the specified text. |

Additional settings:

- Match Case: Makes the search case-sensitive.
- RegExp: Treats the search text as a regular expression.

#### Exclusion Mode

| Option | Description |
| :--- | :--- |
| Incl. | Includes items that match the search condition. |
| Excl. | Excludes matching items and targets everything else. |

#### Also rename source

When enabled in Layers Scope, Flux renames both the layer and its referenced source to the same new name.
Be careful when the same source is shared by multiple layers or compositions, because every reference to that source is affected.

#### Transform Rules

Rules are applied from top to bottom. Drag them to change their order.

##### Prefix / Suffix

| Operation | Description |
| :--- | :--- |
| Add Prefix | Adds text to the beginning. |
| Add Suffix | Adds text to the end. |
| Remove Prefix | Removes the specified text when it appears at the beginning. |
| Remove Suffix | Removes the specified text when it appears at the end. |

You can specify both the text and a separator.

##### Search & Replace

- Find
- Replace
- Replace All
- Match Case
- RegExp

Searches for text inside the name and replaces it.

##### Case Transform

- UPPER CASE
- lower case
- Title Case
- camelCase
- PascalCase
- snake_case
- kebab-case

##### Trim / Delete

- Trim Start Spaces
- Trim End Spaces
- Remove N chars Start
- Remove N chars End

##### Numbering

| Item | Description |
| :--- | :--- |
| Position | Prefix or Suffix |
| Start Number | First number in the sequence |
| Zero Padding | Pads numbers to a fixed width, such as `001` |
| Separator | Separator between the name and number |

Numbers are assigned in the order shown in Preview.

##### Insert Text

Inserts text at the specified position.
A negative position is counted from the end; `-1` can be used to insert at the end.

##### Fixed Name

Replaces the original name and uses the specified template as the new name.

##### Layer Properties

Replaces tokens in a template with layer information and related values.

Main available tokens:

| Token | Description |
| :--- | :--- |
| `{name}` | Name before transformation, or the name produced by the preceding rules |
| `{index}` | Sequential index within the Preview targets |
| `{index:N}` | Sequential index zero-padded to N digits |
| `{layerIndex}` | After Effects layer index |
| `{layerIndex:N}` | Layer index zero-padded to N digits |
| `{parentName}` | Parent-layer name |
| `{layerType}` / `{type}` | Layer type |
| `{comp}` / `{compName}` | Composition name |
| `{date}` | Current date |
| `{date:FORMAT}` | Current date in the specified format |

`{width}`, `{height}`, `{fps}`, and `{duration}` may resolve to an empty string when the selected target does not provide the required value.

#### Preview

Click Refresh to read the current conditions and update Preview.

| View | Description |
| :--- | :--- |
| All | All detected items |
| Changed | Items whose names will change |
| Warnings | Items with warnings |

Preview shows the original name, new name, target number, and any warnings.
Rows can be checked individually, and all rows can be selected or deselected at once.

Typical warnings include:

- A duplicate name may be created
- Empty name
- Name is too long
- No change

Items that cannot be applied safely, such as empty names, are skipped. Locked layers are also excluded.

#### Presets

You can save the Scope, filters, search, Exclusion Mode, and Transform Rules as a preset.

- Save
- Select
- Rename
- Delete

---

## 11. Automation

### 11.1 Motion Node

Builds compound animations for multiple layers by connecting nodes.
Layer order, position, composition information, math, vectors, randomness, easing, and other data can be combined to control Position, Scale, Rotation, Opacity, Anchor Point, and FFX presets.

#### 11.1.1 Main Screen

##### Select Preset

Selects a saved Motion Node preset.

- Add: Saves the current graph as a preset.
- Rename: Renames the preset.
- Delete: Deletes the preset.

##### Current Graph

Shows the name of the graph currently being edited in memory and whether its current state has been saved to the preset.

##### Keyframe Placement

| Option | Placement of Graph Frame 0 |
| :--- | :--- |
| Layer Start | Uses the In Point of each target layer as that layer's start reference. |
| Current Time | Uses the playhead time at Apply as one common start reference for all layers. |
| Layer End | Shifts the entire graph earlier so that its latest event reaches `Out Point - 1 frame` on each layer. |

Layer-to-layer stagger created with Layer Index or similar fields is preserved even when Layer End is selected.

##### Buttons

| Button | Description |
| :--- | :--- |
| Apply | Evaluates the graph currently held in memory and applies it to the target layers. |
| New Graph | Creates a new graph containing only Input and Output. |
| Edit Node | Opens the dedicated node editor. |

Apply can use edits that have not yet been saved to a preset. However, an unsaved graph is not restored after After Effects restarts, so save it as a preset when you need to keep it.

#### 11.1.2 Node Editor Basics

##### Adding and Positioning Nodes

- Use Add Node to add a node.
- Enter a node name in the Add Node search field to filter the available nodes.
- Drag a node to reposition it.
- When one node is dragged over an existing connection, a connection that can accept the node is highlighted. Drop the node there to split the original connection and insert the node automatically, but only when its input, output, and data types are compatible.
- Automatic insertion preserves the connections before and after the inserted node and adjusts nearby node positions. If the node cannot be inserted, the original connection is left unchanged.

##### Connections and Rewiring

- Drag from an output socket to a compatible input socket on another node to create a connection.
- Connections with incompatible socket types, such as mismatched Number, Vector, Flow, Frame, or Easing data, are rejected.
- Drag from a connected input socket to another compatible input socket to rewire the connection.
- Drag from a connected input socket and release over empty space to disconnect it.
- Click a connection line to select only that connection. Press Delete / Backspace to remove the selected connection.

##### Selection and View Controls

- Shift-click to add more nodes to the current selection.
- Left-drag on the background to box-select nodes; hold Shift to add the box selection to the current selection.
- Pan with Space + left-drag or by dragging with the middle mouse button.
- Use the mouse wheel to zoom around the pointer position from 10% to 250%.
- Press Delete / Backspace to remove selected nodes.

##### Editing Shortcuts

- Use Ctrl + Z for Undo, and Ctrl + Shift + Z or Ctrl + Y for Redo.
- Use Ctrl + C / X / V to copy, cut, and paste nodes.
- Use Ctrl + D to duplicate selected nodes.
- Press `H` to toggle the collapsed state of selected nodes.
- Double-click a node name to change its display name.
- Use Save to write the current graph back to the preset from which it was loaded.

#### 11.1.3 Field and Flow

##### Field

A Number Field or Vector Field can hold a different value for each target layer, rather than only one constant shared by all layers.

Examples:

- Layer Index → `0, 1, 2...`
- Random → a different random value for each layer
- Layer Position → the screen-space position of each layer

When a Field is connected through Math or Vector nodes, the per-layer calculation result is passed directly into Motion nodes.

##### Flow

Flow represents the target layers and execution order.

- Input → Motion: runs the Motion on the Input targets
- Motion → Motion: runs the next Motion after the previous Motion ends
- One Input branching to multiple Motion nodes: starts them at the same time
- Motion → Wait → Motion: runs the next Motion after the wait
- Motion → Output: marks the flow as part of the graph applied by Apply

#### 11.1.4 Target / Input Nodes

##### Input

| Mode | Targets |
| :--- | :--- |
| Selected Layers | Layers selected when Apply is executed |
| Composition Layers | Every layer in the active composition |

##### Layer Index

Returns a zero-based number for each target layer.
Flux uses the layer order in the After Effects timeline, not the order in which layers were selected.

| Order | Result |
| :--- | :--- |
| Top to Bottom | `0, 1, 2...` from the top layer downward |
| Bottom to Top | `0, 1, 2...` from the bottom layer upward |

Connect this to Delay to create a stagger based on layer order.

##### Layer Count

Returns the number of target layers.

##### Layer Position

Returns the center of each layer's visible contents as a Vector2 in composition coordinates.
This is based on the actual visual center rather than only the layer's Transform Position.

##### Composition Info

| Output | Description |
| :--- | :--- |
| Size | `[width, height]` |
| Center | `[width / 2, height / 2]` |
| Width | Composition width |
| Height | Composition height |

##### Value

Outputs a constant Number. Use it when one value needs to be shared by multiple nodes.

##### Vector

Outputs a constant Vector2 or Vector3.

##### Random

Generates seeded random values separately for each target layer.

| Type | Output |
| :--- | :--- |
| Number | Numeric value |
| Vector2 | Two-dimensional vector |
| Vector3 | Three-dimensional vector |

The same Seed, layer order, and range reproduce the same result.

##### Noise Field

Samples deterministic, continuous noise from a 1D, 2D, or 3D Coordinate and outputs a Number Field from 0 to 1.

- Scale controls how frequently the noise changes across the coordinate.
- Offset moves the sampled region.
- Seed creates a different repeatable pattern.
- Use Layer Index for 1D, Layer Position for 2D, or Layer Transform Info Position for 3D.

Unlike Random, nearby coordinates produce related values instead of unrelated jumps.

##### Layer Transform Info

Returns each layer's Transform values sampled at Graph Frame 0 for the selected Keyframe Placement.

| Output | Description |
| :--- | :--- |
| Position | Transform Position as Vector3; Z is 0 for 2D values. |
| Scale | Transform Scale as Vector3; a missing Z component is 100. |
| Rotation | Z Rotation as Number. |
| Rotation 3D | X / Y / Z Rotation as Vector3. |
| Opacity | Opacity as Number. |
| Anchor Point | Anchor Point as Vector3; Z is 0 for 2D values. |

This is different from Layer Position, which returns the visible-content center in composition coordinates. Layer Transform Info only reads values; it does not change properties by itself.

#### 11.1.5 Math Nodes

##### Math

###### Two-Input Operations

- Add
- Subtract
- Multiply
- Divide
- Modulo
- Power
- Minimum
- Maximum

###### One-Input Operations

- Absolute
- Negate
- Floor
- Ceil
- Round
- Fraction

###### Angle Operations

- Sine (Degrees)
- Cosine (Degrees)
- Tangent (Degrees)

Trigonometric operations use degrees.

##### Compare

Compares A and B, returning 1 when the comparison is true and 0 when it is false.

- Greater Than
- Less Than
- Equal
- Not Equal
- Greater or Equal
- Less or Equal

Connect Compare to Mix's Factor input to switch between values according to a condition evaluated separately for each layer.

##### Map Range

Converts a value from one range to another.

| Interpolation | Description |
| :--- | :--- |
| Linear | Linear conversion |
| Smooth Step | Smooth cubic interpolation |
| Smoother Step | Even smoother quintic interpolation |
| Stepped | Quantizes the result into the specified number of steps |

When Clamp is enabled, source values outside the input range are constrained to the output range.

##### Clamp

Constrains Value to the range from Min to Max.

##### Mix

Blends A and B according to Factor.

- Factor 0: A
- Factor 1: B
- Intermediate values: linear interpolation

Choose Number, Vector2, or Vector3 for Type.

##### Normalize Field

Normalizes the minimum value across all target layers to 0 and the maximum value to 1.
If every layer has the same value, the result is 0.

##### Rank Field

Sorts a Number Field and gives every target layer one unique zero-based rank.

- Ascending: the smallest value is rank 0.
- Descending: the largest value is rank 0.
- Equal values are resolved stably in top-to-bottom timeline order.

For example, connect Layer Position → Separate Vector X → Rank Field → Delay to stagger layers from left to right regardless of timeline order.

##### Float Curve / Ramp

Remaps a Number Field with an editable Bezier curve. Input is clamped to 0–1, the endpoints remain at `0, 0` and `1, 1`, and Y handles may go outside that range for value overshoot.

Easing changes interpolation over time inside a Motion. Float Curve / Ramp changes the numeric Field before it reaches Delay, distance, Scale, angle, or another input.

##### Accumulate Field

Adds a Number Field in Top to Bottom or Bottom to Top order.

| Output | Description |
| :--- | :--- |
| Before | Sum before the current layer; the first layer is 0. |
| Including | Sum including the current layer. |
| Total | Sum of all target layers as one Number. |

Connecting a per-layer Duration to Value and Before to Motion Delay creates consecutive animations with different lengths and no gap or overlap.

#### 11.1.6 Vector Nodes

##### Vector Math

| Operation | Description |
| :--- | :--- |
| Add / Subtract | Adds or subtracts vectors. |
| Multiply / Divide | Multiplies or divides component by component. |
| Scale | Multiplies every component by a Number. |
| Length | Returns the vector length as a Number. |
| Normalize | Converts the vector into a unit direction vector. |
| Absolute | Converts every component to its absolute value. |
| Minimum / Maximum | Returns the component-wise minimum or maximum. |

##### Rotate Vector

Rotates the XY components of a Vector by the specified angle. For Vector3, the Z component is preserved.

Example: rotating `[0, -100]` by `Layer Index × 90°` creates a repeating sequence of directions: up → right → down → left.

##### Combine Vector

Combines X / Y, or X / Y / Z Number Fields into one Vector.

##### Separate Vector

Splits a Vector into X, Y, and Z Number Fields. The Z output of a Vector2 is 0.

#### 11.1.7 Animation Nodes

##### Easing

Creates Bezier easing with two handles and connects it to a Motion node's Easing input.

- The X axis is constrained to 0–1.
- The Y axis can move outside that range to create overshoot.
- Holding Modifier Key 1 constrains Y to 0–1.
- On spatial properties such as Position and Anchor Point, negative speeds that After Effects does not allow may be corrected.
- A Motion node with no Easing connection uses Linear interpolation.

##### Wait

Waits for the specified number of frames after the preceding Flow finishes.
Wait itself does not create keyframes.

Connect Layer Index or Random to Frames to create a different wait duration for each layer.

#### 11.1.8 Motion Nodes

Every Motion node generally has the following inputs.

| Input | Description |
| :--- | :--- |
| Flow | Target layers or a preceding Motion |
| From | Start value |
| To | End value |
| Duration | Animation length, in frames, with a minimum of 1 |
| Delay | Delay before the animation starts, in frames |
| Easing | Easing curve |
| Start | Uses the ending frame of another Motion / Wait as the start reference |

Duration, Delay, and Start are rounded to the nearest whole frame.

##### Move

Animates Position.

Use **Axis** to choose **All Axes**, **X**, **Y**, or **Z**. All Axes uses Vector From / To values. An individual axis uses Number values and can have its own Duration, Delay, and Easing.

- When an axis-specific Move is applied to an unseparated Position, Flux automatically enables Separate Dimensions and writes keys only to the selected axes.
- Z applies only to 3D layers.
- X and Y Moves can run at the same time. All Axes and axis-specific Moves can also coexist when their ranges do not overlap on the same axis.
- Overlapping ranges that both control the same axis are rejected because their result would be ambiguous.

###### Value Mode

| Mode | Description |
| :--- | :--- |
| Relative | Adds From / To to the current Position. |
| Absolute | Uses From / To as absolute Position values. |

###### Relative Move Mode

| Mode | Description |
| :--- | :--- |
| To Base Position | Starts at the relative From offset and arrives at the original position. Intended for entrances. |
| From Base Position | Starts at the original position and moves to the relative To offset. Intended for exits. |
| Custom Relative | Uses both From and To as relative offsets. |

##### Scale

Animates Scale.

- Relative: treats values as multipliers based on the current Scale.
- Absolute: specifies Scale values directly.
- Use a Number for uniform scale or a Vector for per-axis scale.
- Use **Axis** to choose **All Axes**, **X**, **Y**, or **Z**. Individual-axis Scale nodes can use independent Duration, Delay, and Easing settings.
- After Effects does not separate Scale dimensions. Flux therefore combines the boundary frames from every Scale axis into one Scale property while preserving the values controlled by the other axes.
- Z applies only to 3D layers. Overlapping ranges on the same axis are rejected, while different axes may animate simultaneously.

##### Rotate

Animates Z Rotation.

- Relative: adds the value to the current angle.
- Absolute: specifies the angle directly.

##### Rotate 3D

Animates X / Y / Z Rotation using a Vector3.
Layers that do not support 3D rotation are skipped.

##### Fade

Animates Opacity from 0 to 100. Values outside the range are clamped to 0–100.

##### Anchor Offset

Animates the Anchor Point property.
Unlike the 3 × 3 anchor tool, this node does not compensate Position, so the layer's visible location changes as the anchor point moves.

##### FFX Preset

Applies an external After Effects animation preset `.ffx` according to Flow timing.

Settings:

- Preset File: `.ffx` file to use
- Delay: delay from the end of the incoming Flow to the preset's application reference

Behavior:

- Detects only keyframes newly added inside Effects by the FFX application.
- Shifts the entire group in time while preserving keyframe spacing, values, easing, interpolation, spatial tangents, and related data.
- A static FFX applies its settings without consuming time.
- If the FFX file cannot be found, the entire Apply operation normally stops before regular Motion keyframes are written.
- FFX Preset is a terminal node. Connect its Motion output directly to Output. Another Motion or Wait cannot be connected after it.

###### Starting at the Same Time

Branch Input to both Move and FFX, then connect both to Output.

###### Starting After a Motion

Connect in series: `Input → Move → FFX Preset → Output`.

#### 11.1.9 Output

Only Motion flows that reach Output are included when Apply runs.
Multiple independent Motion branches can be connected at the same time.
Connecting Input directly to Output does not generate keyframes.

#### 11.1.10 Validation and Notes

- Every graph requires Input and Output.
- Motion segments affecting the same property cannot overlap in time.
- When the same property is animated consecutively, contradictory boundary values can produce a validation error.
- A graph containing only Move does not modify Scale or Opacity. Unconnected properties are not adjusted automatically.
- When a target layer does not contain a required property, only that layer is skipped for that operation.
- If Current Time or Layer End places keyframes outside a layer's range, Flux reports a warning rather than automatically clamping them.

---

### 11.2 BPM Sync

Creates markers on a composition or layers according to a BPM value.

#### BPM

Enter the tempo as a numeric value.

#### Tap Tempo

Press TAP several times in rhythm with the music to calculate BPM from the intervals between taps.

- Flux averages approximately the eight most recent taps.
- If the gap between taps exceeds about two seconds, the sequence resets and a new measurement begins.

#### Interval

| Option | Marker Interval |
| :--- | :--- |
| 1/4 Beat | 0.25 beat |
| 1/2 Beat | 0.5 beat |
| 1 Beat | 1 beat |
| 2 Beats | 2 beats |
| 4 Beats | 4 beats |

#### Scope

| Option | Range |
| :--- | :--- |
| Comp | Entire composition |
| Work Area | Inside the work area |

#### Comment

| Option | Example Marker Comment |
| :--- | :--- |
| Fraction (1/4) | Beat fraction notation |
| Measure (1.1) | Measure.beat notation |
| Number (1, 2..) | Sequential numbers |
| None | No comment |

#### Destination

- When layers are selected: adds markers to the selected layers
- When no layer is selected: adds composition markers

Marker times are rounded to the composition's frame grid.
For safety, generation of an extreme number of markers is limited to approximately 5,000.

---

### 11.3 Smart Duplicator

Creates duplicates by using the difference between a selected layer and the layer directly below it.
Select exactly one reference layer before running the tool.

#### Reference Relationship

- A: selected layer
- B: layer directly below A

The operation cannot run when there is no layer directly below A.

#### Property Filters

- Position
- Anchor Point
- Rotation
- Scale
- Opacity
- Effects

Only enabled properties are interpolated or extrapolated.

#### Mode: Smart Duplicate

Extends the difference between A and B outward by one step and creates a new duplicate above A.

Conceptual example:

- B Position: 0
- A Position: 100
- New duplicate: 200

Flux extrapolates not only static values but also corresponding differences in keyframe times and values.

- When A and B have different keyframe counts, Flux processes only the matching range based on the side with fewer keyframes and warns that the remainder was skipped.
- Expressions are temporarily preserved while values are processed.
- Effects are processed where corresponding effects and properties can be compared between A and B.

#### Mode: Fill Between

Creates intermediate layers between A and B.

- First run: creates one layer halfway between A and B
- Subsequent runs: adds one more layer and redistributes all previously created intermediate layers evenly between A and B

In addition to properties such as Position, `startTime`, In Point, and Out Point are placed according to the same intermediate ratio.

Changing modes, clearing the selection, deleting or moving a reference layer, and similar changes can reset the state used for consecutive additions.

#### Notes

- When property dimensions or types differ significantly between A and B, some properties are skipped.
- Not every effect property can necessarily be interpolated.
- Do not change the layer order of A and B during a consecutive operation.

---

### 11.4 Render Notify

Monitors the After Effects Render Queue and sends completion, stop, or error notifications to a Discord Webhook.

#### Connection Settings

| Item | Description |
| :--- | :--- |
| Discord Webhook URL | Webhook URL for the Discord channel |
| Mention User ID | Discord user ID to mention in the notification. Leave blank for no mention. |

When Mention User ID is entered, Flux adds it to the notification body in the form `<@UserID>`.

#### Include Information

| Item | Included Information |
| :--- | :--- |
| Composition Name | Name of the rendered composition |
| Render Time | Render duration measured while monitoring |
| Output File Path | Output file path |
| Format / Output Module | Output format and Output Module information |
| Project Name | Project name |

#### Test

Sends a test notification using the current Webhook settings. Use this to verify the connection before starting an actual render.

#### Start Monitor / Stop Monitor

- Start Monitor: checks the Render Queue state approximately every three seconds.
- Stop Monitor: stops monitoring.

Notification events:

- Successful completion
- Stopped by error
- Stopped by the user

#### Notes

- Keep Flux and After Effects running while monitoring.
- A render that finishes while Flux is not running cannot trigger a notification.
- Notifications require a network connection.
- Output information is mainly read from the first Output Module.
- Monitoring continues even if the tool panel is closed. Use Stop Monitor to stop it completely.
- Settings such as the Webhook URL are stored in Flux's data folder.

---

## 12. Library

### 12.1 Shape Library

Saves a shape layer as an `.ffx` preset with a thumbnail, then lets you place it in another composition.

#### Saving

1. In the active composition, select exactly one shape layer.
2. Click the `+` button.
3. Enter a name and save.

Flux creates the following files:

- An `.ffx` containing the shape Contents
- A PNG thumbnail rendered at the current time

While generating the thumbnail, Flux temporarily renders only the target layer, then restores Solo, resolution, ROI, and related states when the operation finishes.

#### Placing a Shape

1. Make the destination composition active.
2. Click a shape in the library.
3. Flux creates a new shape layer and applies the saved preset.

During placement, Flux removes unnecessary empty groups, moves the anchor point to the center of the shape, and places the layer at the center of the composition.

#### Managing the Library

- Drag to reorder
- Right-click > Rename
- Right-click > Delete

#### Saving Requirements

- An active composition is required.
- Select exactly one layer.
- The selected layer must be a shape layer.

---

### 12.2 Gradient Library

Saves gradients containing multiple color stops and opacity stops, then applies them to shapes, layer styles, or the K_Gradient effect.

#### Target

| Option | Destination |
| :--- | :--- |
| Fill | Shape Gradient Fill |
| Stroke | Shape Gradient Stroke |
| K_Gradient | K_Gradient effect |
| Overlay | Gradient Overlay layer style |
| Inner Glow | Inner Glow layer style |
| Outer Glow | Outer Glow layer style |

#### Mode

Available modes depend on the selected Target.

##### Fill / Stroke

- Linear
- Radial

##### K_Gradient / Overlay

- Linear
- Radial
- Angle
- Reflected
- Diamond

##### Inner Glow / Outer Glow

These targets do not provide a gradient-shape Mode. Flux applies the gradient data to the selected layer style.

#### Library Management

The `+` menu contains:

- Gradient Preset
- Folder

Folders can be nested.

- Open and close folders
- Add child folders
- Rename folders
- Delete a folder and its contents
- Drag to change preset order, folder order, or the folder containing a preset
- Search by preset name or folder name

Drag reordering is disabled while searching so that the order of currently hidden items is not accidentally changed.

Preset context-menu actions:

- Edit
- Delete

Click a preset to apply it to the selected layers using the current Target / Mode.

#### Gradient Editor

##### Name

Enter the preset name. Flux adjusts it when necessary so that it is unique within the same folder.

##### Color Stops

Manages gradient colors and their positions.

- Click an empty location to add a stop.
- Drag a stop to change its position.
- Select a stop and change its color with HEX input or the color picker.
- Enter Position numerically from 0 to 100.
- Drag the Midpoint between stops to change the center of the color transition.
- Double-click a stop or drag it outside the lane to delete it.

##### Opacity Stops

Manages opacity and position.

- Click an empty location to add a stop.
- Drag a stop to change its position.
- Enter Opacity from 0 to 100.
- Enter Position from 0 to 100.
- Adjust the Midpoint.
- Double-click a stop or drag it outside the lane to delete it.

Color Stops and Opacity Stops each maintain a minimum of two stops.

#### Applying Fill / Stroke

These targets are intended for shape layers.

- Flux determines the destination from the currently selected group or property inside Shape Contents.
- When a drawable parent group is selected, the gradient is applied to that group.
- When only an item without its own path is selected, such as Repeater, Offset Paths, or Twist, Flux searches for the destination in the same way as when the shape layer itself is selected.
- Existing regular Fill / Stroke or Gradient Fill / Stroke operators are replaced according to the selected Target.

#### Applying Overlay / Glow

Flux creates a temporary `.ffx`, uses it to apply the layer style to the selected layers, and then restores the original layer selection.

#### Applying K_Gradient

Flux converts the saved colors, opacity values, positions, and midpoints into K_Gradient data, applies a temporary `.ffx` to the selected layers, and then restores the original layer selection.

- The K_Gradient plug-in must be installed in After Effects.
- Applying a preset adds a new K_Gradient effect. It does not replace an existing K_Gradient effect on the layer.
- Start Point and End Point are fitted automatically to the layer bounds. Linear runs from the center of the left edge to the center of the right edge; every other Mode runs from the layer center to the center of the right edge.
- Flux converts colors to the linear RGB values used by K_Gradient and passes up to 32 Color Stops and 32 Opacity Stops.

#### Notes

- Fill / Stroke are intended for shape layers.
- K_Gradient can be applied to selected layers that support effects.
- Overlay / Inner Glow / Outer Glow can be applied to selected layers that support layer styles.
- Presets are stored as JSON in Flux's gradient data folder.

---

### 12.3 3D Shape Builder

Generates polyhedra and gem-like forms by arranging 2D shape faces as 3D layers.
The generated structure is organized around a Root Null, with each face placed in 3D space.

#### Shape Type

| Shape | Main Parameters |
| :--- | :--- |
| Box | Width, Height, Depth |
| Prism | Sides, Radius, Depth |
| Pyramid | Sides, Radius, Height |
| Bipyramid | Sides, Radius, Top Height, Bottom Height |
| Frustum | Sides, Bottom Radius, Top Radius, Height |
| Antiprism | Sides, Radius, Height, Twist Angle |
| Tetrahedron | Size |
| Octahedron | Size |
| Dodecahedron | Size |
| Icosahedron | Size |
| Diamond | Sides, Width, Depth, Top Height, Bottom Height |
| Gem | Sides, Width, Depth, Table Width, Table Depth, Crown Height, Pavilion Height |
| Emerald Cut | Width, Depth, Crown Height, Pavilion Height, Table Scale, Bottom Scale, Bevel, Crown Steps, Pavilion Steps |
| Star Polyhedron | Size |

#### Common Scale

Multiplies the generated vertex coordinates and changes the actual dimensions of the shape itself.
It is not implemented by changing the Root Null's Scale after generation.

#### Generation Mode

##### Shape

Creates every face as a 3D shape layer in the active composition.

Structure:

- `ShapeName_Root` 3D Null
- `ShapeName_Face_XX` 3D shape layers

Every face is parented to the Root Null.

##### Precomp

Creates a separate Face composition for every face, then places those precomp layers in 3D.

Structure:

- Root Null
- One precomp layer per face
- A Face folder in the Project panel
- One composition and internal shape per face

Use this mode when each face needs to be edited independently inside its own composition.

#### Style

| Item | Description |
| :--- | :--- |
| Fill | Base face color |
| Random Color | Assigns a random color to each face. When disabled, all faces use the Fill color. |

#### How to Use

1. Open the destination composition.
2. Select a Shape Type.
3. Adjust Parameters.
4. Select Shape or Precomp.
5. Configure Fill and Random Color.
6. Click Generate.

Flux places the Root Null at the center of the composition when generating the shape.
After generation, move, rotate, or scale the Root Null to control the entire object.

#### Notes

- The result is built from After Effects 3D layer faces and is not a true 3D mesh.
- Shapes with many faces, or Emerald Cut configurations with high Step counts, create many layers or compositions.
- An active composition is required.

---

### 12.4 Comp Preset

Saves composition settings as presets and uses them either to create a new composition or update an existing one.

#### Preset Items

| Item | Description |
| :--- | :--- |
| Name | Preset name |
| Width | Composition width |
| Height | Composition height |
| FPS | Frame rate |
| Duration | Composition duration |
| Start Timecode | Starting timecode |
| Background Color | Composition background color |
| Pixel Aspect | Fixed at 1.0 in the current UI |
| Renderer | Advanced 3D in the current UI |

#### Creating a Preset

1. Click `+`.
2. Enter each setting.
3. Click Save.

#### Preset Cards

Each card shows a summary such as name, resolution, FPS, and Duration.

- Drag to reorder
- Right-click > Edit
- Right-click > Delete

#### New

Creates a new composition from the preset.

1. Click New on a preset card.
2. Enter a composition name.
3. Click Create.
4. Flux opens the newly created composition.

#### Apply

Changes an existing composition to the preset values.

Target priority:

1. One or more compositions selected in the Project panel
2. The active composition when no composition is selected

Updated settings:

- Width / Height
- Pixel Aspect
- Duration
- FPS
- Background Color
- Renderer
- Start Time

#### Notes

- Changing resolution does not automatically scale or reposition existing layers.
- Shortening Duration can leave existing layers or keyframes outside the new composition range.
- Changing FPS can change the apparent frame numbers of existing keyframes.
- Start Timecode is converted to a starting frame according to the frame rate.

### 12.5 Font Preview

On After Effects 2024 (24.0) or later, Font Preview lists the font faces currently available to AE and applies a selected face to text layers. Regular, Bold, Italic, and other styles appear as separate items.

1. Open Utility > Library > Font Preview.
2. Enter the comparison string in the top input field, or click the pencil button to use text from the first selected text layer.
3. Use Search Fonts to search family, native, style, and PostScript names, and use the adjacent dropdown to switch between all fonts, favorites, and language groups.
4. Click a font item to apply that exact face to all selected editable text layers in the active composition.

- Use the dropdown beside the search field to select `All`, `Favorites`, `Japanese`, `English`, `Korean`, or `Chinese`. Language groups use the writing-script support reported by After Effects; Simplified and Traditional Chinese are both included in `Chinese`, and a CJK face that supports multiple scripts can appear in multiple groups. `English` contains Roman-script faces without Japanese, Korean, or Chinese script support. Faces without writing-script metadata remain available in `All` and, when registered, `Favorites`.
- Each row's star button favorites an individual font face and is filled with the current theme's accent color when active. It does not affect After Effects favorites.
- The copy button directly below the star copies the displayed font face name.
- The refresh button reloads the available-font list from After Effects. Flux does not request fonts at startup; it requests them only when Font Preview is first opened.
- Font Preview uses its bundled Windows renderer to measure fonts outside the panel and displays the result as lightweight images. It silently prepares visible faces first, then nearby and remaining faces in small batches, without showing a loading-progress message, and pauses background preparation while you scroll. Until a face is ready, its name and buttons remain visible with a placeholder instead of a temporary incorrect typeface. Closing Font Preview stops the renderer and releases preview images; reopening it in the same Flux panel can reuse recently measured row heights.
- Preview text accepts up to 200 characters and is not written to a file. While the current Flux or Flux - Utility panel remains open, closing and reopening Font Preview restores the preview text, font search, selected dropdown filter, and list position. This session state is discarded when that extension panel closes or reloads. An empty field shows the current UI language's default preview as a gray placeholder; that placeholder is also used in the font list until text is entered. Line breaks imported with the pencil button are converted to spaces. Preview text wraps without ellipsis, and each row grows to show the complete text at the configured size.
- Favorites are stored in `%APPDATA%\Flux\utility\favorite fonts.json`. Temporarily unavailable favorites remain saved but are hidden from the list.
- Locked layers, non-text layers, and layers whose Source Text has keyframes or an enabled expression are left unchanged. Partial character selections are not supported; the face is applied to all text in the layer.
- Preview glyphs use the current theme text color. Color emoji and other color glyphs are shown as monochrome previews.
- If the bundled renderer is unavailable or cannot resolve a face, the row reports that the preview is unavailable. Search, favorites, copying, and clicking the item to apply the AE font remain available; Flux does not fall back to the previous resource-heavy browser rendering path.

---

## 13. Settings

### 13.1 Language

Changes the UI language.

- 日本語
- English
- 中文
- 한국어

### 13.2 Modifier Key 1 / 2

1. Click the configuration button.
2. While `Press any key...` is displayed, press the key you want to use.
3. The key assignment is saved.

Space can also be assigned.
Flux detects the key while the Flux panel has keyboard focus.

### 13.3 Memo Font Size

Sets the Memo body font size from 10 to 36 px.

### 13.4 Theme

Themes currently included with Flux:

- Dark
- Light
- Graphite Teal
- Nord Frost
- Red Glow
- Sandstone
- Blueprint Atelier
- Classic Luna
- Hacker
- Pixel RPG
- Arcane Sigil

Changing the theme does not affect features or saved data. It changes the colors, borders, shadows, fonts, and other visual styling throughout the Flux UI.

### 13.5 Color Model

Selects the color-calculation model used by the color picker.

| Model | Characteristics |
| :--- | :--- |
| HSV | Standard Hue / Saturation / Value model |
| HSL | Hue / Saturation / Lightness model |
| OKHSV | HSV-like model designed with perceptual uniformity in mind |
| OKHSL | HSL-like model designed with perceptual uniformity in mind |
| OKLrCH | An OKLab-based lightness, chroma, and hue model using Flux-specific lightness correction |

### 13.6 Color Picker UI Shape

| Option | Layout |
| :--- | :--- |
| Cube + Bar | Square color-selection surface + Hue bar |
| Triangle + Ring | Triangular color-selection surface + Hue ring |
| Square + Ring | Square color-selection surface + Hue ring |
| Circle + Ring | Circular color-selection surface + Hue ring |

OKLrCH supports only `Cube + Bar`. When the Color Model is changed to OKLrCH, Flux automatically switches the UI Shape to `Cube + Bar`, and the Triangle, Square, and Circle ring layouts cannot be selected.

### 13.7 Hue Bar Follow

When enabled, changing Hue also moves the selection point on the color-selection surface so that the current color is preserved as closely as possible.
When disabled, Flux prioritizes preserving the relative position inside the selection surface.

### 13.8 Tooltip

Turns tooltip display on or off.

### 13.9 Toolbar Scroll Speed

Sets mouse-wheel scrolling speed for horizontally or vertically placed auxiliary toolbars, from 1% to 1000%.

### 13.10 Align Tools

- Show Align Tools: show / hide
- Position: Bottom / Top / Left / Right

Changes the placement of the auxiliary bar containing frame-navigation and alignment buttons.

### 13.11 Color Swatches

- Show Color Swatches: show / hide
- Position: Bottom / Top / Left / Right

### 13.12 Utility Toolbar

- Show Utility Toolbar: show / hide
- Position: Bottom / Top / Left / Right

### 13.13 Save Path

Displays the folder path used for Flux Global data and user presets.
Click `Open Folder` to open it in the operating system's file explorer.

### 13.14 Default Preset

Adds default presets bundled with Flux to the user data area.

- You can select and add an available preset version.
- Existing files or items with the same name are not overwritten unnecessarily; presets that have already been added are skipped.
- When a new Flux version includes additional presets, Flux may ask at startup whether to add them immediately or postpone the operation.

### 13.15 Font Preview Size

Sets Font Preview text from 16 to 64 px. The default is 28 px. While dragging, only the displayed setting value changes; the preview is updated after the slider is released and the change is confirmed, without reloading the font list.

---

## 14. Data and Operational Notes

### 14.1 Project Data

Project-specific information such as the following is saved with the current After Effects project:

- Project Color Palette
- Project Memo
- Comp Status Tags

Flux-specific data items are excluded from general operations such as Project Organizer and Project Stats.

### 14.2 Global Data and Presets

The following data is mainly stored in Flux's data folder:

- Global Color Palette
- Global Memo
- Easing Preset
- Project Organizer Preset
- Rename Preset
- Motion Node Preset
- Shape Library
- Gradient Library
- Font Preview favorite fonts
- Render Notify settings
- Various Flux settings

Comp Preset files are stored in `%APPDATA%\Flux\presets\comp`.

### 14.3 Features Referencing External Files

Motion Node's FFX Preset stores an absolute path to the selected `.ffx` file.
Moving or deleting the FFX invalidates that reference in the preset.
For long-term use, keep FFX files together in a dedicated folder that will not be moved.

### 14.4 Large Operations

The following features can take longer as the number of targets increases:

- Project Organizer
- Project Stats
- Rename
- Motion Node
- 3D Shape Builder
- Applying Gradient Library presets to multiple layers
- Text Decompose
- Smart Duplicator

Save the project before running them, and review Preview first whenever the feature provides one.

### 14.5 Safe Workflow

1. Save the After Effects project.
2. Confirm the target layers or items.
3. Review Preview when available.
4. Test the operation on a small number of targets.
5. Apply it to the full set after confirming the result.
6. If the result is not what you intended, use Undo immediately.

---

## 15. 25 Utility Quick Reference

| No. | Tool | Summary |
| :---: | :--- | :--- |
| 1 | Pomodoro | Manages alternating work and break cycles. |
| 2 | Timer | Counts down a specified duration. |
| 3 | Stopwatch | Measures elapsed time and laps. |
| 4 | Calculator | Performs simple calculations. |
| 5 | FPS Converter | Converts frames, seconds, and timecode between frame rates. |
| 6 | Project Organizer | Organizes Project-panel items according to conditions. |
| 7 | Comp Status Tags | Manages composition production status and notes. |
| 8 | Project Stats | Summarizes layers, expressions, fonts, effects, and more. |
| 9 | Trash | Removes keyframes, expressions, and effects in bulk. |
| 10 | Comp Restructure | Assists with precomposing and flattening precompositions. |
| 11 | Text Decompose | Splits text into characters, words, lines, or shapes. |
| 12 | Shape Forge | Splits or merges shape-layer groups. |
| 13 | Key Trim | Adjusts layer duration to its keyframe range. |
| 14 | Layer Stagger | Offsets the timing of multiple layers in sequence. |
| 15 | Midpoint Align | Places layers at calculated center or midpoint positions. |
| 16 | Rename | Batch-renames targets using conditions and transformation rules. |
| 17 | Motion Node | Generates compound animation from a node graph. |
| 18 | BPM Sync | Creates markers according to BPM. |
| 19 | Smart Duplicator | Duplicates layers by extrapolating differences or interpolating between layers. |
| 20 | Render Notify | Sends render results to Discord. |
| 21 | Shape Library | Saves and places shapes as thumbnail-equipped presets. |
| 22 | Gradient Library | Saves gradients and applies them to shapes, layer styles, or K_Gradient. |
| 23 | Font Preview | Previews available font faces and applies them to text layers. |
| 24 | 3D Shape Builder | Generates polyhedra and gem forms as groups of 3D layers. |
| 25 | Comp Preset | Saves, creates, and applies composition settings. |
