Files
cycle-atlas/.agents/skills/after-effects/references/project-hygiene.md
T

189 lines
11 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# Project Hygiene — Organize, Relink, ExtendScript
Keep AE projects organized, portable, and automatable: consistent naming, a clear folder/bin structure, label discipline, pre-comp discipline, reliable relinking when files move, and ExtendScript (.jsx) automation for repetitive tasks.
## Folder (bin) structure
Create folders in the Project panel (the folder icon at the bottom). A reliable layout:
```
01_Comps/ finished/active compositions
02_Precomps/ nested precomps
03_Footage/ imported video
04_Images/ stills, logos, textures
05_Audio/
06_Solids/ (AE's auto "Solids" folder — keep it here)
07_Assets_3D/
99_Old/ deprecated comps/layers, not deleted yet
```
Numeric prefixes force a stable sort order. After importing, immediately drag items into the right bin — `File > Reduce Project` and `File > Consolidate All Footage` help later, but discipline up front prevents chaos.
## Naming conventions
- **Comps:** `PROJECT_section_descriptor_v01` (e.g., `BRAND_intro_logoBuild_v03`). Version with zero-padded `v01`, `v02`.
- **Precomps:** prefix `PRE_` or suffix `_pre` so they're obvious in lists.
- **Layers:** rename solids/nulls to their role (`CTRL_master`, `BG_gradient`, `MATTE_text`). Never ship "Black Solid 12".
- **No spaces / special chars** in filenames destined for render farms or cross-OS sharing — use `_` and `-`.
- Keep names short but unique; long names truncate in the timeline.
## Label colors
Use the Label color (the swatch left of each Project/Timeline item) as a visual system. Pick a convention and apply it consistently, e.g.:
- Red = control/null layers
- Blue = footage
- Green = precomps
- Yellow = text
- Purple = adjustment/effects layers
Right-click an item → **Label** to set. Select multiple, then `Edit > Label > Select Label Group` to act on a whole color at once. Customize label names/colors in `Preferences > Labels`.
## Pre-comp discipline
- Pre-compose (`Layer > Pre-compose`, `Ctrl/Cmd+Shift+C`) to **group** related layers and to apply one effect to a group — not reflexively for everything.
- When pre-composing a single layer, choose **"Leave all attributes in"** vs **"Move all attributes into the new composition"** deliberately: "Move" carries transforms/effects inside; "Leave" keeps them on the outer layer.
- Name the precomp immediately and file it in `02_Precomps`.
- Avoid deep nesting beyond a few levels — it slows navigation and makes relinking/debugging painful.
- Match precomp duration and frame rate to need; an over-long precomp wastes cache.
## The "moved one file and everything broke" rescue
AE references footage by file path. Moving, renaming, or sending a project without its assets breaks links (shown as **colored bars / "Missing Footage"** placeholders).
### Fix options, in order
1. **Relink one, fix many:** double-click a missing item (or right-click → **Replace Footage > File**). Point it at the moved file; AE offers to relink *all* missing items from the same folder automatically. This single step usually fixes the whole project.
2. **Find Missing Footage:** `File > Dependencies > Find Missing Footage` lists every broken link to resolve.
3. **Replace Footage:** right-click footage → **Replace Footage > File** to swap an asset while keeping every use, effect, and keyframe intact.
### Prevent it: Collect Files
Before moving or sharing a project, use `File > Dependencies > Collect Files`. This copies the project plus every used asset into one new folder with relative structure, so links survive on any machine. Always hand off projects as a Collect Files package, not a bare `.aep`.
Related: `File > Dependencies > Consolidate All Footage` (merge duplicate imports), `Remove Unused Footage`, and `Reduce Project` (strip everything not used by selected comps) to slim a project before collecting.
## Batch automation with ExtendScript (.jsx)
AE scripts (ExtendScript / JSX) automate repetitive work. Run via `File > Scripts > Run Script File...`, or place in the **ScriptUI Panels** folder to dock as a panel. Always wrap edits in `app.beginUndoGroup("name") ... app.endUndoGroup()` so one Undo reverts the whole batch.
Common automations (full code in `../scripts/`):
- **Batch rename** selected layers with a base name + auto-increment (`../scripts/batch-rename.jsx`).
- **Sequential offset** — stagger selected layers in time by N frames each, a staggered "domino" start (`../scripts/sequential-offset.jsx`).
- **Apply an effect** (e.g., a Gaussian Blur, or any matchName) across all selected layers at once (`../scripts/apply-effect-to-layers.jsx`).
Minimal pattern:
```javascript
app.beginUndoGroup("My Batch Op");
var comp = app.project.activeItem;
if (comp && comp instanceof CompItem) {
var sel = comp.selectedLayers;
for (var i = 0; i < sel.length; i++) {
// operate on sel[i]
}
}
app.endUndoGroup();
```
## Quick reference
| Task | How |
|---|---|
| New bin | Folder icon at bottom of Project panel |
| Set label color | Right-click item → Label |
| Relink missing footage | Double-click item / Replace Footage > File |
| List broken links | File > Dependencies > Find Missing Footage |
| Package for handoff | File > Dependencies > Collect Files |
| Swap an asset everywhere | Replace Footage > File |
| Slim project | Reduce Project / Remove Unused Footage |
| Run a script | File > Scripts > Run Script File... |
| Pre-compose | Layer > Pre-compose (Ctrl/Cmd+Shift+C) |
## Gotchas
- **Collect Files before moving anything.** Moving the `.aep` alone always breaks links.
- **Relinking one item often relinks the rest** from the same folder — try that before fixing each by hand.
- **Replace Footage preserves effects/keyframes;** deleting + re-importing does not.
- **AE auto-creates a "Solids" folder** — don't scatter solids elsewhere or it regenerates duplicates.
- **Scripts need `app.beginUndoGroup`/`endUndoGroup`** or a batch becomes many separate undos.
- **Applying effects by name needs the `matchName`,** not the display name (e.g., `"ADBE Gaussian Blur 2"`), to be reliable across AE language versions.
- **Allow Scripts to Write Files** must be enabled in `Preferences > Scripting & Expressions` for scripts that save/render.
- **Deep precomp nesting** makes both performance and relinking worse — keep it shallow.
---
# AE Project Organization — Detailed Reference
## Full folder (bin) template
```
PROJECT.aep
├── 00_Output/ (final renders live next to project on disk)
01_Comps/ master & active comps
02_Precomps/ nested precomps (prefix PRE_)
03_Footage/ video clips
04_Images/ stills, logos, vector, textures
05_Audio/ music, VO, SFX
06_Solids/ AE auto-folder; leave it here
07_Assets_3D/ OBJ/C4D/3D model assets
08_Reference/ storyboards, briefs, temp ref
99_Old/ deprecated, kept until final
```
Numeric prefixes lock sort order. Keep the on-disk asset folders mirroring these bins so Collect Files stays clean.
## Naming scheme
| Item | Pattern | Example |
|---|---|---|
| Master comp | `PROJ_section_v##` | `BRAND_main_v04` |
| Sub/shot comp | `PROJ_section_shot_v##` | `BRAND_intro_logo_v02` |
| Precomp | `PRE_descriptor` | `PRE_textReveal` |
| Null/control | `CTRL_role` | `CTRL_master` |
| Solid/BG | `BG_role` | `BG_gradient` |
| Matte | `MATTE_role` | `MATTE_logoTrack` |
| Adjustment | `ADJ_role` | `ADJ_grade` |
Rules: zero-pad versions; no spaces/special characters for farm/cross-OS safety; keep unique and short.
## Label color system (example)
| Color | Meaning |
|---|---|
| Red | Control / null layers |
| Blue | Footage |
| Green | Precomps |
| Yellow | Text |
| Purple | Adjustment / effects |
| Orange | Audio |
| Gray | Disabled / old |
Set via right-click → Label. Customize names/colors in `Preferences > Labels`. Use `Edit > Label > Select Label Group` to select everything of one color.
## Relink / missing footage — full workflow
1. **Identify:** missing items show as colored bars with "Missing" placeholders; the Project panel marks them.
2. **Relink one to fix many:** right-click a missing item → **Replace Footage > File** (or double-click it). Choose the relocated file. AE prompts to relink all other missing files found in the same folder — accept to fix the batch at once.
3. **Enumerate:** `File > Dependencies > Find Missing Footage`, `Find Missing Fonts`, `Find Missing Effects` to locate every broken dependency.
4. **Swap assets:** **Replace Footage > File** swaps the source while preserving all layer instances, effects, masks, and keyframes.
## Collect Files (portable handoff)
- `File > Dependencies > Collect Files`.
- Options: Collect Source Files = **All**; enable **Reduce Project** to drop unused; optionally **Generate Report**.
- Produces a folder containing the `.aep` plus a `(Footage)` subfolder with every used asset, preserving relative links so the project opens anywhere.
- Always deliver/move projects as a Collect Files package, never a lone `.aep`.
## Slimming a project
- `File > Reduce Project` — removes all items not used by the currently selected comp(s). Destructive to unused items; save first.
- `File > Dependencies > Consolidate All Footage` — merges duplicate imports of the same file.
- `File > Dependencies > Remove Unused Footage` — drops footage no comp references.
- Run these before Collect Files to keep the package small.
## Scripting setup
- Enable `Preferences > Scripting & Expressions > Allow Scripts to Write Files and Access Network` for scripts that save or render.
- Run a script: `File > Scripts > Run Script File...`.
- Dock a panel script: place the `.jsx` in `(AE install)/Scripts/ScriptUI Panels/`, restart AE, open from the `Window` menu.
- Wrap every batch in `app.beginUndoGroup("...")` / `app.endUndoGroup()` so it undoes in one step.
- Apply effects by **matchName** (internal id like `"ADBE Gaussian Blur 2"`), not the localized display name, for cross-version reliability. Use `layer.property("ADBE Effect Parade").addProperty(matchName)`.
## Pre-comp discipline details
- "Leave all attributes in the new composition" keeps the outer layer's transform; "Move all attributes" pushes them inside the precomp. Choosing wrong shifts/rescales the result.
- Trim precomp duration to the content; over-long precomps waste RAM/disk cache.
- Name and file precomps immediately; never leave "Pre-comp 1".
- Keep nesting shallow (2–3 levels) for performance and easier relinking/debugging.
---
Keep the project tidy and named well and footage relinks without a fight. Built by **[iart.ai](https://iart.ai/?utm_source=github&utm_medium=readme&utm_campaign=motion-design-skills&utm_content=skill_footer&utm_term=after-effects)** — the AI motion agent for editable, on-brand motion graphics.