 Brandon ThomasandClaude Opus 5.5
|
78cd313d3c
|
M14.4: scripting with an After Effects-style JavaScript object model
New crate effectcraft-script (L4): boa runtime with app/Project/CompItem/
Layer/PropertyGroup/Property/TextDocument/MarkerValue/RenderQueue/File
object model over engine commands (undoable, undo groups), AE match-name
table, file/network security gate. Entry points: script.run command,
File > Scripts > Run Script File (.jsx/.js), Window > Script Console,
effectcraft-cli script, MCP run_script. Engine: project.delete/duplicate,
prop.renameGroup/setGroupEnabled/removeGroup/duplicateGroup/moveGroup.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
|
2026-10-02 22:13:09 -04:00 |
|
 Brandon ThomasandClaude Opus 5.5
|
94e1c86d89
|
IO-2/SHP-5/PRV-2: PSD import, SVG import + vector/text conversions, persistent disk cache
- effectcraft-psd (L1): PSD/PSB reader from Adobe's published file format spec (layers, groups,
masks, blend modes, text engine data, lfx2 effects, fill/adjustment layers, vector masks;
1/8/16/32-bit, RGB/CMYK/Gray/Lab/Indexed, raw/RLE/ZIP) and a minimal writer for fixtures.
- File > Import: importAs footage|composition|compositionLayerSizes, layer (Choose Layer);
groups -> precomps (pass-through collapses), text -> editable text, styles -> Layer Styles,
adjustments -> adjustment layers with effects; UI asks the Import Kind for Photoshop files.
- effectcraft-svg (L2): SVG parser (shapes, paths, transforms, use, CSS, gradients) and
rasteriser; .svg imports as footage, continuously rasterised when the switch is on.
- layer.create: shapesFromVector, shapesFromText, masksFromText, editableText (stub removed).
- Disk cache (render::disk_cache): LZ4 content-keyed frames and layer buffers, LRU size limit
from prefs, atomic writes, restart persistence; edit.purge clears it, cache.diskStats query;
viewer frames read/write it and the timeline shows disk-only frames in blue.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
|
2026-10-02 22:10:48 -04:00 |
|
 Brandon ThomasandClaude Opus 5.5
|
7f9c3a85c0
|
M10: render queue + export
- crates/export (effectcraft-export): render a comp's span to H.264 MP4 (+AAC),
ProRes 422/4444 MOV (+PCM, alpha), PNG/JPEG/TIFF/EXR sequences and animated GIF
via FilmCraft's pure-Rust encoders and MP4/MOV muxer; parallel batched frame
rendering, progress callback with cancellation.
- project: Render Queue model (Render Settings, Output Module, output path
templates, status) saved with the project.
- render: FootageSource::audio hook + comp audio mixdown (levels, in/out, solo,
precomps); media implements it.
- engine: Exporter hook, background/blocking render job, renderQueue.* commands
(add Cmd+M, remove, setRender, setRenderSettings, setOutputModule, setOutput,
move, duplicate, render, stop, list, formats).
- host wires the exporter; CLI `render` subcommand.
- ui-egui: After Effects-style Render Queue panel with automation ids.
- tests: encode/decode round trips for every format (FilmCraft decoders,
ffmpeg/ffprobe oracle when installed), audio, cancel, engine commands.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
|
2026-10-01 22:02:06 -04:00 |
|