Community bundle: render/save-frame/introspection (#32) + remove-keyframe (#28) + renderer tools (#25)#34
Open
juansilvadesign wants to merge 6 commits into
Conversation
… tools Add 18 new MCP tools (and their bridge functions) that fill common gaps for motion-graphics work, each wired through the file-based bridge and the run-script allowlist: - Layers/rigging: move-layer, set-parent, create-null, set-3d-layer - Compositing: set-blend-mode, set-track-matte - Effects: remove-effect, reorder-effect - 3D: create-light - Animation quality: set-keyframe-ease, apply-trim-paths (with draw-on), add-text-animator (per-character via range selector) - Project/IO: import-footage, precompose, save-project - Output/inspection: render-video (render queue), save-frame (PNG), get-layer-details Robustness: - mcpFindComp no longer silently falls back to the active comp when a non-empty compName is supplied but unmatched (prevents acting on the wrong composition). - create-light / render-video surface non-fatal issues via a warnings[] field instead of swallowing them. - set-track-matte errors if a requested matte layer can't be resolved and reports when the legacy trackMatteType path is used. - save-frame / render-video verify the output file was actually written. - precompose guards the single-layer-only constraint of moveAllAttributes. Docs: document the new tools in the README. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Add a `delete-composition` MCP tool (and `deleteComposition` bridge function) to remove a composition from the project by name or 1-based project item index. Verified in After Effects 2026 (v26.2.0). Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
…r-video ExtendScript caches File.exists on the File object created before the file existed, so the post-write existence check produced false negatives even though saveFrameToPng / renderQueue.render() wrote the file successfully. Re-instantiate the File via new File(path) before checking .exists. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
The per-character reveal animated the Range Selector Offset from -100% to 0%, which (with the animator's Opacity=0) left every character selected/hidden at the end. Animate the Range Selector Start from 0% to 100% instead, so the hidden selection retreats left-to-right and the text ends fully visible. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
…er/effect/text & introspection tools Aggregates Dakkshin#32 by @morioka185. All 4 original commits are preserved with their authorship.
…akkshin#25) Adds three community-contributed tools on top of the Dakkshin#32 bundle, ported by hand because their source PRs each bundle many unrelated changes: - remove-keyframe: remove keyframe(s) from a property by time, by 1-based key index, or all of them (from PR Dakkshin#28 by @dellis23). - get-renderer-info / set-renderer: report and set a composition's 3D renderer, Classic 3D ("ADBE Ernst") vs Cinema 4D ("ADBE Advanced 3d") (from PR Dakkshin#25 by @Boke-kun / elias). Co-authored-by: Daniel Ellis <1346302+dellis23@users.noreply.github.com> Co-authored-by: elias <elias@users.noreply.github.com> Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
This PR aggregates and reconciles several community contributions into one coherent "tools" set, so they can be reviewed and merged together instead of scattered across separate PRs. It is purely additive.
Included work (authorship preserved)
feat: add general-purpose layer, effect, render, text & introspection tools #32 — general-purpose layer / effect / text / render / introspection tools (author: @morioka185)
Merged directly, so all four original commits keep their authorship. Adds
render-video,save-frame(render one frame to PNG — lets an AI assistant actually see the result),get-layer-details,move-layer,set-parent,create-null,set-3d-layer,set-blend-mode,set-track-matte,remove-effect,reorder-effect,create-light,set-keyframe-ease,apply-trim-paths,add-text-animator,import-footage,precompose,save-project,delete-composition, plus a safety fix so an unmatched non-emptycompNameno longer silently falls back to the active comp.→ feat: add general-purpose layer, effect, render, text & introspection tools #32
Add support for deleteLayer, removeKeyframe, and others #28 —
remove-keyframe(author: @dellis23)Ported by hand (the source PR bundles several unrelated changes). Removes keyframe(s) by time, by 1-based key index, or all. Credited via
Co-authored-by.→ Add support for deleteLayer, removeKeyframe, and others #28
feat: expand MCP to full professional After Effects toolset (65 tools) #25 —
get-renderer-info/set-renderer(author: @Boke-kun / elias)Ported by hand from the 65-tool PR. Reports and sets a composition's 3D renderer (Classic 3D
ADBE Ernstvs Cinema 4DADBE Advanced 3d). Credited viaCo-authored-by.→ feat: expand MCP to full professional After Effects toolset (65 tools) #25
All original commit authors are preserved; the glue commit only adds the hand-ported tools, their README rows, and conflict-free wiring.
Rationale
Testing
npm run build(esbuild) passes; the panel.jsxpasses a syntax parse. Every new tool registration and bridge function was verified present in the build output.Notes
These new tools use the existing queue-then-
get-resultspattern. The reliability companion PR #33 (fix/bridge-reliability) makes that correlation robust and fixes the ES3toISOStringbug — which otherwise affects result-stamping for these tools too — so merging that one as well is recommended.🤖 Generated with Claude Code