effectcraft/crates/effects/src
bflatastic 923d978119 Effects: CC Particle World follows the comp camera (#397)
Cause: CC Particle World projected its particles through a fixed camera
(distance 2 layer widths, looking at the layer centre) and never asked the
host for the comp camera, so moving or orbiting a camera layer left the
particles flat on the layer. It also had no Extras > Effect Camera. Separately,
the layer cache key ignored the comp camera and lights, so the effects that
read them (Card Dance / Shatter / Card Wipe Comp Camera, First Comp Light,
Caustics) kept a stale frame when the camera, a light or the layer moved.

Fix: as the Cycore manual describes, Particle World sees its particles through
the comp's active camera layer when there is one (EffectHost::comp_scene now
says whether its camera is a camera layer's, CompScene::camera_layer), through
card3d's comp-camera projection (factored out of Card Dance as comp_proj, with
Proj::view for depth, size scale and screen velocity). Otherwise it uses the
new Extras > Effect Camera: Distance (2), Rotation X / Y / Z (0) and FOV (50)
orbit the world origin; FOV moves the camera so the origin's plane keeps the
scale Distance gives it, so the defaults reproduce the old fixed camera bit for
bit (golden hashes unchanged) and old projects render as before. The Effect
Camera is left out of the simulation cache key, so animating it doesn't
restart the simulation. The plan is shared, so the GPU compositor follows too.
The layer cache folds the comp scene into the key of layers running an effect
in effects::READS_COMP_SCENE (render::comp_scene is shared with the host).

Tests: sim particle_world_follows_the_comp_camera (panning a camera layer moves
the particles, zooming spreads them, the Effect Camera is ignored then, the
default view keeps the Effect Camera, cameras facing away / zero / NaN draw
nothing) and particle_world_effect_camera (missing params = defaults, rotation,
distance and FOV change the view, extremes stay finite, the sim key ignores the
camera); render particle_world_follows_the_comp_camera (a real camera layer
panned 40 px moves the particles left, and the cached render after the move
equals an uncached one: it failed with the old cache key); gpu
particle_world_through_the_comp_camera (CPU vs GPU at 8 / 32 bpc, full and
half resolution). particle_golden / sim_golden unchanged. effects.md
regenerated; parity.md and gaps.md describe the fix.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-10 00:35:25 +07:00
..
paint M13.1/M13.2: paint (Brush, Clone Stamp, Eraser) and puppet pins 2026-10-02 09:12:10 -04:00
puppet Merge pull request #342 from HEOJUNFO/fix-313-single-pin-jump 2026-10-09 09:31:41 -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 Effects: CC Particle World follows the comp camera (#397) 2026-10-10 00:35:25 +07: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: effect points on shape layers start at the layer centre (#227) 2026-10-08 20:33:03 +07:00
distort2.rs Effects: effect points on shape layers start at the layer centre (#227) 2026-10-08 20:33:03 +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 Effects: Audio Spectrum uses linear frequency bands and amplitude 2026-10-09 16:27:29 +07: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: CC Particle World follows the comp camera (#397) 2026-10-10 00:35:25 +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 Effects: effect points on shape layers start at the layer centre (#227) 2026-10-08 20:33:03 +07: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 Effects: OCIO custom configs read Blender's v2 transforms and warn (#410) 2026-10-09 23:57:12 +07:00
ocio_config.rs Effects: OCIO custom configs read Blender's v2 transforms and warn (#410) 2026-10-09 23:57:12 +07:00
paint.rs Effects: effect points on shape layers start at the layer centre (#227) 2026-10-08 20:33:03 +07: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 Effects: CC Particle World follows the comp camera (#397) 2026-10-10 00:35:25 +07:00
sim2.rs Effects: CC Particle World follows the comp camera (#397) 2026-10-10 00:35:25 +07: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: CC Particle World follows the comp camera (#397) 2026-10-10 00:35:25 +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