effectcraft/crates/effects/src
bflatastic 02bc2b8f9a Puppet: the tools stay on the rigged layer and pins go on the deformed mesh (#284)
With a Puppet tool, a click off the pins picked the topmost layer under
the pointer by its own bounds, and selected it. So a click where the
deformation had stretched the mesh past the layer's bounds went to the
layer behind (selecting it and giving it a Puppet effect), and any
click on another layer switched to it.

While selected layers have a Puppet effect, a click (or a press that
might start a pin marquee) now works only on them, as in After
Effects: on the layer whose mesh, as deformed now, is under the
pointer (the pin lands on the deformed shape), else the one whose own
art is (a new mesh); elsewhere nothing happens and the selection
stays. Without a rigged layer selected, the tools pick and rig the
layer under the pointer as before.

`puppet::contains` tests a point against a deformed mesh; `puppet.addPin`
uses it too (its own test only held for one triangle winding).

Test: puppet_pins_go_on_the_deformed_mesh_and_the_tool_stays_on_the_rigged_layer
(ui_viewer).

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-09 16:59:53 +07:00
..
paint M13.1/M13.2: paint (Brush, Clone Stamp, Eraser) and puppet pins 2026-10-02 09:12:10 -04:00
puppet Puppet: the tools stay on the rigged layer and pins go on the deformed mesh (#284) 2026-10-09 16:59:53 +07: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 Effects: Fractal Noise's Soft Linear has no lattice creases (#259) 2026-10-08 21:00:42 +07: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 Test: Fractal Noise's Soft Linear shows no lattice (#259) 2026-10-08 21:00:42 +07: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