chore(deps): cargo update — patch bumps across the tree - #580
Merged
Conversation
Routine in-semver refresh. Direct-dep movers: - gstreamer cluster 0.25.0/0.25.1 → 0.25.2 (gl, video, audio, base, webrtc, pbutils, sdp, app, controller already at .2 from PR #574) - gst-plugin-rtp 0.15.1 → 0.15.2 - eframe 0.34.1 → 0.34.2, tokio 1.52.2 → 1.52.3, gio 0.22.4 → 0.22.6, bcrypt 0.19.0 → 0.19.1, sysinfo 0.39.1 → 0.39.2 Notable transitives: wgpu 29.0.1 → 29.0.3, wasm-bindgen 0.2.117 → 0.2.121, web-sys 0.3.94 → 0.3.98, aws-lc-rs 1.16.2 → 1.17.0. Verified: cargo check, 463 lib tests, openapi snapshot, persist tests (2), pipeline lifecycle leak tests (3) — all pass. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
srperens
added a commit
that referenced
this pull request
Jun 9, 2026
eframe 0.34.2 added `wgpu` to its `default` feature set (it was not a default in 0.34.1, which the #580 cargo update bumped past). That pulled wgpu-core into the wasm32-unknown-unknown build, where it fails to compile (`cannot find value Vulkan in module hal::api`). Disable eframe's default features at the workspace level and re-add the features that previously came from `default`: - native: wgpu, accesskit, wayland, x11 - wasm: web_screen_reader (glow comes from the workspace-level features) Gate the `CreationContext::wgpu_render_state` access in info_page.rs behind cfg(not(wasm32)); that field only exists with the wgpu feature, so WASM now falls through to the glow/WebGL branch. Cargo.lock drops the Wayland/Adwaita client-side-decoration chain (sctk-adwaita, tiny-skia, ttf-parser, ...) that only came in via winit/default. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
srperens
added a commit
that referenced
this pull request
Jun 9, 2026
…nsition fixes (#639) * docs(readme): link to hosted Open Live platform Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com> * feat(vision-mixer): add ColorCorrect primary correction + white balance Add a single ColorCorrect video effect combining primary color correction (brightness, contrast, saturation, gamma) and white balance (temperature, tint) — the camera-matching tool the look library was missing. Every control is neutral at its default, so an untouched correction is an identity pass. Applied in a fixed order: white balance, brightness, contrast, gamma, saturation. Single-pass GLES2 shader, registered in all_fragments() for the CI shader-compile validation. Exposed in the vision-mixer.html FX catalog as a production staple (std), not under the Stylized group. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com> * feat(vision-mixer): luma-space contrast + hue control for ColorCorrect Compute brightness, contrast, hue and saturation in YCbCr (BT.601) so they match glcolorbalance's model: brightness/contrast move only the luma and no longer drift hue, hue/saturation act only on the chroma. Adds a hue rotation control (-1..1 = -180..180 deg) the original RGB version lacked, making ColorCorrect a strict superset of glcolorbalance plus gamma and white balance. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com> * chore: bump workspace version to 0.6.5-dev Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com> * fix(vision-mixer): glitch transition leaves residual artifacts on some GPUs After a glitch take completed, faint block-displacement artifacts kept flickering on the program output indefinitely instead of settling — seen on Intel Arc iGPU. Root cause: the master FX envelope was sin(fx_linear_p() * 3.14159265). At completion fx_linear_p() is clamped to exactly 1.0, but the float pi literal is slightly below pi, so sin() returns a tiny positive residual (~1e-8) instead of 0 — and the magnitude is driver-dependent. The glitch shader takes pow(envelope(), 0.4), whose infinite slope near zero amplifies that residual into a small-but-visible displacement that never clears. pixelate/punch take pow(envelope(), 0.5) and had the same latent issue below the visibility threshold. Replace the sine envelope with the parabola 4*p*(1-p): identical 0->1->0 shape peaking at the cut, but EXACTLY 0 at the clamped endpoints, so the shaders become true identity passes once the transition is done. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com> * feat(vision-mixer): TPDF dither, Vogel blur and fixed-raster CRT Add a shared dither() helper (triangular-PDF, two decorrelated hashes, static screen-space so flat areas don't crawl) and apply ~1 LSB of it before output on the looks that stretch or remap smooth gradients and so expose 8-bit banding: color_correct (gamma/contrast), blur, duotone and thermal. Posterize is intentionally left undithered — it is supposed to band. Rewrite the blur as a 24-tap Vogel (golden-angle) spiral: even disc coverage that stays gap-free as the radius grows, aspect-corrected so the bokeh stays circular on non-square frames — the old fixed two-ring kernel left visible rings past a few pixels. Rewrite the CRT scanlines and aperture grille to a fixed virtual raster instead of per-output-pixel frequencies, so the pattern stays well below Nyquist at any render size instead of collapsing into shimmering moire. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com> * feat(vision-mixer): lay out FX look params in a 4-column grid The look param controls were a wrapping flex row, so an effect with many sliders (Color Correct has seven) spread into one long line. Wrap each label+slider+value in a .fx-param unit and lay them out in a 4-column grid, so Color Correct reads as 4+3 over two rows and effects with fewer params just fill as many cells as they need. Narrow the slider to 80px so four columns fit on smaller panels. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com> * feat(vision-mixer): raise blur radius cap to 40 px The Vogel-spiral blur stays gap-free well past the old 13-tap kernel's limit, so expose the headroom: bump the radius clamp and the UI slider max from 20 to 40 px. Updates the API doc text and openapi snapshot. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com> * docs(vision-mixer): correct ColorCorrect documented apply order The doc comment (and thus the OpenAPI description) listed the apply order as "white balance, brightness, contrast, gamma, saturation", but the shader applies hue before saturation and gamma last. Match the comment to look_color_correct.glsl and refresh the OpenAPI snapshot. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com> * fix(vision-mixer): roll and punch leave residual artifacts after transition Two master transitions failed to return to a clean identity pass once the take completed — the same class of bug as the glitch envelope residual, but with distinct root causes. Roll: the dark blanking/retrace bar was not gated by roll velocity (unlike the tear, which was). The roll ends on an integer number of wraps, pinning the wrap seam to the top and bottom edges at p=1, so the bar left a permanent dark band along both edges. Gate it by velocity, which is exactly 0 at p=0 and p=1, so the bar vanishes the instant the frame locks. Punch: the per-frame camera shake was always folded into uv. Once the envelope reached 0 the shake should contribute nothing, but `0.0 * x` is NaN under IEEE when x is NaN/Inf, and a hash of the take-relative frame counter can degrade on a stricter driver (observed on Intel Arc) — poisoning uv and clamping to a single edge texel, so the whole frame went flat white or black after the punch. Compute the shake only while the envelope is live, keeping the post-take state an exact identity pass. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com> * fix(frontend): keep wgpu out of the WASM build eframe 0.34.2 added `wgpu` to its `default` feature set (it was not a default in 0.34.1, which the #580 cargo update bumped past). That pulled wgpu-core into the wasm32-unknown-unknown build, where it fails to compile (`cannot find value Vulkan in module hal::api`). Disable eframe's default features at the workspace level and re-add the features that previously came from `default`: - native: wgpu, accesskit, wayland, x11 - wasm: web_screen_reader (glow comes from the workspace-level features) Gate the `CreationContext::wgpu_render_state` access in info_page.rs behind cfg(not(wasm32)); that field only exists with the wgpu feature, so WASM now falls through to the glow/WebGL branch. Cargo.lock drops the Wayland/Adwaita client-side-decoration chain (sctk-adwaita, tiny-skia, ttf-parser, ...) that only came in via winit/default. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com> --------- Co-authored-by: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
cargo update).0.25.0/0.25.1 → 0.25.2(gl, video, audio, base, webrtc, pbutils, sdp, app — controller was already at .2 from chore(deps): bump gstreamer-controller from 0.25.0 to 0.25.2 #574)gst-plugin-rtp 0.15.1 → 0.15.2eframe 0.34.1 → 0.34.2,tokio 1.52.2 → 1.52.3,gio 0.22.4 → 0.22.6,bcrypt 0.19.0 → 0.19.1,sysinfo 0.39.1 → 0.39.2wgpu 29.0.1 → 29.0.3,wasm-bindgen 0.2.117 → 0.2.121,web-sys 0.3.94 → 0.3.98,aws-lc-rs 1.16.2 → 1.17.0.No source changes — Cargo.lock only.
Test plan
cargo check— cleancargo test --lib— 463 passedcargo test --test openapi_test— snapshot in synccargo test --test block_properties_persist_test— 2/2 passcargo test --test pipeline_lifecycle_test— 3/3 pass (leak-detection regression)🤖 Generated with Claude Code