- Fix "Behind Subject" not occluding: blur the two halves separately and
re-apply the silhouette after, add a traced cast shadow (shadow_strength,
shadow_length), and give the background glow real radial falloff
- Replace use_colored_lights with lighting_mode, adding "Both"; three presets
set a colour and a grading block, so 12 values in each were inert
- Rename use_gradient_mode to mask_shape, and collapse apply_3d_lighting plus
light_direction into subject_interaction
- Remove show_debug_info: wiring debug_image is the whole gesture, tracked
through a hidden debug_output_connected input so one run is enough
- Scale everything drawn on the debug view with the frame, and flip a light's
label to the left of the marker when it would run off the right edge
- Show only the controls that are doing something; grey out what a preset
owns and put the preset's value in the label
- Ship a working "Fix node (recreate)" and remove ComfyUI-Manager's broken one
- Remap pre-v4 saves by name in web/relight_migrate.js
- Make "Rim Light (Behind)" a neutral white rim instead of (200,255,200)
- Drop requirements.txt; numpy, Pillow, scipy and torch come with ComfyUI
- Add a frontend test suite driving the real web/*.js outside a browser, and
a CI job for it
- Bump to 4.0.0