Skip to content

Releases

v0.14.0

Choose a tag to compare

@yumehiko yumehiko released this 07 Nov 11:01
d870fef

Stable py-aep workflow

Version 0.14.0 promotes the offline-first After Effects workflow to the stable channel.

  • Create, inspect and edit AEP projects with pinned py-aep 0.19.0, then verify runtime-dependent results in After Effects.
  • Includes upstream fixes for keyframe easing persistence and non-24fps animation timebases.
  • Adds asset-free animation reproduction, independent key verification, and a guarded native fallback for exceptional unsupported cases.
  • Fixes empty effects/masks compatibility, portable feedback references, and clean-checkout release tests.
  • Publication now runs both Python and Node tests.

Migration

The installer replaces the older declarative and mutation skills with aftereffects-py-aep. The live CLI remains available for focused runtime checks. Existing project files and task scripts are not rewritten automatically. To use the older workflow, explicitly install ae-agent-skills@0.13.0; npm latest now points to the py-aep workflow.

Validation

  • Python: 150 passed, no xfails, including a clean tracked-file checkout.
  • Node: 76 passed.
  • AE 2026: 25 and 30000/1001 fps; 9 keys each across Opacity, Position and Scale; initial open plus native save/reopen: 36 checks passed.
  • Skill validation, isolated package installation, release preflight and signed ZXP verification passed.

Install: npx --yes ae-agent-skills@latest install --agent codex

v0.14.0-pyaep.5

v0.14.0-pyaep.5 Pre-release
Pre-release

Choose a tag to compare

@yumehiko yumehiko released this 01 Sep 13:36

Highlights

  • Upgrade the py-aep preview workflow to py-aep 0.15.1.
  • Restore durable FootageItem.name renames for solid and placeholder footage after save and reparse.
  • Add a regression test for forticheprod/py-aep#200 and update the preview guidance to remove the former workaround.

Compatibility

  • Preview channel: npm dist-tag pyaep.
  • Python 3.10 or newer.
  • After Effects file-level edits continue to require a save-to-new-path and reparse validation pass.

Validation

  • Python: 121 tests passed.
  • Node: 76 tests passed.
  • py-aep skill validation passed.
  • npm package dry run and repository diff checks passed.
  • Versioned ZXP signature verified successfully.

v0.14.0-pyaep.4

v0.14.0-pyaep.4 Pre-release
Pre-release

Choose a tag to compare

@yumehiko yumehiko released this 14 Aug 03:20

Highlights

  • Adds a strict ae-agent-edl/v1 export/apply workflow for repeated timing and static reframing edits on simple file-backed layers.
  • Adds an ffmpeg-based offline editorial proxy with sample frames, contact sheets, a silent H.264 proxy, and a validation manifest.
  • Makes inspect_aep.py compact by default and adds focused timing, source, transform, comp-ID, and file-output options.
  • Documents project-panel cleanup, scratch output naming, py-aep API edge cases, and high-risk copy/duplicate boundaries.

Compatibility and validation boundary

  • Preview channel for py-aep 0.15.0; Python package version 0.14.0.dev4, CEP version 0.14.0.pyaep-4.
  • EDL v1 updates existing layer IDs only and intentionally rejects parents, mattes, effects, masks, expressions, animated transforms, time remap, 3D layers, rotation, non-file sources, and non-positive stretch.
  • An offline editorial pass validates supported source selection, timing, and crop geometry. It is not an After Effects visual pass.

Validation

  • Python: 120 tests passed.
  • Node: 76 tests passed.
  • Skill validator passed.
  • npm package dry-run passed with 19 files.
  • Signed ZXP verification passed.
  • Minimal parented-comp duplicate fixture rendered identically in After Effects 26.3x87 with the original retained and removed.

v0.14.0-pyaep.2

v0.14.0-pyaep.2 Pre-release
Pre-release

Choose a tag to compare

@yumehiko yumehiko released this 13 Aug 03:53

py-aep preview 2

This prerelease incorporates the first production-project feedback from the py-aep workflow.

