Render Settings: field render with 3:2 pulldown phases, effects/solo/guide
layer/color depth/frame blending/motion blur overrides, custom time sampling
(duration), storage overflow through a quota hook. Output Module: crop
(edges or region of interest), resize (presets, lock aspect, quality),
straight/premultiplied/alpha-only channels, post-render actions, include
project link, audio channels and PCM formats, WebM bitrate and key frame
interval. Render Settings / Output Module templates with built-ins and
defaults per slot (Edit > Templates dialogs), render logs next to the
output, Notify on completion. All through renderQueue.* commands and
persisted in the project.
Co-Authored-By: Claude Opus 5.5 <[email protected]>
- ui-egui: scriptui_view draws script windows at engine layout bounds; PanelKind::ScriptPanel; File ▸ Scripts and Window menu list scripts/panels (egui + native menus)
- examples/plugins/posterize-bands (WebAssembly, API v1); host plug-in tests; desktop loads <config>/Plug-ins
- MCP: script_ui and history tools; docs/plugins.md, agents.md, parity, architecture, ATTRIBUTION
Co-Authored-By: Claude Opus 5.5 <[email protected]>
- Transform: Use Composition's Shutter Angle / Shutter Angle, sampling the transform across
the shutter via EffectHost::params_at (EffectEnv::shutter carries the comp shutter when
motion blur is on); the GPU path defers to the CPU when blurring.
- Glow: Glow Operation (blend modes) and Glow Colors > Arbitrary Map.
- Cartoon: Advanced > Edge Enhancement (shock-filter sharpening / softening).
Co-Authored-By: Claude Opus 5.5 <[email protected]>
effectcraft-vp9enc gains inter frames: single LAST reference, 16x16/8x8 blocks,
candidate + diamond search refined to quarter samples with the regular 8-tap
filters, NEARESTMV/NEARMV/ZEROMV/NEWMV with spec MV prediction, skip blocks,
the in-loop deblocking filter, per-frame forward probability updates, a key
frame interval and target-bitrate rate control. Decoded output matches the
encoder's reconstruction exactly through FilmCraft's decoder and ffmpeg.
WebM export now encodes sequentially with a key frame every two seconds.
Co-Authored-By: Claude Opus 5.5 <[email protected]>
- Wave Type: Polygon, Image Contours (source layer channel threshold, pre-blur, tolerance,
contour index, source centre) and Mask, rippling outward from the outline (exact signed
distance transform, util::signed_distance).
- Parameters Are Set At Birth via the new EffectHost::params_at; Render Quality; Reflection
off the layer edges; Stroke Profile.
Co-Authored-By: Claude Opus 5.5 <[email protected]>
- Fill: Fill Mask, All Masks, Horizontal / Vertical Feather, Invert outside the mask
(GPU falls back to the CPU when masks are used).
- Refine Soft / Hard Matte: Reduce Chatter (temporal steadying of oscillating edges) and
Use Motion Blur (samples, shutter angle, higher quality) from neighbouring frames.
Co-Authored-By: Claude Opus 5.5 <[email protected]>
Display Color Space setting joins the live list; View3D::Default maps to view.3d.default for
the Assign Shortcut submenu; stub tests use the stubs that remain.
Co-Authored-By: Claude Opus 5.5 <[email protected]>
- Particle Exploder, Ephemeral Property Mapper (operators), Affects groups on every
producer / force / mapper (source, selection map, characters, age + feather).
- Full mapper target list (angle, torque, scale, gradient velocity/force, lifespan,
character, font size, time offset, scale speed...); old saves remap by label.
- Cannon / Grid text particles (stroke font), Auto-Orient Rotation, Layer Map draws the
map layer per particle with Time Offset Type / Time Offset.
Co-Authored-By: Claude Opus 5.5 <[email protected]>
Reconciled with main's keyframe labels (same Keyframe::label field; keys.setLabel and
keys.selectLabelGroup from main are kept, M14.5's duplicates removed; Edit ▸ Label on
selected keys delegates to the label helper), proxies (RenderOpts::proxy next to
nested_switches/draft_shadows), offloaded renders (Work carries nested_switches), wasm
audio pump (preview mix rate), variable font axes and mask feather points.
Co-Authored-By: Claude Opus 5.5 <[email protected]>
- card3d: shared Camera System (Camera Position with rotations, X/Y position and
Transform Order; Corner Pins with focal length; Comp Camera via EffectHost::comp_scene),
Lighting (Distant / Point / First Comp Light, colour, position, depth, ambient) and
Material (diffuse, specular, highlight sharpness).
- Shatter: Custom Shatter Map (+ White Tiles Fixed), Gradient group, Textures group
(front/side/back modes and layers, colour, opacity) and extrusion side rendering.
- Card Wipe: true 3D cards, Back Layer as a layer parameter (old None/Self popup migrated),
Flip Direction, Position / Rotation Jitter.
- Renderer supplies the comp camera and first light to effects.
Co-Authored-By: Claude Opus 5.5 <[email protected]>
fx_color kernels mirror the CPU effects operation for operation: one per-pixel
pass for the point effects, Lumetri with its Sharpen luminance blur, and Key
Light's matte pipeline (pre-blur, clip, rollback, despot, shrink/grow, softness,
edge band) as plane passes. CPU fallback: Key Light with Inside/Outside masks or
Hard Colour after Screen Softness, Colorama with Interpolate Palette off.
Co-Authored-By: Claude Opus 5.5 <[email protected]>
Kernels in fx_generate.wgsl mirror the CPU effects; wipe edges use f64
per-column/per-row terms uploaded as (hi, lo) pairs. CPU helpers shared
with the GPU are now public (camera_lens_spans, gen_mode, pattern_kind,
GrainLook, place_layer). GPU tests in tests_fx_generate.rs.
Co-Authored-By: Claude Opus 5.5 <[email protected]>
- Lumetri: HSL Secondary key/refine/correction with Show Mask, Hue vs Sat/Hue/Luma,
Luma vs Sat, Sat vs Sat and per-channel RGB curves, High Dynamic Range (HDR White /
Specular), Input LUT and Look (custom .cube + built-in looks).
- Hue/Saturation: Channel Control with Reds..Magentas ranges (range + fall-offs).
- Levels: Channel popup and Red/Green/Blue/Alpha controls; Curves: Channel parameter.
- catalog::param_shown: Effect Controls shows only what a popup selects.
- Timewarp Pixel Motion: block-matching flow (raster::flow::block_flow_window) with
Vector Detail, Smoothing, Error Threshold, Block Size, Weighting, Correct Luminance,
Filtering, Build From One Image; Matte Layer/Channel, Warp Layer, Show, Source Crops.
- GPU falls back to CPU when channel/range controls are used.
Co-Authored-By: Claude Opus 5.5 <[email protected]>
Layer > Camera > Create Stereo 3D Rig (left/right eye comps with expression-linked eye
cameras, Stereo 3D Controls effect, stereo comp through 3D Glasses), Create Orbit Null,
Create Cameras from 3D Model; Layer > Light > Create Lights from 3D Model
(KHR_lights_punctual), Control Light with Camera, Create Environment Light Background
Layer (equirectangular sky drawn through the camera). glTF cameras and punctual lights
are parsed by effectcraft-model.
Advanced 3D: per-sample motion blur over the comp shutter, and blend modes / track
mattes / Preserve Transparency composited through the 2D path in depth order.
Co-Authored-By: Claude Opus 5.5 <[email protected]>
The 3D Camera Tracker analysis joins the offloaded jobs. The disk cache stays off in the
browser (std::env::temp_dir panics on wasm32 once a config store exists).
Co-Authored-By: Claude Opus 5.5 <[email protected]>