Brandon Thomas and Claude Opus 5.5
04e2e6b898
M13.4: av1enc SATD intra mode ranking, intra benches
...
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com >
2026-10-03 07:12:59 -04:00
Brandon Thomas and Claude Opus 5.5
88ca7b45fc
M13.4: av1enc speedups (vectorisable forward transform, separable sub-sample paths, cheaper loop filter search), more oracle cases
...
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com >
2026-10-03 05:40:03 -04:00
Brandon Thomas and Claude Opus 5.5
22ec8daf65
M13.4: av1enc frame-to-frame CDF carry-over, intra mode and transform type RD
...
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com >
2026-10-03 05:30:08 -04:00
Brandon Thomas and Claude Opus 5.5
917e5f7ae8
M13.4: av1enc sub-sample motion search, deblocking loop filter
...
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com >
2026-10-03 05:26:15 -04:00
Brandon Thomas and Claude Opus 5.5
646d3fa15f
M13.4: hevcenc README measurements
...
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com >
2026-10-03 05:21:39 -04:00
Brandon Thomas and Claude Opus 5.5
76f3f14262
M13.4: hevcenc faster intra mode search, ffprobe stream-info test, tiny sizes
...
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com >
2026-10-03 05:21:28 -04:00
Brandon Thomas and Claude Opus 5.5
b620f4c22f
M13.4: HEVC / AV1 export round trips (FilmCraft import + ffprobe/ffmpeg/libdav1d oracles)
...
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com >
2026-10-03 05:21:04 -04:00
Brandon Thomas and Claude Opus 5.5
31cb2077d4
M13.4: hevcenc clippy precedence fix
...
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com >
2026-10-03 05:19:36 -04:00
Brandon Thomas and Claude Opus 5.5
9e4942592c
M13.4: hevcenc sign data hiding, noise / QP 0 tests, README
...
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com >
2026-10-03 05:19:19 -04:00
Brandon Thomas and Claude Opus 5.5
c9d5e7335e
M13.4: hevcenc deblocking filter (in-loop, bit-exact with ffmpeg), scratch buffers, POC-wrap / high-QP tests
...
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com >
2026-10-03 05:15:09 -04:00
Brandon Thomas and Claude Opus 5.5
4130172bbe
M13.4: av1enc key and inter frames, bit-exact with libdav1d
...
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com >
2026-10-03 05:11:08 -04:00
Brandon Thomas and Claude Opus 5.5
7f97c25c3e
M13.4: hevcenc I/P encoder (CABAC, RD CU decisions, intra/merge/AMVP), filmcraft + ffmpeg bit-exact round trips
...
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com >
2026-10-03 05:05:28 -04:00
Brandon Thomas and Claude Opus 5.5
280f7d509c
M13.4: HEVC / AV1 output modules (MP4 hvc1/av01, WebM AV1), codec + Opus options in engine, UI, CLI
...
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com >
2026-10-03 05:01:43 -04:00
Brandon Thomas and Claude Opus 5.5
3a8b401e81
M13.4: hevcenc / av1enc crate skeletons (API contract, layers)
...
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com >
2026-10-03 04:42:12 -04:00
Brandon Thomas and Claude Opus 5.5
0ed7bf69af
Merge main into M13.6 panels and content tools (Footage window label on the real panel; no stubs left)
...
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com >
2026-10-03 03:43:46 -04:00
Brandon Thomas
871362ba96
Merge branch 'worktree-agent-aba044eaf08eded94'
...
# Conflicts:
# crates/render/src/three_d/compose.rs
2026-10-03 03:33:36 -04:00
Brandon Thomas and Claude Opus 5.5
fa27d000ea
Merge main into M14.5 (settings and menus)
...
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 <noreply@anthropic.com >
2026-10-03 03:29:39 -04:00
Brandon Thomas and Claude Opus 5.5
a5be68499e
Merge main into M13.6 panels and content tools
...
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com >
2026-10-03 03:23:13 -04:00
Brandon Thomas and Claude Opus 5.5
e362cae4c7
M13.6: panel polish (log-density scopes, narrow-panel layouts) and an offscreen panels snapshot test
...
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com >
2026-10-03 03:21:30 -04:00
Brandon Thomas and Claude Opus 5.5
b29d833b2d
M13.6: Lumetri Scopes, Footage, Media Browser, Metadata, Progress and Content-Aware Fill panels; Content-Aware Fill, Scene Edit Detection, Auto-trace, Align Video to Data
...
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com >
2026-10-03 03:12:36 -04:00
Brandon Thomas and Claude Opus 5.5
b17d2c05e6
Merge main into M14.5 (settings and menus)
...
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 <noreply@anthropic.com >
2026-10-03 03:11:45 -04:00
Brandon Thomas and Claude Opus 5.5
e7fdd6fdbd
Merge main into M12.7 (environment background layers keep their 3D runs on the CPU path)
...
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com >
2026-10-03 03:03:21 -04:00
Brandon Thomas and Claude Opus 5.5
f85468c694
M12.7: docs (architecture, parity, gpu crate docs)
...
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com >
2026-10-03 03:00:29 -04:00
Brandon Thomas and Claude Opus 5.5
ea3e983876
Merge GPU colour effects into M12.7 (docs/effects.md regenerated: GPU badges)
...
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com >
2026-10-03 02:54:53 -04:00
Brandon Thomas and Claude Opus 5.5
01701193c4
M7.7: merge fixes (Exposure param path, remaining stubs list, effects doc)
...
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com >
2026-10-03 02:51:56 -04:00
Brandon Thomas and Claude Opus 5.5
79d3d65478
Merge GPU blur/transition/generate effects into M12.7
...
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com >
2026-10-03 02:47:46 -04:00
Brandon Thomas and Claude Opus 5.5
be27a910f5
Merge GPU distort/stylize effects into M12.7
...
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com >
2026-10-03 02:47:03 -04:00
Brandon Thomas and Claude Opus 5.5
91ab3a3fc5
M12.7: GPU colour effects (Color Balance, Vibrance, Lumetri, Black & White, Tritone, Colorama, Channel Mixer, Selective Color, Linear Color Key, Key Light)
...
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 <noreply@anthropic.com >
2026-10-03 02:46:52 -04:00
Brandon Thomas and Claude Opus 5.5
c8623b1864
M12.7: GPU blur/transition/generate effects (radial, camera lens, CC radial fast, wipes, venetian, cell pattern, checkerboard, grid, 4-color, noise, add grain)
...
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 <noreply@anthropic.com >
2026-10-03 02:46:09 -04:00
Brandon Thomas and Claude Opus 5.5
f855a4b55b
M14.5: wire the remaining settings; keyframe assistants and labels; AE menu entries
...
Settings: 56 of 59 not-yet-wired settings now change behaviour (nested-comp switches,
constant vertex count, related-item time sync, match-name pick whip, split-layer order,
Home on open, motion path span, internal wireframes, zoom quality, label-coloured tabs,
mask colour cycling, gradients, grid/guide styles, text engine, font preview/recent/native
names, missing frames, unlabeled alpha, drag import, default output folder, segmenting,
bit depth names, preview sample rate, disk/media/conformed-audio caches, RAM reserve and
low-memory reduction, Video Preview window, 3D reference axes/extended viewer/draft
shadows, script file gate + File.execute warning, expression editor options and error
banner). Three stay display-only and are documented.
Features: Convert Audio to Keyframes, RPF Camera Import (JSON/CSV camera data),
keyframe colour labels + Select Keyframe Label Group, Recent Animation Presets.
Menus: Edit > History, File > Import Recent Footage, Replace Footage > With Layered
Comp, Save a Copy As XML (.ecprojx, opens again), Composition > VR (Create VR
Environment, Extract Cubemap), Assign Shortcut to 3D view / workspace, Window viewer
labels + open viewers, Help > System Compatibility Report / Enable Logging / Reveal
Logging File. Dynamic menu nodes (@dynamic:…) shared by the egui and native menus.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com >
2026-10-03 02:45:44 -04:00
Brandon Thomas and Claude Opus 5.5
0e3b354520
M12.7: GPU particles (CC Particle World, CC Particle Systems II, Particle Playground cannon): compute-shader simulation with GPU checkpoints, CPU as the oracle
...
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com >
2026-10-03 02:44:36 -04:00
Brandon Thomas and Claude Opus 5.5
fcc09cf095
M12.7: GPU distort/stylize effects (Turbulent Displace, Displacement Map, Wave Warp, Ripple, Twirl, Bulge, CC Lens, Mesh Warp, Mosaic, Find Edges, Emboss)
...
Compute kernels in shaders/fx_distort.wgsl mirroring the CPU effects; per-row/column
structure (map coordinates, wave phase, tile bounds, mesh triangle buckets) is computed
in f64 on the CPU and uploaded. Displacement Map fetches its map layer through the
effect host as the CPU does and samples it on the GPU. CPU oracle tests in
tests_fx_distort.rs.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com >
2026-10-03 02:42:43 -04:00
Brandon Thomas
86b8e24417
Merge branch 'main' into worktree-agent-a15cecfec57d5290d
...
# Conflicts:
# crates/effects/src/ocio.rs
# crates/engine/src/commands/stubs.rs
# docs/parity.md
2026-10-03 02:26:19 -04:00
Brandon Thomas and Claude Opus 5.5
9994f5d309
M7.7: viewer and colour completion
...
View > Switch 3D View > Default, Split with New Locked Viewer, Use Display Color
Management (sRGB/P3 display in Settings > Previews), Simulate Output (Rec. 709/2020,
P3, sRGB, Linear, NTSC, PAL, Mac 1.8, Custom; Preserve RGB). Project Settings: Color
Engine (OCIO built-in config with ACEScg/ACES2065-1 working spaces), HDR clip/compand/
tone map, output space incl. Rec. 2100 PQ/HLG (SMPTE ST 2084, BT.2100, BT.2408
reference white; GPU curves too), Time Display Feet + Frames (35mm/16mm) display and
entry. OCIO effects read custom .ocio configs (YAML subset; Matrix/File/Exponent/Log/
LogAffine/CDL/Range/Group transforms, roles, displays/views).
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com >
2026-10-03 02:25:56 -04:00
Brandon Thomas and Claude Opus 5.5
9a6389db86
M12.7: GPU effect family modules (colour, distort, generate) scaffolding; clippy fixes
...
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com >
2026-10-03 02:25:12 -04:00
Brandon Thomas and Claude Opus 5.5
878b47b5ed
M12.7: adjustment layers on the GPU (effect stacks resident on the device, CPU fallback per non-GPU effect)
...
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com >
2026-10-03 02:23:01 -04:00
Brandon Thomas and Claude Opus 5.5
b8a56eb4a9
M13.6: scopes, content-aware fill (PatchMatch/flow propagation/membrane), cut detection and auto-trace algorithms
...
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com >
2026-10-03 02:21:14 -04:00
Brandon Thomas and Claude Opus 5.5
be282ce194
Merge main into M12.7 (bokeh DOF: the GPU 3D path takes the CPU's bokeh-blurred plane buffers)
...
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com >
2026-10-03 02:17:50 -04:00
Brandon Thomas and Claude Opus 5.5
aafe46e091
M12.7: Classic 3D runs on the GPU (per-pixel depth sort, lights, ray-cast shadows, DOF); Auto sends 3D comps to the GPU
...
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com >
2026-10-03 02:15:01 -04:00
Brandon Thomas and Claude Opus 5.5
d0197a084c
Merge main into M13.5 long-tail polish
...
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com >
2026-10-03 00:35:54 -04:00
Brandon Thomas and Claude Opus 5.5
8fc0e257ff
M13.5: new StrokeStyle/ShapePath fields in the merged SVG and PSD importers
...
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com >
2026-10-03 00:35:39 -04:00
Brandon Thomas
e3ae230387
Merge branch 'worktree-agent-a856b07f7d85d575f'
2026-10-03 00:28:01 -04:00
Brandon Thomas and Claude Opus 5.5
8696d1e9ba
M7.7: camera/light rigs and Advanced 3D motion blur, blend modes, track mattes
...
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 <noreply@anthropic.com >
2026-10-03 00:27:47 -04:00
Brandon Thomas and Claude Opus 5.5
a4f32f8df2
Merge main into M13.5 long-tail polish
...
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com >
2026-10-03 00:25:09 -04:00
Brandon Thomas and Claude Opus 5.5
7537eea85c
M13.5: Animate Text > Variable Font Axes
...
Text: text.animatorFontAxes (replaces the stub) lists the layer font's
variation axes (skrifa) or adds an animator property that offsets one axis
(weighted by the selectors, from the axis default); the renderer redraws each
character's outline at its design-space position (cached per location). The
Timeline's Animate: menu lists the font's axes.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com >
2026-10-03 00:24:05 -04:00
Brandon Thomas and Claude Opus 5.5
1d965bd596
Merge main into M9.12 effect fidelity work
...
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com >
2026-10-03 00:23:15 -04:00
Brandon Thomas and Claude Opus 5.5
5b4e936e9d
M13.5: ROI resize handles, Pan Behind snapping, 3D reference axes
...
Viewer: the region of interest has corner and edge handles that resize it
from the opposite corner/edge; Pan Behind snaps the anchor point (layer
features, guides, grid) and measures from the press point (it lagged by the
drag threshold); Choose Grid and Guide Options > 3D Reference Axes toggles a
world-axis triad seen through the view's camera (Settings > 3D).
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com >
2026-10-03 00:18:06 -04:00
Brandon Thomas and Claude Opus 5.5
b2b8e08ed7
M13.5: Graph Editor snapping to markers, layer ends and work area
...
ANM-4: the Graph Editor's reference graph and key snapping already existed;
Snap now also targets comp and layer markers, layer in/out points and the
work area (graph_tools::comp_snap_times), with a unit test.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com >
2026-10-03 00:18:06 -04:00
Brandon Thomas and Claude Opus 5.5
355a6255a2
M9.12: effect parameter fidelity – all categories
...
Align every effect's display name, category, parameter names, order,
twirl-down groups, popup options, units, defaults and ranges with the
public After Effects effect reference, and implement controls that were
ignored or missing where cheap. One commit because the categories share
the registry, migration tables and GPU kernels (only green states).
Infrastructure
- effects::migrate: saved instances are upgraded on project open
(Session::replace_project → upgrade_effects): renamed ids
(PARAM_ID_ALIASES), params moved into twirl-down groups, popup values
remapped by label (POPUP_LABEL_ALIASES), refreshed names/UI hints,
added params created with legacy_default values that keep old renders.
- flatten_params also keys nested props by match path (group/param), so
effects declare grouped params with `group/param` ids; layer-source
companions sit next to grouped layer params.
- lookup() resolves old effect names (EFFECT_NAME_ALIASES).
- Registry-wide test: unique ids/names, non-empty names, defaults in
range, popup defaults within options, value kinds match UI.
- docs/effects.md generated from the registry (catalog.rs) with GPU /
32-bpc badges and per-effect status; a test keeps it current.
Batches
- Blur & Sharpen, Channel, 3D Channel, Perspective, Text, Utility:
Camera Lens Blur iris/highlight groups, Compound Blur layer, Camera-
Shake Deblur method/strength, Invert full channel list (CPU HLS/YIQ),
Set Channels/Set Matte layers, Channel Combiner targets, 3D Channel
Extract clamp/invert.
- Color Correction: temporal smoothing + scene detect for Auto Color/
Contrast/Levels and Shadow/Highlight, Brightness & Contrast legacy
switch, Change to Color tolerance group, Leave Color, Photo Filter
presets, Exposure channels, Levels clip popups, Colorama phase source,
Color Link sample list, Lumetri groups (CPU + GPU kernels).
- Distort: Bulge, Displacement Map layer/behaviour, Magnify, Optics
Compensation resize, Ripple conversion, Transform sampling, Turbulent
Displace types/pinning/evolution, Wave Warp types/pinning, Twirl and
Ripple radius fixes.
- Generate: 4-Color Gradient, Checkerboard, Grid, Circle size/feather/
blending, Advanced Lightning types, Cell Pattern, Radio Waves, Fractal
palettes, Scribble/Vegas names.
- Keying, Matte, Obsolete: Color Difference Key partials/views, Unmult
controls, Key Light groups, Refine Soft/Hard Matte, Roto Brush groups,
Mocha shape moved to Matte, Spill Suppressor accuracy, Basic/Path Text
groups.
- Noise & Grain, Immersive Video, Audio, Time: Fractal/Turbulent Noise
full control set (noise3.rs, GPU), grain look groups, Remove Grain,
VR effects, Compressor/Gate/Distortion controls, Timewarp groups,
VR Sphere to Plane name.
- Simulation: AE twirl-down groups for all simulations, Foam strength,
Particle Playground barrel radius and mapper targets.
- Stylize, Transition: Glow looping/dimensions/alpha (CPU + GPU),
Mosaic averaging, Cartoon groups, Roughen Edges evolution, Texturize
layer, Gradient Wipe layer, Radial Wipe both, Card Wipe options.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com >
2026-10-03 00:15:06 -04:00
Brandon Thomas and Claude Opus 5.5
d2ccf737a8
M13.5: Layer Style dialog
...
LYR-9: Layer > Layer Styles > Layer Style Options... (layer.style.options)
and choosing a style from that menu open a Layer Style dialog: style list
with check boxes (Blending Options first) and the selected style's controls
built from its layerStyles properties, edited live through prop.set (one
undo step per control); Cancel rolls back everything done since it opened.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com >
2026-10-03 00:11:19 -04:00