Commit Graph

360 Commits

Author SHA1 Message Date
Brandon Thomas 4f97cee207 Merge remote-tracking branch 'origin/main'
# Conflicts:
#	Cargo.lock
2026-10-03 10:00:40 -04:00
Brandon Thomas 7cd84bacd3 Release 0.1.1
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-03 09:55:45 -04:00
Brandon Thomas c005493c84 Merge branch 'worktree-agent-a5ec24c82e394a621' 2026-10-03 09:48:56 -04:00
Brandon Thomas c1e79d7bb2 M13.4: engine tests after merge (12 formats; templates name the module)
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-03 09:44:54 -04:00
Brandon Thomas 454df5d143 Merge main into M13.4 (codec completion)
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-03 09:24:05 -04:00
Brandon Thomas d5dad6d642 M13.4: docs (parity, architecture)
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-03 09:23:54 -04:00
Brandon Thomas 374d21e6a5 M13.4: opus extreme-input tests, SILK doc
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-03 09:23:03 -04:00
Brandon Thomas 1906d9d639 M13.4: WebM Opus uses the module's bitrate and application (SILK / hybrid / CELT), low-bitrate export test
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-03 09:17:57 -04:00
Brandon Thomas 3eeba31c43 M13.4: opus SILK (NB/MB/WB, mid/side stereo) and hybrid (SWB/FB) modes
Application/Mode/Bandwidth API with OpusEncoder::with_application and
with_mode; SILK analysis-by-synthesis encoder mirroring the decoder's
fixed-point reconstruction with noise feedback, LTP, NLSF quantisation and
per-frame rate control; hybrid CELT from band 17 in the shared range coder;
pre-skip 120 in every mode. Oracle tests against filmcraft-opus and ffmpeg
(native opus + libopus).

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-03 09:16:07 -04:00
Brandon Thomas 5cf37921ef Merge branch 'worktree-agent-a087e9b59ccc99094' 2026-10-03 09:15:38 -04:00
Brandon Thomas 9379ba1267 M13.10: clippy (FRAC_1_SQRT_2 in the Colorama test)
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-03 09:14:38 -04:00
Brandon Thomas 5c54ccd8d0 Merge main into M13.10
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-03 08:59:35 -04:00
Brandon Thomas 248cf6af3a M13.10: visual editors for Lumetri curves, Colorama output cycle, Glow colour map, Reshape correspondence points; scrolling Preview, AE-style comp tabs; web docs
Effect Controls: Lumetri RGB and hue/saturation curve graphs, Colorama's
palette wheel, Glow's colour map strip and Arbitrary Map curves, Reshape
correspondence buttons and viewer handles (all prop.set, one undo step per
gesture, automation ids). Preview panel scrolls; Composition/Timeline tabs
get close, label swatch and viewer lock; Effect Controls tab the layer
swatch; dropdowns elide long text. Fix the browser start (no default disk
cache folder on wasm32). Browser smoke test covers frame workers, waiting
renders and the Media Browser.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-03 08:59:04 -04:00
Brandon Thomas f5a136e346 Merge branch 'worktree-agent-a0fac3acf963642ce' 2026-10-03 08:58:21 -04:00
Brandon Thomas f309381cd3 M13.9: gpu crate docs, tidy GPU_EFFECTS
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-03 08:57:33 -04:00
Brandon Thomas 4ce3651723 Merge main into M13.9
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-03 08:43:44 -04:00
Brandon Thomas 01e01a37c1 M13.9: docs (parity EFF-5, architecture GPU effects)
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-03 08:41:54 -04:00
Brandon Thomas 05b229825e M13.9: gpu Refine Soft / Hard Matte (single-frame refinement)
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-03 08:41:11 -04:00
Brandon Thomas 5bb6768766 M13.10: web frame workers fed by project diffs, offloaded Roto Brush propagation, non-blocking wait jobs, browser Media Browser
Viewer frames render in long-lived Web Workers holding a project replica
(engine::remote: structural JSON diff/patch, Mirror, FrameServer); the
frame cache hands jobs to a RemoteFrames renderer (UI-thread fallback).
Roto Brush propagation runs in a job worker and streams segmentations
back (FrameSeg binary form), relayed to frame workers. Control-channel
wait:true commands whose job is offloaded reply when it ends. The Media
Browser browses a pluggable Browser: the file system on the desktop;
browser storage and File System Access folders on the web.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-03 08:36:00 -04:00
Brandon Thomas f14b575e13 Merge branch 'worktree-agent-afff1c93f51d0a61b' 2026-10-03 08:33:38 -04:00
Brandon Thomas 0fbde2f4ec Merge M13.9 gpu stylize and distort (fx_stylize)
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-03 08:32:18 -04:00
Brandon Thomas 6e556690ad M13.9: gpu Color Stabilizer apply pass
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-03 08:28:27 -04:00
Brandon Thomas 7f6e9c5e41 M13.9: gpu Twirl (Legacy), CC Ripple Pulse, CC Power Pin (full perspective), CC Flo Motion
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-03 08:25:22 -04:00
Brandon Thomas 6cbb6bfb93 Merge M13.9 gpu noise, blurs and time (fx_noise)
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-03 08:21:23 -04:00
Brandon Thomas 7513807972 Merge main into M13.6
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-03 08:19:31 -04:00
Brandon Thomas 3bf7c4bcd2 M13.9: gpu Shadow/Highlight, CC Color Neutralizer, Invert HLS / YIQ
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-03 08:17:52 -04:00
Brandon Thomas 2e5d35dcee M13.9: gpu stylize and distort (posterize, threshold, CC Threshold / RGB, strobe, CC Vignette, scatter, brush strokes, roughen edges, texturize, motion tile, CC Kaleida, CC RepeTile, mirror, offset, polar, spherize, corner pin, optics compensation, magnify, CC Slant / Smear / Split / Split 2 / Tiler / Griddler, liquify; glow operations and arbitrary map; transform motion blur)
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-03 08:16:58 -04:00
Brandon Thomas 4afe56cbca M13.9: gpu noise, blurs and time (median, dust & scratches, remove grain, turbulent / fractal noise modes, noise alpha / HLS, smart / bilateral / channel / compound blur, sharpen, unsharp mask, minimax, echo, posterize time)
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-03 08:15:11 -04:00
Brandon Thomas 7a96fab302 M13.9: gpu colour corrections (fx_tone)
Levels (Individual Controls), Gamma/Pedestal/Gain, Photo Filter, Change Color,
Change to Color, Leave Color, Broadcast Colors, Color Balance (HLS), Video
Limiter, PS Arbitrary Map, CC Toner, CC Color Offset, CC Kernel, Auto Levels /
Contrast / Color and Equalize (histograms measured on the CPU, applied on the
GPU) on the GPU; Hue/Saturation colour ranges and Levels' channel controls no
longer fall back to the CPU.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-03 08:13:58 -04:00
Brandon Thomas 417ddd1d89 Merge branch 'worktree-agent-ac0d75bd55dd48956'
# Conflicts:
#	docs/parity.md
2026-10-03 08:09:29 -04:00
Brandon Thomas 597c6162c4 Merge main into M13.6
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-03 08:03:27 -04:00
Brandon Thomas 0f591e0856 Merge branch 'worktree-agent-a56a28d82c228c05a' 2026-10-03 08:02:09 -04:00
Brandon Thomas 8ba936f87b M13.9: gpu keying, matte and channel effects (fx_key)
Color Key, Luma Key, Color Range, Extract, Difference Matte, Color Difference
Key, Screen Key, Spill Suppressor, Advanced Spill Suppressor, Key Cleaner,
Unmult, Simple Choker, Matte Choker, Set Matte, Set Channels, Shift Channels,
Remove Color Matting, Arithmetic, Solid Composite, Channel Combiner, Blend,
Calculations, Compound Arithmetic on the GPU.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-03 08:02:03 -04:00
Brandon Thomas e52ef461a6 M13.6: parity notes
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-03 07:56:01 -04:00
Brandon Thomas cbf9e40528 Merge main into M13.7 2026-10-03 07:55:24 -04:00
Brandon Thomas e98ea3b111 M13.7: parity notes (AUT-2, CMP-7, menu items)
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-03 07:55:24 -04:00
Brandon Thomas 0698b23cd7 M13.7: Save Frame As Photoshop Layers / ProEXR, Watch Folder, Vanishing Point (disabled), Create Nulls From Paths, VR Comp Editor, Help tutorials
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-03 07:55:04 -04:00
Brandon Thomas 404b855986 Merge main into M13.6
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-03 07:53:31 -04:00
Brandon Thomas 47f61debcb M13.9: gpu effect family scaffolding (fx_key, fx_stylize, fx_noise)
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-03 07:51:33 -04:00
Brandon Thomas 6cb90c2091 Merge branch 'main' into worktree-agent-a56a28d82c228c05a 2026-10-03 07:47:59 -04:00
Brandon Thomas d784633a6c M13.8: parity notes for Preview panel, Align panel and Advanced 3D
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-03 07:47:59 -04:00
Brandon Thomas 07da394ccb M13.8: Advanced 3D iris depth of field, collapsed precomps, extruded strokes
Depth of field in Advanced 3D comps uses the camera's iris (Fast Rectangle, Triangle to
Decagon, rotation, roundness, aspect, diffraction fringe) and highlight gain/threshold/
saturation through the Classic 3D bokeh kernel. Collapsed precomps in an Advanced 3D comp
add their nested layers as real geometry (meshes, extrusions, cards) lit by the parent;
2D collapsed precomps draw nested 3D layers with the parent's renderer. Text and shape
strokes extrude as bevelled meshes stacked in paint order (model extrude_stacked).

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-03 07:47:25 -04:00
Brandon Thomas a2693c9d15 M13.6: Classic 3D bokeh depth of field on the GPU (WGSL); 3D-matte GPU check
Planes prepared for the GPU carry their depth of field (padding, radius map, levels) and the
bokeh_boost / bokeh_prefix / bokeh_gather kernels blur them where they are drawn, with the CPU's
spans; GPU-vs-CPU agreement tests for iris shapes, highlights, fringe, Fast Rectangle, tilted
planes and a 2D layer with a 3D track matte.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-03 07:44:43 -04:00
Brandon Thomas 175375cbe8 Merge branch 'worktree-agent-a85198a9205337e9f' 2026-10-03 07:43:39 -04:00
Brandon Thomas 553a51316c M13.8: Preview panel shortcuts and Align panel commands
Preview panel: five shortcuts (Spacebar, Shift+Spacebar, Numpad 0, Shift+Numpad 0,
Alt+Numpad 0) each with saved options (include video/audio/overlays/layer controls, loop,
cache before playback, range incl. play around current time, play from, frame rate, skip,
resolution, full screen, play cached frames, move time to preview time), persisted in
prefs; playback.settings.get/set; the playback loop follows the preview plan.

Align panel: layer.align {edge, to} and layer.distribute {mode} engine commands (bounds
through transform and parents, one undo step); Align Layers to dropdown and Distribute row.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-03 07:38:46 -04:00
Brandon Thomas f89af341a6 M13.6: variable font axes in the character style
CharStyle/TextDoc variations (layer.setText variations), shaped with harfrust instances so
advances follow HVAR/gvar, outlines drawn at the design-space position, animator deltas relative
to the style's values, Character panel Variable Font Axes fields (character.axis.<tag>).

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-03 07:36:53 -04:00
Brandon Thomas a30cf38180 Merge main into M13.4 (codec completion): HEVC/AV1 on the export pipeline (Cx), one key-frame interval for all movie codecs
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-03 07:29:32 -04:00
Brandon Thomas 225f31bf50 Merge main into M9.13 (GPU kernels defer CPU-only controls via catalog::gpu_supported)
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-03 07:29:30 -04:00
Brandon Thomas 1772250fc4 Merge main into M13.7 2026-10-03 07:23:25 -04:00
Brandon Thomas 558de71720 M13.7: Essential Graphics scripting hooks, Font and uniform Scale controls, Open in Essential Graphics
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-03 07:23:22 -04:00