@engine-room/after-effects-mcp 0.1.2 → 0.2.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +237 -77
- package/bin/server.js +647 -252
- package/package.json +4 -4
- package/panel/CSXS/manifest.xml +2 -2
- package/panel/client/csinterface.js +7 -0
- package/panel/client/main.js +57 -9
- package/panel/jsx/bundle.jsx +118 -1
- package/panel/package.json +2 -2
package/README.md
CHANGED
|
@@ -1,25 +1,90 @@
|
|
|
1
|
+
<div align="center">
|
|
2
|
+
|
|
3
|
+
<img src="https://raw.githubusercontent.com/Engine-Room-Games/after-effects-mcp/main/demo/engine-room-title.gif" alt="Engine Room — After Effects MCP" width="720">
|
|
4
|
+
|
|
1
5
|
# After Effects MCP
|
|
2
6
|
|
|
3
|
-
**Control Adobe After Effects with AI.**
|
|
7
|
+
**Control Adobe After Effects with AI.**
|
|
4
8
|
|
|
5
|
-
|
|
9
|
+
Describe the animation you want — a lower third, a logo reveal, an animated counter — and it gets built in your project: layers, keyframes, easing, effects, expressions and text. All of it editable afterwards, exactly like work you made by hand.
|
|
6
10
|
|
|
7
|
-
|
|
11
|
+
[](https://www.npmjs.com/package/@engine-room/after-effects-mcp)
|
|
12
|
+
[](https://github.com/Engine-Room-Games/after-effects-mcp/actions/workflows/ci.yml)
|
|
13
|
+
[](https://github.com/Engine-Room-Games/after-effects-mcp/blob/main/LICENSE)
|
|
14
|
+
[](https://www.adobe.com/products/aftereffects.html)
|
|
15
|
+

|
|
16
|
+
[](https://modelcontextprotocol.io)
|
|
8
17
|
|
|
9
|
-
|
|
18
|
+
Works with **Claude**, **Cursor**, **VS Code**, **Codex**, **Windsurf** and any other MCP client.
|
|
10
19
|
|
|
11
|
-
|
|
20
|
+
</div>
|
|
12
21
|
|
|
13
|
-
|
|
22
|
+
---
|
|
14
23
|
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
24
|
+
## ✨ What it builds
|
|
25
|
+
|
|
26
|
+
Six scenes from one quarterly-report sequence, each in a different visual style. Every layer, keyframe and effect below was built through these tools.
|
|
27
|
+
|
|
28
|
+
<table>
|
|
29
|
+
<tr>
|
|
30
|
+
<td width="50%" align="center">
|
|
31
|
+
<img src="https://raw.githubusercontent.com/Engine-Room-Games/after-effects-mcp/main/demo/sc01-title.gif" width="100%" alt="Dark title card: Global Macro Fund, Q3 FY2026 performance review, with a rule that draws in under the heading">
|
|
32
|
+
<br><sub><b>Title card</b> — engine dark</sub>
|
|
33
|
+
</td>
|
|
34
|
+
<td width="50%" align="center">
|
|
35
|
+
<img src="https://raw.githubusercontent.com/Engine-Room-Games/after-effects-mcp/main/demo/sc02-kpi-grid.gif" width="100%" alt="Editorial KPI grid: four figures counting up, with a risk-budget bar filling to 68 percent">
|
|
36
|
+
<br><sub><b>KPI grid</b> — editorial</sub>
|
|
37
|
+
</td>
|
|
38
|
+
</tr>
|
|
39
|
+
<tr>
|
|
40
|
+
<td width="50%" align="center">
|
|
41
|
+
<img src="https://raw.githubusercontent.com/Engine-Room-Games/after-effects-mcp/main/demo/sc03-nav-curve.gif" width="100%" alt="Amber CRT terminal: a NAV curve drawing on across twelve months with a typed command line above it">
|
|
42
|
+
<br><sub><b>NAV curve</b> — CRT terminal</sub>
|
|
43
|
+
</td>
|
|
44
|
+
<td width="50%" align="center">
|
|
45
|
+
<img src="https://raw.githubusercontent.com/Engine-Room-Games/after-effects-mcp/main/demo/sc04-allocation.gif" width="100%" alt="Brutalist allocation breakdown: a stacked colour bar splitting into six labelled sector cards">
|
|
46
|
+
<br><sub><b>Allocation</b> — brutalist</sub>
|
|
47
|
+
</td>
|
|
48
|
+
</tr>
|
|
49
|
+
<tr>
|
|
50
|
+
<td width="50%" align="center">
|
|
51
|
+
<img src="https://raw.githubusercontent.com/Engine-Room-Games/after-effects-mcp/main/demo/sc05-monthly-pl.gif" width="100%" alt="Aurora glass monthly profit and loss: twelve bars growing from a zero line over a soft gradient background">
|
|
52
|
+
<br><sub><b>Monthly P&L</b> — aurora glass</sub>
|
|
53
|
+
</td>
|
|
54
|
+
<td width="50%" align="center">
|
|
55
|
+
<img src="https://raw.githubusercontent.com/Engine-Room-Games/after-effects-mcp/main/demo/sc06-outro.gif" width="100%" alt="Minimal print outro on off-white: a single large net return figure resolving into place">
|
|
56
|
+
<br><sub><b>Outro</b> — minimal print</sub>
|
|
57
|
+
</td>
|
|
58
|
+
</tr>
|
|
59
|
+
</table>
|
|
60
|
+
|
|
61
|
+
---
|
|
62
|
+
|
|
63
|
+
## 🚀 Getting started
|
|
64
|
+
|
|
65
|
+
Three steps, and you only do the first two once.
|
|
19
66
|
|
|
20
|
-
|
|
67
|
+
**You'll need:** After Effects 2026, on macOS or Windows.
|
|
21
68
|
|
|
22
|
-
|
|
69
|
+
### 1️⃣ Install
|
|
70
|
+
|
|
71
|
+
Pick the row that matches how you work, and open it for the steps.
|
|
72
|
+
|
|
73
|
+
<details>
|
|
74
|
+
<summary><b>🖥️ Claude Desktop</b> — one click, nothing else to install</summary>
|
|
75
|
+
|
|
76
|
+
<br>
|
|
77
|
+
|
|
78
|
+
Download [the latest `.mcpb` file](https://github.com/Engine-Room-Games/after-effects-mcp/releases/latest) and open it. Claude Desktop takes it from there — no terminal, nothing else to install.
|
|
79
|
+
|
|
80
|
+
</details>
|
|
81
|
+
|
|
82
|
+
<details>
|
|
83
|
+
<summary><b>⚡ Cursor, VS Code, Claude Code, Codex, Windsurf</b> — if you have Node 22+</summary>
|
|
84
|
+
|
|
85
|
+
<br>
|
|
86
|
+
|
|
87
|
+
Add this to your client's MCP configuration:
|
|
23
88
|
|
|
24
89
|
```json
|
|
25
90
|
{
|
|
@@ -32,49 +97,134 @@ Open that folder in your AI client. It contains everything the client needs to f
|
|
|
32
97
|
}
|
|
33
98
|
```
|
|
34
99
|
|
|
35
|
-
|
|
100
|
+
VS Code uses a slightly different shape — put this in `.vscode/mcp.json`:
|
|
101
|
+
|
|
102
|
+
```json
|
|
103
|
+
{
|
|
104
|
+
"servers": {
|
|
105
|
+
"after-effects": {
|
|
106
|
+
"type": "stdio",
|
|
107
|
+
"command": "npx",
|
|
108
|
+
"args": ["-y", "@engine-room/after-effects-mcp"]
|
|
109
|
+
}
|
|
110
|
+
}
|
|
111
|
+
}
|
|
112
|
+
```
|
|
113
|
+
|
|
114
|
+
Restart your client afterwards.
|
|
115
|
+
|
|
116
|
+
</details>
|
|
36
117
|
|
|
37
|
-
|
|
118
|
+
<details>
|
|
119
|
+
<summary><b>📦 Any client, without Node</b> — a standalone download</summary>
|
|
38
120
|
|
|
39
|
-
|
|
121
|
+
<br>
|
|
122
|
+
|
|
123
|
+
Download the build for your machine from [the latest release](https://github.com/Engine-Room-Games/after-effects-mcp/releases/latest), unzip it anywhere, and point your client at the executable inside:
|
|
124
|
+
|
|
125
|
+
```json
|
|
126
|
+
{
|
|
127
|
+
"mcpServers": {
|
|
128
|
+
"after-effects": {
|
|
129
|
+
"command": "/Users/you/Applications/after-effects-mcp/after-effects-mcp"
|
|
130
|
+
}
|
|
131
|
+
}
|
|
132
|
+
}
|
|
133
|
+
```
|
|
134
|
+
|
|
135
|
+
Keep the unzipped folder together — the After Effects panel lives next to the executable.
|
|
136
|
+
|
|
137
|
+
The macOS builds are signed and notarized. The Windows build is unsigned, so SmartScreen may warn the first time you run it.
|
|
138
|
+
|
|
139
|
+
</details>
|
|
140
|
+
|
|
141
|
+
<details>
|
|
142
|
+
<summary><b>🔌 Claude Code plugin</b> — adds skills and slash commands</summary>
|
|
143
|
+
|
|
144
|
+
<br>
|
|
145
|
+
|
|
146
|
+
This repository doubles as a plugin marketplace:
|
|
147
|
+
|
|
148
|
+
```
|
|
149
|
+
/plugin marketplace add Engine-Room-Games/after-effects-mcp
|
|
150
|
+
/plugin install after-effects@engine-room
|
|
151
|
+
```
|
|
152
|
+
|
|
153
|
+
</details>
|
|
154
|
+
|
|
155
|
+
### 2️⃣ Set up After Effects
|
|
156
|
+
|
|
157
|
+
**Quit After Effects if it's open**, then ask your assistant:
|
|
40
158
|
|
|
41
159
|
> Set up After Effects.
|
|
42
160
|
|
|
43
|
-
It installs a small panel
|
|
161
|
+
It installs a small panel into After Effects, which is how the tools talk to it. Open After Effects when it's finished and you're ready to go. 🎉
|
|
44
162
|
|
|
45
|
-
|
|
163
|
+
<sub>Prefer to leave After Effects open? That works too — you'll just be asked to restart it at the end.</sub>
|
|
46
164
|
|
|
47
|
-
### 3
|
|
165
|
+
### 3️⃣ Start animating
|
|
48
166
|
|
|
49
|
-
|
|
167
|
+
Open the project you want to work on, then say what you want:
|
|
50
168
|
|
|
51
169
|
> Build a lower third that says Chapter One, sliding in from the left.
|
|
52
170
|
|
|
53
|
-
|
|
171
|
+
Your assistant reads the current state of your comp, makes the change, and can screenshot the result to check its own work. Everything it builds is ordinary, editable After Effects work — keyframes you can drag, effects you can dial in.
|
|
172
|
+
|
|
173
|
+
Two commands worth knowing, in any client that supports MCP prompts:
|
|
174
|
+
|
|
175
|
+
| Command | What it does |
|
|
176
|
+
|---|---|
|
|
177
|
+
| `/init-after-effects` | 🧭 Walks you through setup and offers to capture your style |
|
|
178
|
+
| `/create-style-guide` | 🎨 Teaches it what your work should look like |
|
|
179
|
+
|
|
180
|
+
---
|
|
181
|
+
|
|
182
|
+
## 🎨 Your house style
|
|
54
183
|
|
|
55
|
-
|
|
184
|
+
Ask for a style guide and point at a comp you already like. Your colours, fonts, sizes and timing get read off it and saved as `house-style.md` **next to your After Effects project** — and everything built afterwards follows it.
|
|
56
185
|
|
|
57
|
-
|
|
186
|
+
It sits beside the `.aep`, so it travels with the project and works in every client. It's plain markdown, so you can edit it in any text editor.
|
|
58
187
|
|
|
59
|
-
|
|
188
|
+
> ⚠️ Your project needs to have been saved at least once, or there's no folder to put it in.
|
|
60
189
|
|
|
61
|
-
|
|
190
|
+
<details>
|
|
191
|
+
<summary><b>What goes in it, and project folders</b></summary>
|
|
62
192
|
|
|
63
|
-
|
|
193
|
+
<br>
|
|
64
194
|
|
|
65
|
-
|
|
195
|
+
A style guide that works is specific: `#131521 at 92% opacity`, not "dark and clean". The most useful lines are the prohibitions — "never put text directly on footage", "keep total runtime under 8 seconds". Ask for a style guide and you'll be walked through it.
|
|
66
196
|
|
|
67
|
-
|
|
197
|
+
Separately, "set up a project folder for me" creates a folder for one video, series or client, with a brief your assistant reads and a `renders/` directory. It writes whichever rules file your client actually reads — `AGENTS.md`, `CLAUDE.md`, `.cursor/rules/`, and so on. From a terminal, the same thing is:
|
|
68
198
|
|
|
69
|
-
|
|
199
|
+
```bash
|
|
200
|
+
npx @engine-room/after-effects-mcp init my-video
|
|
201
|
+
```
|
|
70
202
|
|
|
71
|
-
|
|
203
|
+
Updating the tools never touches either file.
|
|
72
204
|
|
|
73
|
-
>
|
|
205
|
+
</details>
|
|
74
206
|
|
|
75
|
-
|
|
207
|
+
---
|
|
76
208
|
|
|
77
|
-
##
|
|
209
|
+
## 🔄 Updating
|
|
210
|
+
|
|
211
|
+
Two pieces update separately, and **the After Effects panel does not update itself**.
|
|
212
|
+
|
|
213
|
+
1. **The tools** — reinstall the `.mcpb`, download the new standalone build, or just restart your client if you're on `npx`.
|
|
214
|
+
2. **The panel** — quit After Effects, then say:
|
|
215
|
+
|
|
216
|
+
> Update the After Effects panel.
|
|
217
|
+
|
|
218
|
+
Reopen After Effects and it's running the new version.
|
|
219
|
+
|
|
220
|
+
If you forget the second step, nothing breaks silently: the next thing you ask for stops with a plain explanation, and your assistant walks you through it.
|
|
221
|
+
|
|
222
|
+
---
|
|
223
|
+
|
|
224
|
+
<details>
|
|
225
|
+
<summary><b>🧰 All 67 tools</b></summary>
|
|
226
|
+
|
|
227
|
+
<br>
|
|
78
228
|
|
|
79
229
|
| Group | Tools |
|
|
80
230
|
|---|---|
|
|
@@ -92,56 +242,52 @@ It reinstalls the panel and tells you to restart After Effects. Ask it to check
|
|
|
92
242
|
| Batch (1) | `run_batch` |
|
|
93
243
|
| Explore (2) | `get_project_summary`, `find_layers` |
|
|
94
244
|
| Raw (1) | `run_jsx` |
|
|
245
|
+
| House style (2) | `get_house_style`, `set_house_style` |
|
|
95
246
|
| Jobs (3) | `await_job`, `get_job`, `cancel_job` |
|
|
96
|
-
| Setup (
|
|
247
|
+
| Setup (3) | `check_setup`, `setup_panel`, `init_project` |
|
|
248
|
+
| Guidance (1) | `ae_guide` |
|
|
97
249
|
| Issues (3) | `list_known_issues`, `log_issue`, `mark_issue_reported` |
|
|
98
250
|
|
|
99
|
-
A few
|
|
251
|
+
A few behave differently from the rest:
|
|
100
252
|
|
|
101
|
-
-
|
|
102
|
-
-
|
|
103
|
-
-
|
|
104
|
-
-
|
|
105
|
-
-
|
|
253
|
+
- **`get_layer_full`** returns a layer's transforms with their keyframes and expressions, every effect with every parameter, masks, markers and visible bounds — in one call.
|
|
254
|
+
- **`run_batch`** runs many operations in a single pass and counts as one undo step. Long batches stream progress.
|
|
255
|
+
- **`screenshot_frame`** and **`screenshot_layer`** are for occasional checks, not for reviewing motion frame by frame. On large comps, `downsample: 2` renders at half resolution.
|
|
256
|
+
- **`run_jsx`** runs arbitrary ExtendScript for anything the other tools don't cover.
|
|
257
|
+
- **`ae_guide`** is how the assistant reads its own working guidance — the same text this server publishes as MCP resources and ships to Claude Code as skills.
|
|
106
258
|
|
|
107
|
-
|
|
259
|
+
</details>
|
|
108
260
|
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
`.ae-mcp/issues/` — plain text files you can read or delete. The next session
|
|
112
|
-
reads that notebook before guessing, so the same twenty minutes are never spent
|
|
113
|
-
twice on the same project.
|
|
261
|
+
<details>
|
|
262
|
+
<summary><b>🩺 When something goes wrong</b></summary>
|
|
114
263
|
|
|
115
|
-
|
|
116
|
-
anything.
|
|
264
|
+
<br>
|
|
117
265
|
|
|
118
|
-
|
|
119
|
-
of its reply and offer to pass it on. You can also start that yourself:
|
|
266
|
+
Start here: **ask your assistant to check the After Effects setup.** It reports which part is broken and what to do about it.
|
|
120
267
|
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
|
|
268
|
+
| Symptom | Cause and fix |
|
|
269
|
+
|---|---|
|
|
270
|
+
| "Cannot reach the After Effects panel" | After Effects isn't running, or the panel isn't installed. Ask it to set up After Effects; if AE was closed, just open it afterwards. |
|
|
271
|
+
| "The After Effects panel is out of date" | The tools were updated but the panel wasn't. Ask it to update the panel, then restart AE. |
|
|
272
|
+
| "…updated on disk, but After Effects is still running the previous version" | The update landed; AE just hasn't restarted. Quit and reopen it. Updating again won't help. |
|
|
273
|
+
| Panel never loads, but setup looks correct | On macOS, reboot once. Some builds cache the Adobe setting until a restart. |
|
|
274
|
+
| A panel answers, but the setup check reports none installed | An older install is still serving. Remove it from the CEP extensions folder, reinstall, restart AE. |
|
|
275
|
+
| "No project folder to write to" | Your client didn't tell the server where it's working. Say which folder you want. |
|
|
276
|
+
| Style guide can't be saved | The After Effects project has never been saved. Save it, then try again. |
|
|
277
|
+
| You need the panel's own log | In After Effects: **Window → Extensions → AE MCP Bridge**. |
|
|
124
278
|
|
|
125
|
-
|
|
126
|
-
Nothing about your own work — comp names, file paths, clients — goes into it.
|
|
127
|
-
Sending needs the [GitHub CLI](https://cli.github.com); without it you get a
|
|
128
|
-
prefilled link to click instead.
|
|
279
|
+
**The issue notebook.** These tools have rough edges. When your assistant hits one and works out a way around it, it writes the problem and the fix into `.ae-mcp/issues/` in your project folder — plain text files you can read or delete. The next session reads that notebook before guessing. The folder keeps itself out of version control.
|
|
129
280
|
|
|
130
|
-
|
|
281
|
+
**Reporting a bug.** If the problem looks like ours rather than yours, you'll be offered the chance to pass it on, or you can start it yourself with `/report-ae-issue`. It writes the report, shows it to you, and only sends it once you say yes. Nothing about your own work — comp names, file paths, clients — goes into it. Sending needs the [GitHub CLI](https://cli.github.com); without it you get a prefilled link to click.
|
|
131
282
|
|
|
132
|
-
|
|
283
|
+
</details>
|
|
133
284
|
|
|
134
|
-
|
|
135
|
-
|
|
136
|
-
| "Cannot reach the After Effects panel" | AE is not running, or the panel is not installed. Ask the AI to set up After Effects, then restart AE. |
|
|
137
|
-
| Tools worked before, now fail inside AE | The tools were updated but the panel was not. Ask the AI to update the panel, then restart AE. |
|
|
138
|
-
| Panel never loads, setup looks correct | On macOS, reboot once. Some builds cache the Adobe setting until a restart. |
|
|
139
|
-
| A panel answers but the setup check reports none installed | An older install is still serving. Remove it from the CEP extensions folder, reinstall the panel, restart AE. |
|
|
140
|
-
| Need the panel's own log | In AE: Window → Extensions → AE MCP Bridge. |
|
|
285
|
+
<details>
|
|
286
|
+
<summary><b>💻 Platforms and limitations</b></summary>
|
|
141
287
|
|
|
142
|
-
|
|
288
|
+
<br>
|
|
143
289
|
|
|
144
|
-
macOS and Windows. Two things differ, and are handled for you:
|
|
290
|
+
macOS and Windows — the only two platforms After Effects runs on. Two things differ, and both are handled for you:
|
|
145
291
|
|
|
146
292
|
| | macOS | Windows |
|
|
147
293
|
|---|---|---|
|
|
@@ -150,14 +296,21 @@ macOS and Windows. Two things differ, and are handled for you:
|
|
|
150
296
|
|
|
151
297
|
macOS is the more exercised of the two; [issue reports](https://github.com/Engine-Room-Games/after-effects-mcp/issues) are welcome.
|
|
152
298
|
|
|
153
|
-
|
|
299
|
+
**Signing.** The macOS binaries in each release are signed and notarized by Engine Room, so they run without warnings. The Windows binary is unsigned — SmartScreen may warn on first run — because that needs a separate certificate. If you fork this project and build your own binaries, they'll be unsigned and Gatekeeper will refuse to launch them until you sign with your own Developer ID. The `npx` path has no such constraint.
|
|
300
|
+
|
|
301
|
+
**Limitations.**
|
|
154
302
|
|
|
155
|
-
- The panel is unsigned, so loading it requires Adobe's `PlayerDebugMode`, which the setup step enables. This is Adobe's documented path for unsigned extensions.
|
|
303
|
+
- The After Effects panel is unsigned, so loading it requires Adobe's `PlayerDebugMode`, which the setup step enables. This is Adobe's documented path for unsigned extensions.
|
|
156
304
|
- `saveFrameToPng` is community-known rather than officially documented. It works, but alpha edges can be imperfect on some comps.
|
|
157
305
|
- A long synchronous loop in `run_jsx` will freeze the After Effects UI. Use `run_batch` for bulk work.
|
|
158
306
|
- Not covered: the render queue, footage import and replacement, and application preferences.
|
|
159
307
|
|
|
160
|
-
|
|
308
|
+
</details>
|
|
309
|
+
|
|
310
|
+
<details>
|
|
311
|
+
<summary><b>🛠️ Development</b></summary>
|
|
312
|
+
|
|
313
|
+
<br>
|
|
161
314
|
|
|
162
315
|
```bash
|
|
163
316
|
git clone https://github.com/Engine-Room-Games/after-effects-mcp.git
|
|
@@ -169,18 +322,25 @@ npm run doctor
|
|
|
169
322
|
|
|
170
323
|
| Command | Purpose |
|
|
171
324
|
|---|---|
|
|
172
|
-
| `make build` | Compile TypeScript and the ExtendScript bundle |
|
|
325
|
+
| `make build` | Compile TypeScript, the guides and the ExtendScript bundle |
|
|
173
326
|
| `make jsx` | Rebuild `bundle.jsx` and hot-reload it into a running After Effects |
|
|
174
327
|
| `make watch` | TypeScript watch mode |
|
|
175
328
|
| `make doctor` | Diagnose the install |
|
|
176
|
-
| `make verify` | Build, check version strings agree, dry-run the package |
|
|
177
|
-
| `make
|
|
178
|
-
| `make release
|
|
329
|
+
| `make verify` | Build, check version strings and generated files agree, dry-run the package |
|
|
330
|
+
| `make artifacts` | Build the `.mcpb` and standalone binaries without releasing |
|
|
331
|
+
| `make release` | Bump the patch version, build and sign every artifact, tag, and publish |
|
|
332
|
+
| `make release 1.1.0` | The same with an explicit version |
|
|
179
333
|
|
|
180
334
|
Adding a tool takes three edits: a zod schema in `packages/shared/src/schemas.ts`, a handler in the matching `packages/jsx/*.jsx` module, and a description in `packages/mcp-server/src/tools/descriptions.ts`. Registration is automatic.
|
|
181
335
|
|
|
182
|
-
|
|
336
|
+
Guidance prose is written once in `packages/mcp-server/src/{guides,prompts}/*.md` and generated into the MCP resources, the `ae_guide` tool, the server's `instructions`, and the Claude Code skills and commands. Never edit the generated copies.
|
|
337
|
+
|
|
338
|
+
Releases are cut from a Mac with a Developer ID certificate; see `scripts/sign-and-notarize.sh` for the environment it expects. See [CLAUDE.md](https://github.com/Engine-Room-Games/after-effects-mcp/blob/main/CLAUDE.md) for the architecture, the ExtendScript conventions, and the known-fragile areas.
|
|
339
|
+
|
|
340
|
+
</details>
|
|
183
341
|
|
|
184
|
-
|
|
342
|
+
---
|
|
185
343
|
|
|
186
|
-
|
|
344
|
+
<div align="center">
|
|
345
|
+
<sub>Built by <a href="https://github.com/Engine-Room-Games">Engine Room</a></sub>
|
|
346
|
+
</div>
|