effectcraft/crates/effects/src
bflatastic 754e80bdf9 Effects: Turbulent Displace displaces the whole layer, not one quadrant (#227)
Edge pinning (Turbulent Displace's default Pin All, Wave Warp's
Pinning, Bulge's Pin All Edges) holds the layer bounds still: a
comp-sized rectangle for shape and text layers. That rectangle started
at the layer's origin, but a shape layer's content surrounds its origin
(anchor 0,0), so everything left of or above the origin counted as
outside the layer and was pinned: only the bottom-right quadrant of a
centred shape moved.

The renderer now passes the bounds' top-left in layer coordinates
(EffectEnv::bounds_origin): (-w/2, -h/2) for layers without a source
rectangle, (0, 0) otherwise. util::pin_rect places the bounds there and
the three effects use it on the CPU and the GPU. Effect point
parameters keep their current layer coordinates.

Test: edge_pinning_displaces_all_of_a_centred_shape_layer,
edge_pinning_on_a_shape_layer (GPU vs CPU).

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-08 12:20:10 +07:00
..
paint M13.1/M13.2: paint (Brush, Clone Stamp, Eraser) and puppet pins 2026-10-02 09:12:10 -04:00
puppet M13.1/M13.2: paint (Brush, Clone Stamp, Eraser) and puppet pins 2026-10-02 09:12:10 -04:00
audio_fx.rs G2: improve editing reliability and Windows rendering fidelity 2026-10-06 00:00:31 -05:00
blur2.rs Merge main into M9.13 (GPU kernels defer CPU-only controls via catalog::gpu_supported) 2026-10-03 07:29:30 -04:00
blur3.rs M9.12: effect parameter fidelity – all categories 2026-10-03 00:15:06 -04:00
camera_tracker.rs M13.3: face tracking methods, Face Track Points / Measurements, camera lens distortion, docs 2026-10-03 04:36:12 -04:00
card3d.rs M9.13: Card Dance / Shatter / Card Wipe camera systems, lighting and material 2026-10-03 02:59:10 -04:00
catalog.rs G2: improve editing reliability and Windows rendering fidelity 2026-10-06 00:00:31 -05:00
channel.rs M9.13: Minimax Don't Shrink Edges, Channel Combiner Saturation Multiplied, 3D Channel Extract anti-alias, Block Dissolve Soft Edges, locked pinning, Optimal Pixels 2026-10-03 04:04:46 -04:00
channel2.rs M9.3: Channel effects (Blend, Calculations, CC Composite, Compound Arithmetic) 2026-10-01 22:03:26 -04:00
channel3d.rs M13.23: GPU 3D Channel effects (aux channels as textures) 2026-10-03 17:33:41 -04:00
color2.rs M13.28: GPU pixel ports (fx_pixel2): CC Cross/Radial/Vector Blur, Reduce Interlace Flicker, CC Composite, Color Link, Cineon, HDR Compander/Highlight Compression, Grow Bounds, CC Overbrights, CC Block Load, CC Burn Film, CC Glass/Plastic, CC HexTile, CC Mr. Smoothie, Inner/Outer Key, CC Simple Wire Removal, Basic 3D 2026-10-04 01:33:54 -04:00
color3.rs M13.10: visual editors for Lumetri curves, Colorama output cycle, Glow colour map, Reshape correspondence points; scrolling Preview, AE-style comp tabs; web docs 2026-10-03 08:59:04 -04:00
color_fx.rs M9.13: Camera Lens Blur fringe / blur map, Colorama full controls, Selective Color Details 2026-10-03 04:43:41 -04:00
controls.rs M7.7: camera/light rigs and Advanced 3D motion blur, blend modes, track mattes 2026-10-03 00:27:47 -04:00
distort.rs Effects: Turbulent Displace displaces the whole layer, not one quadrant (#227) 2026-10-08 12:20:10 +07:00
distort2.rs Effects: Turbulent Displace displaces the whole layer, not one quadrant (#227) 2026-10-08 12:20:10 +07:00
distort3.rs M13.29: GPU effects part D (particles and remaining fallbacks) 2026-10-04 01:35:56 -04:00
distort4.rs 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) 2026-10-03 08:16:58 -04:00
face_track.rs M13.3: face tracking methods, Face Track Points / Measurements, camera lens distortion, docs 2026-10-03 04:36:12 -04:00
generate.rs M12.7: GPU blur/transition/generate effects (radial, camera lens, CC radial fast, wipes, venetian, cell pattern, checkerboard, grid, 4-color, noise, add grain) 2026-10-03 02:46:09 -04:00
generate2.rs M13.28: GPU generators (fx_gen2): Lightning, Advanced Lightning, Beam, Lens Flare, Radio Waves, Vegas, Stroke, Scribble, Write-on, Paint Bucket, Eyedropper Fill, CC Glue Gun, CC Threads, Audio Spectrum/Waveform, Basic Text, Path Text 2026-10-04 02:56:00 -04:00
generate3.rs M13.28: GPU generators (fx_gen2): Lightning, Advanced Lightning, Beam, Lens Flare, Radio Waves, Vegas, Stroke, Scribble, Write-on, Paint Bucket, Eyedropper Fill, CC Glue Gun, CC Threads, Audio Spectrum/Waveform, Basic Text, Path Text 2026-10-04 02:56:00 -04:00
keying.rs M9.13: Cell Pattern HQ variants, Advanced Spill Suppressor Ultra controls, Inner/Outer Key masks and cleanup 2026-10-03 04:57:05 -04:00
keying2.rs M13.28: GPU pixel ports (fx_pixel2): CC Cross/Radial/Vector Blur, Reduce Interlace Flicker, CC Composite, Color Link, Cineon, HDR Compander/Highlight Compression, Grow Bounds, CC Overbrights, CC Block Load, CC Burn Film, CC Glass/Plastic, CC HexTile, CC Mr. Smoothie, Inner/Outer Key, CC Simple Wire Removal, Basic 3D 2026-10-04 01:33:54 -04:00
keylight.rs M5.16: Key Light: keyer eyedroppers pick from the effect input (effect.pickColor); "keylight" search 2026-10-05 11:04:10 +07:00
lib.rs Effects: Turbulent Displace displaces the whole layer, not one quadrant (#227) 2026-10-08 12:20:10 +07:00
matte.rs M9.13: Fill masks/feather, Refine mattes Reduce Chatter and motion blur 2026-10-03 03:30:33 -04:00
migrate.rs Never crash: effects crate without expect() 2026-10-04 14:14:16 -04:00
misc.rs M13.10: visual editors for Lumetri curves, Colorama output cycle, Glow colour map, Reshape correspondence points; scrolling Preview, AE-style comp tabs; web docs 2026-10-03 08:59:04 -04:00
mocha_shape.rs M9.12: effect parameter fidelity – all categories 2026-10-03 00:15:06 -04:00
noise.rs 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) 2026-10-03 08:15:11 -04:00
noise2.rs M9.13: Add / Match / Remove Grain preview region, presets, channel balance, sampling and temporal filtering 2026-10-03 05:39:06 -04:00
noise3.rs 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) 2026-10-03 08:15:11 -04:00
obsolete.rs M9.12: effect parameter fidelity – all categories 2026-10-03 00:15:06 -04:00
ocio.rs Never crash: effects crate without expect() 2026-10-04 14:14:16 -04:00
ocio_config.rs M13.29: GPU effects part D (particles and remaining fallbacks) 2026-10-04 01:35:56 -04:00
paint.rs M13.1/M13.2: paint (Brush, Clone Stamp, Eraser) and puppet pins 2026-10-02 09:12:10 -04:00
perspective.rs M9.3: effect env (masks, layer params, audio, comp timing), sim cache, polyline helpers; module stubs 2026-10-01 21:43:48 -04:00
perspective2.rs M13.22: GPU transitions and perspective (Block Dissolve, CC Glass/Grid/Image Wipe, CC Jaws, CC Line Sweep, CC Radial ScaleWipe, CC Scale Wipe, CC Twister, CC WarpoMatic, Radial Shadow, CC Bender, CC Blobbylize, CC Cylinder, CC Sphere, CC Spotlight, CC Environment, 3D Glasses) and text (Numbers, Timecode: CPU glyph coverage, GPU composite) 2026-10-03 17:48:02 -04:00
plugin.rs M13.12: plug-in ABI hardening (memory limit, manifest length, slider schema) and tests 2026-10-03 09:42:44 -04:00
psim.rs M12.7: GPU particles (CC Particle World, CC Particle Systems II, Particle Playground cannon): compute-shader simulation with GPU checkpoints, CPU as the oracle 2026-10-03 02:44:36 -04:00
roto.rs M13.35: Roto Brush trained model — swappable segment module, MobileSAM in pure Rust 2026-10-05 17:55:02 +07:00
sim.rs M13.29: GPU effects part D (particles and remaining fallbacks) 2026-10-04 01:35:56 -04:00
sim2.rs M13.29: GPU effects part D (particles and remaining fallbacks) 2026-10-04 01:35:56 -04:00
sim3.rs M13.29: GPU effects part D (particles and remaining fallbacks) 2026-10-04 01:35:56 -04:00
stylize2.rs 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) 2026-10-03 08:16:58 -04:00
stylize3.rs M13.28: GPU pixel ports (fx_pixel2): CC Cross/Radial/Vector Blur, Reduce Interlace Flicker, CC Composite, Color Link, Cineon, HDR Compander/Highlight Compression, Grow Bounds, CC Overbrights, CC Block Load, CC Burn Film, CC Glass/Plastic, CC HexTile, CC Mr. Smoothie, Inner/Outer Key, CC Simple Wire Removal, Basic 3D 2026-10-04 01:33:54 -04:00
textfx.rs Never crash: effects crate without expect() 2026-10-04 14:14:16 -04:00
time_fx.rs M13.29: GPU effects part D (particles and remaining fallbacks) 2026-10-04 01:35:56 -04:00
transition.rs M13.23: GPU simulation render passes 2026-10-03 18:35:22 -04:00
transition2.rs M9.3: Transition effects (CC Glass Wipe, CC Image Wipe, CC Jaws, CC Line Sweep, CC Twister, CC WarpoMatic) 2026-10-01 22:02:36 -04:00
util.rs Effects: Turbulent Displace displaces the whole layer, not one quadrant (#227) 2026-10-08 12:20:10 +07:00
utility.rs M13.23: GPU colour management (LUTs, OCIO, Color Profile Converter, Lumetri LUT/look) 2026-10-03 17:43:24 -04:00
utility2.rs M9.3: Perspective + Utility effects (CC Environment, 3D Glasses, HDR Compander) 2026-10-01 21:59:01 -04:00
vr.rs M9.13: VR Converter Facebook / EAC cube maps and FullDome fisheye, VR Digital Glitch full controls; PARTIAL list empty 2026-10-03 07:15:36 -04:00
warp_stab.rs M13.32: web main-thread stall: Warp Stabilizer plans solved in job workers 2026-10-04 03:40:46 -04:00