Highlights

  • Adds ae-cli purge to clear all After Effects RAM and disk caches before visual validation.
  • Requires a successful cache purge before claiming a visual pass for offline-derived projects.
  • Adds inspect_aep.py --brief for low-context layer name, timing, and source inventories.
  • Fixes bounds --time so composition-time-dependent shape transforms are evaluated at the requested time and the prior time is restored.
  • Adds --comp as an explicit alias for --comp-name.
  • Shows the exact preview version in the installed skill and feedback template.
  • Documents py-aep API discovery notes and separates upstream contribution candidates.

Compatibility and validation

  • Uses py-aep 0.15.0.
  • ae-cli purge uses PurgeTarget.ALL_CACHES; After Effects 24.3 or newer clears RAM and disk caches.
  • Python: 113 tests passed.
  • Node/CEP: 76 tests passed.
  • Skill validation passed.
  • npm package: 13 files, approximately 12.2 kB; generated Python cache files are excluded.

Install or update on a test machine

npx --yes ae-agent-skills@pyaep install --agent codex

The npm latest channel remains unchanged.

v0.14.0-pyaep.1

v0.14.0-pyaep.1 Pre-release
Pre-release

Choose a tag to compare

@yumehiko yumehiko released this 13 Aug 02:21

py-aep preview 1

This prerelease is an opt-in field test of a smaller, file-first After Effects workflow.

What changed

  • Uses py-aep 0.15.0 as the primary parser and editor for .aep files.
  • Installs one focused aftereffects-py-aep skill instead of the stable declarative and CLI skills.
  • Keeps the AE bridge only for runtime-only observation such as snapshots, expression errors, visual bounds, fonts, and health checks.
  • Includes a compact project inventory helper and a Japanese feedback template.
  • Pins Python and ZXP installation to this immutable release tag.

Install on a test machine

npx --yes ae-agent-skills@pyaep install --agent codex

This preview replaces the installed stable After Effects skills and CEP extension on that machine. Use a dedicated test endpoint. The npm latest channel is unchanged.

What to evaluate

  • Agent context/token use and elapsed time on real editing jobs
  • Fidelity of parse/edit/save/reparse workflows
  • Operations that still require After Effects or the bridge
  • Failure recovery and confidence compared with the stable workflow

Record observations in ~/ae-agent-skills-preview/py-aep-preview-feedback.ja.md.

v0.13.0

Choose a tag to compare

@yumehiko yumehiko released this 13 Aug 01:15

Highlights

  • Added project identity reporting and apply-scene --expect-project guards to prevent edits to the wrong After Effects project.
  • Added verified transaction rollback for failed scene applies, including CLI rollback diagnostics and conservative Undo handling.
  • Added optional explicit composition selectors to mutation commands, with active-composition restoration; add-comp-layer now supports explicit --target-comp-id / --target-comp-name.
  • Improved inspection with compact layer output, property filtering and exact paths, opt-in expression/disabled-property data, and composition-aware text-style reads.
  • Expanded declarative Range Selector coverage, relative/environment asset paths, apply action reporting, and empty-keyframe convergence.

Compatibility notes

  • Existing active-composition mutation behavior remains available when no composition selector is supplied.
  • Rollback restores scene content, but After Effects may leave a previously clean project marked dirty; the CLI reports this and does not auto-save.
  • Core behavior and rollback were verified with After Effects 2026 (26.3), Japanese locale.

Validation

  • Python: 105 tests passed.
  • Node: 78 tests passed.
  • Both bundled skills passed validation.
  • npm package contents passed preflight packaging checks.
  • Signed ZXP signature verified successfully.
  • ZXP SHA-256: 1a10b794700e107b2262596a521ae052c1d3c2eb6555033840c6b023ef8cc4d5.

v0.12.1

Choose a tag to compare

@yumehiko yumehiko released this 11 Aug 13:29

Highlights

  • Streamlines Claude Code installation by relying on the canonical skills, which are directly invocable as slash commands, and removes the redundant legacy command templates.
  • Reduces the npm package from 57 files / 508 KB unpacked to 19 files / 100.3 KB unpacked by excluding extension sources already delivered in the signed ZXP.
  • Adds the MIT license and third-party notices for Adobe CEP CSInterface.js and public-domain JSON-js json2.js.
  • Includes the third-party notice in the signed extension payload.

Compatibility notes

  • No After Effects editing, CLI, schema, or scene behavior changes are included.
  • Existing Claude Code skill invocations such as /aftereffects-declarative and /aftereffects-cli continue to work.
  • Previously installed files under ~/.claude/commands/ may remain, but the same-named skills take precedence.

Validation

  • Python: 94 tests passed
  • Node.js: 53 tests passed
  • Both bundled skills passed the skill validator
  • npm package: 19 files, 27.7 KB compressed, 100.3 KB unpacked
  • Signed ae-agent-skill-0.12.1.zxp verification completed successfully before tag and Release creation

v0.12.0

Choose a tag to compare

@yumehiko yumehiko released this 11 Aug 04:13

Highlights

  • Adds declarative text animators with Range Selector controls, Position, Scale, Opacity, Rotation, keyframe interpolation, and temporal ease.
  • Adds character-range font, size, fill, stroke, and tracking styles through textStyleRanges on After Effects 24.3 or newer.
  • Adds visual-center for moving anchors to visual-bounds centers while preserving composition-space appearance.
  • Adds examples/gen_telop.py, a higher-level DSL example that generates repeatable Japanese telop scenes.
  • Fixes After Effects hidden text-animator placeholders by explicitly activating properties and resolving invalidated property references.

Compatibility notes

  • Restart the After Effects panel after updating so the new text and layout bridge handlers are loaded.
  • Character-range styles require After Effects 24.3 or newer.
  • The telop generator defaults to the macOS Japanese-capable PostScript font HiraginoSans-W6; use --font with another installed Japanese font when needed.

Validation

  • Python: 94 tests passed
  • Node.js: 53 tests passed
  • Both bundled skills passed the skill validator
  • npm pack --dry-run completed successfully
  • After Effects field tests passed for all four animator properties, selector keyframes/ease, range-style apply/clear, animator upsert, visual-center bounds preservation, generated telop apply/reapply, and zero expression errors
  • Signed ZXP verification completed successfully before tag and Release creation

v0.11.0

Choose a tag to compare

@yumehiko yumehiko released this 10 Aug 11:41

Highlights

  • Adds explicit composition selectors to layers, expression-errors, properties, and the new bounds command so agents can inspect non-active comps without changing the viewer.
  • Adds keyframe inspection, including time, value, interpolation, and temporal ease, plus reliable isNull identification.
  • Adds composition-space visual bounds for text, shape, footage, and precomp layers, including supported 2D parent transforms.
  • Adds snapshot for full-size or scaled PNG output at an arbitrary comp time, with atomic finalization, no-overwrite protection, and cleanup of partial files and temporary comps.
  • Fixes declarative writes to non-active comps by temporarily activating the target during legacy mutations and restoring the previous active comp afterward.
  • Expands CLI and skill documentation, field-feedback tracking, and automated coverage.

Compatibility notes

  • This beta release includes the previously unreleased v0.10 inspection work together with v0.11 visual validation.
  • Restart the After Effects panel after updating so the new snapshot bridge handler is loaded.
  • Scaled snapshots use a temporary wrapper comp that is removed after output. Its effect on Project dirty state and Undo history has not been isolated through the current API.

Validation

  • Python: 90 tests passed
  • Node.js: 46 tests passed
  • Both bundled skills passed the official skill validator
  • npm pack --dry-run completed successfully
  • After Effects field tests passed for comp-layer upsert and source replacement, composition setting convergence, keyframe replace/merge/clear, cross-comp inspection, visual bounds, and 1080x1920 / 540x960 snapshot output

v0.9.0

Choose a tag to compare

@yumehiko yumehiko released this 10 Aug 03:13

Highlights

  • Secures the local After Effects bridge with a per-session authentication token, loopback host validation, and browser-origin rejection.
  • Adds existing compositions as layers through add-comp-layer and declarative type: "comp" scene assets.
  • Applies declared composition width, height, pixel aspect, frame rate, and duration to existing compositions.
  • Makes animation keyframes declarative by default: keyframeMode: "replace" replaces the complete key set, while explicit "merge" preserves undeclared keys.
  • Expands scene validation, CLI documentation, examples, and automated coverage.

Compatibility notes

  • This is a beta release and intentionally changes the default animation keyframe behavior from merge to replace.
  • The CLI now requires the bridge token created when the updated After Effects panel starts. Restart the panel after updating the extension.

Validation

  • Python: 85 tests passed
  • Node.js: 29 tests passed
  • Both bundled skills passed the official skill validator
  • Signed ZXP signature verified successfully