[INFO] fetching crate oxihuman-viewer 0.1.1...
[INFO] testing oxihuman-viewer-0.1.1 against 1.95.0 for beta-1.96-2
[INFO] extracting crate oxihuman-viewer 0.1.1 into /workspace/builds/worker-2-tc1/source
[INFO] started tweaking crates.io crate oxihuman-viewer 0.1.1
[INFO] removed 0 missing tests
[INFO] finished tweaking crates.io crate oxihuman-viewer 0.1.1
[INFO] tweaked toml for crates.io crate oxihuman-viewer 0.1.1 written to /workspace/builds/worker-2-tc1/source/Cargo.toml
[INFO] validating manifest of crates.io crate oxihuman-viewer 0.1.1 on toolchain 1.95.0
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+1.95.0" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] crate crates.io crate oxihuman-viewer 0.1.1 already has a lockfile, it will not be regenerated
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+1.95.0" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr]     Updating crates.io index
[INFO] [stderr]  Downloading crates ...
[INFO] [stderr]   Downloaded wayland-protocols-wlr v0.3.11
[INFO] [stderr]   Downloaded wayland-cursor v0.31.13
[INFO] [stderr]   Downloaded wgpu-core-deps-windows-linux-android v28.0.0
[INFO] [stderr]   Downloaded wgpu-core-deps-apple v28.0.0
[INFO] [stderr]   Downloaded wgpu-core-deps-emscripten v28.0.0
[INFO] [stderr]   Downloaded wayland-backend v0.3.14
[INFO] [stderr]   Downloaded ordered-float v5.1.0
[INFO] [stderr]   Downloaded wgpu-types v28.0.0
[INFO] [stderr]   Downloaded wayland-scanner v0.31.9
[INFO] [stderr]   Downloaded wayland-client v0.31.13
[INFO] [stderr]   Downloaded wayland-protocols-plasma v0.3.11
[INFO] [stderr]   Downloaded wayland-protocols v0.32.11
[INFO] [stderr]   Downloaded wgpu v28.0.0
[INFO] [stderr]   Downloaded wgpu-core v28.0.1
[INFO] [stderr]   Downloaded wgpu-hal v28.0.1
[INFO] [stderr]   Downloaded toml v1.0.6+spec-1.1.0
[INFO] [stderr]   Downloaded naga v28.0.0
[INFO] [stderr]   Downloaded oxihuman-core v0.1.1
[INFO] [stderr]   Downloaded oxihuman-morph v0.1.1
[INFO] [stderr]   Downloaded oxihuman-physics v0.1.1
[INFO] [stderr]   Downloaded oxihuman-mesh v0.1.1
[INFO] [stderr]   Downloaded metal v0.33.0
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+1.95.0" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] fc9b4604637d23e9ed7df5638cd395505c574dd75b62672090854a5cc6350854
[INFO] running `Command { std: "docker" "start" "-a" "fc9b4604637d23e9ed7df5638cd395505c574dd75b62672090854a5cc6350854", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "fc9b4604637d23e9ed7df5638cd395505c574dd75b62672090854a5cc6350854", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "fc9b4604637d23e9ed7df5638cd395505c574dd75b62672090854a5cc6350854", kill_on_drop: false }`
[INFO] [stdout] fc9b4604637d23e9ed7df5638cd395505c574dd75b62672090854a5cc6350854
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=warn" "-e" "RUSTDOCFLAGS=--cap-lints=warn" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+1.95.0" "build" "--frozen" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] 09b5e6559149c93c40f7ed0022abe45b20fe1ae405b19749699085b04026a02e
[INFO] running `Command { std: "docker" "start" "-a" "09b5e6559149c93c40f7ed0022abe45b20fe1ae405b19749699085b04026a02e", kill_on_drop: false }`
[INFO] [stderr]    Compiling typenum v1.19.0
[INFO] [stderr]    Compiling winnow v0.7.15
[INFO] [stderr]    Compiling generic-array v0.14.7
[INFO] [stderr]    Compiling toml_datetime v1.0.0+spec-1.1.0
[INFO] [stderr]    Compiling toml_writer v1.0.6+spec-1.1.0
[INFO] [stderr]    Compiling serde_json v1.0.149
[INFO] [stderr]    Compiling thiserror v2.0.18
[INFO] [stderr]    Compiling serde v1.0.228
[INFO] [stderr]    Compiling either v1.15.0
[INFO] [stderr]    Compiling rayon v1.11.0
[INFO] [stderr]    Compiling toml_parser v1.0.9+spec-1.1.0
[INFO] [stderr]    Compiling crypto-common v0.1.7
[INFO] [stderr]    Compiling block-buffer v0.10.4
[INFO] [stderr]    Compiling digest v0.10.7
[INFO] [stderr]    Compiling toml v1.0.6+spec-1.1.0
[INFO] [stderr]    Compiling sha2 v0.10.9
[INFO] [stderr]    Compiling oxihuman-core v0.1.1
[INFO] [stderr]    Compiling oxihuman-morph v0.1.1
[INFO] [stderr]    Compiling oxihuman-mesh v0.1.1
[INFO] [stderr]    Compiling oxihuman-physics v0.1.1
[INFO] [stderr]    Compiling oxihuman-viewer v0.1.1 (/opt/rustwide/workdir)
[INFO] [stderr]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 1m 49s
[INFO] running `Command { std: "docker" "inspect" "09b5e6559149c93c40f7ed0022abe45b20fe1ae405b19749699085b04026a02e", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "09b5e6559149c93c40f7ed0022abe45b20fe1ae405b19749699085b04026a02e", kill_on_drop: false }`
[INFO] [stdout] 09b5e6559149c93c40f7ed0022abe45b20fe1ae405b19749699085b04026a02e
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=warn" "-e" "RUSTDOCFLAGS=--cap-lints=warn" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+1.95.0" "test" "--frozen" "--no-run" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] cb4a243e9633d84c09f34bb0eaeca8280d4f48fee7ac34d16e52eab082e0d658
[INFO] running `Command { std: "docker" "start" "-a" "cb4a243e9633d84c09f34bb0eaeca8280d4f48fee7ac34d16e52eab082e0d658", kill_on_drop: false }`
[INFO] [stderr]    Compiling serde v1.0.228
[INFO] [stderr]    Compiling syn v2.0.117
[INFO] [stderr]    Compiling zerocopy v0.8.42
[INFO] [stderr]    Compiling rayon v1.11.0
[INFO] [stderr]    Compiling num-traits v0.2.19
[INFO] [stderr]    Compiling libc v0.2.183
[INFO] [stderr]    Compiling ciborium-io v0.2.2
[INFO] [stderr]    Compiling cc v1.2.56
[INFO] [stderr]    Compiling plotters-backend v0.3.7
[INFO] [stderr]    Compiling regex-syntax v0.8.10
[INFO] [stderr]    Compiling anstyle v1.0.14
[INFO] [stderr]    Compiling clap_lex v1.1.0
[INFO] [stderr]    Compiling plotters-svg v0.3.7
[INFO] [stderr]    Compiling clap_builder v4.6.0
[INFO] [stderr]    Compiling cast v0.3.0
[INFO] [stderr]    Compiling criterion-plot v0.8.2
[INFO] [stderr]    Compiling oorandom v11.1.5
[INFO] [stderr]    Compiling anes v0.1.6
[INFO] [stderr]    Compiling regex-automata v0.4.14
[INFO] [stderr]    Compiling page_size v0.6.0
[INFO] [stderr]    Compiling plotters v0.3.7
[INFO] [stderr]    Compiling alloca v0.4.0
[INFO] [stderr]    Compiling clap v4.6.0
[INFO] [stderr]    Compiling serde_derive v1.0.228
[INFO] [stderr]    Compiling thiserror-impl v2.0.18
[INFO] [stderr]    Compiling zerocopy-derive v0.8.42
[INFO] [stderr]    Compiling regex v1.12.3
[INFO] [stderr]    Compiling thiserror v2.0.18
[INFO] [stderr]    Compiling oxihuman-core v0.1.1
[INFO] [stderr]    Compiling tinytemplate v1.2.1
[INFO] [stderr]    Compiling half v2.7.1
[INFO] [stderr]    Compiling ciborium-ll v0.2.2
[INFO] [stderr]    Compiling ciborium v0.2.2
[INFO] [stderr]    Compiling criterion v0.8.2
[INFO] [stderr]    Compiling oxihuman-morph v0.1.1
[INFO] [stderr]    Compiling oxihuman-mesh v0.1.1
[INFO] [stderr]    Compiling oxihuman-physics v0.1.1
[INFO] [stderr]    Compiling oxihuman-viewer v0.1.1 (/opt/rustwide/workdir)
[INFO] [stderr]     Finished `test` profile [unoptimized + debuginfo] target(s) in 2m 45s
[INFO] running `Command { std: "docker" "inspect" "cb4a243e9633d84c09f34bb0eaeca8280d4f48fee7ac34d16e52eab082e0d658", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "cb4a243e9633d84c09f34bb0eaeca8280d4f48fee7ac34d16e52eab082e0d658", kill_on_drop: false }`
[INFO] [stdout] cb4a243e9633d84c09f34bb0eaeca8280d4f48fee7ac34d16e52eab082e0d658
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=warn" "-e" "RUSTDOCFLAGS=--cap-lints=warn" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+1.95.0" "test" "--frozen", kill_on_drop: false }`
[INFO] [stdout] a5f5c3d3de8e38156a03c55afa3b1374576464b877805f98d8a71ba6b0782f4d
[INFO] running `Command { std: "docker" "start" "-a" "a5f5c3d3de8e38156a03c55afa3b1374576464b877805f98d8a71ba6b0782f4d", kill_on_drop: false }`
[INFO] [stderr]     Finished `test` profile [unoptimized + debuginfo] target(s) in 0.25s
[INFO] [stderr]      Running unittests src/lib.rs (/opt/rustwide/target/debug/deps/oxihuman_viewer-88a63513ea03470c)
[INFO] [stdout] 
[INFO] [stdout] running 4964 tests
[INFO] [stdout] test acceleration_view::tests::test_display_length_above_min ... ok
[INFO] [stdout] test acceleration_view::tests::test_min_magnitude_clamp ... ok
[INFO] [stdout] test acceleration_view::tests::test_clone ... ok
[INFO] [stdout] test acceleration_view::tests::test_display_length_below_min ... ok
[INFO] [stdout] test acceleration_view::tests::test_scale_clamp ... ok
[INFO] [stdout] test acceleration_view::tests::test_enable ... ok
[INFO] [stdout] test action_clip_view::tests::test_enabled_default ... ok
[INFO] [stdout] test action_clip_view::tests::test_set_current_frame ... ok
[INFO] [stdout] test action_clip_view::tests::test_initial_empty ... ok
[INFO] [stdout] test action_clip_view::tests::test_set_enabled ... ok
[INFO] [stdout] test action_clip_view::tests::test_to_json_has_clip_count ... ok
[INFO] [stdout] test action_clip_view::tests::test_zoom_min ... ok
[INFO] [stdout] test albedo_view::tests::test_apply_identity_gamma1 ... ok
[INFO] [stdout] test albedo_view::tests::test_default ... ok
[INFO] [stdout] test albedo_view::tests::test_desaturate ... ok
[INFO] [stdout] test albedo_view::tests::test_enable_disable ... ok
[INFO] [stdout] test albedo_view::tests::test_luminance ... ok
[INFO] [stdout] test albedo_view::tests::test_reset ... ok
[INFO] [stdout] test albedo_view::tests::test_set_exposure_clamped ... ok
[INFO] [stdout] test albedo_view::tests::test_set_gamma_clamped ... ok
[INFO] [stdout] test albedo_view::tests::test_to_json ... ok
[INFO] [stdout] test alpha_blend::tests::test_apply_blend_dispatch ... ok
[INFO] [stdout] test alpha_blend::tests::test_blend_additive ... ok
[INFO] [stdout] test alpha_blend::tests::test_blend_multiply ... ok
[INFO] [stdout] test alpha_blend::tests::test_blend_normal_opaque ... ok
[INFO] [stdout] test alpha_blend::tests::test_blend_normal_transparent ... ok
[INFO] [stdout] test alpha_blend::tests::test_blend_screen ... ok
[INFO] [stdout] test alpha_blend::tests::test_mode_name ... ok
[INFO] [stdout] test alpha_blend::tests::test_new_rgba_clamps ... ok
[INFO] [stdout] test alpha_blend::tests::test_premultiply_alpha ... ok
[INFO] [stdout] test alpha_blend::tests::test_rgba_to_json ... ok
[INFO] [stdout] test alpha_coverage::tests::average_pixels ... ok
[INFO] [stdout] test alpha_coverage::tests::average_pixels_zero_draws ... ok
[INFO] [stdout] test alpha_coverage::tests::clear_stats ... ok
[INFO] [stdout] test alpha_coverage::tests::default_disabled ... ok
[INFO] [stdout] test alpha_coverage::tests::sample_mask_4x ... ok
[INFO] [stdout] test alpha_coverage::tests::record_and_stats ... ok
[INFO] [stdout] test alpha_coverage::tests::set_mode_enables ... ok
[INFO] [stdout] test alpha_coverage::tests::set_threshold_clamps ... ok
[INFO] [stdout] test alpha_coverage::tests::to_json_contains_mode ... ok
[INFO] [stdout] test alpha_discard::tests::coverage_in_range ... ok
[INFO] [stdout] test alpha_discard::tests::default_threshold_half ... ok
[INFO] [stdout] test alpha_discard::tests::dithered_keeps_full_alpha ... ok
[INFO] [stdout] test alpha_discard::tests::hard_discard_below_threshold ... ok
[INFO] [stdout] test alpha_discard::tests::hard_keep_above_threshold ... ok
[INFO] [stdout] test alpha_discard::tests::json_has_threshold ... ok
[INFO] [stdout] test alpha_discard::tests::mode_name_correct ... ok
[INFO] [stdout] test alpha_discard::tests::none_mode_always_keeps ... ok
[INFO] [stdout] test alpha_discard::tests::set_threshold_clamps ... ok
[INFO] [stdout] test alpha_premult::tests::composite_opaque_src_over_anything ... ok
[INFO] [stdout] test alpha_premult::tests::composite_transparent_src_passthrough ... ok
[INFO] [stdout] test alpha_premult::tests::from_u8_full_white ... ok
[INFO] [stdout] test alpha_premult::tests::luminance_black ... ok
[INFO] [stdout] test alpha_premult::tests::luminance_white ... ok
[INFO] [stdout] test alpha_premult::tests::premultiply_buffer_modifies_in_place ... ok
[INFO] [stdout] test alpha_premult::tests::premultiply_half_alpha ... ok
[INFO] [stdout] test alpha_premult::tests::srgb_roundtrip_midgray ... ok
[INFO] [stdout] test acceleration_view::tests::test_color_set ... ok
[INFO] [stdout] test alpha_premult::tests::unpremultiply_zero_alpha ... ok
[INFO] [stdout] test action_clip_view::tests::test_add_clip ... ok
[INFO] [stdout] test alpha_premult::tests::unpremultiply_recovers ... ok
[INFO] [stdout] test alpha_sort::tests::alpha_clamps_to_one ... ok
[INFO] [stdout] test alpha_sort::tests::clear_empties ... ok
[INFO] [stdout] test alpha_sort::tests::average_alpha_empty_is_zero ... ok
[INFO] [stdout] test action_clip_view::tests::test_current_frame_min ... ok
[INFO] [stdout] test alpha_sort::tests::back_to_front_order ... ok
[INFO] [stdout] test action_clip_view::tests::test_clear ... ok
[INFO] [stdout] test acceleration_view::tests::test_defaults ... ok
[INFO] [stdout] test alpha_sort::tests::depth_angle_nonneg ... ok
[INFO] [stdout] test alpha_sort::tests::front_to_back_order ... ok
[INFO] [stdout] test alpha_sort::tests::max_depth_after_push ... ok
[INFO] [stdout] test alpha_sort::tests::new_is_empty ... ok
[INFO] [stdout] test alpha_sort::tests::push_increments_count ... ok
[INFO] [stdout] test alpha_sort::tests::to_json_has_count ... ok
[INFO] [stdout] test alpha_threshold::tests::blend_midpoint ... ok
[INFO] [stdout] test alpha_threshold::tests::coverage_estimate ... ok
[INFO] [stdout] test alpha_threshold::tests::default_threshold_half ... ok
[INFO] [stdout] test alpha_threshold::tests::disabled_always_opaque ... ok
[INFO] [stdout] test alpha_threshold::tests::is_transparent_below_threshold ... ok
[INFO] [stdout] test alpha_threshold::tests::set_threshold_clamps ... ok
[INFO] [stdout] test alpha_threshold::tests::soft_alpha_midpoint ... ok
[INFO] [stdout] test ambient_occlusion_preview::tests::test_ao_average ... ok
[INFO] [stdout] test ambient_occlusion_preview::tests::test_ao_hemisphere_sample_in_correct_hemisphere ... ok
[INFO] [stdout] test alpha_threshold::tests::to_json_fields ... ok
[INFO] [stdout] test ambient_occlusion_preview::tests::test_ao_hemisphere_sample_is_unit_length ... ok
[INFO] [stdout] test ambient_occlusion_preview::tests::test_ao_max ... ok
[INFO] [stdout] test ambient_occlusion_preview::tests::test_ao_min ... ok
[INFO] [stdout] test ambient_occlusion_preview::tests::test_combine_ao_buffers ... ok
[INFO] [stdout] test ambient_occlusion_preview::tests::test_ao_to_vertex_color ... ok
[INFO] [stdout] test ambient_occlusion_preview::tests::test_ao_to_grayscale ... ok
[INFO] [stdout] test ambient_occlusion_preview::tests::test_ao_to_grayscale_clamped ... ok
[INFO] [stdout] test ambient_occlusion_preview::tests::test_apply_ao_power ... ok
[INFO] [stdout] test ambient_occlusion_preview::tests::test_default_ao_config ... ok
[INFO] [stdout] test ambient_occlusion_preview::tests::test_new_ao_buffer ... ok
[INFO] [stdout] test ambient_occlusion_preview::tests::test_ray_intersects_triangle_back_face ... ok
[INFO] [stdout] test ambient_occlusion_preview::tests::test_ray_intersects_triangle_miss ... ok
[INFO] [stdout] test ambient_occlusion_v2::tests::cost_positive ... ok
[INFO] [stdout] test ambient_occlusion_v2::tests::default_technique_ssao ... ok
[INFO] [stdout] test ambient_occlusion_v2::tests::intensity_clamp ... ok
[INFO] [stdout] test ambient_occlusion_preview::tests::test_ray_intersects_triangle_hit ... ok
[INFO] [stdout] test ambient_occlusion_v2::tests::hemisphere_dir_len ... ok
[INFO] [stdout] test ambient_occlusion_v2::tests::blend_t0_is_a ... ok
[INFO] [stdout] test ambient_occlusion_v2::tests::json_has_technique ... ok
[INFO] [stdout] test ambient_occlusion_v2::tests::radius_min_clamp ... ok
[INFO] [stdout] test ambient_occlusion_v2::tests::sample_count_clamp_min ... ok
[INFO] [stdout] test ambient_occlusion_v2::tests::technique_names ... ok
[INFO] [stdout] test ambient_occlusion_v2::tests::zero_samples_hemisphere_safe ... ok
[INFO] [stdout] test anaglyph_view::tests::test_default_eye_separation ... ok
[INFO] [stdout] test anaglyph_view::tests::test_default_method ... ok
[INFO] [stdout] test anaglyph_view::tests::test_enabled_default ... ok
[INFO] [stdout] test anaglyph_view::tests::test_eye_separation_clamped_max ... ok
[INFO] [stdout] test anaglyph_view::tests::test_eye_separation_clamped_min ... ok
[INFO] [stdout] test anaglyph_view::tests::test_set_enabled ... ok
[INFO] [stdout] test anaglyph_view::tests::test_set_method ... ok
[INFO] [stdout] test anaglyph_view::tests::test_to_json_has_method ... ok
[INFO] [stdout] test anamorphic_view::tests::test_bokeh_oval_ratio_default ... ok
[INFO] [stdout] test anamorphic_view::tests::test_default_squeeze_2x ... ok
[INFO] [stdout] test anamorphic_view::tests::test_enabled_default ... ok
[INFO] [stdout] test anamorphic_view::tests::test_set_enabled ... ok
[INFO] [stdout] test anamorphic_view::tests::test_set_flare_clamped ... ok
[INFO] [stdout] test anaglyph_view::tests::test_convergence_clamped ... ok
[INFO] [stdout] test anaglyph_view::tests::test_default_convergence ... ok
[INFO] [stdout] test anamorphic_view::tests::test_squeeze_factor_1_33x ... ok
[INFO] [stdout] test anamorphic_view::tests::test_squeeze_factor_2x ... ok
[INFO] [stdout] test anamorphic_view::tests::test_to_json_contains_squeeze ... ok
[INFO] [stdout] test anamorphic_view::tests::test_set_squeeze ... ok
[INFO] [stdout] test anamorphic_view::tests::test_set_streak_clamped ... ok
[INFO] [stdout] test angle_distortion_view::tests::test_defaults ... ok
[INFO] [stdout] test angle_distortion_view::tests::test_color_hot ... ok
[INFO] [stdout] test angle_distortion_view::tests::test_color_90_green ... ok
[INFO] [stdout] test angle_distortion_view::tests::test_distortion_score_nonzero ... ok
[INFO] [stdout] test angle_distortion_view::tests::test_max_deg_clamp ... ok
[INFO] [stdout] test angle_distortion_view::tests::test_distortion_score_zero ... ok
[INFO] [stdout] test angle_distortion_view::tests::test_enable ... ok
[INFO] [stdout] test anisotropy_debug_view::tests::test_aniso_rotation_from_map ... ok
[INFO] [stdout] test anisotropy_debug_view::tests::test_aniso_debug_line ... ok
[INFO] [stdout] test angle_distortion_view::tests::test_to_json ... ok
[INFO] [stdout] test angle_distortion_view::tests::test_set_max_deg ... ok
[INFO] [stdout] test anisotropy_debug_view::tests::test_aniso_should_show_true ... ok
[INFO] [stdout] test anisotropy_debug_view::tests::test_aniso_tangent_color_zero ... ok
[INFO] [stdout] test annotation::tests::test_add_arrow ... ok
[INFO] [stdout] test anisotropy_debug_view::tests::test_new_anisotropy_debug_view ... ok
[INFO] [stdout] test annotation::tests::test_clear_layer ... ok
[INFO] [stdout] test annotation::tests::test_add_label_and_get ... ok
[INFO] [stdout] test alpha_threshold::tests::is_opaque_above_threshold ... ok
[INFO] [stdout] test annotation::tests::test_annotation_count ... ok
[INFO] [stdout] test acceleration_view::tests::test_json_keys ... ok
[INFO] [stdout] test annotation::tests::test_ids_unique ... ok
[INFO] [stdout] test annotation::tests::test_add_measurement ... ok
[INFO] [stdout] test annotation::tests::test_measurement_length ... ok
[INFO] [stdout] test annotation::tests::test_new_layer ... ok
[INFO] [stdout] test annotation::tests::test_measurement_midpoint ... ok
[INFO] [stdout] test annotation::tests::test_add_highlight ... ok
[INFO] [stdout] test annotation::tests::test_project_to_screen_identity ... ok
[INFO] [stdout] test annotation::tests::test_remove_annotation ... ok
[INFO] [stdout] test annotation::tests::test_set_layer_visible ... ok
[INFO] [stdout] test annotation::tests::test_remove_nonexistent ... ok
[INFO] [stdout] test annotation::tests::test_visible_annotations_filter ... ok
[INFO] [stdout] test ao_debug_view::tests::test_ao_color_inverted ... ok
[INFO] [stdout] test ao_debug_view::tests::test_ao_color_one ... ok
[INFO] [stdout] test ao_debug_view::tests::test_enable ... ok
[INFO] [stdout] test ao_debug_view::tests::test_new_defaults ... ok
[INFO] [stdout] test ao_debug_view::tests::test_set_power ... ok
[INFO] [stdout] test ao_debug_view::tests::test_set_power_clamp_high ... ok
[INFO] [stdout] test ao_debug_view::tests::test_to_json ... ok
[INFO] [stdout] test ascii_art_view::tests::test_cell_size_clamped ... ok
[INFO] [stdout] test ascii_art_view::tests::test_cell_size_max_clamped ... ok
[INFO] [stdout] test ao_debug_view::tests::test_ao_color_zero ... ok
[INFO] [stdout] test ascii_art_view::tests::test_default_cell_size ... ok
[INFO] [stdout] test ascii_art_view::tests::test_default_palette ... ok
[INFO] [stdout] test ao_debug_view::tests::test_set_power_clamp_low ... ok
[INFO] [stdout] test ascii_art_view::tests::test_enabled_default ... ok
[INFO] [stdout] test ascii_art_view::tests::test_set_colored ... ok
[INFO] [stdout] test ascii_art_view::tests::test_set_enabled ... ok
[INFO] [stdout] test aspect_ratio_view::tests::test_clone ... ok
[INFO] [stdout] test aspect_ratio_view::tests::test_defaults ... ok
[INFO] [stdout] test aspect_ratio_view::tests::test_enabled_toggle ... ok
[INFO] [stdout] test aspect_ratio_view::tests::test_mask_alpha_clamp ... ok
[INFO] [stdout] test aspect_ratio_view::tests::test_default_trait ... ok
[INFO] [stdout] test aspect_ratio_view::tests::test_mask_alpha_zero ... ok
[INFO] [stdout] test aspect_ratio_view::tests::test_json ... ok
[INFO] [stdout] test aspect_ratio_view::tests::test_set_ratio ... ok
[INFO] [stdout] test axis_label::tests::test_default ... ok
[INFO] [stdout] test axis_label::tests::test_generate_x_only ... ok
[INFO] [stdout] test axis_label::tests::test_generate_all ... ok
[INFO] [stdout] test axis_label::tests::test_set_font_size_min ... ok
[INFO] [stdout] test axis_label::tests::test_to_json ... ok
[INFO] [stdout] test axis_label::tests::test_toggle_axis ... ok
[INFO] [stdout] test axis_label::tests::test_visible_count ... ok
[INFO] [stdout] test axis_label::tests::test_visible_count_partial ... ok
[INFO] [stdout] test background_renderer::tests::background_pixel_grid_correct_count ... ok
[INFO] [stdout] test background_renderer::tests::background_pixel_grid_single_pixel ... ok
[INFO] [stdout] test background_renderer::tests::background_to_json_contains_type ... ok
[INFO] [stdout] test background_renderer::tests::background_type_name_all_variants ... ok
[INFO] [stdout] test background_renderer::tests::checkerboard_alternates ... ok
[INFO] [stdout] test background_renderer::tests::cubemap_stub_returns_top_color ... ok
[INFO] [stdout] test background_renderer::tests::default_config_is_solid ... ok
[INFO] [stdout] test background_renderer::tests::gradient_color_at_one ... ok
[INFO] [stdout] test background_renderer::tests::gradient_color_at_zero ... ok
[INFO] [stdout] test background_renderer::tests::gradient_color_midpoint ... ok
[INFO] [stdout] test ascii_art_view::tests::test_set_invert ... ok
[INFO] [stdout] test background_renderer::tests::horizontal_gradient_varies_by_u ... ok
[INFO] [stdout] test ascii_art_view::tests::test_set_palette ... ok
[INFO] [stdout] test ascii_art_view::tests::test_to_json_has_palette ... ok
[INFO] [stdout] test background_renderer::tests::is_dynamic_background_correct ... ok
[INFO] [stdout] test aspect_ratio_view::tests::test_aspect_value_16_9 ... ok
[INFO] [stdout] test background_renderer::tests::vertical_gradient_top_is_top_color ... ok
[INFO] [stdout] test background_renderer::tests::new_background_config_sets_type ... ok
[INFO] [stdout] test background_renderer::tests::sample_solid_returns_top_color ... ok
[INFO] [stdout] test barycentric_view::tests::coords_at_vertex_a ... ok
[INFO] [stdout] test background_renderer::tests::set_checker_size_clamps_min ... ok
[INFO] [stdout] test barycentric_view::tests::coords_inside ... ok
[INFO] [stdout] test barycentric_view::tests::default_disabled ... ok
[INFO] [stdout] test barycentric_view::tests::edge_width_clamps ... ok
[INFO] [stdout] test barycentric_view::tests::interpolate_at_center ... ok
[INFO] [stdout] test barycentric_view::tests::enable_disable ... ok
[INFO] [stdout] test axis_label::tests::test_label_position_offset ... ok
[INFO] [stdout] test axis_label::tests::test_label_text ... ok
[INFO] [stdout] test barycentric_view::tests::coords_outside ... ok
[INFO] [stdout] test bent_normal_debug::tests::angle_parallel_is_zero ... ok
[INFO] [stdout] test bent_normal_debug::tests::clear_empties ... ok
[INFO] [stdout] test bent_normal_debug::tests::default_config_disabled ... ok
[INFO] [stdout] test bent_normal_debug::tests::color_up_normal ... ok
[INFO] [stdout] test bent_normal_debug::tests::enable_sets_flag ... ok
[INFO] [stdout] test bent_normal_debug::tests::filter_by_ao ... ok
[INFO] [stdout] test barycentric_view::tests::to_json_has_enabled ... ok
[INFO] [stdout] test barycentric_view::tests::interpolate_at_v0 ... ok
[INFO] [stdout] test bent_normal_debug::tests::json_contains_count ... ok
[INFO] [stdout] test bent_normal_debug::tests::add_and_count ... ok
[INFO] [stdout] test bidirectional_path_view::tests::test_bdpt_connection_weight ... ok
[INFO] [stdout] test bidirectional_path_view::tests::test_bdpt_depth_color ... ok
[INFO] [stdout] test bidirectional_path_view::tests::test_bdpt_strategy_count ... ok
[INFO] [stdout] test bent_normal_debug::tests::normalize_unit_vector ... ok
[INFO] [stdout] test bent_normal_debug::tests::normalize_zero_returns_up ... ok
[INFO] [stdout] test bidirectional_path_view::tests::test_new_bdpt_debug_view ... ok
[INFO] [stdout] test bidirectional_path_view::tests::test_bdpt_path_color_light ... ok
[INFO] [stdout] test blend_shape_preview::tests::test_displacement_heat_color_zero ... ok
[INFO] [stdout] test blend_shape_preview::tests::test_normalized_weight ... ok
[INFO] [stdout] test blend_shape_preview::tests::test_reset ... ok
[INFO] [stdout] test blend_shape_preview::tests::test_set_weight_negative_clamped ... ok
[INFO] [stdout] test blend_tree_graph_view::tests::test_add_node ... ok
[INFO] [stdout] test blend_tree_graph_view::tests::test_clear ... ok
[INFO] [stdout] test blend_shape_preview::tests::test_apply_blend ... ok
[INFO] [stdout] test blend_shape_preview::tests::test_default_config ... ok
[INFO] [stdout] test blend_tree_graph_view::tests::test_initial_empty ... ok
[INFO] [stdout] test blend_tree_graph_view::tests::test_set_enabled ... ok
[INFO] [stdout] test blend_tree_graph_view::tests::test_set_pan ... ok
[INFO] [stdout] test blend_shape_preview::tests::test_set_weight_clamped ... ok
[INFO] [stdout] test blend_shape_preview::tests::test_update_no_cycle ... ok
[INFO] [stdout] test blend_tree_graph_view::tests::test_enabled_default ... ok
[INFO] [stdout] test blend_tree_graph_view::tests::test_to_json_has_node_count ... ok
[INFO] [stdout] test blend_tree_graph_view::tests::test_zoom_min ... ok
[INFO] [stdout] test blend_tree_graph_view::tests::test_show_weights ... ok
[INFO] [stdout] test blue_noise_view::tests::test_blend ... ok
[INFO] [stdout] test blend_shape_preview::tests::test_to_json ... ok
[INFO] [stdout] test blue_noise_view::tests::test_is_animated_by_default ... ok
[INFO] [stdout] test blue_noise_view::tests::test_new ... ok
[INFO] [stdout] test blue_noise_view::tests::test_gradient_in_range ... ok
[INFO] [stdout] test blue_noise_view::tests::test_set_intensity_clamped ... ok
[INFO] [stdout] test blueprint_view::tests::test_default_scheme ... ok
[INFO] [stdout] test blueprint_view::tests::test_default_grid_spacing ... ok
[INFO] [stdout] test blueprint_view::tests::test_enabled_default ... ok
[INFO] [stdout] test blueprint_view::tests::test_line_width_clamped ... ok
[INFO] [stdout] test blueprint_view::tests::test_grid_spacing_clamped ... ok
[INFO] [stdout] test blueprint_view::tests::test_set_enabled ... ok
[INFO] [stdout] test blueprint_view::tests::test_set_scheme ... ok
[INFO] [stdout] test blueprint_view::tests::test_show_dimensions_default ... ok
[INFO] [stdout] test blueprint_view::tests::test_show_dimensions_toggle ... ok
[INFO] [stdout] test bone_envelope_debug_view::tests::test_default_display_mode ... ok
[INFO] [stdout] test blueprint_view::tests::test_to_json_has_scheme ... ok
[INFO] [stdout] test bone_envelope_debug_view::tests::test_enabled_default ... ok
[INFO] [stdout] test bone_envelope_debug_view::tests::test_opacity_clamp ... ok
[INFO] [stdout] test bone_envelope_debug_view::tests::test_set_display_mode ... ok
[INFO] [stdout] test bone_envelope_debug_view::tests::test_set_color ... ok
[INFO] [stdout] test bone_envelope_debug_view::tests::test_to_json_has_display_mode ... ok
[INFO] [stdout] test bone_envelope_debug_view::tests::test_default_opacity ... ok
[INFO] [stdout] test bone_envelope_debug_view::tests::test_set_enabled ... ok
[INFO] [stdout] test bone_envelope_view::tests::test_envelope_length ... ok
[INFO] [stdout] test bone_envelope_view::tests::test_approx_volume_positive ... ok
[INFO] [stdout] test bone_envelope_debug_view::tests::test_show_head_tail ... ok
[INFO] [stdout] test bone_envelope_view::tests::test_point_in_envelope_inside ... ok
[INFO] [stdout] test bone_envelope_view::tests::test_point_in_envelope_outside ... ok
[INFO] [stdout] test bone_envelope_view::tests::test_to_json ... ok
[INFO] [stdout] test bone_influence_view::tests::test_clone ... ok
[INFO] [stdout] test bone_envelope_view::tests::test_toggle_wireframe ... ok
[INFO] [stdout] test bone_influence_view::tests::test_enable ... ok
[INFO] [stdout] test bone_influence_view::tests::test_influence_color_one ... ok
[INFO] [stdout] test bone_influence_view::tests::test_influence_color_zero ... ok
[INFO] [stdout] test bone_envelope_view::tests::test_set_opacity_clamped ... ok
[INFO] [stdout] test bone_influence_view::tests::test_is_valid_bone ... ok
[INFO] [stdout] test bone_envelope_view::tests::test_default ... ok
[INFO] [stdout] test bone_influence_view::tests::test_set_bone ... ok
[INFO] [stdout] test bone_influence_view::tests::test_set_bone_clamped ... ok
[INFO] [stdout] test bone_influence_view::tests::test_to_json ... ok
[INFO] [stdout] test boundary_view::tests::test_clone ... ok
[INFO] [stdout] test boundary_view::tests::test_new_defaults ... ok
[INFO] [stdout] test boundary_view::tests::test_set_color ... ok
[INFO] [stdout] test boundary_view::tests::test_set_color_clamp ... ok
[INFO] [stdout] test boundary_view::tests::test_to_json ... ok
[INFO] [stdout] test boundary_view::tests::test_toggle_pulse ... ok
[INFO] [stdout] test bounding_volume_view::tests::test_clone ... ok
[INFO] [stdout] test bone_influence_view::tests::test_new_defaults ... ok
[INFO] [stdout] test bounding_volume_view::tests::test_color_leaf ... ok
[INFO] [stdout] test boundary_view::tests::test_boundary_color_no_pulse ... ok
[INFO] [stdout] test bounding_volume_view::tests::test_enable ... ok
[INFO] [stdout] test bounding_volume_view::tests::test_color_inner ... ok
[INFO] [stdout] test bounding_volume_view::tests::test_json_keys ... ok
[INFO] [stdout] test bounding_volume_view::tests::test_inner_toggle ... ok
[INFO] [stdout] test bounding_volume_view::tests::test_max_depth_clamp ... ok
[INFO] [stdout] test boundary_view::tests::test_boundary_color_pulse_range ... ok
[INFO] [stdout] test broad_phase_view::tests::test_clone ... ok
[INFO] [stdout] test broad_phase_view::tests::test_aabb_alpha_component ... ok
[INFO] [stdout] test bounding_volume_view::tests::test_defaults ... ok
[INFO] [stdout] test broad_phase_view::tests::test_color_aabb ... ok
[INFO] [stdout] test broad_phase_view::tests::test_default_show_pairs_true ... ok
[INFO] [stdout] test broad_phase_view::tests::test_color_overlap ... ok
[INFO] [stdout] test boundary_view::tests::test_enable ... ok
[INFO] [stdout] test bounding_volume_view::tests::test_max_depth_set ... ok
[INFO] [stdout] test broad_phase_view::tests::test_defaults ... ok
[INFO] [stdout] test broad_phase_view::tests::test_enable ... ok
[INFO] [stdout] test broad_phase_view::tests::test_json_keys ... ok
[INFO] [stdout] test broad_phase_view::tests::test_pairs_toggle ... ok
[INFO] [stdout] test bssrdf_view::tests::test_bssrdf_dipole_profile_positive ... ok
[INFO] [stdout] test bssrdf_view::tests::test_bssrdf_is_within_radius ... ok
[INFO] [stdout] test bssrdf_view::tests::test_bssrdf_mean_free_path ... ok
[INFO] [stdout] test bssrdf_view::tests::test_new_bssrdf_view ... ok
[INFO] [stdout] test bssrdf_view::tests::test_bssrdf_radius_color ... ok
[INFO] [stdout] test cage_edit_view::tests::test_initial_no_selection ... ok
[INFO] [stdout] test cage_edit_view::tests::test_enabled_default ... ok
[INFO] [stdout] test cage_edit_view::tests::test_clear_selection ... ok
[INFO] [stdout] test cage_edit_view::tests::test_set_enabled ... ok
[INFO] [stdout] test cage_edit_view::tests::test_line_width_min ... ok
[INFO] [stdout] test cage_edit_view::tests::test_no_duplicate_selection ... ok
[INFO] [stdout] test cage_edit_view::tests::test_select_vertex ... ok
[INFO] [stdout] test cage_edit_view::tests::test_show_vertices_default ... ok
[INFO] [stdout] test cage_edit_view::tests::test_to_json_has_line_width ... ok
[INFO] [stdout] test camera::tests::camera_orbit_changes_position ... ok
[INFO] [stdout] test camera::tests::camera_orbit_preserves_distance ... ok
[INFO] [stdout] test camera::tests::camera_default_values ... ok
[INFO] [stdout] test camera::tests::camera_view_matrix_is_4x4 ... ok
[INFO] [stdout] test camera::tests::camera_zoom_changes_distance ... ok
[INFO] [stdout] test camera_animation::tests::add_keyframe_inserts_sorted ... ok
[INFO] [stdout] test camera::tests::camera_view_matrix_last_column_homogeneous ... ok
[INFO] [stdout] test camera_animation::tests::advance_camera_anim_increments ... ok
[INFO] [stdout] test camera_animation::tests::blend_tracks_mismatched_returns_none ... ok
[INFO] [stdout] test camera_animation::tests::advance_camera_anim_paused ... ok
[INFO] [stdout] test camera_animation::tests::blend_tracks_at_zero_gives_a ... ok
[INFO] [stdout] test camera::tests::camera_zoom_clamps_minimum_distance ... ok
[INFO] [stdout] test camera_animation::tests::new_camera_track_is_empty ... ok
[INFO] [stdout] test camera_animation::tests::remove_keyframe_out_of_range ... ok
[INFO] [stdout] test camera_animation::tests::remove_keyframe_valid ... ok
[INFO] [stdout] test camera_animation::tests::camera_at_start_and_end ... ok
[INFO] [stdout] test camera_animation::tests::nearest_keyframe_finds_closest ... ok
[INFO] [stdout] test camera_animation::tests::sample_track_before_first ... ok
[INFO] [stdout] test camera_animation::tests::sample_track_interpolation ... ok
[INFO] [stdout] test camera_animation::tests::set_looping_works ... ok
[INFO] [stdout] test camera_animation::tests::track_duration_empty ... ok
[INFO] [stdout] test camera_animation::tests::track_to_json_contains_name ... ok
[INFO] [stdout] test camera_animation::tests::sample_track_single_keyframe ... ok
[INFO] [stdout] test camera_dolly::tests::test_add_point ... ok
[INFO] [stdout] test camera_animation::tests::track_duration_two_keyframes ... ok
[INFO] [stdout] test camera_animation::tests::reverse_track_reverses_order ... ok
[INFO] [stdout] test camera_dolly::tests::test_duration ... ok
[INFO] [stdout] test camera_animation::tests::sample_track_empty_returns_none ... ok
[INFO] [stdout] test camera_dolly::tests::test_evaluate_clamped ... ok
[INFO] [stdout] test camera_dolly::tests::test_distance ... ok
[INFO] [stdout] test camera_dolly::tests::test_duration_single ... ok
[INFO] [stdout] test camera_dolly::tests::test_reset ... ok
[INFO] [stdout] test camera_lens::tests::blend_midpoint ... ok
[INFO] [stdout] test camera_dolly::tests::test_evaluate_single ... ok
[INFO] [stdout] test camera_lens::tests::distortion_factor_one_at_zero_radius ... ok
[INFO] [stdout] test camera_dolly::tests::test_new_dolly ... ok
[INFO] [stdout] test camera_dolly::tests::test_evaluate_empty ... ok
[INFO] [stdout] test camera_lens::tests::focal_clamp_max ... ok
[INFO] [stdout] test camera_dolly::tests::test_to_json ... ok
[INFO] [stdout] test camera_lens::tests::default_50mm ... ok
[INFO] [stdout] test camera_dolly::tests::test_evaluate_interpolation ... ok
[INFO] [stdout] test camera_lens::tests::dof_near_less_than_far ... ok
[INFO] [stdout] test camera_lens::tests::focal_clamp_min ... ok
[INFO] [stdout] test camera_lens::tests::fov_positive ... ok
[INFO] [stdout] test camera_lens::tests::json_has_focal ... ok
[INFO] [stdout] test camera_lens::tests::preset_telephoto_focal ... ok
[INFO] [stdout] test camera_lens::tests::preset_wide_focal ... ok
[INFO] [stdout] test camera_pivot::tests::default_not_at_origin ... ok
[INFO] [stdout] test camera_pivot::tests::distance_to_eye ... ok
[INFO] [stdout] test camera_pivot::tests::orbit_position_distance ... ok
[INFO] [stdout] test camera_pivot::tests::reset_to_default ... ok
[INFO] [stdout] test camera_pivot::tests::set_position ... ok
[INFO] [stdout] test camera_pivot::tests::to_json_fields ... ok
[INFO] [stdout] test camera_pivot::tests::transition_starts_at_from ... ok
[INFO] [stdout] test camera_presets::tests::test_camera_forward_unit_length ... ok
[INFO] [stdout] test camera_presets::tests::test_add_custom_preset_increases_count ... ok
[INFO] [stdout] test camera_presets::tests::test_get_preset_found ... ok
[INFO] [stdout] test camera_presets::tests::test_camera_right_unit_length ... ok
[INFO] [stdout] test camera_presets::tests::test_interpolate_views_at_zero_equals_a ... ok
[INFO] [stdout] test camera_pivot::tests::move_by ... ok
[INFO] [stdout] test camera_pivot::tests::transition_ends_at_to ... ok
[INFO] [stdout] test camera_presets::tests::test_interpolate_views_midpoint ... ok
[INFO] [stdout] test camera_presets::tests::test_orbit_at_elevation_90_y_dominant ... ok
[INFO] [stdout] test camera_presets::tests::test_preset_count ... ok
[INFO] [stdout] test camera_presets::tests::test_preset_view_nonzero_position ... ok
[INFO] [stdout] test camera_presets::tests::test_preset_name_nonempty ... ok
[INFO] [stdout] test camera_presets::tests::test_projection_matrix_no_nan ... ok
[INFO] [stdout] test camera_presets::tests::test_view_matrix_is_4x4 ... ok
[INFO] [stdout] test camera_rig::tests::default_orbit_camera_valid ... ok
[INFO] [stdout] test camera_presets::tests::test_zoom_view_changes_distance ... ok
[INFO] [stdout] test camera_rig::tests::fly_camera_view_matrix_no_nan ... ok
[INFO] [stdout] test camera_rig::tests::fly_look_clamps_pitch ... ok
[INFO] [stdout] test camera_rig::tests::fly_move_changes_position ... ok
[INFO] [stdout] test camera_rig::tests::look_at_matrix_deterministic ... ok
[INFO] [stdout] test camera_rig::tests::look_at_matrix_no_nan ... ok
[INFO] [stdout] test camera_rig::tests::orbit_rotate_changes_azimuth ... ok
[INFO] [stdout] test camera_rig::tests::orbit_position_at_zero_angles ... ok
[INFO] [stdout] test camera_rig::tests::orbit_zoom_clamps_minimum ... ok
[INFO] [stdout] test camera_rig::tests::orbit_position_no_nan ... ok
[INFO] [stdout] test camera_rig::tests::orbit_zoom_moves_closer ... ok
[INFO] [stdout] test camera_rig::tests::perspective_matrix_no_nan ... ok
[INFO] [stdout] test camera_rig::tests::projection_matrix_no_nan ... ok
[INFO] [stdout] test camera_rig::tests::test_cr_active_camera_default ... ok
[INFO] [stdout] test camera_rig::tests::test_cr_add_node ... ok
[INFO] [stdout] test camera_rig::tests::test_cr_node_count ... ok
[INFO] [stdout] test camera_rig::tests::test_cr_node_local_pos ... ok
[INFO] [stdout] test camera_rig::tests::test_cr_set_active ... ok
[INFO] [stdout] test camera_rig::tests::test_cr_set_active_oob_safe ... ok
[INFO] [stdout] test camera_rig::tests::test_cr_set_parent ... ok
[INFO] [stdout] test camera_rig::tests::test_cr_set_parent_oob_safe ... ok
[INFO] [stdout] test camera_rig::tests::view_matrix_no_nan ... ok
[INFO] [stdout] test camera_rig_v2::tests::default_is_orbit_mode ... ok
[INFO] [stdout] test camera_rig_v2::tests::dolly_clamps_minimum ... ok
[INFO] [stdout] test camera_rig_v2::tests::dolly_reduces_distance ... ok
[INFO] [stdout] test camera_rig_v2::tests::eye_position_differs_from_target ... ok
[INFO] [stdout] test camera_rig_v2::tests::pitch_clamps_at_extremes ... ok
[INFO] [stdout] test camera_rig_v2::tests::json_has_yaw ... ok
[INFO] [stdout] test camera_presets::tests::test_projection_matrix_is_4x4 ... ok
[INFO] [stdout] test camera_presets::tests::test_view_matrix_no_nan ... ok
[INFO] [stdout] test camera_rig::tests::fly_look_changes_yaw ... ok
[INFO] [stdout] test camera_rig::tests::orbit_rotate_clamps_elevation ... ok
[INFO] [stdout] test camera_rig_v2::tests::reset_returns_to_default ... ok
[INFO] [stdout] test camera_rig_v2::tests::set_mode_works ... ok
[INFO] [stdout] test camera_rig_v2::tests::still_when_no_impulse ... ok
[INFO] [stdout] test camera_shake_v2::tests::add_trauma ... ok
[INFO] [stdout] test camera_shake_v2::tests::default_config ... ok
[INFO] [stdout] test camera_shake_v2::tests::new_state_inactive ... ok
[INFO] [stdout] test camera_shake_v2::tests::position_offset_zero_when_no_trauma ... ok
[INFO] [stdout] test camera_shake_v2::tests::rotation_offset_nonzero_with_trauma ... ok
[INFO] [stdout] test camera_shake_v2::tests::to_json_fields ... ok
[INFO] [stdout] test camera_shake_v2::tests::trauma_clamps_to_max ... ok
[INFO] [stdout] test camera_shake_v2::tests::update_decays_trauma ... ok
[INFO] [stdout] test camera_shake_view::tests::test_amplitude_clamped ... ok
[INFO] [stdout] test camera_rig_v2::tests::step_decays_velocity ... ok
[INFO] [stdout] test camera_shake_view::tests::test_enabled_default ... ok
[INFO] [stdout] test camera_shake_view::tests::test_default_amplitude ... ok
[INFO] [stdout] test camera_shake_v2::tests::reset_clears_state ... ok
[INFO] [stdout] test camera_shake_view::tests::test_sample_offset_length ... ok
[INFO] [stdout] test camera_shake_view::tests::test_set_amplitude ... ok
[INFO] [stdout] test camera_shake_view::tests::test_set_enabled ... ok
[INFO] [stdout] test camera_shake_view::tests::test_to_json_contains_amplitude ... ok
[INFO] [stdout] test camera_shake_view::tests::test_tick_advances_time ... ok
[INFO] [stdout] test camera_shake_view::tests::test_set_profile ... ok
[INFO] [stdout] test camera_smooth::tests::distance_nonzero_after_set ... ok
[INFO] [stdout] test camera_smooth::tests::reset_zeroes ... ok
[INFO] [stdout] test camera_smooth::tests::set_instant_applies ... ok
[INFO] [stdout] test camera_smooth::tests::step_does_not_overshoot ... ok
[INFO] [stdout] test camera_smooth::tests::step_moves_toward_target ... ok
[INFO] [stdout] test camera_smooth::tests::default_at_origin ... ok
[INFO] [stdout] test camera_smooth::tests::to_json_has_dist ... ok
[INFO] [stdout] test camera_smooth::tests::view_angle_nonneg ... ok
[INFO] [stdout] test camera_track::tests::add_key_increments_count ... ok
[INFO] [stdout] test camera_track::tests::arc_length_positive ... ok
[INFO] [stdout] test camera_smooth::tests::distance_zero_at_origin ... ok
[INFO] [stdout] test camera_smooth::tests::lag_clamps_in_step ... ok
[INFO] [stdout] test camera_shake_view::tests::test_negative_dt_ignored ... ok
[INFO] [stdout] test camera_track::tests::duration_two_keys ... ok
[INFO] [stdout] test camera_track::tests::empty_track_sample_is_none ... ok
[INFO] [stdout] test camera_track::tests::json_has_key_count ... ok
[INFO] [stdout] test camera_track::tests::remove_key_decrements_count ... ok
[INFO] [stdout] test camera_track::tests::empty_track_zero_keys ... ok
[INFO] [stdout] test camera_track::tests::sample_midpoint_linear ... ok
[INFO] [stdout] test camera_track::tests::sample_single_key ... ok
[INFO] [stdout] test caustic_debug_view::tests::test_caustic_concentration_factor ... ok
[INFO] [stdout] test camera_track::tests::full_circle_is_two_pi ... ok
[INFO] [stdout] test caustic_debug_view::tests::test_caustic_is_bright ... ok
[INFO] [stdout] test caustic_debug_view::tests::test_caustic_photon_hit_color ... ok
[INFO] [stdout] test cavity_map_view::tests::test_apply_flat_unchanged ... ok
[INFO] [stdout] test cavity_map_view::tests::test_apply_valley_darkens ... ok
[INFO] [stdout] test cavity_map_view::tests::test_curvature_to_cavity_clamped ... ok
[INFO] [stdout] test cavity_map_view::tests::test_curvature_to_cavity_flat ... ok
[INFO] [stdout] test cavity_map_view::tests::test_enable_disable ... ok
[INFO] [stdout] test cavity_map_view::tests::test_reset ... ok
[INFO] [stdout] test cavity_map_view::tests::test_default ... ok
[INFO] [stdout] test cel_shade_view::tests::test_custom_bands ... ok
[INFO] [stdout] test cavity_map_view::tests::test_set_intensity_clamped ... ok
[INFO] [stdout] test caustic_debug_view::tests::test_caustic_irradiance_color_zero ... ok
[INFO] [stdout] test caustic_debug_view::tests::test_new_caustic_debug_view ... ok
[INFO] [stdout] test cel_shade_view::tests::test_outline_width_clamped ... ok
[INFO] [stdout] test cavity_map_view::tests::test_to_json ... ok
[INFO] [stdout] test cel_shade_view::tests::test_default_bands ... ok
[INFO] [stdout] test cel_shade_view::tests::test_default_outline_width ... ok
[INFO] [stdout] test cel_shade_view::tests::test_enabled_default ... ok
[INFO] [stdout] test cel_shade_view::tests::test_set_outline_color ... ok
[INFO] [stdout] test cel_shade_view::tests::test_set_specular ... ok
[INFO] [stdout] test charcoal_view::tests::test_darkness_clamped ... ok
[INFO] [stdout] test charcoal_view::tests::test_default_dir ... ok
[INFO] [stdout] test charcoal_view::tests::test_enabled_default ... ok
[INFO] [stdout] test charcoal_view::tests::test_grain_scale_clamped_max ... ok
[INFO] [stdout] test cel_shade_view::tests::test_set_bands ... ok
[INFO] [stdout] test cel_shade_view::tests::test_set_enabled ... ok
[INFO] [stdout] test charcoal_view::tests::test_set_enabled ... ok
[INFO] [stdout] test cel_shade_view::tests::test_to_json_has_bands ... ok
[INFO] [stdout] test charcoal_view::tests::test_default_trait ... ok
[INFO] [stdout] test charcoal_view::tests::test_grain_scale_clamped_min ... ok
[INFO] [stdout] test charcoal_view::tests::test_set_dir ... ok
[INFO] [stdout] test checkerboard_pattern::tests::cb_sample_alternates ... ok
[INFO] [stdout] test checkerboard_pattern::tests::cb_sample_origin_is_color_a ... ok
[INFO] [stdout] test checkerboard_pattern::tests::default_disabled ... ok
[INFO] [stdout] test checkerboard_pattern::tests::enable_disable ... ok
[INFO] [stdout] test checkerboard_pattern::tests::generate_row_alternates_cells ... ok
[INFO] [stdout] test checkerboard_pattern::tests::generate_row_length ... ok
[INFO] [stdout] test checkerboard_pattern::tests::to_json_has_cell_size ... ok
[INFO] [stdout] test chroma_key_view::tests::test_defaults ... ok
[INFO] [stdout] test chroma_key_view::tests::test_evaluate_keyed_out ... ok
[INFO] [stdout] test charcoal_view::tests::test_smudge_amount_clamped ... ok
[INFO] [stdout] test chroma_key_view::tests::test_json ... ok
[INFO] [stdout] test charcoal_view::tests::test_to_json_has_dir ... ok
[INFO] [stdout] test checkerboard_pattern::tests::cell_size_min_one ... ok
[INFO] [stdout] test checkerboard_pattern::tests::default_cell_size ... ok
[INFO] [stdout] test chroma_key_view::tests::test_clone ... ok
[INFO] [stdout] test chroma_key_view::tests::test_evaluate_not_keyed ... ok
[INFO] [stdout] test chroma_key_view::tests::test_spill_suppression_set ... ok
[INFO] [stdout] test chroma_key_view::tests::test_tolerance_clamp ... ok
[INFO] [stdout] test chromatic_shift_view::tests::test_default_red_offset ... ok
[INFO] [stdout] test chromatic_shift_view::tests::test_set_enabled_false ... ok
[INFO] [stdout] test chromatic_shift_view::tests::test_set_intensity ... ok
[INFO] [stdout] test chromatic_shift_view::tests::test_set_red_offset ... ok
[INFO] [stdout] test chromatic_shift_view::tests::test_shifted_uv_zero_intensity ... ok
[INFO] [stdout] test chromatic_shift_view::tests::test_toggle_channels ... ok
[INFO] [stdout] test chromatic_shift_view::tests::test_to_json_contains_intensity ... ok
[INFO] [stdout] test chromatic_shift_view::tests::test_shift_magnitude_positive ... ok
[INFO] [stdout] test chromatic_shift_view::tests::test_set_blue_offset ... ok
[INFO] [stdout] test chromatic_shift_view::tests::test_set_intensity_clamps ... ok
[INFO] [stdout] test chroma_key_view::tests::test_set_key_color ... ok
[INFO] [stdout] test chroma_key_view::tests::test_softness_set ... ok
[INFO] [stdout] test chromatic_split_view::tests::test_clone ... ok
[INFO] [stdout] test chromatic_split_view::tests::test_blend_midpoint ... ok
[INFO] [stdout] test chromatic_split_view::tests::test_set_offset_clamps_high ... ok
[INFO] [stdout] test chromatic_split_view::tests::test_to_json_contains_enabled ... ok
[INFO] [stdout] test chromatic_split_view::tests::test_to_json_disabled_false ... ok
[INFO] [stdout] test clapper_view::tests::test_animate_tick_completes ... ok
[INFO] [stdout] test clapper_view::tests::test_animation_speed_clamp ... ok
[INFO] [stdout] test chromatic_split_view::tests::test_new_offsets_zero ... ok
[INFO] [stdout] test chromatic_split_view::tests::test_enable_disable ... ok
[INFO] [stdout] test chromatic_split_view::tests::test_set_offset_clamps_low ... ok
[INFO] [stdout] test clapper_view::tests::test_json ... ok
[INFO] [stdout] test clapper_view::tests::test_clone ... ok
[INFO] [stdout] test clapper_view::tests::test_defaults ... ok
[INFO] [stdout] test chromatic_split_view::tests::test_new_is_disabled ... ok
[INFO] [stdout] test clapper_view::tests::test_set_scene ... ok
[INFO] [stdout] test clapper_view::tests::test_set_state_closed ... ok
[INFO] [stdout] test clearcoat_view::tests::test_clearcoat_factor_color_black ... ok
[INFO] [stdout] test clearcoat_view::tests::test_clearcoat_fresnel_normal ... ok
[INFO] [stdout] test clearcoat_view::tests::test_clearcoat_is_visible ... ok
[INFO] [stdout] test clearcoat_view::tests::test_clearcoat_roughness_color ... ok
[INFO] [stdout] test clip_space_debug::tests::test_classify_behind ... ok
[INFO] [stdout] test clip_space_debug::tests::test_classify_inside ... ok
[INFO] [stdout] test clip_space_debug::tests::test_classify_outside_x ... ok
[INFO] [stdout] test clip_space_debug::tests::test_color_inside ... ok
[INFO] [stdout] test clip_space_debug::tests::test_count_inside ... ok
[INFO] [stdout] test clip_space_debug::tests::test_enable_disable ... ok
[INFO] [stdout] test clapper_view::tests::test_set_take ... ok
[INFO] [stdout] test clapper_view::tests::test_set_state_open ... ok
[INFO] [stdout] test clip_space_debug::tests::test_classify_outside_neg_z ... ok
[INFO] [stdout] test clip_space_debug::tests::test_default ... ok
[INFO] [stdout] test clearcoat_view::tests::test_new_clearcoat_view ... ok
[INFO] [stdout] test clip_space_debug::tests::test_to_json ... ok
[INFO] [stdout] test cloth_debug_view::tests::test_clone ... ok
[INFO] [stdout] test cloth_debug_view::tests::test_defaults ... ok
[INFO] [stdout] test cloth_debug_view::tests::test_enable ... ok
[INFO] [stdout] test cloth_debug_view::tests::test_json_keys ... ok
[INFO] [stdout] test cloth_debug_view::tests::test_particle_size_clamp_min ... ok
[INFO] [stdout] test cloth_debug_view::tests::test_particles_toggle ... ok
[INFO] [stdout] test cloth_props_view::tests::test_bending ... ok
[INFO] [stdout] test cloth_props_view::tests::test_damping ... ok
[INFO] [stdout] test cloth_props_view::tests::test_json_keys ... ok
[INFO] [stdout] test cloth_debug_view::tests::test_particle_size_set ... ok
[INFO] [stdout] test cloth_debug_view::tests::test_velocities_toggle ... ok
[INFO] [stdout] test clip_space_debug::tests::test_set_point_size_min ... ok
[INFO] [stdout] test cloth_props_view::tests::test_new ... ok
[INFO] [stdout] test cloth_debug_view::tests::test_constraints_toggle ... ok
[INFO] [stdout] test cloth_props_view::tests::test_quality_min ... ok
[INFO] [stdout] test cloth_props_view::tests::test_mass_clamp_low ... ok
[INFO] [stdout] test cloth_props_view::tests::test_tension ... ok
[INFO] [stdout] test cloth_props_view::tests::test_mass_clamp_high ... ok
[INFO] [stdout] test cloth_props_view::tests::test_quality_clamp ... ok
[INFO] [stdout] test cluster_cull::tests::clear_resets_visible ... ok
[INFO] [stdout] test cluster_cull::tests::count_matches_dims ... ok
[INFO] [stdout] test cluster_cull::tests::depth_slice_in_range ... ok
[INFO] [stdout] test cluster_cull::tests::mark_all_visible ... ok
[INFO] [stdout] test cluster_cull::tests::none_visible_initially ... ok
[INFO] [stdout] test cluster_cull::tests::set_visible_single ... ok
[INFO] [stdout] test cluster_cull::tests::flat_index_out_of_range ... ok
[INFO] [stdout] test cluster_cull_v2::tests::aabb_volume_correct ... ok
[INFO] [stdout] test cluster_cull::tests::flat_index_valid ... ok
[INFO] [stdout] test cluster_cull::tests::json_has_dims ... ok
[INFO] [stdout] test cluster_cull_v2::tests::clear_empties ... ok
[INFO] [stdout] test cluster_cull_v2::tests::depth_angle_nonneg ... ok
[INFO] [stdout] test cluster_cull_v2::tests::new_is_empty ... ok
[INFO] [stdout] test cluster_cull_v2::tests::to_json_has_visible ... ok
[INFO] [stdout] test cluster_cull_v2::tests::total_volume_sums_visible ... ok
[INFO] [stdout] test cluster_light::tests::add_and_count ... ok
[INFO] [stdout] test cluster_light::tests::default_config_tiles ... ok
[INFO] [stdout] test cluster_light::tests::depth_slice_clamps_far ... ok
[INFO] [stdout] test cluster_cull_v2::tests::cull_by_volume_hides_small ... ok
[INFO] [stdout] test cluster_cull_v2::tests::mark_all_visible ... ok
[INFO] [stdout] test cluster_cull_v2::tests::register_increments_count ... ok
[INFO] [stdout] test cluster_light::tests::enabled_count ... ok
[INFO] [stdout] test cluster_cull_v2::tests::visible_count_after_hide ... ok
[INFO] [stdout] test cluster_light::tests::depth_slice_clamps_near ... ok
[INFO] [stdout] test cluster_light::tests::json_contains_light_count ... ok
[INFO] [stdout] test cluster_light::tests::remove_light ... ok
[INFO] [stdout] test cluster_light::tests::total_tiles ... ok
[INFO] [stdout] test cluster_probe::tests::clear_set ... ok
[INFO] [stdout] test cluster_probe::tests::contains_point_outside ... ok
[INFO] [stdout] test cluster_probe::tests::enabled_count ... ok
[INFO] [stdout] test cluster_light::tests::light_influence_inside ... ok
[INFO] [stdout] test cluster_probe::tests::add_and_count ... ok
[INFO] [stdout] test cluster_probe::tests::contains_point_inside ... ok
[INFO] [stdout] test cluster_probe::tests::find_for_point ... ok
[INFO] [stdout] test cluster_probe::tests::new_probe_enabled ... ok
[INFO] [stdout] test cluster_light::tests::light_influence_outside ... ok
[INFO] [stdout] test cluster_probe::tests::remove_probe ... ok
[INFO] [stdout] test cluster_shadow::tests::default_config ... ok
[INFO] [stdout] test cluster_shadow::tests::enabled_count_all_enabled ... ok
[INFO] [stdout] test cluster_shadow::tests::remove_entry ... ok
[INFO] [stdout] test cluster_shadow::tests::new_manager_empty ... ok
[INFO] [stdout] test cluster_probe::tests::volume_calculation ... ok
[INFO] [stdout] test cluster_shadow::tests::to_json_fields ... ok
[INFO] [stdout] test cluster_shadow::tests::add_entry ... ok
[INFO] [stdout] test cluster_shadow::tests::clear_entries ... ok
[INFO] [stdout] test cluster_probe::tests::set_intensity_clamps ... ok
[INFO] [stdout] test cluster_shadow::tests::set_disabled ... ok
[INFO] [stdout] test cluster_shadow::tests::total_clusters ... ok
[INFO] [stdout] test cluster_tile::tests::light_count_zero_oob ... ok
[INFO] [stdout] test cluster_tile::tests::set_and_get_light_count ... ok
[INFO] [stdout] test cluster_tile::tests::json_has_tiles_x ... ok
[INFO] [stdout] test cluster_tile::tests::flat_index_valid ... ok
[INFO] [stdout] test cluster_tile::tests::flat_index_out_of_bounds ... ok
[INFO] [stdout] test cluster_tile::tests::entry_depth_slice_correct ... ok
[INFO] [stdout] test cluster_tile::tests::clear_resets_lights ... ok
[INFO] [stdout] test cluster_view::tests::test_cluster_color_different ... ok
[INFO] [stdout] test cluster_view::tests::test_cluster_color_range ... ok
[INFO] [stdout] test cluster_view::tests::test_clone ... ok
[INFO] [stdout] test cluster_view::tests::test_enable ... ok
[INFO] [stdout] test cluster_view::tests::test_set_cluster_count_min ... ok
[INFO] [stdout] test cluster_view::tests::test_to_json ... ok
[INFO] [stdout] test cluster_visibility::tests::clear_empty ... ok
[INFO] [stdout] test cluster_visibility::tests::duplicate_register_ignored ... ok
[INFO] [stdout] test cluster_visibility::tests::fill_all_visible ... ok
[INFO] [stdout] test cluster_tile::tests::tile_count_matches_dimensions ... ok
[INFO] [stdout] test cluster_view::tests::test_toggle_centroids ... ok
[INFO] [stdout] test cluster_visibility::tests::json_has_dims ... ok
[INFO] [stdout] test cluster_visibility::tests::new_empty ... ok
[INFO] [stdout] test cluster_visibility::tests::set_visible ... ok
[INFO] [stdout] test cluster_visibility::tests::total_lights ... ok
[INFO] [stdout] test cluster_visibility::tests::visible_count_default_zero ... ok
[INFO] [stdout] test cluster_visibility::tests::register_adds_entry ... ok
[INFO] [stdout] test collision_shape_view::tests::test_clone ... ok
[INFO] [stdout] test collision_shape_view::tests::test_color_set ... ok
[INFO] [stdout] test collision_shape_view::tests::test_defaults ... ok
[INFO] [stdout] test collision_shape_view::tests::test_enable ... ok
[INFO] [stdout] test collision_shape_view::tests::test_filter_clear ... ok
[INFO] [stdout] test collision_shape_view::tests::test_filter_set ... ok
[INFO] [stdout] test collision_shape_view::tests::test_json_keys ... ok
[INFO] [stdout] test collision_shape_view::tests::test_line_width_max_clamp ... ok
[INFO] [stdout] test color_correction::tests::test_apply_disabled_passthrough ... ok
[INFO] [stdout] test color_correction::tests::test_apply_enabled_identity ... ok
[INFO] [stdout] test color_correction::tests::test_default_config ... ok
[INFO] [stdout] test color_correction::tests::test_reset ... ok
[INFO] [stdout] test collision_shape_view::tests::test_line_width_clamp ... ok
[INFO] [stdout] test color_correction::tests::test_set_brightness_clamps ... ok
[INFO] [stdout] test color_correction::tests::test_set_enabled ... ok
[INFO] [stdout] test color_correction::tests::test_set_saturation_clamps ... ok
[INFO] [stdout] test color_correction::tests::test_to_json ... ok
[INFO] [stdout] test color_correction::tests::test_set_contrast_clamps ... ok
[INFO] [stdout] test cluster_visibility::tests::total_clusters_product ... ok
[INFO] [stdout] test cluster_view::tests::test_set_cluster_count ... ok
[INFO] [stdout] test cluster_view::tests::test_new_defaults ... ok
[INFO] [stdout] test color_grade::tests::default_is_identity ... ok
[INFO] [stdout] test color_grade::tests::exposure_positive_brightens ... ok
[INFO] [stdout] test color_grade::tests::identity_channel_preserves_value ... ok
[INFO] [stdout] test color_grade::tests::json_has_lift ... ok
[INFO] [stdout] test color_grade::tests::lift_clamps ... ok
[INFO] [stdout] test color_grade::tests::reset_restores_identity ... ok
[INFO] [stdout] test color_grade::tests::saturation_zero_gives_gray ... ok
[INFO] [stdout] test color_grade::tests::blend_midpoint ... ok
[INFO] [stdout] test color_correction::tests::test_new_state_disabled ... ok
[INFO] [stdout] test color_lut::tests::apply_at_zero_intensity_returns_original ... ok
[INFO] [stdout] test cluster_tile::tests::tiles_x_matches_config ... ok
[INFO] [stdout] test color_lut::tests::identity_lut_is_identity ... ok
[INFO] [stdout] test color_lut::tests::identity_sample_passthrough ... ok
[INFO] [stdout] test color_grade::tests::gain_two_doubles_channel ... ok
[INFO] [stdout] test color_lut::tests::sample_corner_black ... ok
[INFO] [stdout] test cluster_tile::tests::total_assignments_sums ... ok
[INFO] [stdout] test color_lut::tests::lut_data_len_correct ... ok
[INFO] [stdout] test color_lut::tests::sample_corner_white ... ok
[INFO] [stdout] test color_lut::tests::name_stored ... ok
[INFO] [stdout] test color_grade::tests::gamma_clamps_low ... ok
[INFO] [stdout] test color_lut::tests::to_json_name ... ok
[INFO] [stdout] test color_management_view::tests::test_blend ... ok
[INFO] [stdout] test color_management_view::tests::test_encode_range ... ok
[INFO] [stdout] test color_management_view::tests::test_linearize_range ... ok
[INFO] [stdout] test color_management_view::tests::test_new ... ok
[INFO] [stdout] test color_lut::tests::set_intensity_clamps ... ok
[INFO] [stdout] test color_matrix::tests::blend_identity_with_self ... ok
[INFO] [stdout] test color_matrix::tests::hue_rotate_angle_nonneg ... ok
[INFO] [stdout] test color_matrix::tests::identity_det_is_one ... ok
[INFO] [stdout] test color_matrix::tests::saturation_one_unchanged ... ok
[INFO] [stdout] test color_matrix::tests::saturation_zero_greyscale ... ok
[INFO] [stdout] test color_matrix::tests::set_enabled_false ... ok
[INFO] [stdout] test color_picker::tests::test_color_distance_different ... ok
[INFO] [stdout] test color_matrix::tests::identity_is_identity ... ok
[INFO] [stdout] test color_picker::tests::test_color_distance_same ... ok
[INFO] [stdout] test color_picker::tests::test_color_picker_hex_string_red ... ok
[INFO] [stdout] test color_picker::tests::test_color_picker_reset ... ok
[INFO] [stdout] test color_picker::tests::test_color_picker_set_hsv_green ... ok
[INFO] [stdout] test color_picker::tests::test_color_picker_hsv_roundtrip ... ok
[INFO] [stdout] test color_picker::tests::test_complementary_red_is_cyan ... ok
[INFO] [stdout] test color_matrix::tests::apply_identity_unchanged ... ok
[INFO] [stdout] test color_matrix::tests::disabled_matrix_passthrough ... ok
[INFO] [stdout] test color_picker::tests::test_color_picker_set_rgb_clamps ... ok
[INFO] [stdout] test color_matrix::tests::to_json_has_enabled ... ok
[INFO] [stdout] test color_management_view::tests::test_not_linear_workflow_by_default ... ok
[INFO] [stdout] test color_picker::tests::test_default_color_picker_config ... ok
[INFO] [stdout] test color_picker::tests::test_hex_round_trip ... ok
[INFO] [stdout] test color_picker::tests::test_hsv_to_rgb_round_trip ... ok
[INFO] [stdout] test color_picker::tests::test_lerp_color ... ok
[INFO] [stdout] test color_picker::tests::test_linear_to_rgb ... ok
[INFO] [stdout] test color_picker::tests::test_new_color_picker ... ok
[INFO] [stdout] test color_picker::tests::test_new_color_picker_state_white ... ok
[INFO] [stdout] test color_picker::tests::test_rgb_linear_round_trip ... ok
[INFO] [stdout] test color_picker::tests::test_rgb_to_hsv_green ... ok
[INFO] [stdout] test color_picker::tests::test_rgb_to_linear ... ok
[INFO] [stdout] test color_picker::tests::test_rgb_to_hsv_red ... ok
[INFO] [stdout] test color_picker::tests::test_set_hex ... ok
[INFO] [stdout] test color_picker::tests::test_set_hsv ... ok
[INFO] [stdout] test color_picker::tests::test_set_rgb ... ok
[INFO] [stdout] test color_space_convert::tests::color_space_names ... ok
[INFO] [stdout] test color_space_convert::tests::aces_roundtrip_approx ... ok
[INFO] [stdout] test color_space_convert::tests::linear_zero_maps_to_zero ... ok
[INFO] [stdout] test color_space_convert::tests::luminance_black ... ok
[INFO] [stdout] test color_space_convert::tests::luminance_white ... ok
[INFO] [stdout] test color_space_convert::tests::same_space_identity ... ok
[INFO] [stdout] test color_space_convert::tests::srgb_linear_roundtrip ... ok
[INFO] [stdout] test color_space_convert::tests::srgb_one_maps_to_one ... ok
[INFO] [stdout] test color_temperature::tests::cool_has_more_blue ... ok
[INFO] [stdout] test color_temperature::tests::daylight_roughly_white ... ok
[INFO] [stdout] test color_temperature::tests::json_has_keys ... ok
[INFO] [stdout] test color_temperature::tests::kelvin_clamps_high ... ok
[INFO] [stdout] test color_temperature::tests::kelvin_clamps_low ... ok
[INFO] [stdout] test color_temperature::tests::reset_to_default ... ok
[INFO] [stdout] test color_temperature::tests::tint_clamps ... ok
[INFO] [stdout] test color_temperature::tests::warm_has_more_red ... ok
[INFO] [stdout] test color_temperature::tests::white_balance_rgb_in_range ... ok
[INFO] [stdout] test color_temperature_view::tests::test_is_daylight_at_6500 ... ok
[INFO] [stdout] test color_temperature_view::tests::test_default_kelvin ... ok
[INFO] [stdout] test color_temperature_view::tests::test_set_kelvin ... ok
[INFO] [stdout] test color_temperature_view::tests::test_set_tint ... ok
[INFO] [stdout] test color_temperature_view::tests::test_set_enabled_false ... ok
[INFO] [stdout] test color_picker::tests::test_set_alpha ... ok
[INFO] [stdout] test color_temperature_view::tests::test_kelvin_to_rgb_returns_three ... ok
[INFO] [stdout] test color_space_convert::tests::convert_srgb_to_linear_brightens ... ok
[INFO] [stdout] test color_temperature_view::tests::test_to_json_contains_kelvin ... ok
[INFO] [stdout] test color_temperature_view::tests::test_set_tint_clamps ... ok
[INFO] [stdout] test color_temperature_view::tests::test_toggle_gamut ... ok
[INFO] [stdout] test color_temperature_view::tests::test_set_kelvin_clamps_low ... ok
[INFO] [stdout] test compass_rose::tests::test_cardinal_count ... ok
[INFO] [stdout] test compass_rose::tests::test_default ... ok
[INFO] [stdout] test compass_rose::tests::test_pi_used ... ok
[INFO] [stdout] test compass_rose::tests::test_set_heading_wraps ... ok
[INFO] [stdout] test compass_rose::tests::test_heading_rad ... ok
[INFO] [stdout] test compass_rose::tests::test_north_direction_at_zero ... ok
[INFO] [stdout] test compass_rose::tests::test_set_size_min ... ok
[INFO] [stdout] test compass_rose::tests::test_generate_cardinals_only ... ok
[INFO] [stdout] test compass_rose::tests::test_generate_all ... ok
[INFO] [stdout] test compositor_view::tests::active_count_excludes_muted ... ok
[INFO] [stdout] test compositor_view::tests::add_node ... ok
[INFO] [stdout] test compositor_view::tests::json_has_active ... ok
[INFO] [stdout] test compositor_view::tests::mute_node ... ok
[INFO] [stdout] test compass_rose::tests::test_to_json ... ok
[INFO] [stdout] test compositor_view::tests::default_empty ... ok
[INFO] [stdout] test compute_dispatch_view::tests::test_clone ... ok
[INFO] [stdout] test compositor_view::tests::use_gpu_default_false ... ok
[INFO] [stdout] test compositor_view::tests::enabled_default ... ok
[INFO] [stdout] test compositor_view::tests::zoom_clamp ... ok
[INFO] [stdout] test compute_dispatch_view::tests::test_defaults ... ok
[INFO] [stdout] test compute_dispatch_view::tests::test_enable ... ok
[INFO] [stdout] test compute_dispatch_view::tests::test_threads_per_dispatch ... ok
[INFO] [stdout] test compute_dispatch_view::tests::test_total_threads_computed ... ok
[INFO] [stdout] test compute_dispatch_view::tests::test_total_threads_zero_dispatches ... ok
[INFO] [stdout] test compute_pass::tests::test_compute_pass_to_json ... ok
[INFO] [stdout] test compute_pass::tests::test_default_workgroup ... ok
[INFO] [stdout] test compute_pass::tests::test_is_power_of_two ... ok
[INFO] [stdout] test compute_dispatch_view::tests::test_json_keys ... ok
[INFO] [stdout] test compute_dispatch_view::tests::test_set_dispatches ... ok
[INFO] [stdout] test compute_dispatch_view::tests::test_workgroup_size_min ... ok
[INFO] [stdout] test compute_dispatch_view::tests::test_workgroup_size_set ... ok
[INFO] [stdout] test compute_pass::tests::test_validate_empty_label ... ok
[INFO] [stdout] test compute_pass::tests::test_set_dispatch ... ok
[INFO] [stdout] test compute_pass::tests::test_total_invocations ... ok
[INFO] [stdout] test constraint_arc_view::tests::test_default_arc_segments ... ok
[INFO] [stdout] test constraint_arc_view::tests::test_default_type ... ok
[INFO] [stdout] test compute_pass::tests::test_validate_pass ... ok
[INFO] [stdout] test constraint_arc_view::tests::test_arc_segments_min ... ok
[INFO] [stdout] test constraint_arc_view::tests::test_set_arc_segments ... ok
[INFO] [stdout] test constraint_arc_view::tests::test_set_enabled ... ok
[INFO] [stdout] test constraint_arc_view::tests::test_set_type ... ok
[INFO] [stdout] test constraint_debug_view::tests::test_clone ... ok
[INFO] [stdout] test constraint_arc_view::tests::test_show_labels ... ok
[INFO] [stdout] test constraint_debug_view::tests::test_color_satisfied ... ok
[INFO] [stdout] test constraint_arc_view::tests::test_to_json_has_constraint_type ... ok
[INFO] [stdout] test constraint_debug_view::tests::test_color_violated ... ok
[INFO] [stdout] test constraint_debug_view::tests::test_defaults ... ok
[INFO] [stdout] test constraint_debug_view::tests::test_forces_toggle ... ok
[INFO] [stdout] test constraint_debug_view::tests::test_enable ... ok
[INFO] [stdout] test constraint_debug_view::tests::test_json_keys ... ok
[INFO] [stdout] test constraint_debug_view::tests::test_force_scale_clamp ... ok
[INFO] [stdout] test constraint_debug_view::tests::test_limits_toggle ... ok
[INFO] [stdout] test constraint_indicator_view::tests::test_active_count ... ok
[INFO] [stdout] test constraint_indicator_view::tests::test_clone ... ok
[INFO] [stdout] test constraint_indicator_view::tests::test_active_count_all_active ... ok
[INFO] [stdout] test constraint_indicator_view::tests::test_add ... ok
[INFO] [stdout] test constraint_indicator_view::tests::test_default_visible ... ok
[INFO] [stdout] test constraint_indicator_view::tests::test_influence_clamp ... ok
[INFO] [stdout] test constraint_indicator_view::tests::test_json_keys ... ok
[INFO] [stdout] test contact_force_view::tests::test_arrow_length ... ok
[INFO] [stdout] test constraint_indicator_view::tests::test_mute ... ok
[INFO] [stdout] test constraint_indicator_view::tests::test_new ... ok
[INFO] [stdout] test contact_force_view::tests::test_clone ... ok
[INFO] [stdout] test contact_force_view::tests::test_enable ... ok
[INFO] [stdout] test contact_force_view::tests::test_force_color_max ... ok
[INFO] [stdout] test contact_force_view::tests::test_set_force_scale ... ok
[INFO] [stdout] test contact_force_view::tests::test_force_color_zero ... ok
[INFO] [stdout] test contact_force_view::tests::test_new_defaults ... ok
[INFO] [stdout] test contact_force_view::tests::test_set_force_scale_min ... ok
[INFO] [stdout] test contact_force_view::tests::test_set_max_force ... ok
[INFO] [stdout] test contact_force_view::tests::test_to_json ... ok
[INFO] [stdout] test compute_pass::tests::test_dispatch_groups ... ok
[INFO] [stdout] test contact_point_view::tests::test_color_point ... ok
[INFO] [stdout] test contact_point_view::tests::test_color_normal ... ok
[INFO] [stdout] test compute_pass::tests::test_new_compute_pass ... ok
[INFO] [stdout] test contact_point_view::tests::test_clone ... ok
[INFO] [stdout] test constraint_arc_view::tests::test_enabled_default ... ok
[INFO] [stdout] test contact_point_view::tests::test_defaults ... ok
[INFO] [stdout] test contact_point_view::tests::test_enable ... ok
[INFO] [stdout] test compute_pass::tests::test_dispatch_groups_zero ... ok
[INFO] [stdout] test contact_point_view::tests::test_normal_length ... ok
[INFO] [stdout] test contact_point_view::tests::test_point_size_clamp_max ... ok
[INFO] [stdout] test contact_point_view::tests::test_point_size_clamp_min ... ok
[INFO] [stdout] test contour_line::tests::test_default ... ok
[INFO] [stdout] test contour_line::tests::test_generate_levels_count ... ok
[INFO] [stdout] test contact_point_view::tests::test_json_keys ... ok
[INFO] [stdout] test contour_line::tests::test_generate_levels_empty ... ok
[INFO] [stdout] test contour_line::tests::test_interpolate_crossing_mid ... ok
[INFO] [stdout] test contour_line::tests::test_level_spacing ... ok
[INFO] [stdout] test contour_line::tests::test_is_on_contour ... ok
[INFO] [stdout] test contour_line::tests::test_major_levels ... ok
[INFO] [stdout] test contour_line::tests::test_set_range ... ok
[INFO] [stdout] test countdown_leader_view::tests::test_advance_many_frames_expires ... ok
[INFO] [stdout] test contour_line::tests::test_to_json ... ok
[INFO] [stdout] test countdown_leader_view::tests::test_defaults ... ok
[INFO] [stdout] test countdown_leader_view::tests::test_frame_rate_clamp ... ok
[INFO] [stdout] test countdown_leader_view::tests::test_remaining_seconds ... ok
[INFO] [stdout] test countdown_leader_view::tests::test_set_start_count ... ok
[INFO] [stdout] test countdown_leader_view::tests::test_set_start_count_min ... ok
[INFO] [stdout] test crt_warp_effect::tests::center_uv_visible ... ok
[INFO] [stdout] test countdown_leader_view::tests::test_reset ... ok
[INFO] [stdout] test crt_warp_effect::tests::corner_distortion_nonnegative ... ok
[INFO] [stdout] test countdown_leader_view::tests::test_clone ... ok
[INFO] [stdout] test crt_warp_effect::tests::disabled_returns_identity ... ok
[INFO] [stdout] test countdown_leader_view::tests::test_json ... ok
[INFO] [stdout] test crt_warp_effect::tests::k1_clamps ... ok
[INFO] [stdout] test crt_warp_effect::tests::json_has_keys ... ok
[INFO] [stdout] test crt_warp_effect::tests::negative_k1_contracts ... ok
[INFO] [stdout] test crt_warp_effect::tests::positive_k1_expands ... ok
[INFO] [stdout] test crt_warp_effect::tests::vignette_at_center_one ... ok
[INFO] [stdout] test crt_warp_effect::tests::vignette_clamps ... ok
[INFO] [stdout] test ct_scan_view::tests::test_density_above_all_zero ... ok
[INFO] [stdout] test ct_scan_view::tests::test_density_above_some ... ok
[INFO] [stdout] test ct_scan_view::tests::test_get_voxel_oob ... ok
[INFO] [stdout] test ct_scan_view::tests::test_set_get_voxel ... ok
[INFO] [stdout] test cubemap_debug::tests::test_cross_layout_pixel_count ... ok
[INFO] [stdout] test cubemap_debug::tests::test_default_config ... ok
[INFO] [stdout] test cubemap_debug::tests::test_face_label ... ok
[INFO] [stdout] test cubemap_debug::tests::test_face_uv_posx_center ... ok
[INFO] [stdout] test cubemap_debug::tests::test_normalize_unit ... ok
[INFO] [stdout] test cubemap_debug::tests::test_set_exposure ... ok
[INFO] [stdout] test crt_warp_effect::tests::vignette_at_edge_less_than_center ... ok
[INFO] [stdout] test cubemap_debug::tests::test_normalize_zero_safe ... ok
[INFO] [stdout] test ct_scan_view::tests::test_new_volume ... ok
[INFO] [stdout] test cubemap_debug::tests::test_to_json ... ok
[INFO] [stdout] test cubemap_filter::tests::ggx_d_positive ... ok
[INFO] [stdout] test cubemap_filter::tests::json_contains_resolution ... ok
[INFO] [stdout] test cubemap_filter::tests::new_filter_empty_mips ... ok
[INFO] [stdout] test cubemap_debug::tests::test_toggle_labels ... ok
[INFO] [stdout] test cubemap_filter::tests::mip_to_roughness_roundtrip ... ok
[INFO] [stdout] test cubemap_filter::tests::build_mip_chain_correct_count ... ok
[INFO] [stdout] test cubemap_filter::tests::roughness_last_mip_is_one ... ok
[INFO] [stdout] test cubemap_filter::tests::roughness_mip0_is_zero ... ok
[INFO] [stdout] test cubemap_filter::tests::roughness_to_mip_range ... ok
[INFO] [stdout] test cubemap_filter::tests::memory_estimate_nonzero ... ok
[INFO] [stdout] test ct_scan_view::tests::test_voxel_count_correct ... ok
[INFO] [stdout] test cubemap_filter::tests::solid_angle_uses_pi ... ok
[INFO] [stdout] test cubemap_mip::tests::base_is_zero_roughness ... ok
[INFO] [stdout] test cubemap_mip::tests::last_level_roughness_one ... ok
[INFO] [stdout] test cubemap_mip::tests::json_has_base_size ... ok
[INFO] [stdout] test ct_scan_view::tests::test_volume_mm3 ... ok
[INFO] [stdout] test cubemap_mip::tests::memory_bytes_positive ... ok
[INFO] [stdout] test cubemap_mip::tests::solid_angle_positive ... ok
[INFO] [stdout] test cubemap_mip::tests::mip_chain_256 ... ok
[INFO] [stdout] test cubemap_mip::tests::solid_angle_zero_for_size_zero ... ok
[INFO] [stdout] test cubemap_mip::tests::roughness_to_level_zero ... ok
[INFO] [stdout] test cubemap_mip::tests::max_levels_power_of_two ... ok
[INFO] [stdout] test cubemap_preview::tests::test_cubemap_preview_to_json ... ok
[INFO] [stdout] test cubemap_preview::tests::test_default_config ... ok
[INFO] [stdout] test cubemap_mip::tests::level_to_roughness_zero ... ok
[INFO] [stdout] test cubemap_preview::tests::test_face_cross_position ... ok
[INFO] [stdout] test cubemap_preview::tests::test_face_name ... ok
[INFO] [stdout] test cubemap_preview::tests::test_texel_solid_angle ... ok
[INFO] [stdout] test cubemap_preview::tests::test_face_pixel_offset ... ok
[INFO] [stdout] test cubemap_preview::tests::test_cross_layout_size ... ok
[INFO] [stdout] test cubemap_preview::tests::test_roughness_to_mip ... ok
[INFO] [stdout] test cubemap_preview::tests::test_direction_to_spherical ... ok
[INFO] [stdout] test curl_noise_view::tests::test_angular_freq ... ok
[INFO] [stdout] test curl_noise_view::tests::test_clone ... ok
[INFO] [stdout] test curl_noise_view::tests::test_arrow_scale_set ... ok
[INFO] [stdout] test curl_noise_view::tests::test_density_clamp_high ... ok
[INFO] [stdout] test curl_noise_view::tests::test_defaults ... ok
[INFO] [stdout] test curl_noise_view::tests::test_enable ... ok
[INFO] [stdout] test curl_noise_view::tests::test_density_clamp_low ... ok
[INFO] [stdout] test curvature_map_view::tests::test_curvature_color_range ... ok
[INFO] [stdout] test curl_noise_view::tests::test_magnitude_toggle ... ok
[INFO] [stdout] test curl_noise_view::tests::test_json_keys ... ok
[INFO] [stdout] test curvature_map_view::tests::test_new_defaults ... ok
[INFO] [stdout] test curvature_map_view::tests::test_enable ... ok
[INFO] [stdout] test curvature_map_view::tests::test_set_mode ... ok
[INFO] [stdout] test curl_noise_view::tests::test_frequency_set ... ok
[INFO] [stdout] test curvature_map_view::tests::test_mode_name ... ok
[INFO] [stdout] test curvature_map_view::tests::test_clone ... ok
[INFO] [stdout] test curvature_map_view::tests::test_set_scale ... ok
[INFO] [stdout] test curvature_map_view::tests::test_set_scale_min ... ok
[INFO] [stdout] test curvature_map_view::tests::test_to_json ... ok
[INFO] [stdout] test curvature_view::tests::gaussian_curvature_product ... ok
[INFO] [stdout] test curvature_view::tests::mean_curvature_average ... ok
[INFO] [stdout] test curvature_view::tests::set_scale_clamps ... ok
[INFO] [stdout] test curvature_view::tests::zero_curvature_gray ... ok
[INFO] [stdout] test curvature_view::tests::to_json_has_type ... ok
[INFO] [stdout] test curve_editor_view::tests::add_curve ... ok
[INFO] [stdout] test curvature_view::tests::enable_disable ... ok
[INFO] [stdout] test curvature_view::tests::negative_curvature_blue_component ... ok
[INFO] [stdout] test curvature_view::tests::default_disabled ... ok
[INFO] [stdout] test curve_editor_view::tests::add_key_to_curve ... ok
[INFO] [stdout] test curve_editor_view::tests::add_key_to_missing_curve_is_noop ... ok
[INFO] [stdout] test curvature_view::tests::positive_curvature_red_component ... ok
[INFO] [stdout] test curve_editor_view::tests::default_empty ... ok
[INFO] [stdout] test curve_editor_view::tests::set_frame ... ok
[INFO] [stdout] test custom_property_view::tests::test_add ... ok
[INFO] [stdout] test curve_editor_view::tests::enabled_default ... ok
[INFO] [stdout] test curve_editor_view::tests::keys_sorted_by_frame ... ok
[INFO] [stdout] test custom_property_view::tests::test_get_value ... ok
[INFO] [stdout] test curve_editor_view::tests::json_has_curve_count ... ok
[INFO] [stdout] test custom_property_view::tests::test_default_visible ... ok
[INFO] [stdout] test custom_property_view::tests::test_json_keys ... ok
[INFO] [stdout] test custom_property_view::tests::test_add_clamps_value ... ok
[INFO] [stdout] test custom_property_view::tests::test_remove ... ok
[INFO] [stdout] test custom_property_view::tests::test_set_missing ... ok
[INFO] [stdout] test custom_property_view::tests::test_set_value ... ok
[INFO] [stdout] test cycles_settings_view::tests::test_default_trait ... ok
[INFO] [stdout] test cycles_settings_view::tests::test_diffuse_capped ... ok
[INFO] [stdout] test cycles_settings_view::tests::test_denoiser_default ... ok
[INFO] [stdout] test cycles_settings_view::tests::test_max_bounces_clamp ... ok
[INFO] [stdout] test custom_property_view::tests::test_new ... ok
[INFO] [stdout] test cycles_settings_view::tests::test_clone ... ok
[INFO] [stdout] test cycles_settings_view::tests::test_glossy_capped ... ok
[INFO] [stdout] test cycles_settings_view::tests::test_json_keys ... ok
[INFO] [stdout] test cycles_settings_view::tests::test_samples_clamp_low ... ok
[INFO] [stdout] test datamosh_effect::tests::accumulate_moves_toward_current ... ok
[INFO] [stdout] test cycles_settings_view::tests::test_samples_store ... ok
[INFO] [stdout] test datamosh_effect::tests::artifact_zero_on_iframe ... ok
[INFO] [stdout] test datamosh_effect::tests::artifact_zero_when_disabled ... ok
[INFO] [stdout] test datamosh_effect::tests::block_count_correct ... ok
[INFO] [stdout] test cycles_settings_view::tests::test_new ... ok
[INFO] [stdout] test datamosh_effect::tests::artifact_nonzero_between_iframes ... ok
[INFO] [stdout] test datamosh_effect::tests::block_size_clamps ... ok
[INFO] [stdout] test datamosh_effect::tests::intensity_clamps ... ok
[INFO] [stdout] test datamosh_effect::tests::json_has_keys ... ok
[INFO] [stdout] test debug_draw::tests::add_arrow_increments_count ... ok
[INFO] [stdout] test datamosh_effect::tests::not_iframe_between ... ok
[INFO] [stdout] test debug_draw::tests::add_label_increments_count ... ok
[INFO] [stdout] test debug_draw::tests::add_sphere_increments_count ... ok
[INFO] [stdout] test debug_draw::tests::add_line_increments_count ... ok
[INFO] [stdout] test datamosh_effect::tests::iframe_on_interval ... ok
[INFO] [stdout] test debug_draw::tests::debug_draw_to_json_non_empty ... ok
[INFO] [stdout] test debug_draw::tests::draw_aabb_min_max_in_lines ... ok
[INFO] [stdout] test debug_draw::tests::draw_mesh_normals_adds_n_arrows ... ok
[INFO] [stdout] test debug_draw::tests::draw_physics_proxies_debug_no_panic ... ok
[INFO] [stdout] test debug_draw::tests::draw_aabb_adds_12_lines ... ok
[INFO] [stdout] test debug_draw::tests::draw_skeleton_adds_n_minus_1_lines ... ok
[INFO] [stdout] test debug_draw::tests::clear_resets_all ... ok
[INFO] [stdout] test decal_batch::tests::capacity_limit ... ok
[INFO] [stdout] test decal_batch::tests::add_instance ... ok
[INFO] [stdout] test debug_draw::tests::debug_draw_to_json_empty ... ok
[INFO] [stdout] test debug_draw::tests::new_is_empty ... ok
[INFO] [stdout] test debug_draw::tests::total_primitives_sum ... ok
[INFO] [stdout] test decal_batch::tests::enabled_count ... ok
[INFO] [stdout] test decal_batch::tests::clear_empties ... ok
[INFO] [stdout] test decal_batch::tests::sort_by_layer ... ok
[INFO] [stdout] test decal_batch::tests::sub_batch_count_zero_when_empty ... ok
[INFO] [stdout] test decal_fade::tests::advance_progresses_phase ... ok
[INFO] [stdout] test decal_batch::tests::new_batch_empty ... ok
[INFO] [stdout] test decal_batch::tests::json_contains_count ... ok
[INFO] [stdout] test decal_batch::tests::remove_instance ... ok
[INFO] [stdout] test decal_fade::tests::alpha_clamps_to_one ... ok
[INFO] [stdout] test decal_batch::tests::memory_bytes_positive ... ok
[INFO] [stdout] test decal_fade::tests::initial_phase_in ... ok
[INFO] [stdout] test decal_fade::tests::done_alpha_is_zero ... ok
[INFO] [stdout] test decal_fade::tests::alpha_starts_at_zero ... ok
[INFO] [stdout] test decal_fade::tests::is_done_after_full_cycle ... ok
[INFO] [stdout] test decal_fade::tests::reset_goes_back_to_in ... ok
[INFO] [stdout] test decal_fade::tests::stable_alpha_is_one ... ok
[INFO] [stdout] test decal_fade::tests::to_json_has_alpha ... ok
[INFO] [stdout] test decal_layer::tests::add_layer ... ok
[INFO] [stdout] test decal_layer::tests::blend_mode_names ... ok
[INFO] [stdout] test decal_layer::tests::json_has_id_after_add ... ok
[INFO] [stdout] test decal_layer::tests::json_not_empty ... ok
[INFO] [stdout] test decal_layer::tests::new_empty ... ok
[INFO] [stdout] test decal_layer::tests::set_not_visible ... ok
[INFO] [stdout] test decal_layer::tests::sort_layers ... ok
[INFO] [stdout] test decal_layer::tests::set_opacity_clamps ... ok
[INFO] [stdout] test decal_normal::tests::angle_zero_same_normals ... ok
[INFO] [stdout] test decal_normal::tests::blend_disabled_decal_unchanged ... ok
[INFO] [stdout] test decal_fade::tests::phase_angle_nonneg ... ok
[INFO] [stdout] test decal_normal::tests::add_and_count ... ok
[INFO] [stdout] test decal_layer::tests::visible_count_default_all ... ok
[INFO] [stdout] test decal_layer::tests::remove_layer ... ok
[INFO] [stdout] test decal_normal::tests::apply_all_with_no_decals_unchanged ... ok
[INFO] [stdout] test decal_normal::tests::clear_empties_manager ... ok
[INFO] [stdout] test decal_normal::tests::disable_reduces_enabled ... ok
[INFO] [stdout] test decal_project::tests::add_and_count ... ok
[INFO] [stdout] test decal_normal::tests::empty_manager ... ok
[INFO] [stdout] test decal_normal::tests::linear_blend_at_zero_strength_unchanged ... ok
[INFO] [stdout] test decal_project::tests::area_computed ... ok
[INFO] [stdout] test decal_normal::tests::json_has_count ... ok
[INFO] [stdout] test decal_project::tests::count_by_blend ... ok
[INFO] [stdout] test decal_project::tests::clear ... ok
[INFO] [stdout] test decal_project::tests::new_instance_defaults ... ok
[INFO] [stdout] test decal_project::tests::project_center_returns_half_uv ... ok
[INFO] [stdout] test decal_project::tests::remove_instance ... ok
[INFO] [stdout] test decal_project::tests::project_outside_returns_none ... ok
[INFO] [stdout] test decal_project::tests::set_opacity_clamps ... ok
[INFO] [stdout] test decal_normal::tests::remove_reduces_count ... ok
[INFO] [stdout] test decal_projector::tests::test_decal_to_json ... ok
[INFO] [stdout] test decal_projector::tests::test_decal_volume ... ok
[INFO] [stdout] test decal_projector::tests::test_point_in_box_inside ... ok
[INFO] [stdout] test decal_project::tests::to_json_count ... ok
[INFO] [stdout] test decal_projector::tests::test_new_decal_projector ... ok
[INFO] [stdout] test decal_projector::tests::test_point_in_box_outside ... ok
[INFO] [stdout] test decal_projector::tests::test_set_opacity_clamps ... ok
[INFO] [stdout] test decal_projector::tests::test_project_to_uv ... ok
[INFO] [stdout] test decal_projector::tests::test_reset_decal ... ok
[INFO] [stdout] test decal_stamp::tests::add_stamp_increments_count ... ok
[INFO] [stdout] test decal_projector::tests::test_set_opacity ... ok
[INFO] [stdout] test decal_projector::tests::test_project_to_uv_outside ... ok
[INFO] [stdout] test decal_stamp::tests::empty_set_zero_count ... ok
[INFO] [stdout] test decal_stamp::tests::max_stamps_respected ... ok
[INFO] [stdout] test decal_stamp::tests::project_point_outside_returns_none ... ok
[INFO] [stdout] test decal_stamp::tests::set_opacity_clamps ... ok
[INFO] [stdout] test decal_stamp::tests::project_point_inside_returns_some ... ok
[INFO] [stdout] test decal_stamp::tests::remove_stamp_decrements ... ok
[INFO] [stdout] test decal_stamp::tests::clear_empties_set ... ok
[INFO] [stdout] test decal_uv::tests::in_bounds_center ... ok
[INFO] [stdout] test decal_uv::tests::default_config ... ok
[INFO] [stdout] test decal_stamp::tests::json_has_count ... ok
[INFO] [stdout] test decal_uv::tests::tiles_per_row ... ok
[INFO] [stdout] test decal_uv::tests::to_json_fields ... ok
[INFO] [stdout] test deep_shadow_view::tests::test_blend ... ok
[INFO] [stdout] test deep_shadow_view::tests::test_new ... ok
[INFO] [stdout] test decal_uv::tests::tile_offset_zero_for_first ... ok
[INFO] [stdout] test decal_uv::tests::project_identity ... ok
[INFO] [stdout] test decal_uv::tests::out_of_bounds ... ok
[INFO] [stdout] test decal_uv::tests::set_rotation ... ok
[INFO] [stdout] test deep_shadow_view::tests::test_not_high_depth_by_default ... ok
[INFO] [stdout] test deep_shadow_view::tests::test_set_layer_count_clamped ... ok
[INFO] [stdout] test deep_shadow_view::tests::test_transmittance_opaque ... ok
[INFO] [stdout] test decal_uv::tests::tile_scale_positive ... ok
[INFO] [stdout] test denoiser_view::tests::test_default_split_mode ... ok
[INFO] [stdout] test denoiser_view::tests::test_is_before_horizontal_left ... ok
[INFO] [stdout] test denoiser_view::tests::test_mode_name_horizontal ... ok
[INFO] [stdout] test denoiser_view::tests::test_is_before_horizontal_right ... ok
[INFO] [stdout] test denoiser_view::tests::test_set_mode ... ok
[INFO] [stdout] test denoiser_view::tests::test_set_split_clamps ... ok
[INFO] [stdout] test denoiser_view::tests::test_full_before_mode ... ok
[INFO] [stdout] test density_field_view::tests::test_clone ... ok
[INFO] [stdout] test density_field_view::tests::test_enable ... ok
[INFO] [stdout] test density_field_view::tests::test_defaults ... ok
[INFO] [stdout] test denoiser_view::tests::test_to_json_contains_split ... ok
[INFO] [stdout] test denoiser_view::tests::test_set_enabled_false ... ok
[INFO] [stdout] test denoiser_view::tests::test_set_split_position ... ok
[INFO] [stdout] test density_field_view::tests::test_density_max_set ... ok
[INFO] [stdout] test density_field_view::tests::test_log_scale_toggle ... ok
[INFO] [stdout] test density_field_view::tests::test_json_keys ... ok
[INFO] [stdout] test density_field_view::tests::test_normalize_linear_max ... ok
[INFO] [stdout] test density_field_view::tests::test_opacity_clamp ... ok
[INFO] [stdout] test density_field_view::tests::test_density_min_clamp ... ok
[INFO] [stdout] test density_view::tests::test_density_color_high ... ok
[INFO] [stdout] test density_view::tests::test_clone ... ok
[INFO] [stdout] test density_field_view::tests::test_normalize_linear_zero ... ok
[INFO] [stdout] test density_view::tests::test_density_color_low ... ok
[INFO] [stdout] test density_view::tests::test_density_color_mid ... ok
[INFO] [stdout] test density_view::tests::test_enable ... ok
[INFO] [stdout] test density_view::tests::test_to_json ... ok
[INFO] [stdout] test density_view::tests::test_set_thresholds ... ok
[INFO] [stdout] test depth_bias::tests::default_disabled ... ok
[INFO] [stdout] test depth_bias::tests::estimated_bias_disabled ... ok
[INFO] [stdout] test depth_bias::tests::estimated_bias_enabled ... ok
[INFO] [stdout] test depth_bias::tests::neutral_when_disabled ... ok
[INFO] [stdout] test depth_bias::tests::set_slope_scale_clamps ... ok
[INFO] [stdout] test depth_bias::tests::set_constant ... ok
[INFO] [stdout] test density_view::tests::test_new_defaults ... ok
[INFO] [stdout] test density_view::tests::test_set_thresholds_clamp ... ok
[INFO] [stdout] test depth_bias::tests::reset_clears ... ok
[INFO] [stdout] test depth_buffer_view::tests::test_default ... ok
[INFO] [stdout] test depth_bias::tests::shadow_map_preset_enabled ... ok
[INFO] [stdout] test depth_buffer_view::tests::test_depth_to_color_channels ... ok
[INFO] [stdout] test depth_buffer_view::tests::test_enable_disable ... ok
[INFO] [stdout] test depth_bias::tests::to_json_fields ... ok
[INFO] [stdout] test depth_buffer_view::tests::test_log_mode_nonzero ... ok
[INFO] [stdout] test depth_buffer_view::tests::test_remap_clamp ... ok
[INFO] [stdout] test depth_buffer_view::tests::test_remap_linear_pass ... ok
[INFO] [stdout] test depth_buffer_view::tests::test_remap_reversed ... ok
[INFO] [stdout] test depth_buffer_view::tests::test_set_contrast_clamp ... ok
[INFO] [stdout] test depth_buffer_view::tests::test_set_mode ... ok
[INFO] [stdout] test depth_buffer_view::tests::test_to_json ... ok
[INFO] [stdout] test depth_clip::tests::blend_midpoint ... ok
[INFO] [stdout] test depth_clip::tests::default_near_far ... ok
[INFO] [stdout] test depth_clip::tests::depth_range ... ok
[INFO] [stdout] test depth_clip::tests::in_range_midpoint ... ok
[INFO] [stdout] test depth_clip::tests::out_of_range_below_near ... ok
[INFO] [stdout] test depth_clip::tests::ratio_positive ... ok
[INFO] [stdout] test depth_clip::tests::set_planes ... ok
[INFO] [stdout] test depth_clip::tests::set_reversed ... ok
[INFO] [stdout] test depth_clip::tests::to_json_fields ... ok
[INFO] [stdout] test depth_linearize::tests::test_default_params ... ok
[INFO] [stdout] test depth_linearize::tests::test_depth_params_to_json ... ok
[INFO] [stdout] test depth_linearize::tests::test_depth_precision ... ok
[INFO] [stdout] test depth_linearize::tests::test_depth_range ... ok
[INFO] [stdout] test depth_linearize::tests::test_depth_to_ndc_roundtrip ... ok
[INFO] [stdout] test depth_linearize::tests::test_is_reversed_z ... ok
[INFO] [stdout] test depth_of_field::tests::test_compute_coc_at_focal_distance_is_zero ... ok
[INFO] [stdout] test depth_linearize::tests::test_linearize_at_far ... ok
[INFO] [stdout] test depth_linearize::tests::test_linearize_at_near ... ok
[INFO] [stdout] test depth_linearize::tests::test_linearize_buffer ... ok
[INFO] [stdout] test depth_linearize::tests::test_reversed_z ... ok
[INFO] [stdout] test depth_of_field::tests::test_blur_radius_matches_compute_coc ... ok
[INFO] [stdout] test depth_of_field::tests::test_dof_blur_radius_clamped ... ok
[INFO] [stdout] test depth_of_field::tests::test_dof_blur_radius_nonnegative ... ok
[INFO] [stdout] test depth_of_field::tests::test_compute_coc_clamped_by_max ... ok
[INFO] [stdout] test depth_of_field::tests::test_dof_far_plane_gt_near ... ok
[INFO] [stdout] test depth_of_field::tests::test_compute_coc_increases_with_distance ... ok
[INFO] [stdout] test depth_of_field::tests::test_default_dof_config ... ok
[INFO] [stdout] test depth_of_field::tests::test_dof_set_aperture ... ok
[INFO] [stdout] test depth_of_field::tests::test_dof_near_plane_positive ... ok
[INFO] [stdout] test depth_of_field::tests::test_dof_focus_plane_near_positive ... ok
[INFO] [stdout] test depth_of_field::tests::test_dof_set_focal_length ... ok
[INFO] [stdout] test depth_of_field::tests::test_dof_sample_at_depth_in_focus ... ok
[INFO] [stdout] test depth_of_field::tests::test_dof_circle_of_confusion_at_focal ... ok
[INFO] [stdout] test depth_of_field::tests::test_dof_set_focus_distance ... ok
[INFO] [stdout] test depth_of_field::tests::test_focus_region_extent ... ok
[INFO] [stdout] test depth_of_field::tests::test_is_in_focus_at_focal_plane ... ok
[INFO] [stdout] test depth_of_field::tests::test_dof_to_json_nonempty ... ok
[INFO] [stdout] test depth_of_field::tests::test_is_in_focus_far_away ... ok
[INFO] [stdout] test depth_of_field::tests::test_new_dof_config ... ok
[INFO] [stdout] test depth_of_field::tests::test_new_dof_effect_from_default ... ok
[INFO] [stdout] test depth_of_field::tests::test_set_aperture ... ok
[INFO] [stdout] test depth_of_field::tests::test_set_focal_length ... ok
[INFO] [stdout] test depth_of_field_v2::tests::blade_count_hexagon ... ok
[INFO] [stdout] test depth_of_field_v2::tests::blade_count_circle_zero ... ok
[INFO] [stdout] test depth_of_field::tests::test_set_dof_enabled ... ok
[INFO] [stdout] test depth_of_field::tests::test_set_focal_distance ... ok
[INFO] [stdout] test depth_of_field_v2::tests::bokeh_area_positive ... ok
[INFO] [stdout] test depth_of_field_v2::tests::coc_grows_with_distance ... ok
[INFO] [stdout] test depth_of_field_v2::tests::default_valid ... ok
[INFO] [stdout] test depth_of_field_v2::tests::coc_zero_at_focus_distance ... ok
[INFO] [stdout] test depth_of_field_v2::tests::set_focal_clamps ... ok
[INFO] [stdout] test depth_peel_view::tests::test_alpha_set ... ok
[INFO] [stdout] test depth_peel_view::tests::test_defaults ... ok
[INFO] [stdout] test depth_peel_view::tests::test_enable ... ok
[INFO] [stdout] test depth_peel_view::tests::test_layer_alpha_first ... ok
[INFO] [stdout] test depth_peel_view::tests::test_layer_color_range ... ok
[INFO] [stdout] test depth_peel_view::tests::test_layer_count_clamp_max ... ok
[INFO] [stdout] test depth_of_field_v2::tests::depth_range_near_less_than_focus ... ok
[INFO] [stdout] test depth_of_field_v2::tests::json_has_focal ... ok
[INFO] [stdout] test depth_of_field_v2::tests::reset_restores_defaults ... ok
[INFO] [stdout] test depth_peel_view::tests::test_layer_count_clamp_min ... ok
[INFO] [stdout] test depth_peel_view::tests::test_set_layer_count ... ok
[INFO] [stdout] test depth_peel_view::tests::test_to_json ... ok
[INFO] [stdout] test depth_peeling_view::tests::test_new ... ok
[INFO] [stdout] test depth_peeling_view::tests::test_not_single_pass_by_default ... ok
[INFO] [stdout] test depth_peeling_view::tests::test_set_layer_count ... ok
[INFO] [stdout] test depth_peeling_view::tests::test_single_pass ... ok
[INFO] [stdout] test depth_range::tests::is_valid_depth_one ... ok
[INFO] [stdout] test depth_range::tests::is_valid_depth_zero ... ok
[INFO] [stdout] test depth_range::tests::linearize_near ... ok
[INFO] [stdout] test depth_range::tests::is_valid_depth_out_of_range ... ok
[INFO] [stdout] test depth_range::tests::json_contains_near ... ok
[INFO] [stdout] test depth_range::tests::range_ratio ... ok
[INFO] [stdout] test depth_range::tests::ln2_used_in_stats ... ok
[INFO] [stdout] test depth_resolve::tests::empty_samples_returns_far ... ok
[INFO] [stdout] test depth_resolve::tests::json_has_method ... ok
[INFO] [stdout] test depth_range::tests::set_planes ... ok
[INFO] [stdout] test depth_peeling_view::tests::test_blend ... ok
[INFO] [stdout] test depth_range::tests::default_range ... ok
[INFO] [stdout] test depth_resolve::tests::memory_saved_nonzero ... ok
[INFO] [stdout] test depth_resolve::tests::linearize_in_range ... ok
[INFO] [stdout] test depth_resolve::tests::default_method_is_min ... ok
[INFO] [stdout] test depth_resolve::tests::resolve_max ... ok
[INFO] [stdout] test depth_resolve::tests::resolve_min ... ok
[INFO] [stdout] test depth_sample::tests::average_linear_empty_zero ... ok
[INFO] [stdout] test depth_sample::tests::default_near_far ... ok
[INFO] [stdout] test depth_sample::tests::depth_range_correct ... ok
[INFO] [stdout] test depth_resolve::tests::method_name_correct ... ok
[INFO] [stdout] test depth_resolve::tests::resolve_average ... ok
[INFO] [stdout] test depth_range::tests::precision_stats_bits ... ok
[INFO] [stdout] test depth_sample::tests::sample_buffer_same_len ... ok
[INFO] [stdout] test depth_sample::tests::is_invalid_neg ... ok
[INFO] [stdout] test depth_sample::tests::perspective_angle_nonneg ... ok
[INFO] [stdout] test depth_sample::tests::linearize_zero_near ... ok
[INFO] [stdout] test depth_sample::tests::is_valid_mid ... ok
[INFO] [stdout] test depth_sample::tests::linearize_one_is_far ... ok
[INFO] [stdout] test depth_stencil::tests::cmp_name_always ... ok
[INFO] [stdout] test depth_stencil::tests::d16_is_16_bits ... ok
[INFO] [stdout] test depth_stencil::tests::d16_no_stencil ... ok
[INFO] [stdout] test depth_sample::tests::to_json_has_near ... ok
[INFO] [stdout] test depth_stencil::tests::d24s8_has_stencil ... ok
[INFO] [stdout] test depth_stencil::tests::default_cmp_less ... ok
[INFO] [stdout] test depth_stencil::tests::default_depth_test_on ... ok
[INFO] [stdout] test depth_stencil::tests::enable_stencil ... ok
[INFO] [stdout] test depth_stencil::tests::json_has_format ... ok
[INFO] [stdout] test depth_stencil::tests::reset_restores_default ... ok
[INFO] [stdout] test dermoscopy_view::tests::test_get_pixel_oob ... ok
[INFO] [stdout] test dermoscopy_view::tests::test_mean_color_black ... ok
[INFO] [stdout] test dermoscopy_view::tests::test_new_image ... ok
[INFO] [stdout] test dermoscopy_view::tests::test_pixel_count ... ok
[INFO] [stdout] test dermoscopy_view::tests::test_set_get_pixel ... ok
[INFO] [stdout] test dermoscopy_view::tests::test_mean_color_uniform ... ok
[INFO] [stdout] test displacement_preview::tests::test_displacement_is_elevated ... ok
[INFO] [stdout] test displacement_preview::tests::test_displacement_magnitude_color ... ok
[INFO] [stdout] test displacement_preview::tests::test_displacement_preview_color_elevated ... ok
[INFO] [stdout] test displacement_preview::tests::test_displacement_preview_color_sunken ... ok
[INFO] [stdout] test displacement_preview::tests::test_new_displacement_preview ... ok
[INFO] [stdout] test dlss_view_stub::tests::test_new ... ok
[INFO] [stdout] test dlss_view_stub::tests::test_render_resolution ... ok
[INFO] [stdout] test dlss_view_stub::tests::test_scale_factor_performance ... ok
[INFO] [stdout] test dlss_view_stub::tests::test_scale_factor_quality ... ok
[INFO] [stdout] test dlss_view_stub::tests::test_set_quality ... ok
[INFO] [stdout] test dolly_zoom_view::tests::test_camera_distance_positive ... ok
[INFO] [stdout] test dolly_zoom_view::tests::test_current_fov_at_end ... ok
[INFO] [stdout] test dolly_zoom_view::tests::test_current_fov_at_start ... ok
[INFO] [stdout] test dolly_zoom_view::tests::test_default_progress_zero ... ok
[INFO] [stdout] test dolly_zoom_view::tests::test_set_enabled ... ok
[INFO] [stdout] test dolly_zoom_view::tests::test_enabled_default ... ok
[INFO] [stdout] test dolly_zoom_view::tests::test_set_progress_clamped ... ok
[INFO] [stdout] test dolly_zoom_view::tests::test_set_target_fov ... ok
[INFO] [stdout] test dolly_zoom_view::tests::test_target_fov_clamped ... ok
[INFO] [stdout] test dope_sheet_view::tests::enabled_default ... ok
[INFO] [stdout] test dope_sheet_view::tests::default_empty_keys ... ok
[INFO] [stdout] test dope_sheet_view::tests::end_frame_default ... ok
[INFO] [stdout] test dope_sheet_view::tests::json_has_key_count ... ok
[INFO] [stdout] test dope_sheet_view::tests::add_key ... ok
[INFO] [stdout] test dolly_zoom_view::tests::test_to_json_contains_start_fov ... ok
[INFO] [stdout] test draw_call_heatmap::tests::test_cell_count ... ok
[INFO] [stdout] test dope_sheet_view::tests::select_frame_marks_correct_keys ... ok
[INFO] [stdout] test dope_sheet_view::tests::selected_count_zero_initially ... ok
[INFO] [stdout] test depth_stencil::tests::format_name_d32f ... ok
[INFO] [stdout] test dope_sheet_view::tests::set_current_frame ... ok
[INFO] [stdout] test dermoscopy_view::tests::test_asymmetry_score_stub ... ok
[INFO] [stdout] test draw_call_heatmap::tests::test_enable_disable ... ok
[INFO] [stdout] test draw_call_heatmap::tests::test_find_hottest ... ok
[INFO] [stdout] test draw_call_heatmap::tests::test_set_max_calls_min ... ok
[INFO] [stdout] test draw_call_heatmap::tests::test_set_opacity ... ok
[INFO] [stdout] test draw_call_heatmap::tests::test_color_hot ... ok
[INFO] [stdout] test draw_call_heatmap::tests::test_to_json ... ok
[INFO] [stdout] test draw_call_heatmap::tests::test_set_grid_resolution_clamp ... ok
[INFO] [stdout] test draw_call_heatmap::tests::test_default ... ok
[INFO] [stdout] test draw_call_heatmap::tests::test_color_cold ... ok
[INFO] [stdout] test draw_call_sort::tests::batch_count_empty ... ok
[INFO] [stdout] test draw_call_sort::tests::batch_count_multiple ... ok
[INFO] [stdout] test draw_call_sort::tests::batch_count_single ... ok
[INFO] [stdout] test draw_call_sort::tests::sort_by_material_groups ... ok
[INFO] [stdout] test draw_call_sort::tests::sort_front_to_back_order ... ok
[INFO] [stdout] test draw_call_sort::tests::sort_key_layer_priority ... ok
[INFO] [stdout] test draw_call_sort::tests::split_opaque_transparent ... ok
[INFO] [stdout] test draw_call_sort::tests::to_json_summary ... ok
[INFO] [stdout] test draw_call_view::tests::test_batched_capped_at_total ... ok
[INFO] [stdout] test draw_call_view::tests::test_clone ... ok
[INFO] [stdout] test draw_call_view::tests::test_batch_efficiency_half ... ok
[INFO] [stdout] test draw_call_view::tests::test_batch_efficiency_zero_total ... ok
[INFO] [stdout] test draw_call_sort::tests::count_by_material ... ok
[INFO] [stdout] test draw_call_view::tests::test_enable ... ok
[INFO] [stdout] test draw_call_view::tests::test_json_keys ... ok
[INFO] [stdout] test draw_call_view::tests::test_over_threshold_false ... ok
[INFO] [stdout] test draw_call_view::tests::test_warn_threshold_min ... ok
[INFO] [stdout] test draw_call_view::tests::test_update_counts ... ok
[INFO] [stdout] test draw_command::tests::clear_empties ... ok
[INFO] [stdout] test draw_command::tests::disabled_excluded_from_total ... ok
[INFO] [stdout] test draw_command::tests::group_by_pipeline_sorts ... ok
[INFO] [stdout] test draw_command::tests::is_full_check ... ok
[INFO] [stdout] test draw_command::tests::capacity_limit ... ok
[INFO] [stdout] test draw_call_view::tests::test_defaults ... ok
[INFO] [stdout] test draw_command::tests::json_contains_command_count ... ok
[INFO] [stdout] test draw_command::tests::new_recorder_empty ... ok
[INFO] [stdout] test draw_command::tests::record_returns_true ... ok
[INFO] [stdout] test draw_group::tests::add_increments_count ... ok
[INFO] [stdout] test draw_command::tests::sort_ascending ... ok
[INFO] [stdout] test draw_group::tests::count_by_group ... ok
[INFO] [stdout] test draw_group::tests::average_sort_key_zero_when_empty ... ok
[INFO] [stdout] test draw_group::tests::clear_empties ... ok
[INFO] [stdout] test draw_command::tests::total_index_count_correct ... ok
[INFO] [stdout] test draw_group::tests::group_ids_deduped ... ok
[INFO] [stdout] test draw_group::tests::key_angle_nonneg ... ok
[INFO] [stdout] test draw_group::tests::average_sort_key_correct ... ok
[INFO] [stdout] test draw_group::tests::new_is_empty ... ok
[INFO] [stdout] test draw_indirect_v2::tests::byte_size ... ok
[INFO] [stdout] test draw_indirect_v2::tests::clear_empties ... ok
[INFO] [stdout] test draw_indirect_v2::tests::cull_zero_instance ... ok
[INFO] [stdout] test draw_indirect_v2::tests::json_has_indexed ... ok
[INFO] [stdout] test draw_indirect_v2::tests::new_empty ... ok
[INFO] [stdout] test draw_indirect_v2::tests::push_unindexed ... ok
[INFO] [stdout] test draw_indirect_v2::tests::total_index_count ... ok
[INFO] [stdout] test draw_indirect_v2::tests::push_indexed ... ok
[INFO] [stdout] test draw_item::tests::batch_add_item ... ok
[INFO] [stdout] test draw_item::tests::batch_empty_initially ... ok
[INFO] [stdout] test draw_group::tests::sort_by_key_orders ... ok
[INFO] [stdout] test draw_indirect_v2::tests::total_instances_sum ... ok
[INFO] [stdout] test draw_item::tests::batch_sort ... ok
[INFO] [stdout] test draw_item::tests::clear_empties_batch ... ok
[INFO] [stdout] test draw_item::tests::count_by_kind_test ... ok
[INFO] [stdout] test draw_indirect_v2::tests::total_instances_empty_zero ... ok
[INFO] [stdout] test draw_item::tests::set_invisible ... ok
[INFO] [stdout] test draw_group::tests::to_json_has_count ... ok
[INFO] [stdout] test draw_item::tests::visible_count_test ... ok
[INFO] [stdout] test draw_item::tests::new_item_visible ... ok
[INFO] [stdout] test draw_material::tests::clear_empties ... ok
[INFO] [stdout] test draw_material::tests::alpha_test_when_transparent ... ok
[INFO] [stdout] test draw_item::tests::kind_names ... ok
[INFO] [stdout] test draw_item::tests::to_json_fields ... ok
[INFO] [stdout] test draw_material::tests::add_and_get ... ok
[INFO] [stdout] test draw_material::tests::empty_lib ... ok
[INFO] [stdout] test draw_material::tests::json_has_count ... ok
[INFO] [stdout] test draw_material::tests::no_alpha_test_when_opaque ... ok
[INFO] [stdout] test draw_material::tests::get_missing_returns_none ... ok
[INFO] [stdout] test draw_material::tests::shading_name_pbr ... ok
[INFO] [stdout] test draw_sort::tests::back_to_front_sorts_descending ... ok
[INFO] [stdout] test draw_sort::tests::by_material_groups ... ok
[INFO] [stdout] test draw_sort::tests::empty_slice_sorts_cleanly ... ok
[INFO] [stdout] test draw_sort::tests::front_to_back_sorts_ascending ... ok
[INFO] [stdout] test draw_sort::tests::none_preserves_order ... ok
[INFO] [stdout] test draw_sort::tests::is_sorted_single_element ... ok
[INFO] [stdout] test draw_sort::tests::opaque_key_layer_zero ... ok
[INFO] [stdout] test draw_state::tests::test_draw_state_to_json ... ok
[INFO] [stdout] test draw_sort::tests::transparent_key_layer_nonzero ... ok
[INFO] [stdout] test draw_state::tests::test_default_draw_state ... ok
[INFO] [stdout] test draw_state::tests::test_reset ... ok
[INFO] [stdout] test draw_material::tests::remove_by_id ... ok
[INFO] [stdout] test draw_material::tests::set_roughness_clamps ... ok
[INFO] [stdout] test draw_sort::tests::by_pipeline_groups ... ok
[INFO] [stdout] test draw_state::tests::test_set_blend ... ok
[INFO] [stdout] test draw_state::tests::test_set_cull_face_changes_count ... ok
[INFO] [stdout] test draw_state::tests::test_set_depth_test ... ok
[INFO] [stdout] test draw_state::tests::test_set_depth_write ... ok
[INFO] [stdout] test driver_editor_view::tests::active_count ... ok
[INFO] [stdout] test driver_editor_view::tests::add_driver ... ok
[INFO] [stdout] test driver_editor_view::tests::default_empty ... ok
[INFO] [stdout] test driver_editor_view::tests::json_has_driver_count ... ok
[INFO] [stdout] test draw_state::tests::test_set_cull_face_no_change ... ok
[INFO] [stdout] test cubemap_preview::tests::test_uv_to_direction_center ... ok
[INFO] [stdout] test driver_editor_view::tests::select_driver ... ok
[INFO] [stdout] test draw_state::tests::test_state_change_count ... ok
[INFO] [stdout] test driver_editor_view::tests::set_expression ... ok
[INFO] [stdout] test driver_editor_view::tests::enabled_default ... ok
[INFO] [stdout] test draw_state::tests::test_set_depth_func ... ok
[INFO] [stdout] test driver_editor_view::tests::show_variables_default ... ok
[INFO] [stdout] test driver_graph_view::tests::test_edge_labels ... ok
[INFO] [stdout] test driver_graph_view::tests::test_enabled_default ... ok
[INFO] [stdout] test driver_graph_view::tests::test_set_enabled ... ok
[INFO] [stdout] test driver_graph_view::tests::test_set_zoom ... ok
[INFO] [stdout] test driver_graph_view::tests::test_to_json_has_node_count ... ok
[INFO] [stdout] test dust_overlay::tests::deterministic ... ok
[INFO] [stdout] test dust_overlay::tests::empty_average_alpha_zero ... ok
[INFO] [stdout] test dust_overlay::tests::json_has_keys ... ok
[INFO] [stdout] test driver_graph_view::tests::test_initial_empty ... ok
[INFO] [stdout] test driver_graph_view::tests::test_add_node ... ok
[INFO] [stdout] test driver_graph_view::tests::test_zoom_min ... ok
[INFO] [stdout] test dust_overlay::tests::opacity_clamps ... ok
[INFO] [stdout] test dust_overlay::tests::generate_correct_count ... ok
[INFO] [stdout] test dust_overlay::tests::positions_in_range ... ok
[INFO] [stdout] test driver_graph_view::tests::test_clear ... ok
[INFO] [stdout] test dust_overlay::tests::step_wraps ... ok
[INFO] [stdout] test dust_overlay::tests::tint_clamps ... ok
[INFO] [stdout] test edge_curvature::tests::default_config ... ok
[INFO] [stdout] test edge_curvature::tests::disabled_never_crease ... ok
[INFO] [stdout] test edge_curvature::tests::is_crease_above_threshold ... ok
[INFO] [stdout] test edge_curvature::tests::not_crease_below_threshold ... ok
[INFO] [stdout] test edge_curvature::tests::parallel_normals_zero_curvature ... ok
[INFO] [stdout] test edge_curvature::tests::set_radius ... ok
[INFO] [stdout] test dust_overlay::tests::radius_in_range ... ok
[INFO] [stdout] test dust_overlay::tests::step_moves_particles ... ok
[INFO] [stdout] test edge_curvature::tests::build_samples_count ... ok
[INFO] [stdout] test edge_detect_post::tests::test_default_config ... ok
[INFO] [stdout] test edge_detect_post::tests::test_diagonal_weight ... ok
[INFO] [stdout] test edge_curvature::tests::opposite_normals_max_curvature ... ok
[INFO] [stdout] test edge_curvature::tests::to_json_fields ... ok
[INFO] [stdout] test edge_detect_post::tests::test_laplacian_edge ... ok
[INFO] [stdout] test edge_detect_post::tests::test_laplacian_flat ... ok
[INFO] [stdout] test edge_detect_post::tests::test_roberts_flat ... ok
[INFO] [stdout] test edge_detect_post::tests::test_set_threshold ... ok
[INFO] [stdout] test edge_detect_post::tests::test_sobel_flat ... ok
[INFO] [stdout] test edge_fade::tests::alpha_at_edge_zero ... ok
[INFO] [stdout] test edge_fade::tests::alpha_fully_inside ... ok
[INFO] [stdout] test edge_fade::tests::is_in_fade_zone_center_false ... ok
[INFO] [stdout] test edge_fade::tests::json_contains_mode ... ok
[INFO] [stdout] test edge_detect_post::tests::test_edge_method_name ... ok
[INFO] [stdout] test edge_detect_post::tests::test_is_edge ... ok
[INFO] [stdout] test edge_detect_post::tests::test_sobel_edge ... ok
[INFO] [stdout] test edge_fade::tests::alpha_disabled_returns_inner ... ok
[INFO] [stdout] test edge_fade::tests::is_in_fade_zone_edge ... ok
[INFO] [stdout] test edge_fade::tests::screen_edge_center_is_one ... ok
[INFO] [stdout] test edge_fade::tests::linear_midpoint ... ok
[INFO] [stdout] test edge_fade::tests::rim_fade_uses_frac2pi ... ok
[INFO] [stdout] test edge_flow_view::tests::add_edge_increments_count ... ok
[INFO] [stdout] test edge_flow_view::tests::average_angle_one_edge ... ok
[INFO] [stdout] test edge_flow_view::tests::clear_empties ... ok
[INFO] [stdout] test edge_flow_view::tests::flow_angle_nonneg ... ok
[INFO] [stdout] test edge_flow_view::tests::set_enabled_false ... ok
[INFO] [stdout] test edge_flow_view::tests::loop_ids_deduped ... ok
[INFO] [stdout] test edge_flow_view::tests::to_json_has_enabled ... ok
[INFO] [stdout] test edge_flow_view::tests::average_angle_empty_zero ... ok
[INFO] [stdout] test edge_length_view::tests::color_at_max ... ok
[INFO] [stdout] test edge_flow_view::tests::count_by_loop ... ok
[INFO] [stdout] test edge_length_view::tests::color_at_min ... ok
[INFO] [stdout] test edge_flow_view::tests::new_is_empty ... ok
[INFO] [stdout] test edge_length_view::tests::edge_length_diagonal ... ok
[INFO] [stdout] test edge_length_view::tests::to_json_has_min_length ... ok
[INFO] [stdout] test edge_length_view::tests::default_disabled ... ok
[INFO] [stdout] test edge_normal::tests::add_entry ... ok
[INFO] [stdout] test edge_fade::tests::screen_edge_corner_near_zero ... ok
[INFO] [stdout] test edge_length_view::tests::edge_length_unit ... ok
[INFO] [stdout] test edge_length_view::tests::enable_disable ... ok
[INFO] [stdout] test edge_length_view::tests::stats_empty ... ok
[INFO] [stdout] test edge_length_view::tests::stats_single ... ok
[INFO] [stdout] test edge_normal::tests::crease_filter ... ok
[INFO] [stdout] test edge_normal::tests::clear ... ok
[INFO] [stdout] test edge_normal::tests::find_by_vertices ... ok
[INFO] [stdout] test edge_normal::tests::max_dihedral ... ok
[INFO] [stdout] test edge_normal::tests::new_empty ... ok
[INFO] [stdout] test edge_normal::tests::average_dihedral_empty ... ok
[INFO] [stdout] test edge_normal::tests::json_has_count ... ok
[INFO] [stdout] test edge_normal::tests::normalize_unit_vector ... ok
[INFO] [stdout] test edge_outline::tests::depth_no_edge_close_values ... ok
[INFO] [stdout] test edge_outline::tests::normal_edge_perpendicular ... ok
[INFO] [stdout] test edge_outline::tests::default_enabled ... ok
[INFO] [stdout] test edge_outline::tests::normal_no_edge_same ... ok
[INFO] [stdout] test edge_outline::tests::disabled_never_edge ... ok
[INFO] [stdout] test edge_outline::tests::depth_edge_detected ... ok
[INFO] [stdout] test edge_normal::tests::normalize_zero_safe ... ok
[INFO] [stdout] test edge_outline::tests::outline_alpha_zero_no_edge ... ok
[INFO] [stdout] test edge_silhouette::tests::count_silhouettes ... ok
[INFO] [stdout] test edge_silhouette::tests::default_enabled ... ok
[INFO] [stdout] test edge_outline::tests::thickness_clamps_low ... ok
[INFO] [stdout] test edge_outline::tests::json_has_thickness ... ok
[INFO] [stdout] test edge_outline::tests::outline_alpha_positive_edge ... ok
[INFO] [stdout] test edge_silhouette::tests::detect_edges_updates_flags ... ok
[INFO] [stdout] test edge_silhouette::tests::disabled_never_silhouette ... ok
[INFO] [stdout] test edge_silhouette::tests::no_silhouette_same_side ... ok
[INFO] [stdout] test edge_silhouette::tests::reset_restores_defaults ... ok
[INFO] [stdout] test edge_silhouette::tests::set_color ... ok
[INFO] [stdout] test edge_silhouette::tests::to_json_fields ... ok
[INFO] [stdout] test edge_silhouette::tests::set_thickness_clamps ... ok
[INFO] [stdout] test edge_silhouette::tests::silhouette_when_normals_straddle_view ... ok
[INFO] [stdout] test edge_weld::tests::count_unique_all_different ... ok
[INFO] [stdout] test edge_weld::tests::apply_remap_updates_indices ... ok
[INFO] [stdout] test edge_weld::tests::no_weld_far_positions ... ok
[INFO] [stdout] test edge_weld::tests::default_config_valid ... ok
[INFO] [stdout] test edge_weld::tests::count_unique_with_merge ... ok
[INFO] [stdout] test edge_weld::tests::run_weld_pass_returns_stats ... ok
[INFO] [stdout] test edge_weld::tests::normal_tolerance_is_pi_over_6 ... ok
[INFO] [stdout] test eevee_settings_view::tests::test_bloom_toggle ... ok
[INFO] [stdout] test edge_weld::tests::weld_stats_default ... ok
[INFO] [stdout] test edge_weld::tests::weld_identical_positions ... ok
[INFO] [stdout] test eevee_settings_view::tests::test_json_keys ... ok
[INFO] [stdout] test eevee_settings_view::tests::test_new_defaults ... ok
[INFO] [stdout] test eevee_settings_view::tests::test_set_samples_clamp ... ok
[INFO] [stdout] test eevee_settings_view::tests::test_ssr_toggle ... ok
[INFO] [stdout] test eevee_settings_view::tests::test_shadow_cube_power_of_two ... ok
[INFO] [stdout] test eevee_settings_view::tests::test_set_samples_high ... ok
[INFO] [stdout] test eevee_settings_view::tests::test_clone ... ok
[INFO] [stdout] test eevee_settings_view::tests::test_shadow_cube_clamp_low ... ok
[INFO] [stdout] test eevee_settings_view::tests::test_default_ao_off ... ok
[INFO] [stdout] test emission_debug_view::tests::test_emission_color_high_exposure ... ok
[INFO] [stdout] test emission_debug_view::tests::test_enable ... ok
[INFO] [stdout] test emission_debug_view::tests::test_new_defaults ... ok
[INFO] [stdout] test emission_debug_view::tests::test_set_exposure ... ok
[INFO] [stdout] test emission_debug_view::tests::test_set_exposure_clamp_high ... ok
[INFO] [stdout] test emission_debug_view::tests::test_set_exposure_clamp_low ... ok
[INFO] [stdout] test emission_debug_view::tests::test_to_json ... ok
[INFO] [stdout] test endoscopy_view::tests::test_duration_ms ... ok
[INFO] [stdout] test endoscopy_view::tests::test_duration_empty ... ok
[INFO] [stdout] test endoscopy_view::tests::test_get_pixel_oob ... ok
[INFO] [stdout] test emission_debug_view::tests::test_emission_color_range ... ok
[INFO] [stdout] test endoscopy_view::tests::test_set_get_pixel ... ok
[INFO] [stdout] test env_cubemap::tests::test_estimated_memory ... ok
[INFO] [stdout] test emission_debug_view::tests::test_emission_color_zero ... ok
[INFO] [stdout] test endoscopy_view::tests::test_new_frame ... ok
[INFO] [stdout] test endoscopy_view::tests::test_pixel_count ... ok
[INFO] [stdout] test endoscopy_view::tests::test_mean_brightness_black ... ok
[INFO] [stdout] test env_cubemap::tests::test_new_env_cubemap ... ok
[INFO] [stdout] test env_cubemap::tests::test_reset ... ok
[INFO] [stdout] test env_cubemap::tests::test_enabled ... ok
[INFO] [stdout] test env_cubemap::tests::test_env_cubemap_to_json ... ok
[INFO] [stdout] test env_cubemap::tests::test_rotation_rad ... ok
[INFO] [stdout] test env_cubemap::tests::test_set_intensity_clamps ... ok
[INFO] [stdout] test env_cubemap::tests::test_set_rotation ... ok
[INFO] [stdout] test env_cubemap::tests::test_total_texel_count ... ok
[INFO] [stdout] test env_diffuse::tests::add_probe_capacity_limit ... ok
[INFO] [stdout] test env_diffuse::tests::ambient_color_uses_frac1pi ... ok
[INFO] [stdout] test env_diffuse::tests::blend_probes_at_one ... ok
[INFO] [stdout] test env_diffuse::tests::json_contains_probe_count ... ok
[INFO] [stdout] test env_diffuse::tests::hemisphere_pdf_correct ... ok
[INFO] [stdout] test env_diffuse::tests::blend_probes_at_zero ... ok
[INFO] [stdout] test env_cubemap::tests::test_set_intensity ... ok
[INFO] [stdout] test env_diffuse::tests::new_system_empty ... ok
[INFO] [stdout] test env_light::tests::blend_midpoint_intensity ... ok
[INFO] [stdout] test env_diffuse::tests::probes_slice_not_empty ... ok
[INFO] [stdout] test env_diffuse::tests::add_probe_ok ... ok
[INFO] [stdout] test env_light::tests::default_enabled ... ok
[INFO] [stdout] test env_diffuse::tests::sample_sh_neutral_probe ... ok
[INFO] [stdout] test env_light::tests::disabled_intensity_zero ... ok
[INFO] [stdout] test env_light::tests::intensity_not_negative ... ok
[INFO] [stdout] test env_light::tests::json_has_source ... ok
[INFO] [stdout] test env_light::tests::rotation_wraps ... ok
[INFO] [stdout] test env_light::tests::set_source ... ok
[INFO] [stdout] test env_light::tests::source_name_hdri ... ok
[INFO] [stdout] test env_light::tests::tint_clamps ... ok
[INFO] [stdout] test env_light::tests::tinted_intensity_correct ... ok
[INFO] [stdout] test env_map_v2::tests::default_enabled ... ok
[INFO] [stdout] test env_map_v2::tests::mip_count_clamped ... ok
[INFO] [stdout] test env_map_v2::tests::rotation_rad_matches ... ok
[INFO] [stdout] test env_map_v2::tests::roughness_last_mip_one ... ok
[INFO] [stdout] test env_map_v2::tests::set_enabled_false ... ok
[INFO] [stdout] test env_map_v2::tests::source_name_cubemap ... ok
[INFO] [stdout] test env_map_v2::tests::to_json_has_intensity ... ok
[INFO] [stdout] test env_prefilter::tests::mark_ready ... ok
[INFO] [stdout] test env_prefilter::tests::memory_bytes_positive ... ok
[INFO] [stdout] test env_map_v2::tests::effective_intensity_zero_when_disabled ... ok
[INFO] [stdout] test env_map_v2::tests::roughness_first_mip_zero ... ok
[INFO] [stdout] test env_map_v2::tests::set_intensity_negative_clamps_to_zero ... ok
[INFO] [stdout] test env_prefilter::tests::default_config_sane ... ok
[INFO] [stdout] test env_prefilter::tests::ggx_ndf_positive ... ok
[INFO] [stdout] test env_prefilter::tests::new_map_not_ready ... ok
[INFO] [stdout] test env_prefilter::tests::resolution_halves_per_mip ... ok
[INFO] [stdout] test env_prefilter::tests::roughness_at_last_mip_is_one ... ok
[INFO] [stdout] test env_prefilter::tests::to_json_fields ... ok
[INFO] [stdout] test env_rotation_v2::tests::advance_spin_changes_azimuth ... ok
[INFO] [stdout] test env_rotation_v2::tests::advance_spin_no_effect_static ... ok
[INFO] [stdout] test env_rotation_v2::tests::ev_to_linear_one ... ok
[INFO] [stdout] test env_rotation_v2::tests::ev_to_linear_zero ... ok
[INFO] [stdout] test env_prefilter::tests::roughness_at_mip_zero_is_zero ... ok
[INFO] [stdout] test env_prefilter::tests::resolution_minimum_one ... ok
[INFO] [stdout] test env_rotation_v2::tests::clamp_elevation_low ... ok
[INFO] [stdout] test env_rotation_v2::tests::normalise_azimuth_wraps ... ok
[INFO] [stdout] test env_rotation_v2::tests::default_rotation_zero ... ok
[INFO] [stdout] test env_rotation_v2::tests::normalise_azimuth_negative ... ok
[INFO] [stdout] test env_rotation_v2::tests::clamp_elevation_high ... ok
[INFO] [stdout] test env_sky::tests::set_turbidity_clamps ... ok
[INFO] [stdout] test env_rotation_v2::tests::rotation_matrix_identity_at_zero ... ok
[INFO] [stdout] test env_sky::tests::sun_direction_unit_length ... ok
[INFO] [stdout] test env_sky::tests::default_config ... ok
[INFO] [stdout] test env_sky::tests::model_name_preetham ... ok
[INFO] [stdout] test env_sky::tests::set_elevation_clamps ... ok
[INFO] [stdout] test env_sky::tests::set_intensity_no_negative ... ok
[INFO] [stdout] test env_sky::tests::sky_color_horizon_at_zero ... ok
[INFO] [stdout] test env_sky::tests::sky_color_zenith_at_one ... ok
[INFO] [stdout] test env_specular::tests::fresnel_increases_at_grazing ... ok
[INFO] [stdout] test env_specular::tests::geometry_smith_positive ... ok
[INFO] [stdout] test env_specular::tests::json_has_intensity ... ok
[INFO] [stdout] test env_specular::tests::memory_bytes_positive ... ok
[INFO] [stdout] test env_specular::tests::reset_restores ... ok
[INFO] [stdout] test env_specular::tests::roughness_to_mip_zero ... ok
[INFO] [stdout] test env_sky::tests::to_json_fields ... ok
[INFO] [stdout] test environment::tests::all_presets_have_valid_exposure ... ok
[INFO] [stdout] test env_specular::tests::default_enabled ... ok
[INFO] [stdout] test env_specular::tests::fresnel_at_zero_angle_equals_f0 ... ok
[INFO] [stdout] test env_specular::tests::ggx_d_positive ... ok
[INFO] [stdout] test environment::tests::default_night_low_exposure ... ok
[INFO] [stdout] test environment::tests::default_outdoor_is_procedural ... ok
[INFO] [stdout] test environment::tests::default_sunset_warm_gradient ... ok
[INFO] [stdout] test environment::tests::environment_to_json_all_presets ... ok
[INFO] [stdout] test environment::tests::default_studio_solid_color_gray ... ok
[INFO] [stdout] test environment::tests::fog_factor_at_zero_is_one ... ok
[INFO] [stdout] test environment::tests::fog_factor_decreases_with_distance ... ok
[INFO] [stdout] test environment::tests::sky_color_solid_always_same ... ok
[INFO] [stdout] test environment::tests::sun_direction_elevation_0_is_horizon ... ok
[INFO] [stdout] test environment::tests::sky_color_at_angle_zenith_vs_horizon_differ_procedural ... ok
[INFO] [stdout] test environment::tests::environment_to_json_non_empty ... ok
[INFO] [stdout] test environment::tests::sun_direction_is_unit_length ... ok
[INFO] [stdout] test environment::tests::fog_factor_zero_density_is_always_one ... ok
[INFO] [stdout] test error_diffusion_view::tests::test_blend ... ok
[INFO] [stdout] test environment::tests::sun_direction_elevation_90_is_up ... ok
[INFO] [stdout] test event_loop::tests::frame_timing_dt_non_negative ... ok
[INFO] [stdout] test error_diffusion_view::tests::test_high_fidelity_by_default ... ok
[INFO] [stdout] test event_loop::tests::headless_window_state_dimensions ... ok
[INFO] [stdout] test error_diffusion_view::tests::test_new ... ok
[INFO] [stdout] test error_diffusion_view::tests::test_quantize_zero ... ok
[INFO] [stdout] test error_diffusion_view::tests::test_floyd_steinberg_weights_sum ... ok
[INFO] [stdout] test event_loop::tests::input_state_advance_frame_clears_keys ... ok
[INFO] [stdout] test event_loop::tests::input_state_advance_frame_resets_scroll ... ok
[INFO] [stdout] test event_loop::tests::orbit_controller_left_drag_changes_camera ... ok
[INFO] [stdout] test event_loop::tests::orbit_controller_right_drag_pans ... ok
[INFO] [stdout] test event_loop::tests::orbit_controller_scroll_zooms ... ok
[INFO] [stdout] test event_loop::tests::window_state_aspect_ratio ... ok
[INFO] [stdout] test event_loop::tests::input_state_cursor_delta_computed ... ok
[INFO] [stdout] test event_loop::tests::tick_headless_updates_timing ... ok
[INFO] [stdout] test event_loop::tests::window_state_clear_flags ... ok
[INFO] [stdout] test event_loop::tests::input_state_cursor_delta_none_when_no_prev ... ok
[INFO] [stdout] test exposure_control::tests::test_auto_expose ... ok
[INFO] [stdout] test event_loop::tests::window_state_resize_clamps_to_one ... ok
[INFO] [stdout] test exposure_control::tests::test_default_settings ... ok
[INFO] [stdout] test exposure_control::tests::test_ev_to_multiplier_positive ... ok
[INFO] [stdout] test exposure_control::tests::test_compute_ev ... ok
[INFO] [stdout] test exposure_control::tests::test_ev_to_multiplier ... ok
[INFO] [stdout] test exposure_control::tests::test_set_ev_bias ... ok
[INFO] [stdout] test exposure_control::tests::test_set_iso_clamp ... ok
[INFO] [stdout] test exposure_control::tests::test_to_json ... ok
[INFO] [stdout] test exposure_meter_view::tests::test_correction_positive ... ok
[INFO] [stdout] test exposure_control::tests::test_ev_zero_iso ... ok
[INFO] [stdout] test exposure_control::tests::test_evaluate ... ok
[INFO] [stdout] test exposure_meter_view::tests::test_luminance_to_ev_one ... ok
[INFO] [stdout] test exposure_meter_view::tests::test_luminance_to_ev_zero_luminance ... ok
[INFO] [stdout] test exposure_meter_view::tests::test_default_mode_average ... ok
[INFO] [stdout] test exposure_meter_view::tests::test_set_ev_target ... ok
[INFO] [stdout] test exposure_meter_view::tests::test_set_ev_target_clamps ... ok
[INFO] [stdout] test exposure_meter_view::tests::test_set_mode_spot ... ok
[INFO] [stdout] test exposure_meter_view::tests::test_to_json_contains_mode ... ok
[INFO] [stdout] test face_area_view::tests::average_area_empty ... ok
[INFO] [stdout] test face_area_view::tests::average_area_uniform ... ok
[INFO] [stdout] test face_area_view::tests::default_disabled ... ok
[INFO] [stdout] test exposure_meter_view::tests::test_set_enabled_false ... ok
[INFO] [stdout] test face_area_view::tests::color_at_min_area ... ok
[INFO] [stdout] test face_area_view::tests::enable_disable ... ok
[INFO] [stdout] test face_area_view::tests::degenerate_triangle_zero_area ... ok
[INFO] [stdout] test face_area_view::tests::to_json_has_min_area ... ok
[INFO] [stdout] test face_area_view::tests::total_area_sum ... ok
[INFO] [stdout] test face_area_view::tests::unit_triangle_area ... ok
[INFO] [stdout] test face_normal_view::tests::centroid_of_equilateral ... ok
[INFO] [stdout] test env_specular::tests::roughness_to_mip_one ... ok
[INFO] [stdout] test face_normal_view::tests::compute_normal_unit_length ... ok
[INFO] [stdout] test face_normal_view::tests::default_disabled ... ok
[INFO] [stdout] test exposure_meter_view::tests::test_toggle_histogram ... ok
[INFO] [stdout] test face_normal_view::tests::enable_disable ... ok
[INFO] [stdout] test face_normal_view::tests::backface_detection ... ok
[INFO] [stdout] test face_normal_view::tests::set_line_length_clamps ... ok
[INFO] [stdout] test environment::tests::default_night_has_gradient ... ok
[INFO] [stdout] test face_normal_view::tests::frontface_detection ... ok
[INFO] [stdout] test face_normal_view::tests::compute_normal_xy_plane ... ok
[INFO] [stdout] test face_normal_view::tests::to_json_has_line_length ... ok
[INFO] [stdout] test false_color_view::tests::test_enabled_toggle ... ok
[INFO] [stdout] test false_color_view::tests::test_json ... ok
[INFO] [stdout] test false_color_view::tests::test_legend_toggle ... ok
[INFO] [stdout] test false_color_view::tests::test_luminance_range ... ok
[INFO] [stdout] test false_color_view::tests::test_map_luminance_clamped ... ok
[INFO] [stdout] test false_color_view::tests::test_set_palette ... ok
[INFO] [stdout] test film_curve::tests::aces_output_clamped ... ok
[INFO] [stdout] test film_curve::tests::film_curve_black_maps_near_black ... ok
[INFO] [stdout] test film_curve::tests::apply_exposure_zero_ev ... ok
[INFO] [stdout] test film_curve::tests::film_curve_positive_input_positive_output ... ok
[INFO] [stdout] test film_curve::tests::log_clip_positive_output ... ok
[INFO] [stdout] test false_color_view::tests::test_map_luminance_mid ... ok
[INFO] [stdout] test film_curve::tests::reinhard_clamps_high_values ... ok
[INFO] [stdout] test false_color_view::tests::test_clone ... ok
[INFO] [stdout] test film_curve::tests::film_curve_rgb_same_as_per_channel ... ok
[INFO] [stdout] test false_color_view::tests::test_defaults ... ok
[INFO] [stdout] test film_curve::tests::log_clip_zero_input ... ok
[INFO] [stdout] test film_curve::tests::gamma_curve_identity_at_one ... ok
[INFO] [stdout] test film_grain::tests::test_apply_mono_clamped ... ok
[INFO] [stdout] test film_grain::tests::test_default_config ... ok
[INFO] [stdout] test film_grain::tests::test_estimate_noise_level ... ok
[INFO] [stdout] test film_grain::tests::test_grain_value_range ... ok
[INFO] [stdout] test film_grain::tests::test_hash_deterministic ... ok
[INFO] [stdout] test film_grain::tests::test_hash_to_float_range ... ok
[INFO] [stdout] test film_grain::tests::test_luminance_scale_dark ... ok
[INFO] [stdout] test film_grain::tests::test_luminance_scale_bright ... ok
[INFO] [stdout] test film_curve::tests::reinhard_extended_zero ... ok
[INFO] [stdout] test film_grain::tests::test_apply_film_grain_mono ... ok
[INFO] [stdout] test film_grain_v2::tests::blend_midpoint ... ok
[INFO] [stdout] test film_grain_v2::tests::disabled_when_zero ... ok
[INFO] [stdout] test film_grain_v2::tests::grain_at_luma_bounded ... ok
[INFO] [stdout] test film_grain::tests::test_zero_intensity_no_change ... ok
[INFO] [stdout] test film_grain_v2::tests::intensity_clamp ... ok
[INFO] [stdout] test film_grain_v2::tests::grain_at_midtone_positive ... ok
[INFO] [stdout] test film_grain_view::tests::test_apply_clamps_output ... ok
[INFO] [stdout] test film_grain_v2::tests::default_gaussian ... ok
[INFO] [stdout] test film_grain_v2::tests::json_has_pattern ... ok
[INFO] [stdout] test film_grain_view::tests::test_default_intensity ... ok
[INFO] [stdout] test film_grain_view::tests::test_luma_sensitivity_default ... ok
[INFO] [stdout] test film_grain_view::tests::test_grain_value_nonzero_intensity ... ok
[INFO] [stdout] test film_grain_v2::tests::pattern_name_poisson ... ok
[INFO] [stdout] test film_grain_view::tests::test_set_enabled_false ... ok
[INFO] [stdout] test film_grain_v2::tests::intensity_not_negative ... ok
[INFO] [stdout] test film_grain_v2::tests::size_clamp_min ... ok
[INFO] [stdout] test film_grain_view::tests::test_set_grain_size ... ok
[INFO] [stdout] test film_grain_view::tests::test_set_intensity ... ok
[INFO] [stdout] test film_grain_view::tests::test_toggle_animated ... ok
[INFO] [stdout] test film_halation::tests::blend_midpoint ... ok
[INFO] [stdout] test film_halation::tests::disabled_no_effect ... ok
[INFO] [stdout] test film_halation::tests::halation_above_threshold ... ok
[INFO] [stdout] test film_halation::tests::luminance_white ... ok
[INFO] [stdout] test film_halation::tests::set_radius_min ... ok
[INFO] [stdout] test film_halation::tests::set_threshold_clamps ... ok
[INFO] [stdout] test film_response::tests::aces_range ... ok
[INFO] [stdout] test film_response::tests::default_aces ... ok
[INFO] [stdout] test film_grain_view::tests::test_set_intensity_clamps ... ok
[INFO] [stdout] test film_grain_view::tests::test_to_json_contains_intensity ... ok
[INFO] [stdout] test film_response::tests::ev_stops_at_one_exposure ... ok
[INFO] [stdout] test film_halation::tests::default_config ... ok
[INFO] [stdout] test film_halation::tests::no_halation_below_threshold ... ok
[INFO] [stdout] test film_halation::tests::to_json_fields ... ok
[INFO] [stdout] test film_response::tests::gamma_correct_identity_at_one ... ok
[INFO] [stdout] test film_response::tests::set_exposure_clamps ... ok
[INFO] [stdout] test film_response::tests::to_json_fields ... ok
[INFO] [stdout] test film_saturation::tests::default_is_identity ... ok
[INFO] [stdout] test film_saturation::tests::desaturate_zero_gives_gray ... ok
[INFO] [stdout] test film_saturation::tests::json_has_saturation ... ok
[INFO] [stdout] test film_saturation::tests::pixel_saturation_gray_zero ... ok
[INFO] [stdout] test film_response::tests::tonemap_linear_clamps_at_exposure ... ok
[INFO] [stdout] test film_saturation::tests::blend_midpoint ... ok
[INFO] [stdout] test film_saturation::tests::disabled_returns_input ... ok
[INFO] [stdout] test film_response::tests::process_dark_stays_dark ... ok
[INFO] [stdout] test film_saturation::tests::pixel_saturation_red_positive ... ok
[INFO] [stdout] test film_response::tests::reinhard_half_at_one ... ok
[INFO] [stdout] test film_saturation::tests::reset_restores_identity ... ok
[INFO] [stdout] test film_strip::tests::test_capture_frame ... ok
[INFO] [stdout] test film_strip::tests::test_capture_overflow ... ok
[INFO] [stdout] test film_strip::tests::test_film_strip_to_json ... ok
[INFO] [stdout] test film_strip::tests::test_frame_at_time ... ok
[INFO] [stdout] test film_strip::tests::test_set_fps ... ok
[INFO] [stdout] test film_strip::tests::test_time_per_frame ... ok
[INFO] [stdout] test film_strip::tests::test_total_duration_single ... ok
[INFO] [stdout] test film_tone::tests::aces_clamps ... ok
[INFO] [stdout] test film_tone::tests::apply_aces_nonzero_input ... ok
[INFO] [stdout] test film_tone::tests::disabled_returns_input ... ok
[INFO] [stdout] test film_tone::tests::gamma_identity_at_one ... ok
[INFO] [stdout] test film_saturation::tests::vibrance_clamps ... ok
[INFO] [stdout] test film_saturation::tests::saturation_clamps_low ... ok
[INFO] [stdout] test film_strip::tests::test_clear ... ok
[INFO] [stdout] test film_tone::tests::hable_clamps ... ok
[INFO] [stdout] test film_strip::tests::test_total_duration ... ok
[INFO] [stdout] test film_tone::tests::json_contains_exposure ... ok
[INFO] [stdout] test film_strip::tests::test_new_film_strip ... ok
[INFO] [stdout] test film_tone::tests::reinhard_positive ... ok
[INFO] [stdout] test film_vignette::tests::alpha_at_centre_zero ... ok
[INFO] [stdout] test film_vignette::tests::default_enabled ... ok
[INFO] [stdout] test film_vignette::tests::disabled_alpha_is_zero ... ok
[INFO] [stdout] test film_vignette::tests::fade_angle_nonneg ... ok
[INFO] [stdout] test film_tone::tests::linear_zero_in_zero_out ... ok
[INFO] [stdout] test film_tone::tests::linear_clamps_at_one ... ok
[INFO] [stdout] test film_tone::tests::log_uses_log2e ... ok
[INFO] [stdout] test film_vignette::tests::alpha_range_0_to_strength ... ok
[INFO] [stdout] test film_vignette::tests::rim_alpha_matches ... ok
[INFO] [stdout] test film_vignette::tests::reset_restores_defaults ... ok
[INFO] [stdout] test fire_debug_view::tests::test_json_keys ... ok
[INFO] [stdout] test film_vignette::tests::to_json_has_radius ... ok
[INFO] [stdout] test film_vignette::tests::set_radius_clamps ... ok
[INFO] [stdout] test fire_debug_view::tests::test_clone ... ok
[INFO] [stdout] test fire_debug_view::tests::test_normalize_clamp_below ... ok
[INFO] [stdout] test film_vignette::tests::set_strength_clamps ... ok
[INFO] [stdout] test fire_debug_view::tests::test_defaults ... ok
[INFO] [stdout] test fire_debug_view::tests::test_enable ... ok
[INFO] [stdout] test fire_debug_view::tests::test_temp_min_clamped ... ok
[INFO] [stdout] test fire_debug_view::tests::test_toggle_fuel ... ok
[INFO] [stdout] test fire_sim_view::tests::test_fire_is_hot ... ok
[INFO] [stdout] test fire_sim_view::tests::test_fire_temperature_color_cold ... ok
[INFO] [stdout] test fire_sim_view::tests::test_fire_temperature_color_hot ... ok
[INFO] [stdout] test flow_field::tests::test_default_config ... ok
[INFO] [stdout] test flow_field::tests::test_flow_magnitude_unit ... ok
[INFO] [stdout] test fire_debug_view::tests::test_normalize_mid ... ok
[INFO] [stdout] test fire_debug_view::tests::test_temp_max_set ... ok
[INFO] [stdout] test flow_field::tests::test_magnitude_to_color_zero ... ok
[INFO] [stdout] test fire_sim_view::tests::test_fire_density_color ... ok
[INFO] [stdout] test fire_sim_view::tests::test_new_fire_view ... ok
[INFO] [stdout] test flow_field::tests::test_flow_magnitude_zero ... ok
[INFO] [stdout] test flow_field::tests::test_normalize_velocity ... ok
[INFO] [stdout] test flow_field::tests::test_to_json ... ok
[INFO] [stdout] test flow_field::tests::test_vortex_field_count ... ok
[INFO] [stdout] test fluid_debug_view::tests::test_clone ... ok
[INFO] [stdout] test fluid_debug_view::tests::test_enable ... ok
[INFO] [stdout] test fluid_debug_view::tests::test_json_keys ... ok
[INFO] [stdout] test fluid_debug_view::tests::test_pressure_toggle ... ok
[INFO] [stdout] test fluid_debug_view::tests::test_velocity_scale_clamp_low ... ok
[INFO] [stdout] test fluid_debug_view::tests::test_velocity_scale_set ... ok
[INFO] [stdout] test flow_field::tests::test_normalize_zero_safe ... ok
[INFO] [stdout] test flow_field::tests::test_set_arrow_scale ... ok
[INFO] [stdout] test fluid_vorticity_view::tests::test_enable ... ok
[INFO] [stdout] test fluid_debug_view::tests::test_opacity_clamp ... ok
[INFO] [stdout] test fluid_debug_view::tests::test_velocity_toggle ... ok
[INFO] [stdout] test fluid_vorticity_view::tests::test_clone ... ok
[INFO] [stdout] test fluid_debug_view::tests::test_defaults ... ok
[INFO] [stdout] test fluid_vorticity_view::tests::test_vorticity_color_positive_range ... ok
[INFO] [stdout] test fluid_vorticity_view::tests::test_new_defaults ... ok
[INFO] [stdout] test fluid_vorticity_view::tests::test_set_max_vorticity ... ok
[INFO] [stdout] test fluid_vorticity_view::tests::test_to_json ... ok
[INFO] [stdout] test fluid_vorticity_view::tests::test_vorticity_color_zero ... ok
[INFO] [stdout] test fluid_vorticity_view::tests::test_vorticity_color_negative_range ... ok
[INFO] [stdout] test fluid_vorticity_view::tests::test_toggle_direction ... ok
[INFO] [stdout] test fluid_vorticity_view::tests::test_set_max_vorticity_min ... ok
[INFO] [stdout] test fluorescence_view::tests::test_fluor_energy_ratio ... ok
[INFO] [stdout] test fluorescence_view::tests::test_fluor_is_not_uv_excited ... ok
[INFO] [stdout] test fluorescence_view::tests::test_fluor_is_uv_excited ... ok
[INFO] [stdout] test fluorescence_view::tests::test_new_fluorescence_view ... ok
[INFO] [stdout] test fluorescence_view::tests::test_fluor_stokes_shift ... ok
[INFO] [stdout] test focus_peaking_view::tests::test_clone ... ok
[INFO] [stdout] test focus_peaking_view::tests::test_defaults ... ok
[INFO] [stdout] test focus_peaking_view::tests::test_enabled_toggle ... ok
[INFO] [stdout] test focus_peaking_view::tests::test_json ... ok
[INFO] [stdout] test focus_peaking_view::tests::test_not_in_focus_low_gradient ... ok
[INFO] [stdout] test focus_peaking_view::tests::test_sensitivity_set ... ok
[INFO] [stdout] test focus_point::tests::test_dof_far_plane ... ok
[INFO] [stdout] test focus_peaking_view::tests::test_highlight_color_set ... ok
[INFO] [stdout] test focus_point::tests::test_average_focus ... ok
[INFO] [stdout] test focus_peaking_view::tests::test_in_focus_high_gradient ... ok
[INFO] [stdout] test focus_point::tests::test_average_focus_empty ... ok
[INFO] [stdout] test focus_point::tests::test_dof_near_plane ... ok
[INFO] [stdout] test focus_peaking_view::tests::test_threshold_clamp ... ok
[INFO] [stdout] test focus_point::tests::test_enable_disable_dof ... ok
[INFO] [stdout] test focus_point::tests::test_focus_history_push_and_len ... ok
[INFO] [stdout] test focus_point::tests::test_focus_history_max_points ... ok
[INFO] [stdout] test focus_point::tests::test_new_focus_point ... ok
[INFO] [stdout] test focus_point::tests::test_focus_in_range_true ... ok
[INFO] [stdout] test focus_point::tests::test_set_focus_mode ... ok
[INFO] [stdout] test focus_point::tests::test_smooth_focus_to_full_step ... ok
[INFO] [stdout] test fog_volume::tests::blend_color_midpoint ... ok
[INFO] [stdout] test focus_point::tests::test_update_focus_distance ... ok
[INFO] [stdout] test fog_volume::tests::density_clamped ... ok
[INFO] [stdout] test focus_point::tests::test_focus_in_range_false ... ok
[INFO] [stdout] test fog_volume::tests::disabled_fog_zero ... ok
[INFO] [stdout] test fog_volume::tests::color_set_clamped ... ok
[INFO] [stdout] test focus_point::tests::test_smooth_focus_to ... ok
[INFO] [stdout] test focus_point::tests::test_set_focus_position ... ok
[INFO] [stdout] test fog_volume::tests::exponential_factor_increases_with_distance ... ok
[INFO] [stdout] test fog_volume::tests::json_has_keys ... ok
[INFO] [stdout] test fog_volume::tests::linear_fog_before_start_zero ... ok
[INFO] [stdout] test force_vector_view::tests::test_clone ... ok
[INFO] [stdout] test force_vector_view::tests::test_defaults ... ok
[INFO] [stdout] test force_vector_view::tests::test_display_length_below_min ... ok
[INFO] [stdout] test force_vector_view::tests::test_display_length_above_min ... ok
[INFO] [stdout] test force_vector_view::tests::test_min_magnitude ... ok
[INFO] [stdout] test force_vector_view::tests::test_enable ... ok
[INFO] [stdout] test force_vector_view::tests::test_scale_clamp ... ok
[INFO] [stdout] test force_vector_view::tests::test_toggle_torque ... ok
[INFO] [stdout] test frame_guides_view::tests::test_clone ... ok
[INFO] [stdout] test frame_guides_view::tests::test_color_set ... ok
[INFO] [stdout] test frame_guides_view::tests::test_defaults ... ok
[INFO] [stdout] test frame_guides_view::tests::test_grid_divisions_rule_of_thirds ... ok
[INFO] [stdout] test frame_guides_view::tests::test_enabled_false ... ok
[INFO] [stdout] test frame_guides_view::tests::test_grid_divisions_golden ... ok
[INFO] [stdout] test frame_guides_view::tests::test_json ... ok
[INFO] [stdout] test friction_cone_view::tests::test_clone ... ok
[INFO] [stdout] test frame_guides_view::tests::test_line_width_clamp ... ok
[INFO] [stdout] test friction_cone_view::tests::test_color_set ... ok
[INFO] [stdout] test friction_cone_view::tests::test_cone_radius ... ok
[INFO] [stdout] test friction_cone_view::tests::test_cone_radius_formula ... ok
[INFO] [stdout] test friction_cone_view::tests::test_defaults ... ok
[INFO] [stdout] test friction_cone_view::tests::test_cone_height_clamp ... ok
[INFO] [stdout] test friction_cone_view::tests::test_enable ... ok
[INFO] [stdout] test frame_guides_view::tests::test_set_guide_type ... ok
[INFO] [stdout] test friction_cone_view::tests::test_json_keys ... ok
[INFO] [stdout] test frustum_cull_view::tests::test_clone ... ok
[INFO] [stdout] test friction_cone_view::tests::test_friction_coefficient_clamp ... ok
[INFO] [stdout] test frustum_cull_view::tests::test_cull_ratio_update ... ok
[INFO] [stdout] test fog_volume::tests::exp_squared_increases ... ok
[INFO] [stdout] test force_vector_view::tests::test_json_keys ... ok
[INFO] [stdout] test fog_volume::tests::linear_fog_after_end_one ... ok
[INFO] [stdout] test frustum_cull_view::tests::test_cull_ratio_zero_total ... ok
[INFO] [stdout] test frustum_cull_view::tests::test_highlight_culled_off ... ok
[INFO] [stdout] test frustum_cull_view::tests::test_enable ... ok
[INFO] [stdout] test frustum_cull_view::tests::test_defaults ... ok
[INFO] [stdout] test frustum_cull_view::tests::test_visible_count_all_culled ... ok
[INFO] [stdout] test fsr_view_stub::tests::test_new ... ok
[INFO] [stdout] test frustum_cull_view::tests::test_show_planes ... ok
[INFO] [stdout] test frustum_cull_view::tests::test_visible_count ... ok
[INFO] [stdout] test fsr_view_stub::tests::test_scale_factor_quality ... ok
[INFO] [stdout] test fsr_view_stub::tests::test_render_resolution ... ok
[INFO] [stdout] test frustum_cull_view::tests::test_json_keys ... ok
[INFO] [stdout] test fsr_view_stub::tests::test_scale_factor_ultra_performance ... ok
[INFO] [stdout] test fsr_view_stub::tests::test_set_mode ... ok
[INFO] [stdout] test g_buffer_view::tests::test_apply_exposure ... ok
[INFO] [stdout] test g_buffer_view::tests::test_channel_name_depth ... ok
[INFO] [stdout] test g_buffer_view::tests::test_channel_name_albedo ... ok
[INFO] [stdout] test g_buffer_view::tests::test_default_channel_albedo ... ok
[INFO] [stdout] test g_buffer_view::tests::test_default_enabled_true ... ok
[INFO] [stdout] test g_buffer_view::tests::test_set_exposure ... ok
[INFO] [stdout] test gamma_correction::tests::apply_produces_valid_range ... ok
[INFO] [stdout] test g_buffer_view::tests::test_to_json_contains_channel ... ok
[INFO] [stdout] test gamma_correction::tests::clamps_input_high ... ok
[INFO] [stdout] test g_buffer_view::tests::test_set_enabled_false ... ok
[INFO] [stdout] test gamma_correction::tests::clamps_input_low ... ok
[INFO] [stdout] test g_buffer_view::tests::test_set_channel_normal ... ok
[INFO] [stdout] test gamma_correction::tests::gain_clamps ... ok
[INFO] [stdout] test gamma_correction::tests::json_has_keys ... ok
[INFO] [stdout] test gamma_correction::tests::lift_clamps ... ok
[INFO] [stdout] test gamma_correction::tests::linear_mode_identity ... ok
[INFO] [stdout] test gamma_correction::tests::power_gamma_encode_increases ... ok
[INFO] [stdout] test gamma_correction::tests::reset_to_default ... ok
[INFO] [stdout] test garbage_matte_view::tests::test_add_points ... ok
[INFO] [stdout] test garbage_matte_view::tests::test_clone ... ok
[INFO] [stdout] test garbage_matte_view::tests::test_bounding_area_triangle ... ok
[INFO] [stdout] test g_buffer_view::tests::test_set_exposure_negative_clamps ... ok
[INFO] [stdout] test garbage_matte_view::tests::test_bounding_area_too_few_points ... ok
[INFO] [stdout] test garbage_matte_view::tests::test_clear_points ... ok
[INFO] [stdout] test garbage_matte_view::tests::test_defaults ... ok
[INFO] [stdout] test gamma_correction::tests::encode_decode_srgb_roundtrip ... ok
[INFO] [stdout] test garbage_matte_view::tests::test_invert_toggle ... ok
[INFO] [stdout] test garbage_matte_view::tests::test_json ... ok
[INFO] [stdout] test gaussian_splat_view::tests::test_cull_count ... ok
[INFO] [stdout] test gaussian_splat_view::tests::test_new_config ... ok
[INFO] [stdout] test gaussian_splat_view::tests::test_memory_mb_positive ... ok
[INFO] [stdout] test gaussian_splat_view::tests::test_sh_coeff_degree3 ... ok
[INFO] [stdout] test gaussian_splat_view::tests::test_param_count_positive ... ok
[INFO] [stdout] test gbuffer_view::tests::test_default_config ... ok
[INFO] [stdout] test gbuffer_view::tests::test_linearize_depth ... ok
[INFO] [stdout] test garbage_matte_view::tests::test_enabled_toggle ... ok
[INFO] [stdout] test garbage_matte_view::tests::test_feather_clamp ... ok
[INFO] [stdout] test gaussian_splat_view::tests::test_sh_coeff_degree0 ... ok
[INFO] [stdout] test gbuffer_view::tests::test_linearize_depth_invalid ... ok
[INFO] [stdout] test gbuffer_view::tests::test_vis_albedo ... ok
[INFO] [stdout] test gbuffer_view::tests::test_vis_metallic ... ok
[INFO] [stdout] test gbuffer_view::tests::test_vis_roughness ... ok
[INFO] [stdout] test geodesic_heat_view::tests::test_distance_to_color_zero ... ok
[INFO] [stdout] test gbuffer_view::tests::test_vis_depth ... ok
[INFO] [stdout] test geodesic_heat_view::tests::test_clone ... ok
[INFO] [stdout] test gbuffer_view::tests::test_vis_normal_remap ... ok
[INFO] [stdout] test geodesic_heat_view::tests::test_distance_to_color_max ... ok
[INFO] [stdout] test geodesic_heat_view::tests::test_new_defaults ... ok
[INFO] [stdout] test geodesic_heat_view::tests::test_enable ... ok
[INFO] [stdout] test gbuffer_view::tests::test_new_pixel ... ok
[INFO] [stdout] test gbuffer_view::tests::test_to_json ... ok
[INFO] [stdout] test geodesic_heat_view::tests::test_set_max_distance ... ok
[INFO] [stdout] test geodesic_heat_view::tests::test_set_max_distance_min ... ok
[INFO] [stdout] test geometry_node_view::tests::count_type ... ok
[INFO] [stdout] test geodesic_heat_view::tests::test_set_source ... ok
[INFO] [stdout] test geodesic_heat_view::tests::test_to_json ... ok
[INFO] [stdout] test geometry_node_view::tests::add_node_increases_count ... ok
[INFO] [stdout] test geometry_node_view::tests::clear_removes_all ... ok
[INFO] [stdout] test geometry_node_view::tests::enabled_default ... ok
[INFO] [stdout] test geometry_node_view::tests::default_empty ... ok
[INFO] [stdout] test geometry_node_view::tests::json_has_node_count ... ok
[INFO] [stdout] test geometry_node_view::tests::show_sockets_default_true ... ok
[INFO] [stdout] test geometry_node_view::tests::zoom_clamp ... ok
[INFO] [stdout] test gi_debug_view::tests::test_gi_irradiance_color ... ok
[INFO] [stdout] test gi_debug_view::tests::test_gi_is_converged ... ok
[INFO] [stdout] test gi_debug_view::tests::test_gi_probe_color ... ok
[INFO] [stdout] test gi_debug_view::tests::test_gi_radiance_to_ldr ... ok
[INFO] [stdout] test gi_debug_view::tests::test_new_gi_debug_view ... ok
[INFO] [stdout] test gi_irradiance_view::tests::test_default_enabled ... ok
[INFO] [stdout] test gi_irradiance_view::tests::test_irradiance_to_color_returns_three ... ok
[INFO] [stdout] test gi_irradiance_view::tests::test_set_exposure ... ok
[INFO] [stdout] test gi_irradiance_view::tests::test_to_json_contains_exposure ... ok
[INFO] [stdout] test gi_irradiance_view::tests::test_toggle_direct ... ok
[INFO] [stdout] test gi_irradiance_view::tests::test_toggle_probes ... ok
[INFO] [stdout] test gizmo::tests::test_handles_nonempty_rotate ... ok
[INFO] [stdout] test gizmo::tests::test_handles_nonempty_translate ... ok
[INFO] [stdout] test gi_irradiance_view::tests::test_set_enabled_false ... ok
[INFO] [stdout] test gi_irradiance_view::tests::test_set_exposure_negative_clamps ... ok
[INFO] [stdout] test gizmo::tests::test_new_gizmo_position ... ok
[INFO] [stdout] test gizmo::tests::test_handles_nonempty_universal ... ok
[INFO] [stdout] test gi_irradiance_view::tests::test_tonemap_positive ... ok
[INFO] [stdout] test gizmo::tests::test_gizmo_world_matrix_identity ... ok
[INFO] [stdout] test gizmo::tests::test_reset_gizmo ... ok
[INFO] [stdout] test gizmo::tests::test_handles_nonempty_scale ... ok
[INFO] [stdout] test gizmo::tests::test_snap_rotate ... ok
[INFO] [stdout] test gizmo::tests::test_set_gizmo_mode ... ok
[INFO] [stdout] test gi_irradiance_view::tests::test_tonemap_zero_is_zero ... ok
[INFO] [stdout] test gizmo::tests::test_translate_gizmo ... ok
[INFO] [stdout] test gizmo::tests::test_translate_gizmo_accumulates ... ok
[INFO] [stdout] test gizmo::tests::test_snap_translate ... ok
[INFO] [stdout] test glass_shader_view::tests::test_glass_critical_angle ... ok
[INFO] [stdout] test gizmo::tests::test_scale_gizmo_all ... ok
[INFO] [stdout] test gizmo::tests::test_scale_gizmo_x ... ok
[INFO] [stdout] test glass_shader_view::tests::test_glass_fresnel_at_grazing ... ok
[INFO] [stdout] test gizmo::tests::test_snap_translate_no_snap ... ok
[INFO] [stdout] test glass_shader_view::tests::test_glass_transmission_color ... ok
[INFO] [stdout] test glitch_view::tests::test_default_seed ... ok
[INFO] [stdout] test glass_shader_view::tests::test_glass_refraction_dir_some ... ok
[INFO] [stdout] test glass_shader_view::tests::test_new_glass_shader_view ... ok
[INFO] [stdout] test glitch_view::tests::test_default_intensity ... ok
[INFO] [stdout] test glitch_view::tests::test_default_type ... ok
[INFO] [stdout] test glitch_view::tests::test_enabled_default ... ok
[INFO] [stdout] test glitch_view::tests::test_frequency_clamped ... ok
[INFO] [stdout] test glitch_view::tests::test_set_enabled ... ok
[INFO] [stdout] test glitch_view::tests::test_intensity_clamped ... ok
[INFO] [stdout] test glitch_view::tests::test_set_seed ... ok
[INFO] [stdout] test gpu::gpu_morph::tests::test_cpu_morph_half_weight ... ok
[INFO] [stdout] test gpu::gpu_morph::tests::test_cpu_morph_full_weight ... ok
[INFO] [stdout] test glitch_view::tests::test_set_type ... ok
[INFO] [stdout] test glitch_view::tests::test_to_json_has_type ... ok
[INFO] [stdout] test gpu::gpu_morph::tests::test_cpu_morph_multiple_deltas_same_vertex ... ok
[INFO] [stdout] test gpu::gpu_morph::tests::test_cpu_morph_large_mesh ... ok
[INFO] [stdout] test gpu::gpu_morph::tests::test_cpu_morph_no_deltas ... ok
[INFO] [stdout] test gpu::gpu_morph::tests::test_cpu_morph_out_of_range_vid ... ok
[INFO] [stdout] test gpu::gpu_morph::tests::test_cpu_morph_zero_weight ... ok
[INFO] [stdout] test gpu::gpu_morph::tests::test_pack_positions_values ... ok
[INFO] [stdout] test gpu::gpu_morph::tests::test_pack_params_roundtrip ... ok
[INFO] [stdout] test gpu::gpu_morph::tests::test_delta_entry_to_bytes_roundtrip ... ok
[INFO] [stdout] test gpu::gpu_morph::tests::test_pack_positions_length ... ok
[INFO] [stdout] test gpu::mesh_buffers::tests::mesh_upload_buffer_is_valid_empty ... ok
[INFO] [stdout] test gpu::gpu_morph::tests::test_pack_deltas_length ... ok
[INFO] [stdout] test gpu::mesh_buffers::tests::mesh_upload_buffer_is_valid_out_of_range_index ... ok
[INFO] [stdout] test gpu::mesh_buffers::tests::mesh_upload_buffer_is_valid_true ... ok
[INFO] [stdout] test gpu::gpu_morph::tests::test_gpu_morph_shader_constant_nonempty ... ok
[INFO] [stdout] test gpu::mesh_buffers::tests::mesh_upload_buffer_parse_valid ... ok
[INFO] [stdout] test gpu::mesh_buffers::tests::mesh_upload_buffer_parse_wrong_version ... ok
[INFO] [stdout] test gpu_buffer::tests::test_buffer_read_overflow ... ok
[INFO] [stdout] test gpu::mesh_buffers::tests::mesh_upload_buffer_parse_too_short ... ok
[INFO] [stdout] test gpu_buffer::tests::test_buffer_clear ... ok
[INFO] [stdout] test gpu_buffer::tests::test_buffer_is_mapped ... ok
[INFO] [stdout] test gpu_buffer::tests::test_buffer_read ... ok
[INFO] [stdout] test gpu_buffer::tests::test_buffer_usage ... ok
[INFO] [stdout] test gpu_buffer::tests::test_buffer_write ... ok
[INFO] [stdout] test gpu_buffer::tests::test_buffer_to_json ... ok
[INFO] [stdout] test gpu_buffer::tests::test_new_gpu_buffer ... ok
[INFO] [stdout] test gpu_buffer::tests::test_storage_buffer ... ok
[INFO] [stdout] test gpu_marker::tests::current_label ... ok
[INFO] [stdout] test gpu_marker::tests::make_color_clamps ... ok
[INFO] [stdout] test gpu_marker::tests::path_nested ... ok
[INFO] [stdout] test gpu_marker::tests::push_increases_depth ... ok
[INFO] [stdout] test gpu_marker::tests::to_json_fields ... ok
[INFO] [stdout] test gpu_buffer::tests::test_buffer_write_overflow ... ok
[INFO] [stdout] test gpu_marker::tests::clear_empties ... ok
[INFO] [stdout] test gpu_marker::tests::pop_decreases_depth ... ok
[INFO] [stdout] test gpu_marker::tests::pop_empty_returns_none ... ok
[INFO] [stdout] test gpu_marker::tests::total_pushed_increments ... ok
[INFO] [stdout] test gpu_memory_view::tests::test_budget_min ... ok
[INFO] [stdout] test gpu_memory_view::tests::test_buffer_bytes_set ... ok
[INFO] [stdout] test gpu_memory_view::tests::test_clone ... ok
[INFO] [stdout] test gpu_memory_view::tests::test_enable ... ok
[INFO] [stdout] test gpu_memory_view::tests::test_json_keys ... ok
[INFO] [stdout] test gpu_memory_view::tests::test_texture_bytes_set ... ok
[INFO] [stdout] test gpu_memory_view::tests::test_usage_fraction_clamped ... ok
[INFO] [stdout] test gpu_memory_view::tests::test_usage_fraction_zero ... ok
[INFO] [stdout] test gpu_perf::tests::begin_frame_increments ... ok
[INFO] [stdout] test gpu_perf::tests::average_ns ... ok
[INFO] [stdout] test gpu_perf::tests::clear_removes_entries ... ok
[INFO] [stdout] test gpu_perf::tests::new_perf_empty ... ok
[INFO] [stdout] test gpu_perf::tests::max_ns ... ok
[INFO] [stdout] test gpu_perf::tests::record_entry ... ok
[INFO] [stdout] test gpu_perf::tests::slowest_pass_name ... ok
[INFO] [stdout] test gpu_memory_view::tests::test_defaults ... ok
[INFO] [stdout] test gpu_profiler::tests::average_ns_correct ... ok
[INFO] [stdout] test gpu_memory_view::tests::test_total_bytes ... ok
[INFO] [stdout] test gpu_perf::tests::to_json_fields ... ok
[INFO] [stdout] test gpu_profiler::tests::begin_frame_increments ... ok
[INFO] [stdout] test gpu_perf::tests::total_ns ... ok
[INFO] [stdout] test gpu_profiler::tests::json_has_frame ... ok
[INFO] [stdout] test gpu_profiler::tests::markers_in_frame ... ok
[INFO] [stdout] test gpu_profiler::tests::disabled_does_not_record ... ok
[INFO] [stdout] test gpu_profiler::tests::new_enabled ... ok
[INFO] [stdout] test gpu_profiler::tests::record_marker ... ok
[INFO] [stdout] test gpu_readback::tests::blank_result_correct_size ... ok
[INFO] [stdout] test gpu_readback::tests::bytes_per_pixel_rgba16 ... ok
[INFO] [stdout] test gpu_readback::tests::rgba8_to_f32_black ... ok
[INFO] [stdout] test gpu_readback::tests::rgba8_to_f32_white ... ok
[INFO] [stdout] test gpu_readback::tests::staging_buffer_size_correct ... ok
[INFO] [stdout] test gpu_readback::tests::validate_result_correct ... ok
[INFO] [stdout] test gpu_profiler::tests::total_ns_sum ... ok
[INFO] [stdout] test gpu_readback::tests::bytes_per_pixel_rgba8 ... ok
[INFO] [stdout] test gpu_profiler::tests::clear_empties ... ok
[INFO] [stdout] test gpu_readback::tests::r32_to_f32_roundtrip ... ok
[INFO] [stdout] test gpu_readback::tests::validate_result_wrong_size ... ok
[INFO] [stdout] test gpu_stats::tests::capacity_evicts_oldest ... ok
[INFO] [stdout] test gpu_profiler::tests::slowest_pass ... ok
[INFO] [stdout] test gpu_stats::tests::fps_from_ns_reasonable ... ok
[INFO] [stdout] test gpu_stats::tests::json_has_frames ... ok
[INFO] [stdout] test gpu_stats::tests::average_gpu_time_correct ... ok
[INFO] [stdout] test gpu_stats::tests::peak_triangles ... ok
[INFO] [stdout] test gpu_stats::tests::clear_resets ... ok
[INFO] [stdout] test gpu_stats::tests::push_increments_count ... ok
[INFO] [stdout] test gpu_stats::tests::empty_stats ... ok
[INFO] [stdout] test gpu_stats::tests::frame_index_increments ... ok
[INFO] [stdout] test gpu_stats::tests::fps_zero_for_zero_ns ... ok
[INFO] [stdout] test gpu_timeline::tests::average_ms_correct ... ok
[INFO] [stdout] test gpu_timeline::tests::record_sample_ok ... ok
[INFO] [stdout] test gpu_timeline::tests::clear_removes_all ... ok
[INFO] [stdout] test gpu_timeline::tests::sample_duration_ns ... ok
[INFO] [stdout] test gpu_timeline::tests::duration_ms ... ok
[INFO] [stdout] test gpu_timeline::tests::frame_increments ... ok
[INFO] [stdout] test gpu_timeline::tests::slowest_pass_found ... ok
[INFO] [stdout] test gpu_timeline::tests::has_spike_detects ... ok
[INFO] [stdout] test gpu_timeline::tests::json_contains_sample_count ... ok
[INFO] [stdout] test gpu_timestamp::tests::average_ns_empty_zero ... ok
[INFO] [stdout] test gpu_timestamp::tests::begin_frame_increments ... ok
[INFO] [stdout] test gpu_timestamp::tests::max_ns_correct ... ok
[INFO] [stdout] test gpu_timestamp::tests::clear_empties ... ok
[INFO] [stdout] test gpu_timeline::tests::new_timeline_empty ... ok
[INFO] [stdout] test gpu_timestamp::tests::total_ns_sums ... ok
[INFO] [stdout] test grid_3d::tests::test_default ... ok
[INFO] [stdout] test gpu_timestamp::tests::new_is_empty ... ok
[INFO] [stdout] test gpu_timestamp::tests::record_increments_count ... ok
[INFO] [stdout] test grid_3d::tests::test_generate_lines_not_empty ... ok
[INFO] [stdout] test gpu_timestamp::tests::slowest_pass_correct ... ok
[INFO] [stdout] test gpu_timestamp::tests::time_angle_nonneg ... ok
[INFO] [stdout] test gpu_timestamp::tests::to_json_has_count ... ok
[INFO] [stdout] test grid_3d::tests::test_generate_lines_emphasis ... ok
[INFO] [stdout] test grid_3d::tests::test_set_opacity_clamp ... ok
[INFO] [stdout] test grid_3d::tests::test_to_json ... ok
[INFO] [stdout] test grid_3d::tests::test_grid_extent ... ok
[INFO] [stdout] test grid_fade::tests::json_has_keys ... ok
[INFO] [stdout] test grid_3d::tests::test_grid_line_count ... ok
[INFO] [stdout] test grid_3d::tests::test_set_cell_count_clamp ... ok
[INFO] [stdout] test grid_3d::tests::test_set_cell_size ... ok
[INFO] [stdout] test grid_3d::tests::test_set_cell_size_min ... ok
[INFO] [stdout] test grid_fade::tests::fade_range_positive ... ok
[INFO] [stdout] test grid_fade::tests::opacity_before_fade_start ... ok
[INFO] [stdout] test grid_fade::tests::opacity_decreases_with_distance ... ok
[INFO] [stdout] test grid_fade::tests::set_fade_start_non_negative ... ok
[INFO] [stdout] test grid_fade::tests::set_base_opacity_clamps ... ok
[INFO] [stdout] test grid_overlay::tests::test_build_grid_lines_produces_lines ... ok
[INFO] [stdout] test grid_fade::tests::set_min_opacity_clamps_negative ... ok
[INFO] [stdout] test grid_overlay::tests::test_build_overlay_produces_lines ... ok
[INFO] [stdout] test grid_fade::tests::mid_opacity_between_bounds ... ok
[INFO] [stdout] test grid_overlay::tests::test_grid_line_count ... ok
[INFO] [stdout] test grid_overlay::tests::test_default_grid_overlay_config_3d ... ok
[INFO] [stdout] test grid_fade::tests::opacity_after_fade_end ... ok
[INFO] [stdout] test grid_overlay::tests::test_default_config ... ok
[INFO] [stdout] test grid_overlay::tests::test_grid_cell_at ... ok
[INFO] [stdout] test grid_overlay::tests::test_grid_lines_in_rect ... ok
[INFO] [stdout] test grid_overlay::tests::test_grid_line_count_nonempty ... ok
[INFO] [stdout] test grid_overlay::tests::test_grid_overlay_is_enabled ... ok
[INFO] [stdout] test grid_overlay::tests::test_grid_spacing_pixels ... ok
[INFO] [stdout] test grid_overlay::tests::test_grid_origin_line_color ... ok
[INFO] [stdout] test grid_overlay::tests::test_nearest_grid_point ... ok
[INFO] [stdout] test grid_overlay::tests::test_grid_overlay_clear ... ok
[INFO] [stdout] test grid_overlay::tests::test_major_line_count ... ok
[INFO] [stdout] test grid_overlay::tests::test_build_grid_lines_disabled_returns_empty ... ok
[INFO] [stdout] test grid_overlay::tests::test_set_grid_color_3d ... ok
[INFO] [stdout] test grid_overlay::tests::test_set_grid_extent ... ok
[INFO] [stdout] test grid_overlay::tests::test_set_grid_overlay_enabled ... ok
[INFO] [stdout] test grid_overlay::tests::test_snap_to_grid ... ok
[INFO] [stdout] test grid_overlay::tests::test_snap_to_grid_on_origin ... ok
[INFO] [stdout] test grid_overlay::tests::test_update_grid_overlay ... ok
[INFO] [stdout] test hair_render_view::tests::test_as_mesh ... ok
[INFO] [stdout] test hair_render_view::tests::test_json_keys ... ok
[INFO] [stdout] test grid_overlay::tests::test_set_color ... ok
[INFO] [stdout] test hair_render_view::tests::test_estimated_tris_curve ... ok
[INFO] [stdout] test hair_render_view::tests::test_new ... ok
[INFO] [stdout] test hair_render_view::tests::test_estimated_tris_mesh ... ok
[INFO] [stdout] test grid_overlay::tests::test_set_grid_spacing ... ok
[INFO] [stdout] test hair_render_view::tests::test_show_guides ... ok
[INFO] [stdout] test grid_overlay::tests::test_set_visible ... ok
[INFO] [stdout] test hair_render_view::tests::test_width_clamp_high ... ok
[INFO] [stdout] test hair_render_view::tests::test_width_clamp_low ... ok
[INFO] [stdout] test hair_shader_view::tests::test_hair_r_lobe_color ... ok
[INFO] [stdout] test hair_shader_view::tests::test_hair_trt_lobe_color ... ok
[INFO] [stdout] test hair_shader_view::tests::test_hair_tt_lobe_color ... ok
[INFO] [stdout] test hair_system_view::tests::test_clone ... ok
[INFO] [stdout] test hair_system_view::tests::test_control_points ... ok
[INFO] [stdout] test hair_system_view::tests::test_length_clamp ... ok
[INFO] [stdout] test hair_shader_view::tests::test_hair_azimuthal_distribution_peak ... ok
[INFO] [stdout] test hair_system_view::tests::test_segments_clamp ... ok
[INFO] [stdout] test hair_shader_view::tests::test_new_hair_shader_view ... ok
[INFO] [stdout] test hair_system_view::tests::test_new ... ok
[INFO] [stdout] test hair_system_view::tests::test_json_keys ... ok
[INFO] [stdout] test hair_system_view::tests::test_strand_count_clamp ... ok
[INFO] [stdout] test hair_render_view::tests::test_strand_count ... ok
[INFO] [stdout] test hair_system_view::tests::test_type_default ... ok
[INFO] [stdout] test halftone_effect::tests::angle_deg_converts ... ok
[INFO] [stdout] test halftone_effect::tests::cell_size_clamps ... ok
[INFO] [stdout] test halftone_effect::tests::circle_coverage_uses_pi ... ok
[INFO] [stdout] test halftone_effect::tests::coverage_in_range ... ok
[INFO] [stdout] test halftone_effect::tests::dark_luminance_large_dot ... ok
[INFO] [stdout] test halftone_effect::tests::fg_color_clamps ... ok
[INFO] [stdout] test halftone_effect::tests::json_has_keys ... ok
[INFO] [stdout] test halftone_view::tests::test_angle_modulo ... ok
[INFO] [stdout] test halftone_effect::tests::intensity_clamps ... ok
[INFO] [stdout] test halftone_view::tests::test_dot_size_clamped_max ... ok
[INFO] [stdout] test halftone_view::tests::test_enabled_default ... ok
[INFO] [stdout] test hair_system_view::tests::test_visible_toggle ... ok
[INFO] [stdout] test halftone_view::tests::test_dot_size_clamped_min ... ok
[INFO] [stdout] test halftone_effect::tests::cell_size_clamps_high ... ok
[INFO] [stdout] test halftone_view::tests::test_default_shape ... ok
[INFO] [stdout] test halftone_effect::tests::square_coverage_different_from_circle ... ok
[INFO] [stdout] test halftone_view::tests::test_set_angle ... ok
[INFO] [stdout] test halftone_view::tests::test_contrast_clamped ... ok
[INFO] [stdout] test halftone_view::tests::test_set_dot_shape ... ok
[INFO] [stdout] test halftone_view::tests::test_set_enabled ... ok
[INFO] [stdout] test halton_sequence_view::tests::test_coprime_bases_by_default ... ok
[INFO] [stdout] test halton_sequence_view::tests::test_new ... ok
[INFO] [stdout] test halton_sequence_view::tests::test_sample_range ... ok
[INFO] [stdout] test hard_edge_view::tests::default_disabled ... ok
[INFO] [stdout] test hard_edge_view::tests::not_hard_edge_parallel ... ok
[INFO] [stdout] test halton_sequence_view::tests::test_jitter_range ... ok
[INFO] [stdout] test halftone_view::tests::test_to_json_has_shape ... ok
[INFO] [stdout] test hard_edge_view::tests::count_hard_edges ... ok
[INFO] [stdout] test hard_edge_view::tests::is_hard_edge_perpendicular ... ok
[INFO] [stdout] test halton_sequence_view::tests::test_sequence_wraps ... ok
[INFO] [stdout] test hard_edge_view::tests::opposite_normals_180_deg ... ok
[INFO] [stdout] test hard_edge_view::tests::threshold_clamps ... ok
[INFO] [stdout] test hard_edge_view::tests::to_json_has_threshold ... ok
[INFO] [stdout] test header_bar_view::tests::add_menu ... ok
[INFO] [stdout] test header_bar_view::tests::enabled_default ... ok
[INFO] [stdout] test header_bar_view::tests::enabled_menu_count ... ok
[INFO] [stdout] test header_bar_view::tests::default_editor_type ... ok
[INFO] [stdout] test hard_edge_view::tests::parallel_normals_zero_angle ... ok
[INFO] [stdout] test header_bar_view::tests::shortcut_stored ... ok
[INFO] [stdout] test hard_edge_view::tests::perpendicular_normals_90_deg ... ok
[INFO] [stdout] test header_bar_view::tests::json_has_editor_type ... ok
[INFO] [stdout] test heatmap_depth_view::tests::test_clone ... ok
[INFO] [stdout] test header_bar_view::tests::set_editor_type ... ok
[INFO] [stdout] test header_bar_view::tests::toggle_region_header ... ok
[INFO] [stdout] test heatmap_depth_view::tests::test_depth_to_color_out_of_range ... ok
[INFO] [stdout] test heatmap_depth_view::tests::test_depth_to_color_far ... ok
[INFO] [stdout] test heatmap_depth_view::tests::test_new_defaults ... ok
[INFO] [stdout] test heatmap_depth_view::tests::test_enable ... ok
[INFO] [stdout] test heatmap_depth_view::tests::test_depth_to_color_near ... ok
[INFO] [stdout] test histogram_tone_view::tests::test_accumulate_increases_bin ... ok
[INFO] [stdout] test histogram_tone_view::tests::test_accumulate_clamps_index ... ok
[INFO] [stdout] test histogram_tone_view::tests::test_clear_zeroes_bins ... ok
[INFO] [stdout] test heatmap_depth_view::tests::test_to_json_has_near ... ok
[INFO] [stdout] test heatmap_depth_view::tests::test_set_range ... ok
[INFO] [stdout] test histogram_tone_view::tests::test_default_bin_count ... ok
[INFO] [stdout] test heatmap_depth_view::tests::test_to_json_has_invert ... ok
[INFO] [stdout] test histogram_tone_view::tests::test_multiple_accumulate ... ok
[INFO] [stdout] test histogram_tone_view::tests::test_toggle_log ... ok
[INFO] [stdout] test histogram_tone_view::tests::test_to_json_contains_bins ... ok
[INFO] [stdout] test histogram_tone_view::tests::test_total_samples_after_accumulate ... ok
[INFO] [stdout] test histogram_tone_view::tests::test_total_samples_initially_zero ... ok
[INFO] [stdout] test histogram_view::tests::build_histogram_total_samples ... ok
[INFO] [stdout] test histogram_view::tests::ascii_chart_contains_title ... ok
[INFO] [stdout] test histogram_view::tests::cumulative_last_bin_equals_total ... ok
[INFO] [stdout] test histogram_view::tests::build_histogram_bin_count ... ok
[INFO] [stdout] test histogram_view::tests::entropy_empty ... ok
[INFO] [stdout] test histogram_view::tests::entropy_non_negative ... ok
[INFO] [stdout] test histogram_view::tests::json_contains_bins ... ok
[INFO] [stdout] test histogram_tone_view::tests::test_initial_peak_zero ... ok
[INFO] [stdout] test histogram_view::tests::mean_empty_histogram ... ok
[INFO] [stdout] test histogram_view::tests::max_count_correct ... ok
[INFO] [stdout] test histogram_view::tests::default_config_values ... ok
[INFO] [stdout] test histogram_view::tests::merge_histograms_sums_counts ... ok
[INFO] [stdout] test histogram_view::tests::out_of_range_values_excluded ... ok
[INFO] [stdout] test histogram_view::tests::percentile_0_and_100 ... ok
[INFO] [stdout] test histogram_view::tests::percentile_50_is_median_area ... ok
[INFO] [stdout] test histogram_view::tests::median_bin_within_range ... ok
[INFO] [stdout] test histogram_view::tests::mean_within_range ... ok
[INFO] [stdout] test histogram_view::tests::normalize_histogram_max_is_one ... ok
[INFO] [stdout] test histology_view::tests::test_get_pixel_oob ... ok
[INFO] [stdout] test histology_view::tests::test_mean_eosin_default ... ok
[INFO] [stdout] test histology_view::tests::test_mean_hematoxylin_blue ... ok
[INFO] [stdout] test histology_view::tests::test_mean_hematoxylin_default ... ok
[INFO] [stdout] test holographic_display::tests::test_field_of_view ... ok
[INFO] [stdout] test holographic_display::tests::test_is_retinal_true ... ok
[INFO] [stdout] test histology_view::tests::test_new_slide ... ok
[INFO] [stdout] test histology_view::tests::test_pixel_count ... ok
[INFO] [stdout] test histology_view::tests::test_set_get_pixel ... ok
[INFO] [stdout] test holographic_display::tests::test_diffraction_limit_positive ... ok
[INFO] [stdout] test holographic_display::tests::test_is_retinal_false ... ok
[INFO] [stdout] test holographic_display::tests::test_new_config ... ok
[INFO] [stdout] test holographic_view::tests::test_brightness_clamped ... ok
[INFO] [stdout] test holographic_view::tests::test_rotation_speed_negative_clamped ... ok
[INFO] [stdout] test holographic_view::tests::test_default_brightness ... ok
[INFO] [stdout] test holographic_view::tests::test_default_color_mode ... ok
[INFO] [stdout] test holographic_view::tests::test_diffraction_scale_clamped ... ok
[INFO] [stdout] test holographic_view::tests::test_enabled_default ... ok
[INFO] [stdout] test holographic_view::tests::test_rotation_speed_clamped ... ok
[INFO] [stdout] test holographic_view::tests::test_set_color_mode ... ok
[INFO] [stdout] test holographic_view::tests::test_set_enabled ... ok
[INFO] [stdout] test holographic_view::tests::test_to_json_has_color_mode ... ok
[INFO] [stdout] test ice_shader_view::tests::test_ice_absorption_decreases ... ok
[INFO] [stdout] test ice_shader_view::tests::test_ice_caustic_strength ... ok
[INFO] [stdout] test icon_renderer::tests::test_build_atlas_has_glyphs ... ok
[INFO] [stdout] test icon_renderer::tests::test_get_icon_glyph ... ok
[INFO] [stdout] test ice_shader_view::tests::test_ice_absorption_at_zero ... ok
[INFO] [stdout] test ice_shader_view::tests::test_ice_fresnel_at_normal ... ok
[INFO] [stdout] test icon_renderer::tests::test_icon_bounds ... ok
[INFO] [stdout] test ice_shader_view::tests::test_new_ice_shader_view ... ok
[INFO] [stdout] test icon_renderer::tests::test_get_icon_glyph_missing ... ok
[INFO] [stdout] test icon_renderer::tests::test_all_icon_types_count ... ok
[INFO] [stdout] test icon_renderer::tests::test_icon_glyph_arrow_has_vertices ... ok
[INFO] [stdout] test icon_renderer::tests::test_icon_glyph_circle_vertex_count ... ok
[INFO] [stdout] test icon_renderer::tests::test_icon_glyph_check_has_vertices ... ok
[INFO] [stdout] test icon_renderer::tests::test_render_icon ... ok
[INFO] [stdout] test icon_renderer::tests::test_transform_icon_changes_bounds ... ok
[INFO] [stdout] test ik_chain_view::tests::test_default_solver ... ok
[INFO] [stdout] test icon_renderer::tests::test_icon_glyph_cross_has_vertices ... ok
[INFO] [stdout] test icon_renderer::tests::test_icon_type_name_non_empty ... ok
[INFO] [stdout] test ik_chain_view::tests::test_enabled_default ... ok
[INFO] [stdout] test ik_chain_view::tests::test_pole_vector_default_true ... ok
[INFO] [stdout] test ik_chain_view::tests::test_set_solver ... ok
[INFO] [stdout] test ik_chain_view::tests::test_set_enabled ... ok
[INFO] [stdout] test icon_renderer::tests::test_icon_index_count ... ok
[INFO] [stdout] test ik_chain_view::tests::test_show_iterations ... ok
[INFO] [stdout] test ik_chain_view::tests::test_set_chain_color ... ok
[INFO] [stdout] test index_buffer_view::tests::test_clone ... ok
[INFO] [stdout] test index_buffer_view::tests::test_defaults ... ok
[INFO] [stdout] test index_buffer_view::tests::test_enable ... ok
[INFO] [stdout] test index_buffer_view::tests::test_format_16bit ... ok
[INFO] [stdout] test index_buffer_view::tests::test_json_keys ... ok
[INFO] [stdout] test ik_chain_view::tests::test_show_pole_vector ... ok
[INFO] [stdout] test index_buffer_view::tests::test_update_stats ... ok
[INFO] [stdout] test ik_chain_view::tests::test_to_json_has_solver ... ok
[INFO] [stdout] test index_buffer_view::tests::test_total_bytes_32bit ... ok
[INFO] [stdout] test index_buffer_view::tests::test_format_defaults_to_32_for_odd ... ok
[INFO] [stdout] test index_buffer_view::tests::test_show_primitive_count_toggle ... ok
[INFO] [stdout] test indirect_specular::tests::test_default_config ... ok
[INFO] [stdout] test index_buffer_view::tests::test_triangle_count ... ok
[INFO] [stdout] test indirect_specular::tests::test_fresnel_schlick_grazing ... ok
[INFO] [stdout] test indirect_specular::tests::test_fresnel_schlick_zero ... ok
[INFO] [stdout] test indirect_specular::tests::test_set_intensity ... ok
[INFO] [stdout] test indirect_specular::tests::test_to_json ... ok
[INFO] [stdout] test indirect_specular::tests::test_set_roughness_offset ... ok
[INFO] [stdout] test infrared_view::tests::test_apply_pixel_false_color ... ok
[INFO] [stdout] test infrared_view::tests::test_apply_pixel_grayscale ... ok
[INFO] [stdout] test infrared_view::tests::test_default_color_map_grayscale ... ok
[INFO] [stdout] test indirect_specular::tests::test_fresnel_roughness ... ok
[INFO] [stdout] test indirect_specular::tests::test_roughness_to_mip_rough ... ok
[INFO] [stdout] test indirect_specular::tests::test_roughness_to_mip_smooth ... ok
[INFO] [stdout] test indirect_specular::tests::test_ggx_distribution ... ok
[INFO] [stdout] test infrared_view::tests::test_channel_mix_sums_to_one ... ok
[INFO] [stdout] test infrared_view::tests::test_foliage_boost_clamped ... ok
[INFO] [stdout] test infrared_view::tests::test_set_color_map ... ok
[INFO] [stdout] test infrared_view::tests::test_set_enabled ... ok
[INFO] [stdout] test infrared_view::tests::test_set_foliage_boost ... ok
[INFO] [stdout] test infrared_view::tests::test_to_json_contains_color_map ... ok
[INFO] [stdout] test instance_batch::tests::add_increments_count ... ok
[INFO] [stdout] test instance_batch::tests::empty_batch ... ok
[INFO] [stdout] test instance_batch::tests::json_has_mesh_id ... ok
[INFO] [stdout] test instance_batch::tests::remove_by_id ... ok
[INFO] [stdout] test instance_batch::tests::set_invisible_reduces_visible_count ... ok
[INFO] [stdout] test instance_batch::tests::tint_set ... ok
[INFO] [stdout] test instance_batch::tests::visible_transforms_filters ... ok
[INFO] [stdout] test instance_batch::tests::memory_bytes_per_instance ... ok
[INFO] [stdout] test instance_cull::tests::aabb_volume ... ok
[INFO] [stdout] test instance_cull::tests::all_visible_by_default ... ok
[INFO] [stdout] test infrared_view::tests::test_enabled_default ... ok
[INFO] [stdout] test instance_cull::tests::cull_by_distance ... ok
[INFO] [stdout] test instance_cull::tests::aabb_center ... ok
[INFO] [stdout] test instance_batch::tests::translation_sets_last_column ... ok
[INFO] [stdout] test instance_batch::tests::clear_empties ... ok
[INFO] [stdout] test instance_cull::tests::json_has_total ... ok
[INFO] [stdout] test instance_cull::tests::new_empty ... ok
[INFO] [stdout] test instance_cull::tests::register ... ok
[INFO] [stdout] test instance_cull::tests::remove ... ok
[INFO] [stdout] test instance_cull::tests::clear_empties ... ok
[INFO] [stdout] test instance_id_view::tests::test_color_wraps ... ok
[INFO] [stdout] test instance_id_view::tests::test_defaults ... ok
[INFO] [stdout] test instance_id_view::tests::test_opacity_clamp ... ok
[INFO] [stdout] test instance_id_view::tests::test_tint_mode ... ok
[INFO] [stdout] test instance_id_view::tests::test_to_json ... ok
[INFO] [stdout] test instance_cull::tests::set_not_visible ... ok
[INFO] [stdout] test instance_id_view::tests::test_color_range ... ok
[INFO] [stdout] test instance_id_view::tests::test_enable ... ok
[INFO] [stdout] test instance_lod::tests::average_lod_empty_zero ... ok
[INFO] [stdout] test instance_lod::tests::clear_empties ... ok
[INFO] [stdout] test instance_id_view::tests::test_opacity ... ok
[INFO] [stdout] test instance_id_view::tests::test_palette_min ... ok
[INFO] [stdout] test instance_lod::tests::large_radius_lod_zero ... ok
[INFO] [stdout] test instance_lod::tests::lod_angle_nonneg ... ok
[INFO] [stdout] test instance_lod::tests::register_increments_count ... ok
[INFO] [stdout] test instance_lod::tests::tiny_radius_max_lod ... ok
[INFO] [stdout] test instanced_mesh::tests::add_and_count ... ok
[INFO] [stdout] test instanced_mesh::tests::capacity_limit ... ok
[INFO] [stdout] test instanced_mesh::tests::enabled_count ... ok
[INFO] [stdout] test instanced_mesh::tests::json_contains_mesh_id ... ok
[INFO] [stdout] test instance_lod::tests::count_at_level ... ok
[INFO] [stdout] test instance_lod::tests::new_is_empty ... ok
[INFO] [stdout] test instance_lod::tests::to_json_has_count ... ok
[INFO] [stdout] test instanced_mesh::tests::memory_bytes_nonzero_after_add ... ok
[INFO] [stdout] test instanced_mesh::tests::new_mesh_empty ... ok
[INFO] [stdout] test instance_lod::tests::max_lod_levels_is_five ... ok
[INFO] [stdout] test instanced_mesh::tests::rotation_y_identity_at_zero ... ok
[INFO] [stdout] test instanced_mesh::tests::rotation_y_full_circle ... ok
[INFO] [stdout] test instanced_mesh::tests::remove_works ... ok
[INFO] [stdout] test iridescence_view::tests::test_iridescence_factor_color ... ok
[INFO] [stdout] test instanced_mesh::tests::set_all_lod_changes ... ok
[INFO] [stdout] test irr_probe::tests::blend_sh_midpoint ... ok
[INFO] [stdout] test iridescence_view::tests::test_iridescence_is_active ... ok
[INFO] [stdout] test iridescence_view::tests::test_iridescence_thickness_range ... ok
[INFO] [stdout] test iridescence_view::tests::test_iridescence_color_at_returns_valid ... ok
[INFO] [stdout] test iridescence_view::tests::test_new_iridescence_view ... ok
[INFO] [stdout] test irr_probe::tests::nearest_probe_empty_returns_none ... ok
[INFO] [stdout] test irr_probe::tests::nearest_probe_single ... ok
[INFO] [stdout] test irr_probe::tests::probe_new_default_weight ... ok
[INFO] [stdout] test irr_probe::tests::scale_sh_doubles ... ok
[INFO] [stdout] test irr_probe::tests::sh_l0_scales_by_2_sqrt_pi ... ok
[INFO] [stdout] test irradiance_cache::tests::add_sample ... ok
[INFO] [stdout] test irradiance_cache::tests::average_irradiance_computed ... ok
[INFO] [stdout] test irradiance_cache::tests::clear ... ok
[INFO] [stdout] test irradiance_cache::tests::nearest_sample ... ok
[INFO] [stdout] test irradiance_cache::tests::nearest_empty_returns_none ... ok
[INFO] [stdout] test irr_probe::tests::default_sh_zero ... ok
[INFO] [stdout] test irr_probe::tests::nearest_probe_picks_closer ... ok
[INFO] [stdout] test irradiance_cache::tests::tick_ages_out ... ok
[INFO] [stdout] test irr_probe::tests::probe_set_len ... ok
[INFO] [stdout] test irradiance_cache::tests::new_cache_empty ... ok
[INFO] [stdout] test irradiance_cache::tests::average_irradiance_empty ... ok
[INFO] [stdout] test irradiance_cache::tests::to_json_fields ... ok
[INFO] [stdout] test irradiance_cache_view::tests::test_ic_sample_color ... ok
[INFO] [stdout] test irradiance_cache_view::tests::test_ic_validity_color ... ok
[INFO] [stdout] test irradiance_cache_view::tests::test_new_irradiance_cache_view ... ok
[INFO] [stdout] test irradiance_volume::tests::test_add_probe_increments_count ... ok
[INFO] [stdout] test irradiance_volume::tests::test_irradiance_at_world_pos_same_as_sample ... ok
[INFO] [stdout] test irradiance_volume::tests::test_probe_at_none ... ok
[INFO] [stdout] test irradiance_cache_view::tests::test_ic_sample_radius_color ... ok
[INFO] [stdout] test irradiance_volume::tests::test_sample_irradiance_empty ... ok
[INFO] [stdout] test irradiance_cache_view::tests::test_ic_weight_color ... ok
[INFO] [stdout] test irradiance_volume::tests::test_new_volume_empty ... ok
[INFO] [stdout] test irradiance_volume::tests::test_probe_at_some ... ok
[INFO] [stdout] test irradiance_volume::tests::test_volume_bounds ... ok
[INFO] [stdout] test irradiance_volume::tests::test_probe_spacing ... ok
[INFO] [stdout] test island_debug_view::tests::test_alpha_clamp ... ok
[INFO] [stdout] test island_debug_view::tests::test_clone ... ok
[INFO] [stdout] test island_debug_view::tests::test_json_keys ... ok
[INFO] [stdout] test island_debug_view::tests::test_max_islands_min ... ok
[INFO] [stdout] test joint_angle_overlay::tests::test_arc_points_count ... ok
[INFO] [stdout] test island_debug_view::tests::test_enable ... ok
[INFO] [stdout] test island_debug_view::tests::test_island_color_valid_range ... ok
[INFO] [stdout] test island_debug_view::tests::test_show_id_toggle ... ok
[INFO] [stdout] test joint_angle_overlay::tests::test_default ... ok
[INFO] [stdout] test island_debug_view::tests::test_defaults ... ok
[INFO] [stdout] test island_debug_view::tests::test_island_color_different_indices ... ok
[INFO] [stdout] test joint_angle_overlay::tests::test_deg_to_rad ... ok
[INFO] [stdout] test joint_angle_overlay::tests::test_filter_annotations ... ok
[INFO] [stdout] test joint_angle_overlay::tests::test_format_angle_degrees ... ok
[INFO] [stdout] test joint_angle_overlay::tests::test_format_angle_radians ... ok
[INFO] [stdout] test joint_angle_overlay::tests::test_rad_to_deg ... ok
[INFO] [stdout] test joint_angle_overlay::tests::test_toggle_units ... ok
[INFO] [stdout] test joint_angle_overlay::tests::test_to_json ... ok
[INFO] [stdout] test joint_pivot_view::tests::test_axis_length_set ... ok
[INFO] [stdout] test joint_pivot_view::tests::test_clone ... ok
[INFO] [stdout] test joint_pivot_view::tests::test_color_y ... ok
[INFO] [stdout] test joint_pivot_view::tests::test_defaults ... ok
[INFO] [stdout] test joint_pivot_view::tests::test_color_x ... ok
[INFO] [stdout] test joint_pivot_view::tests::test_axis_length_clamp_min ... ok
[INFO] [stdout] test joint_pivot_view::tests::test_json_keys ... ok
[INFO] [stdout] test joint_pivot_view::tests::test_pivot_radius_clamp ... ok
[INFO] [stdout] test keyframe_dot_view::tests::test_clear ... ok
[INFO] [stdout] test joint_pivot_view::tests::test_enable ... ok
[INFO] [stdout] test keyframe_dot_view::tests::test_frame_numbers_default_false ... ok
[INFO] [stdout] test keyframe_dot_view::tests::test_enabled_default ... ok
[INFO] [stdout] test keyframe_dot_view::tests::test_initial_empty ... ok
[INFO] [stdout] test keyframe_dot_view::tests::test_add_dot ... ok
[INFO] [stdout] test lens_distortion::tests::test_default_config ... ok
[INFO] [stdout] test keyframe_dot_view::tests::test_set_dot_color ... ok
[INFO] [stdout] test keyframe_dot_view::tests::test_set_enabled ... ok
[INFO] [stdout] test keyframe_dot_view::tests::test_show_frame_numbers ... ok
[INFO] [stdout] test keyframe_dot_view::tests::test_to_json_has_dot_count ... ok
[INFO] [stdout] test lens_distortion::tests::test_distort_uv_disabled_passthrough ... ok
[INFO] [stdout] test lens_distortion::tests::test_distort_uv_enabled_center_unchanged ... ok
[INFO] [stdout] test lens_distortion::tests::test_is_barrel_negative_k1 ... ok
[INFO] [stdout] test lens_distortion::tests::test_is_not_barrel_positive_k1 ... ok
[INFO] [stdout] test lens_distortion::tests::test_new_state_disabled ... ok
[INFO] [stdout] test lens_distortion_view::tests::test_distort_uv_with_k1_barrel ... ok
[INFO] [stdout] test lens_distortion::tests::test_reset ... ok
[INFO] [stdout] test lens_distortion::tests::test_set_enabled ... ok
[INFO] [stdout] test lens_distortion::tests::test_set_strength ... ok
[INFO] [stdout] test lens_distortion::tests::test_to_json ... ok
[INFO] [stdout] test lens_distortion_view::tests::test_default_k1_zero ... ok
[INFO] [stdout] test lens_distortion_view::tests::test_distort_uv_center_unchanged ... ok
[INFO] [stdout] test lens_distortion_view::tests::test_grid_vertex_count ... ok
[INFO] [stdout] test lens_distortion_view::tests::test_set_divisions_minimum ... ok
[INFO] [stdout] test lens_distortion_view::tests::test_to_json_contains_k1 ... ok
[INFO] [stdout] test lens_distortion_view::tests::test_toggle_grid ... ok
[INFO] [stdout] test lens_overlay::tests::test_chromatic_aberration_green_unshifted ... ok
[INFO] [stdout] test lens_overlay::tests::test_default_lens_effect_config ... ok
[INFO] [stdout] test lens_overlay::tests::test_chromatic_aberration_offset_center ... ok
[INFO] [stdout] test lens_overlay::tests::test_flare_streak_positions_count ... ok
[INFO] [stdout] test lens_overlay::tests::test_flare_streak_start_equals_flare_position ... ok
[INFO] [stdout] test lens_distortion_view::tests::test_set_k1 ... ok
[INFO] [stdout] test lens_distortion_view::tests::test_set_k2 ... ok
[INFO] [stdout] test lens_overlay::tests::test_blend_lens_configs_flare_count ... ok
[INFO] [stdout] test lens_distortion_view::tests::test_set_enabled_false ... ok
[INFO] [stdout] test lens_overlay::tests::test_is_flare_visible_below_threshold ... ok
[INFO] [stdout] test lens_overlay::tests::test_is_flare_visible_true ... ok
[INFO] [stdout] test lens_overlay::tests::test_lens_overlay_to_json_nonempty ... ok
[INFO] [stdout] test lens_overlay::tests::test_new_lens_flare ... ok
[INFO] [stdout] test lens_overlay::tests::test_vignette_alpha_center_is_zero ... ok
[INFO] [stdout] test lens_overlay::tests::test_lens_flare_count_empty ... ok
[INFO] [stdout] test lens_overlay::tests::test_lens_flare_intensity_ninety_degrees ... ok
[INFO] [stdout] test lens_overlay::tests::test_lens_flare_intensity_zero_angle ... ok
[INFO] [stdout] test lens_overlay::tests::test_set_flare_threshold ... ok
[INFO] [stdout] test lens_overlay::tests::test_set_vignette_strength ... ok
[INFO] [stdout] test lens_overlay::tests::test_vignette_alpha_between_zero_and_one ... ok
[INFO] [stdout] test lens_overlay::tests::test_vignette_alpha_corner_is_max ... ok
[INFO] [stdout] test lens_overlay::tests::test_vignette_mask_pixel_dims ... ok
[INFO] [stdout] test lenticular_view::tests::test_angle_wraps ... ok
[INFO] [stdout] test lenticular_view::tests::test_enabled_default ... ok
[INFO] [stdout] test lenticular_view::tests::test_lpi_clamped_max ... ok
[INFO] [stdout] test lenticular_view::tests::test_set_axis ... ok
[INFO] [stdout] test lenticular_view::tests::test_set_enabled ... ok
[INFO] [stdout] test lens_overlay::tests::test_vignette_mask_pixel_darkens ... ok
[INFO] [stdout] test lenticular_view::tests::test_default_axis ... ok
[INFO] [stdout] test lenticular_view::tests::test_default_lpi ... ok
[INFO] [stdout] test lenticular_view::tests::test_lpi_clamped_min ... ok
[INFO] [stdout] test lenticular_view::tests::test_num_frames_clamped ... ok
[INFO] [stdout] test lenticular_view::tests::test_to_json_has_axis ... ok
[INFO] [stdout] test level_set_view::tests::test_clone ... ok
[INFO] [stdout] test level_set_view::tests::test_iso_value_set ... ok
[INFO] [stdout] test level_set_view::tests::test_json_keys ... ok
[INFO] [stdout] test level_set_view::tests::test_defaults ... ok
[INFO] [stdout] test lidar_point_view::tests::test_bounding_box_single ... ok
[INFO] [stdout] test level_set_view::tests::test_iso_value_negative ... ok
[INFO] [stdout] test level_set_view::tests::test_opacity_clamp ... ok
[INFO] [stdout] test level_set_view::tests::test_wireframe_toggle ... ok
[INFO] [stdout] test lidar_point_view::tests::test_bounding_box_empty ... ok
[INFO] [stdout] test level_set_view::tests::test_gradient_toggle ... ok
[INFO] [stdout] test level_set_view::tests::test_enable ... ok
[INFO] [stdout] test lidar_point_view::tests::test_filter_by_return ... ok
[INFO] [stdout] test light_attenuation::tests::test_attenuation_to_json ... ok
[INFO] [stdout] test light_attenuation::tests::test_default_attenuation ... ok
[INFO] [stdout] test light_attenuation::tests::test_inverse_square_beyond_radius ... ok
[INFO] [stdout] test lidar_point_view::tests::test_mean_intensity ... ok
[INFO] [stdout] test light_attenuation::tests::test_inverse_square_at_zero ... ok
[INFO] [stdout] test light_attenuation::tests::test_linear_at_radius ... ok
[INFO] [stdout] test lidar_point_view::tests::test_mean_intensity_empty ... ok
[INFO] [stdout] test lidar_point_view::tests::test_new_empty ... ok
[INFO] [stdout] test lidar_point_view::tests::test_push_point ... ok
[INFO] [stdout] test light_attenuation::tests::test_linear_at_zero ... ok
[INFO] [stdout] test light_attenuation::tests::test_quadratic ... ok
[INFO] [stdout] test light_attenuation::tests::test_spot_inside_cone ... ok
[INFO] [stdout] test light_bake::tests::average_irradiance_empty_valid ... ok
[INFO] [stdout] test light_bake::tests::average_irradiance_single ... ok
[INFO] [stdout] test light_bake::tests::bake_coverage_zero_initially ... ok
[INFO] [stdout] test light_bake::tests::default_config_not_preview ... ok
[INFO] [stdout] test light_bake::tests::lambertian_backface_zero ... ok
[INFO] [stdout] test light_bake::tests::new_bake_job_texel_count ... ok
[INFO] [stdout] test light_bake::tests::lambertian_perpendicular ... ok
[INFO] [stdout] test light_bake::tests::set_texel_marks_valid ... ok
[INFO] [stdout] test light_cookie::tests::capacity_limit ... ok
[INFO] [stdout] test light_cookie::tests::cone_half_angle_45deg ... ok
[INFO] [stdout] test light_attenuation::tests::test_luminous_intensity ... ok
[INFO] [stdout] test light_bake::tests::bake_coverage_full_after_all_set ... ok
[INFO] [stdout] test light_cookie::tests::new_manager_empty ... ok
[INFO] [stdout] test light_cookie::tests::add_cookie_ok ... ok
[INFO] [stdout] test light_cookie::tests::enabled_count ... ok
[INFO] [stdout] test light_attenuation::tests::test_spot_outside_cone ... ok
[INFO] [stdout] test light_cookie::tests::json_contains_texture_id ... ok
[INFO] [stdout] test light_cookie::tests::remove_cookie_clears ... ok
[INFO] [stdout] test light_cookie::tests::sample_inside_returns_intensity ... ok
[INFO] [stdout] test light_count_overlay::tests::test_average_lights ... ok
[INFO] [stdout] test light_count_overlay::tests::test_average_lights_empty ... ok
[INFO] [stdout] test light_count_overlay::tests::test_color_max_red ... ok
[INFO] [stdout] test light_count_overlay::tests::test_color_zero ... ok
[INFO] [stdout] test light_count_overlay::tests::test_enable_disable ... ok
[INFO] [stdout] test light_count_overlay::tests::test_set_max_lights_min ... ok
[INFO] [stdout] test light_count_overlay::tests::test_set_tile_size_clamp ... ok
[INFO] [stdout] test light_count_overlay::tests::test_to_json ... ok
[INFO] [stdout] test light_falloff::tests::default_inverse_square ... ok
[INFO] [stdout] test light_falloff::tests::linear_at_range_zero ... ok
[INFO] [stdout] test light_cookie::tests::sample_outside_returns_zero ... ok
[INFO] [stdout] test light_cookie::tests::spot_uv_scale_identity ... ok
[INFO] [stdout] test light_falloff::tests::none_constant ... ok
[INFO] [stdout] test light_count_overlay::tests::test_tile_grid ... ok
[INFO] [stdout] test light_count_overlay::tests::test_default ... ok
[INFO] [stdout] test light_falloff::tests::set_range_clamps ... ok
[INFO] [stdout] test light_falloff::tests::smooth_at_zero_is_one ... ok
[INFO] [stdout] test light_falloff::tests::spot_attenuation_inside_inner ... ok
[INFO] [stdout] test light_falloff::tests::spot_attenuation_outside_outer ... ok
[INFO] [stdout] test light_falloff::tests::to_json_fields ... ok
[INFO] [stdout] test light_field_camera::tests::test_angular_resolution ... ok
[INFO] [stdout] test light_falloff::tests::inverse_square_decreases_with_distance ... ok
[INFO] [stdout] test light_falloff::tests::reset_restores ... ok
[INFO] [stdout] test light_field_camera::tests::test_memory_mb_positive ... ok
[INFO] [stdout] test light_field_camera::tests::test_new_config ... ok
[INFO] [stdout] test light_field_camera::tests::test_spatial_resolution ... ok
[INFO] [stdout] test light_field_camera::tests::test_total_views ... ok
[INFO] [stdout] test light_linking_view::tests::test_add_link ... ok
[INFO] [stdout] test light_linking_view::tests::test_add_multiple ... ok
[INFO] [stdout] test light_linking_view::tests::test_clone ... ok
[INFO] [stdout] test light_linking_view::tests::test_count_zero ... ok
[INFO] [stdout] test light_map::tests::add_entry ... ok
[INFO] [stdout] test light_map::tests::clear_empty ... ok
[INFO] [stdout] test light_linking_view::tests::test_default_visible ... ok
[INFO] [stdout] test light_linking_view::tests::test_json_key ... ok
[INFO] [stdout] test light_linking_view::tests::test_new ... ok
[INFO] [stdout] test light_linking_view::tests::test_remove_light ... ok
[INFO] [stdout] test light_map::tests::encoding_name_rgbm ... ok
[INFO] [stdout] test light_map::tests::get_entry ... ok
[INFO] [stdout] test light_map::tests::get_missing_is_none ... ok
[INFO] [stdout] test light_map::tests::json_has_page_size ... ok
[INFO] [stdout] test light_map::tests::new_empty_entries ... ok
[INFO] [stdout] test light_map::tests::memory_bytes_positive ... ok
[INFO] [stdout] test light_map::tests::uv_scale_stored ... ok
[INFO] [stdout] test light_linking_view::tests::test_excluded_count ... ok
[INFO] [stdout] test light_map::tests::remove_entry ... ok
[INFO] [stdout] test light_probe::tests::test_add_light_probe ... ok
[INFO] [stdout] test light_probe::tests::test_nearest_probe_empty ... ok
[INFO] [stdout] test light_probe::tests::test_blend_probes ... ok
[INFO] [stdout] test light_probe::tests::test_default_sh_coefficients_length ... ok
[INFO] [stdout] test light_probe::tests::test_get_light_probe ... ok
[INFO] [stdout] test light_probe::tests::test_get_light_probe_not_found ... ok
[INFO] [stdout] test light_probe::tests::test_light_probe_set_to_json ... ok
[INFO] [stdout] test light_probe::tests::test_nearest_probe ... ok
[INFO] [stdout] test light_probe::tests::test_new_light_probe_set ... ok
[INFO] [stdout] test light_probe_debug::tests::test_default_config ... ok
[INFO] [stdout] test light_probe::tests::test_probe_count ... ok
[INFO] [stdout] test light_probe::tests::test_probe_influence_weight_at_origin ... ok
[INFO] [stdout] test light_probe::tests::test_probe_influence_weight_falloff ... ok
[INFO] [stdout] test light_probe::tests::test_remove_light_probe ... ok
[INFO] [stdout] test light_probe::tests::test_sample_probe_sh ... ok
[INFO] [stdout] test light_probe::tests::test_set_probe_enabled ... ok
[INFO] [stdout] test light_probe_debug::tests::test_sh_probe_energy_nonzero ... ok
[INFO] [stdout] test light_probe_debug::tests::test_sh_probe_energy_zero ... ok
[INFO] [stdout] test light_probe_v2::tests::add_and_count ... ok
[INFO] [stdout] test light_probe_debug::tests::test_evaluate_sh_zero_probe ... ok
[INFO] [stdout] test light_probe_debug::tests::test_pi_consts_used ... ok
[INFO] [stdout] test light_probe_debug::tests::test_sh_l0_scale ... ok
[INFO] [stdout] test light_probe_v2::tests::blend_sh_identity ... ok
[INFO] [stdout] test light_probe_debug::tests::test_sh_probe_reset ... ok
[INFO] [stdout] test light_probe_debug::tests::test_to_json ... ok
[INFO] [stdout] test light_probe_debug::tests::test_set_exposure_clamped ... ok
[INFO] [stdout] test light_probe_v2::tests::influence_outside_radius_is_zero ... ok
[INFO] [stdout] test light_probe_v2::tests::json_has_count ... ok
[INFO] [stdout] test light_probe_view::tests::test_default_radius ... ok
[INFO] [stdout] test light_probe_v2::tests::clear_empties ... ok
[INFO] [stdout] test light_probe_v2::tests::influence_at_center_is_one ... ok
[INFO] [stdout] test light_probe_view::tests::test_default_sh_hidden ... ok
[INFO] [stdout] test light_probe_v2::tests::nearest_returns_closest ... ok
[INFO] [stdout] test light_probe_v2::tests::remove_by_id ... ok
[INFO] [stdout] test light_probe_v2::tests::eval_sh_zero_for_default ... ok
[INFO] [stdout] test light_probe_v2::tests::empty_set ... ok
[INFO] [stdout] test light_probe_view::tests::test_set_radius_minimum ... ok
[INFO] [stdout] test light_probe_view::tests::test_sphere_area_positive ... ok
[INFO] [stdout] test light_scatter::tests::blend_midpoint ... ok
[INFO] [stdout] test light_scatter::tests::default_config ... ok
[INFO] [stdout] test light_probe_view::tests::test_sample_direction_returns_three ... ok
[INFO] [stdout] test light_probe_view::tests::test_set_enabled_false ... ok
[INFO] [stdout] test light_probe_view::tests::test_set_exposure ... ok
[INFO] [stdout] test light_probe_view::tests::test_set_radius ... ok
[INFO] [stdout] test light_probe_view::tests::test_to_json_contains_radius ... ok
[INFO] [stdout] test light_probe_view::tests::test_toggle_sh ... ok
[INFO] [stdout] test light_scatter::tests::disabled_no_effect ... ok
[INFO] [stdout] test light_scatter::tests::mie_phase_forward_scatter_greater ... ok
[INFO] [stdout] test light_scatter::tests::mie_phase_positive ... ok
[INFO] [stdout] test light_scatter::tests::to_json_fields ... ok
[INFO] [stdout] test light_scatter::tests::radial_weight_at_zero ... ok
[INFO] [stdout] test light_volume_v2::tests::clear_empties ... ok
[INFO] [stdout] test light_scatter::tests::set_density_clamps ... ok
[INFO] [stdout] test light_scatter::tests::set_samples_clamps ... ok
[INFO] [stdout] test light_volume_v2::tests::add_increments_count ... ok
[INFO] [stdout] test light_volume_v2::tests::sphere_volume_positive ... ok
[INFO] [stdout] test light_volume_v2::tests::to_json_has_enabled ... ok
[INFO] [stdout] test light_volume_v2::tests::enabled_count_after_disable ... ok
[INFO] [stdout] test light_volume_v2::tests::new_is_empty ... ok
[INFO] [stdout] test light_volume_v2::tests::remove_by_id ... ok
[INFO] [stdout] test light_volume_v2::tests::solid_angle_nonneg ... ok
[INFO] [stdout] test light_volume_v2::tests::sphere_volume_doubles_radius_eight_times ... ok
[INFO] [stdout] test light_volume_v2::tests::total_intensity_sums ... ok
[INFO] [stdout] test lighting::tests::all_presets_have_positive_ambient_intensity ... ok
[INFO] [stdout] test lighting::tests::normalize_dir_already_unit ... ok
[INFO] [stdout] test lighting::tests::normalize_dir_unit_length ... ok
[INFO] [stdout] test lighting::tests::all_presets_total_light_count_positive ... ok
[INFO] [stdout] test lighting::tests::kelvin_10000k_is_cool_blue ... ok
[INFO] [stdout] test lighting::tests::kelvin_2700k_is_warm ... ok
[INFO] [stdout] test lighting::tests::kelvin_6500k_near_white ... ok
[INFO] [stdout] test lighting::tests::kelvin_clamps_low_end ... ok
[INFO] [stdout] test lighting::tests::normalize_dir_zero_vector ... ok
[INFO] [stdout] test lighting::tests::outdoor_noon_has_strong_directional ... ok
[INFO] [stdout] test lighting::tests::studio_three_point_no_point_lights ... ok
[INFO] [stdout] test lighting::tests::srgb_to_linear_black_stays_black ... ok
[INFO] [stdout] test lighting::tests::to_json_contains_expected_keys ... ok
[INFO] [stdout] test lighting::tests::total_light_count_indoor_soft ... ok
[INFO] [stdout] test lighting::tests::studio_three_point_has_three_directional_lights ... ok
[INFO] [stdout] test lighting::tests::studio_three_point_key_brighter_than_fill ... ok
[INFO] [stdout] test lighting::tests::to_json_is_non_empty_string ... ok
[INFO] [stdout] test lighting::tests::srgb_to_linear_direction_monotone ... ok
[INFO] [stdout] test lighting::tests::srgb_to_linear_white_stays_white ... ok
[INFO] [stdout] test lighting::tests::total_light_count_studio ... ok
[INFO] [stdout] test lighting_presets::tests::all_presets_ambient_non_negative ... ok
[INFO] [stdout] test lighting_presets::tests::indoor_has_three_point_lights ... ok
[INFO] [stdout] test lighting_presets::tests::all_presets_returns_six ... ok
[INFO] [stdout] test lighting_presets::tests::kelvin_2700_is_warm ... ok
[INFO] [stdout] test lighting_presets::tests::all_presets_have_positive_exposure ... ok
[INFO] [stdout] test lighting_presets::tests::custom_preset_accepts_empty_lights ... ok
[INFO] [stdout] test lighting_presets::tests::directional_light_evaluate_at_origin ... ok
[INFO] [stdout] test lighting_presets::tests::dramatic_has_one_spot ... ok
[INFO] [stdout] test lighting_presets::tests::kelvin_6500_near_white ... ok
[INFO] [stdout] test lighting_presets::tests::point_light_evaluate_distance_falloff ... ok
[INFO] [stdout] test lighting_presets::tests::point_light_outside_radius_is_zero ... ok
[INFO] [stdout] test lighting_presets::tests::spot_light_outside_cone_is_zero ... ok
[INFO] [stdout] test lighting_presets::tests::medical_has_six_directional_lights ... ok
[INFO] [stdout] test lighting_presets::tests::studio_has_three_lights ... ok
[INFO] [stdout] test lighting_presets::tests::normalize_f64_unit_length ... ok
[INFO] [stdout] test lighting_presets::tests::normalize_f64_zero_vector_fallback ... ok
[INFO] [stdout] test lighting_presets::tests::outdoor_has_two_lights ... ok
[INFO] [stdout] test lighting_presets::tests::rim_light_has_three_lights ... ok
[INFO] [stdout] test lighting_presets::tests::spot_light_inside_inner_cone ... ok
[INFO] [stdout] test lighting_presets::tests::to_json_contains_name ... ok
[INFO] [stdout] test lightmap_density_view::tests::test_enable ... ok
[INFO] [stdout] test lightmap_density_view::tests::test_new_defaults ... ok
[INFO] [stdout] test lightmap_density_view::tests::test_set_density ... ok
[INFO] [stdout] test lightmap_density_view::tests::test_clone ... ok
[INFO] [stdout] test lighting_presets::tests::total_intensity_positive_for_non_custom ... ok
[INFO] [stdout] test lightmap_density_view::tests::test_set_density_clamp ... ok
[INFO] [stdout] test lightmap_density_view::tests::test_to_json ... ok
[INFO] [stdout] test lightmap_density_view::tests::test_density_color_over ... ok
[INFO] [stdout] test lightmap_density_view::tests::test_density_color_under ... ok
[INFO] [stdout] test lod_coverage_view::tests::test_active_lod_high_coverage ... ok
[INFO] [stdout] test lightmap_density_view::tests::test_toggle_grid ... ok
[INFO] [stdout] test lod_coverage_view::tests::test_defaults ... ok
[INFO] [stdout] test lod_coverage_view::tests::test_enable ... ok
[INFO] [stdout] test lod_coverage_view::tests::test_lod_color_lod0_green ... ok
[INFO] [stdout] test lod_coverage_view::tests::test_lod_color_range ... ok
[INFO] [stdout] test lod_coverage_view::tests::test_set_threshold ... ok
[INFO] [stdout] test lod_coverage_view::tests::test_threshold_clamp ... ok
[INFO] [stdout] test lod_coverage_view::tests::test_threshold_count ... ok
[INFO] [stdout] test lod_coverage_view::tests::test_to_json ... ok
[INFO] [stdout] test lod_debug_view::tests::test_clone ... ok
[INFO] [stdout] test lod_debug_view::tests::test_color_intensity_decreases ... ok
[INFO] [stdout] test lod_debug_view::tests::test_color_intensity_level_zero ... ok
[INFO] [stdout] test lod_debug_view::tests::test_defaults ... ok
[INFO] [stdout] test lod_debug_view::tests::test_distance_threshold_clamp ... ok
[INFO] [stdout] test lod_debug_view::tests::test_enable ... ok
[INFO] [stdout] test lod_debug_view::tests::test_json_keys ... ok
[INFO] [stdout] test lod_manager::tests::lod_blend_factor_within_bounds ... ok
[INFO] [stdout] test lod_debug_view::tests::test_lod_count_clamp_low ... ok
[INFO] [stdout] test lod_debug_view::tests::test_lod_count_clamp_high ... ok
[INFO] [stdout] test lod_manager::tests::register_object_returns_sequential_ids ... ok
[INFO] [stdout] test lod_manager::tests::add_level_increases_count ... ok
[INFO] [stdout] test lod_debug_view::tests::test_show_labels_false ... ok
[INFO] [stdout] test lod_manager::tests::update_distance_mid_range_gives_lod_one ... ok
[INFO] [stdout] test lod_manager::tests::select_lod_level_returns_last_beyond_max ... ok
[INFO] [stdout] test lod_manager::tests::lod_stats_json_non_empty ... ok
[INFO] [stdout] test lod_manager::tests::update_distance_zero_gives_lod_zero ... ok
[INFO] [stdout] test lod_manager::tests::select_lod_level_returns_zero_at_origin ... ok
[INFO] [stdout] test lod_manager::tests::standard_levels_count ... ok
[INFO] [stdout] test lod_manager::tests::standard_levels_ids_sequential ... ok
[INFO] [stdout] test lod_manager::tests::update_distance_far_gives_last_lod ... ok
[INFO] [stdout] test lod_manager::tests::vertex_ratio_correct_for_lod_one ... ok
[INFO] [stdout] test lod_manager_v2::tests::default_lod_configs_has_five ... ok
[INFO] [stdout] test lod_manager::tests::vertex_ratio_correct_for_lod_zero ... ok
[INFO] [stdout] test lod_manager::tests::with_standard_levels_has_five_levels ... ok
[INFO] [stdout] test lod_manager_v2::tests::build_lod_chain_full_lod_identical_to_source ... ok
[INFO] [stdout] test lod_manager_v2::tests::build_lod_chain_offsets_increase_monotonically ... ok
[INFO] [stdout] test lod_manager_v2::tests::build_lod_chain_returns_five_levels ... ok
[INFO] [stdout] test lod_manager_v2::tests::lod_level_all_has_five ... ok
[INFO] [stdout] test lod_manager_v2::tests::lod_manager_get_draw_params_full ... ok
[INFO] [stdout] test lod_manager_v2::tests::lod_manager_select_lod_close_returns_full ... ok
[INFO] [stdout] test lod_manager_v2::tests::lod_level_face_ratios_ordered ... ok
[INFO] [stdout] test lod_manager_v2::tests::lod_level_indices_sequential ... ok
[INFO] [stdout] test lod_manager_v2::tests::lod_manager_select_lod_far_returns_minimal_or_low ... ok
[INFO] [stdout] test lod_manager_v2::tests::lod_level_names_unique ... ok
[INFO] [stdout] test luma_key_view::tests::test_clip_levels ... ok
[INFO] [stdout] test luma_key_view::tests::test_clone ... ok
[INFO] [stdout] test luma_key_view::tests::test_evaluate_in_range ... ok
[INFO] [stdout] test luma_key_view::tests::test_evaluate_inverted ... ok
[INFO] [stdout] test luma_key_view::tests::test_enabled_toggle ... ok
[INFO] [stdout] test luma_key_view::tests::test_json ... ok
[INFO] [stdout] test luma_key_view::tests::test_invert_toggle ... ok
[INFO] [stdout] test lod_manager_v2::tests::lod_transition_request_starts_blend ... ok
[INFO] [stdout] test luma_key_view::tests::test_defaults ... ok
[INFO] [stdout] test lod_manager_v2::tests::lod_transition_starts_stable ... ok
[INFO] [stdout] test lut_preview_view::tests::test_default_enabled ... ok
[INFO] [stdout] test lut_preview_view::tests::test_default_intensity_one ... ok
[INFO] [stdout] test lut_preview_view::tests::test_default_lut_size ... ok
[INFO] [stdout] test lut_preview_view::tests::test_data_size_cube ... ok
[INFO] [stdout] test lod_manager_v2::tests::lod_transition_update_completes ... ok
[INFO] [stdout] test luma_key_view::tests::test_set_key_range ... ok
[INFO] [stdout] test lut_preview_view::tests::test_set_intensity ... ok
[INFO] [stdout] test lut_preview_view::tests::test_sample_at_zero_intensity_returns_original ... ok
[INFO] [stdout] test lut_preview_view::tests::test_sample_returns_three_components ... ok
[INFO] [stdout] test lut_preview_view::tests::test_set_enabled_false ... ok
[INFO] [stdout] test lut_preview_view::tests::test_toggle_before ... ok
[INFO] [stdout] test lut_preview_view::tests::test_to_json_contains_lut_size ... ok
[INFO] [stdout] test material::tests::color_to_hex_black ... ok
[INFO] [stdout] test material::tests::color_to_hex_white ... ok
[INFO] [stdout] test material::tests::default_cloth_not_metallic ... ok
[INFO] [stdout] test material::tests::default_glass_has_alpha ... ok
[INFO] [stdout] test material::tests::default_glass_has_alpha_cutoff ... ok
[INFO] [stdout] test material::tests::default_skin_low_metallic ... ok
[INFO] [stdout] test material::tests::lerp_material_at_t1_matches_b ... ok
[INFO] [stdout] test material::tests::lerp_material_midpoint ... ok
[INFO] [stdout] test material::tests::lerp_material_at_t0_matches_a ... ok
[INFO] [stdout] test lut_preview_view::tests::test_set_intensity_clamps ... ok
[INFO] [stdout] test material::tests::color4_to_array ... ok
[INFO] [stdout] test material::tests::color4_white ... ok
[INFO] [stdout] test material::tests::material_to_gltf_json_contains_pbr_key ... ok
[INFO] [stdout] test material_graph_view::tests::default_empty ... ok
[INFO] [stdout] test material::tests::default_metal_metallic_one ... ok
[INFO] [stdout] test material_graph_view::tests::add_node_increases_count ... ok
[INFO] [stdout] test material::tests::library_add_and_get ... ok
[INFO] [stdout] test material::tests::library_by_name ... ok
[INFO] [stdout] test material_graph_view::tests::enabled_default ... ok
[INFO] [stdout] test material_graph_view::tests::remove_missing_returns_false ... ok
[INFO] [stdout] test material_id_view::tests::test_color_id_0 ... ok
[INFO] [stdout] test material_id_view::tests::test_color_ids_differ ... ok
[INFO] [stdout] test material::tests::library_get_out_of_bounds ... ok
[INFO] [stdout] test material_id_view::tests::test_defaults ... ok
[INFO] [stdout] test material_id_view::tests::test_enable ... ok
[INFO] [stdout] test material_id_view::tests::test_opacity_clamp ... ok
[INFO] [stdout] test material_id_view::tests::test_palette_size_min ... ok
[INFO] [stdout] test material_id_view::tests::test_set_opacity ... ok
[INFO] [stdout] test material_id_view::tests::test_to_json ... ok
[INFO] [stdout] test material_instance_view::tests::test_avg_instances_computed ... ok
[INFO] [stdout] test material_instance_view::tests::test_avg_instances_zero_base ... ok
[INFO] [stdout] test material_instance_view::tests::test_base_materials_capped ... ok
[INFO] [stdout] test material_instance_view::tests::test_clone ... ok
[INFO] [stdout] test material_instance_view::tests::test_defaults ... ok
[INFO] [stdout] test material_instance_view::tests::test_enable ... ok
[INFO] [stdout] test material_instance_view::tests::test_highlight_toggle ... ok
[INFO] [stdout] test material_instance_view::tests::test_json_keys ... ok
[INFO] [stdout] test material_instance_view::tests::test_show_overrides_toggle ... ok
[INFO] [stdout] test material_instance_view::tests::test_update_counts ... ok
[INFO] [stdout] test measurement_display::tests::test_add_measurement_multi_segment ... ok
[INFO] [stdout] test measurement_display::tests::test_add_measurement_single_segment ... ok
[INFO] [stdout] test measurement_display::tests::test_convert_to_unit ... ok
[INFO] [stdout] test measurement_display::tests::test_display_value_centimeters ... ok
[INFO] [stdout] test measurement_display::tests::test_get_measurement_by_name ... ok
[INFO] [stdout] test measurement_display::tests::test_measurement_count ... ok
[INFO] [stdout] test measurement_display::tests::test_measurement_line_segments_empty ... ok
[INFO] [stdout] test measurement_display::tests::test_measurement_line_segments_two_points ... ok
[INFO] [stdout] test measurement_display::tests::test_measurement_to_string_inches ... ok
[INFO] [stdout] test measurement_display::tests::test_measurement_to_string ... ok
[INFO] [stdout] test material_graph_view::tests::json_has_node_count ... ok
[INFO] [stdout] test material_graph_view::tests::pan_set_correctly ... ok
[INFO] [stdout] test material_graph_view::tests::remove_node_by_id ... ok
[INFO] [stdout] test material_graph_view::tests::set_zoom_clamps ... ok
[INFO] [stdout] test material_id_view::tests::test_color_wraps_palette ... ok
[INFO] [stdout] test measurement_display::tests::test_unit_suffix ... ok
[INFO] [stdout] test measurement_display::tests::test_visible_measurements ... ok
[INFO] [stdout] test mesh_density_view::tests::test_density_color_high ... ok
[INFO] [stdout] test mesh_density_view::tests::test_density_color_mid ... ok
[INFO] [stdout] test measurement_display::tests::test_new_measurement_display ... ok
[INFO] [stdout] test measurement_display::tests::test_set_unit_updates_all ... ok
[INFO] [stdout] test measurement_display::tests::test_standard_body_measurements ... ok
[INFO] [stdout] test measurement_display::tests::test_total_display_range ... ok
[INFO] [stdout] test mesh_density_view::tests::test_clone ... ok
[INFO] [stdout] test mesh_density_view::tests::test_density_color_low ... ok
[INFO] [stdout] test mesh_density_view::tests::test_enable ... ok
[INFO] [stdout] test mesh_density_view::tests::test_new_defaults ... ok
[INFO] [stdout] test mesh_density_view::tests::test_set_thresholds ... ok
[INFO] [stdout] test mesh_density_view::tests::test_to_json_enabled_false ... ok
[INFO] [stdout] test mesh_density_view::tests::test_to_json_has_thresholds ... ok
[INFO] [stdout] test mesh_patch_view::tests::test_active_patch_count_some ... ok
[INFO] [stdout] test mesh_patch_view::tests::test_active_patch_count_zero ... ok
[INFO] [stdout] test mesh_patch_view::tests::test_default ... ok
[INFO] [stdout] test mesh_patch_view::tests::test_set_opacity_clamped ... ok
[INFO] [stdout] test mesh_patch_view::tests::test_generate_patch_records ... ok
[INFO] [stdout] test mesh_patch_view::tests::test_patch_color_deterministic ... ok
[INFO] [stdout] test mesh_patch_view::tests::test_patch_color_different_ids ... ok
[INFO] [stdout] test mesh_patch_view::tests::test_to_json ... ok
[INFO] [stdout] test mesh_patch_view::tests::test_toggle_boundaries ... ok
[INFO] [stdout] test metadata_overlay_view::tests::test_aperture_set ... ok
[INFO] [stdout] test metadata_overlay_view::tests::test_clone ... ok
[INFO] [stdout] test metadata_overlay_view::tests::test_focal_length_clamp ... ok
[INFO] [stdout] test metadata_overlay_view::tests::test_json ... ok
[INFO] [stdout] test metal_shader_view::tests::test_metal_fresnel_conductor_range ... ok
[INFO] [stdout] test metadata_overlay_view::tests::test_default_trait ... ok
[INFO] [stdout] test metadata_overlay_view::tests::test_defaults ... ok
[INFO] [stdout] test metadata_overlay_view::tests::test_exposure_value_finite ... ok
[INFO] [stdout] test metadata_overlay_view::tests::test_iso_set ... ok
[INFO] [stdout] test metadata_overlay_view::tests::test_shutter_speed_set ... ok
[INFO] [stdout] test metal_shader_view::tests::test_metal_fresnel_rgb ... ok
[INFO] [stdout] test metallic_view::tests::test_apply_binary_metal ... ok
[INFO] [stdout] test metallic_view::tests::test_apply_binary_non_metal ... ok
[INFO] [stdout] test metal_shader_view::tests::test_metal_is_mirror ... ok
[INFO] [stdout] test metal_shader_view::tests::test_metal_reflectance_at_normal ... ok
[INFO] [stdout] test metal_shader_view::tests::test_new_metal_shader_view ... ok
[INFO] [stdout] test metallic_view::tests::test_apply_grayscale_interpolation ... ok
[INFO] [stdout] test metallic_view::tests::test_default ... ok
[INFO] [stdout] test metallic_view::tests::test_is_metallic ... ok
[INFO] [stdout] test metallic_view::tests::test_reset ... ok
[INFO] [stdout] test metallic_view::tests::test_set_threshold_clamped ... ok
[INFO] [stdout] test metallic_view::tests::test_to_json ... ok
[INFO] [stdout] test metalness_debug_view::tests::test_metalness_color_metallic ... ok
[INFO] [stdout] test metallic_view::tests::test_toggle_binary ... ok
[INFO] [stdout] test metalness_debug_view::tests::test_enable ... ok
[INFO] [stdout] test metalness_debug_view::tests::test_metalness_color_dielectric ... ok
[INFO] [stdout] test metalness_debug_view::tests::test_metalness_color_transition ... ok
[INFO] [stdout] test metalness_debug_view::tests::test_new_defaults ... ok
[INFO] [stdout] test metalness_debug_view::tests::test_set_threshold ... ok
[INFO] [stdout] test metalness_debug_view::tests::test_set_threshold_clamp ... ok
[INFO] [stdout] test metalness_debug_view::tests::test_to_json ... ok
[INFO] [stdout] test metropolis_debug_view::tests::test_mlt_acceptance_color_high ... ok
[INFO] [stdout] test metalness_debug_view::tests::test_clone ... ok
[INFO] [stdout] test metropolis_debug_view::tests::test_mlt_is_large_step ... ok
[INFO] [stdout] test microscopy_view::tests::test_magnification_increases_resolution ... ok
[INFO] [stdout] test metropolis_debug_view::tests::test_mlt_mutation_type_color ... ok
[INFO] [stdout] test metropolis_debug_view::tests::test_new_metropolis_debug_view ... ok
[INFO] [stdout] test microscopy_view::tests::test_field_of_view ... ok
[INFO] [stdout] test microscopy_view::tests::test_get_pixel_oob ... ok
[INFO] [stdout] test microscopy_view::tests::test_resolution_um ... ok
[INFO] [stdout] test microscopy_view::tests::test_set_get_pixel ... ok
[INFO] [stdout] test mikkt_view::tests::test_bitangent_handedness_negates ... ok
[INFO] [stdout] test mikkt_view::tests::test_bitangent_x_axis ... ok
[INFO] [stdout] test mikkt_view::tests::test_defaults ... ok
[INFO] [stdout] test microscopy_view::tests::test_new_image ... ok
[INFO] [stdout] test metropolis_debug_view::tests::test_mlt_acceptance_color_low ... ok
[INFO] [stdout] test microscopy_view::tests::test_pixel_count ... ok
[INFO] [stdout] test mikkt_view::tests::test_enable ... ok
[INFO] [stdout] test mikkt_view::tests::test_positive_handedness_color ... ok
[INFO] [stdout] test mikkt_view::tests::test_negative_handedness_color ... ok
[INFO] [stdout] test mikkt_view::tests::test_scale_min_enforced ... ok
[INFO] [stdout] test mikkt_view::tests::test_to_json ... ok
[INFO] [stdout] test mip_level_view::tests::test_clone ... ok
[INFO] [stdout] test mikkt_view::tests::test_set_scale ... ok
[INFO] [stdout] test lod_manager_v2::tests::build_lod_chain_decimated_face_count_lte_full ... ok
[INFO] [stdout] test mip_level_view::tests::test_new_defaults ... ok
[INFO] [stdout] test mip_level_view::tests::test_set_mip ... ok
[INFO] [stdout] test mip_level_view::tests::test_set_mip_clamped ... ok
[INFO] [stdout] test mip_level_view::tests::test_to_json_enabled_false ... ok
[INFO] [stdout] test mipmap_chain_view::tests::test_clone ... ok
[INFO] [stdout] test mipmap_chain_view::tests::test_defaults ... ok
[INFO] [stdout] test mipmap_chain_view::tests::test_enable ... ok
[INFO] [stdout] test mipmap_chain_view::tests::test_json_keys ... ok
[INFO] [stdout] test mipmap_chain_view::tests::test_level_dimensions_halve ... ok
[INFO] [stdout] test mipmap_chain_view::tests::test_level_dimensions_level_0 ... ok
[INFO] [stdout] test mipmap_chain_view::tests::test_set_base_dimensions_mip_count ... ok
[INFO] [stdout] test mip_level_view::tests::test_enable ... ok
[INFO] [stdout] test mipmap_chain_view::tests::test_set_dimensions_min ... ok
[INFO] [stdout] test mipmap_chain_view::tests::test_show_level_borders ... ok
[INFO] [stdout] test modifier_stack_view::tests::modifier_count_multiple ... ok
[INFO] [stdout] test modifier_stack_view::tests::add_modifier_increments_count ... ok
[INFO] [stdout] test mip_level_view::tests::test_mip_color_range ... ok
[INFO] [stdout] test mip_level_view::tests::test_to_json ... ok
[INFO] [stdout] test modifier_stack_view::tests::added_modifier_is_enabled ... ok
[INFO] [stdout] test mipmap_chain_view::tests::test_total_texels_positive ... ok
[INFO] [stdout] test modifier_stack_view::tests::toggle_modifier_flips_enabled ... ok
[INFO] [stdout] test mip_level_view::tests::test_level_count ... ok
[INFO] [stdout] test modifier_stack_view::tests::toggle_modifier_unknown_id_no_panic ... ok
[INFO] [stdout] test modifier_stack_view::tests::move_modifier_up_changes_order ... ok
[INFO] [stdout] test modifier_stack_view::tests::move_modifier_up_top_no_change ... ok
[INFO] [stdout] test modifier_stack_view::tests::move_modifier_up_unknown_no_panic ... ok
[INFO] [stdout] test modifier_stack_view::tests::new_view_is_empty ... ok
[INFO] [stdout] test modifier_stack_view::tests::order_assigned_sequentially ... ok
[INFO] [stdout] test morph_delta_view::tests::test_enable ... ok
[INFO] [stdout] test morph_delta_view::tests::test_set_scale ... ok
[INFO] [stdout] test morph_delta_view::tests::test_set_scale_clamp_low ... ok
[INFO] [stdout] test morph_delta_view::tests::test_to_json ... ok
[INFO] [stdout] test morph_delta_view::tests::test_new_defaults ... ok
[INFO] [stdout] test morph_magnitude_view::tests::test_clone ... ok
[INFO] [stdout] test morph_delta_view::tests::test_set_scale_clamp_high ... ok
[INFO] [stdout] test morph_delta_view::tests::test_clone ... ok
[INFO] [stdout] test morph_delta_view::tests::test_delta_color_high_magnitude ... ok
[INFO] [stdout] test morph_magnitude_view::tests::test_delta_color_max ... ok
[INFO] [stdout] test morph_delta_view::tests::test_delta_color_zero_magnitude ... ok
[INFO] [stdout] test morph_magnitude_view::tests::test_to_json ... ok
[INFO] [stdout] test morph_magnitude_view::tests::test_toggle_arrows ... ok
[INFO] [stdout] test morph_magnitude_view::tests::test_delta_color_zero ... ok
[INFO] [stdout] test morph_magnitude_view::tests::test_new_defaults ... ok
[INFO] [stdout] test morph_updater::tests::morph_slider_flush_clears_dirty ... ok
[INFO] [stdout] test morph_magnitude_view::tests::test_set_max_delta ... ok
[INFO] [stdout] test morph_magnitude_view::tests::test_set_max_delta_min ... ok
[INFO] [stdout] test morph_updater::tests::morph_slider_clamps_value ... ok
[INFO] [stdout] test morph_magnitude_view::tests::test_enable ... ok
[INFO] [stdout] test morph_updater::tests::updater_apply_adds_delta_to_positions ... ok
[INFO] [stdout] test morph_updater::tests::updater_apply_oob_vertex_skipped ... ok
[INFO] [stdout] test morph_updater::tests::updater_apply_scales_by_weight ... ok
[INFO] [stdout] test morph_updater::tests::updater_dirty_sliders_after_set ... ok
[INFO] [stdout] test morph_updater::tests::updater_flush_dirty_clears_flags ... ok
[INFO] [stdout] test morph_updater::tests::updater_remove_slider ... ok
[INFO] [stdout] test morph_updater::tests::updater_set_slider_creates_new ... ok
[INFO] [stdout] test morph_updater::tests::updater_reset_all_zeroes_values ... ok
[INFO] [stdout] test morph_updater::tests::morph_slider_same_value_not_dirty ... ok
[INFO] [stdout] test morph_updater::tests::morph_slider_set_value_marks_dirty ... ok
[INFO] [stdout] test morph_updater::tests::updater_add_slider_dedup_by_name ... ok
[INFO] [stdout] test morph_updater::tests::updater_dirty_sliders_empty_initially ... ok
[INFO] [stdout] test morph_updater::tests::morph_slider_normalized_midpoint ... ok
[INFO] [stdout] test morph_updater::tests::updater_should_update_false_when_no_dirty ... ok
[INFO] [stdout] test morph_updater::tests::updater_should_update_true_when_dirty_and_never_flushed ... ok
[INFO] [stdout] test mosaic_view::tests::test_border_width_clamped ... ok
[INFO] [stdout] test mosaic_view::tests::test_default_tile_shape ... ok
[INFO] [stdout] test mosaic_view::tests::test_set_border_color ... ok
[INFO] [stdout] test mosaic_view::tests::test_set_enabled ... ok
[INFO] [stdout] test mosaic_view::tests::test_tile_size_clamped_max ... ok
[INFO] [stdout] test mosaic_view::tests::test_set_tile_shape ... ok
[INFO] [stdout] test motion_blur_tile::tests::is_empty_false_after_build ... ok
[INFO] [stdout] test mosaic_view::tests::test_default_tile_size ... ok
[INFO] [stdout] test mosaic_view::tests::test_enabled_default ... ok
[INFO] [stdout] test motion_blur_tile::tests::json_contains_tile_count ... ok
[INFO] [stdout] test mosaic_view::tests::test_tile_size_clamped_min ... ok
[INFO] [stdout] test mosaic_view::tests::test_to_json_has_tile_shape ... ok
[INFO] [stdout] test motion_blur_tile::tests::build_tile_grid_correct_count ... ok
[INFO] [stdout] test motion_blur_tile::tests::high_velocity_triggers_blur ... ok
[INFO] [stdout] test motion_blur_tile::tests::sample_count_clamps ... ok
[INFO] [stdout] test motion_blur_tile::tests::zero_velocity_no_blur ... ok
[INFO] [stdout] test motion_blur_tile::tests::sample_count_min_one ... ok
[INFO] [stdout] test motion_field::tests::max_magnitude ... ok
[INFO] [stdout] test motion_blur_tile::tests::sqrt2_threshold ... ok
[INFO] [stdout] test motion_blur_tile::tests::velocity_magnitude ... ok
[INFO] [stdout] test motion_blur_tile::tests::velocity_normalize ... ok
[INFO] [stdout] test motion_field::tests::average_magnitude_zero ... ok
[INFO] [stdout] test motion_field::tests::clear_resets ... ok
[INFO] [stdout] test motion_field::tests::get_out_of_bounds_returns_zero ... ok
[INFO] [stdout] test motion_field::tests::pixel_count ... ok
[INFO] [stdout] test motion_field::tests::scale_doubles ... ok
[INFO] [stdout] test motion_field::tests::to_json_fields ... ok
[INFO] [stdout] test motion_history::tests::capacity_evicts_oldest ... ok
[INFO] [stdout] test motion_history::tests::latest_returns_last ... ok
[INFO] [stdout] test motion_field::tests::new_field_zero ... ok
[INFO] [stdout] test motion_history::tests::net_displacement_zero_single ... ok
[INFO] [stdout] test motion_field::tests::set_and_get ... ok
[INFO] [stdout] test motion_history::tests::average_speed_correct ... ok
[INFO] [stdout] test motion_history::tests::clear_resets ... ok
[INFO] [stdout] test motion_sample::tests::average_velocity_empty_zero ... ok
[INFO] [stdout] test motion_history::tests::path_length_two_points ... ok
[INFO] [stdout] test motion_history::tests::peak_speed_is_max ... ok
[INFO] [stdout] test motion_sample::tests::average_velocity_one_entry ... ok
[INFO] [stdout] test motion_sample::tests::capacity_is_sixteen ... ok
[INFO] [stdout] test motion_history::tests::push_increments ... ok
[INFO] [stdout] test motion_sample::tests::clear_empties ... ok
[INFO] [stdout] test motion_sample::tests::new_is_empty ... ok
[INFO] [stdout] test motion_sample::tests::peak_speed_correct ... ok
[INFO] [stdout] test motion_sample::tests::push_increments_count ... ok
[INFO] [stdout] test motion_sample::tests::speed_angle_nonneg ... ok
[INFO] [stdout] test motion_sample::tests::to_json_has_count ... ok
[INFO] [stdout] test motion_sample::tests::wraps_at_capacity ... ok
[INFO] [stdout] test motion_history::tests::empty_history ... ok
[INFO] [stdout] test motion_stretch::tests::build_instance ... ok
[INFO] [stdout] test motion_history::tests::json_has_object_id ... ok
[INFO] [stdout] test motion_stretch::tests::default_config ... ok
[INFO] [stdout] test motion_stretch::tests::stretch_above_threshold ... ok
[INFO] [stdout] test motion_stretch::tests::disabled_always_one ... ok
[INFO] [stdout] test motion_stretch::tests::no_stretch_below_threshold ... ok
[INFO] [stdout] test motion_stretch::tests::to_json_fields ... ok
[INFO] [stdout] test motion_stretch::tests::velocity_magnitude ... ok
[INFO] [stdout] test motion_stretch::tests::stretch_clamped_to_max ... ok
[INFO] [stdout] test motion_stretch::tests::stretch_direction_unit ... ok
[INFO] [stdout] test motion_trail::tests::test_add_trail_point ... ok
[INFO] [stdout] test motion_trail::tests::test_newest_trail_point ... ok
[INFO] [stdout] test motion_trail::tests::test_oldest_trail_point ... ok
[INFO] [stdout] test motion_trail::tests::test_trail_color_at_out_of_range ... ok
[INFO] [stdout] test motion_trail::tests::test_trail_enabled ... ok
[INFO] [stdout] test motion_trail::tests::test_trail_length ... ok
[INFO] [stdout] test motion_trail::tests::test_trail_segments ... ok
[INFO] [stdout] test motion_trail::tests::test_trail_segments_single_point ... ok
[INFO] [stdout] test motion_trail::tests::test_clear_trail ... ok
[INFO] [stdout] test motion_trail::tests::test_new_motion_trail ... ok
[INFO] [stdout] test motion_trail::tests::test_trail_width_at ... ok
[INFO] [stdout] test motion_trail::tests::test_trail_aabb ... ok
[INFO] [stdout] test motion_trail::tests::test_update_trail_keeps_recent ... ok
[INFO] [stdout] test motion_trail::tests::test_trail_length_empty ... ok
[INFO] [stdout] test motion_trail::tests::test_update_trail_removes_old ... ok
[INFO] [stdout] test motion_trail::tests::test_trail_color_at_fades ... ok
[INFO] [stdout] test motion_vector::tests::average_magnitude_uniform ... ok
[INFO] [stdout] test motion_vector::tests::magnitude_formula ... ok
[INFO] [stdout] test motion_vector::tests::new_all_zero ... ok
[INFO] [stdout] test motion_vector::tests::json_has_width ... ok
[INFO] [stdout] test motion_vector::tests::clear_zeroes ... ok
[INFO] [stdout] test motion_vector::tests::out_of_bounds_set_ignored ... ok
[INFO] [stdout] test motion_vector::tests::scale_doubles ... ok
[INFO] [stdout] test motion_vector::tests::set_and_get ... ok
[INFO] [stdout] test motion_vector_v2::tests::buffer_set_get ... ok
[INFO] [stdout] test motion_vector_v2::tests::buffer_clear_zeros ... ok
[INFO] [stdout] test motion_vector_v2::tests::dilate_max_no_shrink ... ok
[INFO] [stdout] test motion_vector_v2::tests::buffer_out_of_bounds_get_default ... ok
[INFO] [stdout] test motion_vector::tests::pixel_count ... ok
[INFO] [stdout] test motion_vector_v2::tests::magnitude_pythagoras ... ok
[INFO] [stdout] test motion_vector_v2::tests::max_magnitude_zero_on_empty ... ok
[INFO] [stdout] test motion_vector_v2::tests::motion_vec2_default_zero ... ok
[INFO] [stdout] test motion_vector_v2::tests::ndc_to_motion_vec_correct ... ok
[INFO] [stdout] test motion_vector_v2::tests::scale_doubles ... ok
[INFO] [stdout] test mpm_grid_view::tests::test_clone ... ok
[INFO] [stdout] test mpm_grid_view::tests::test_enable ... ok
[INFO] [stdout] test mpm_grid_view::tests::test_mass_toggle ... ok
[INFO] [stdout] test mpm_grid_view::tests::test_json_keys ... ok
[INFO] [stdout] test mpm_grid_view::tests::test_momentum_toggle ... ok
[INFO] [stdout] test mpm_grid_view::tests::test_mass_threshold_set ... ok
[INFO] [stdout] test motion_vector::tests::out_of_bounds_get_none ... ok
[INFO] [stdout] test mpm_grid_view::tests::test_node_size_set ... ok
[INFO] [stdout] test mpm_grid_view::tests::test_defaults ... ok
[INFO] [stdout] test mpm_grid_view::tests::test_node_size_clamp_low ... ok
[INFO] [stdout] test mri_slice_view::tests::test_get_pixel_oob ... ok
[INFO] [stdout] test mri_slice_view::tests::test_mean_value ... ok
[INFO] [stdout] test mri_slice_view::tests::test_mean_value_zero ... ok
[INFO] [stdout] test mri_slice_view::tests::test_window_display_min ... ok
[INFO] [stdout] test narrow_phase_view::tests::test_clone ... ok
[INFO] [stdout] test narrow_phase_view::tests::test_depth_display_length ... ok
[INFO] [stdout] test narrow_phase_view::tests::test_depth_display_zero ... ok
[INFO] [stdout] test narrow_phase_view::tests::test_enable ... ok
[INFO] [stdout] test narrow_phase_view::tests::test_json_keys ... ok
[INFO] [stdout] test narrow_phase_view::tests::test_show_depth_toggle ... ok
[INFO] [stdout] test narrow_phase_view::tests::test_show_witnesses_toggle ... ok
[INFO] [stdout] test mri_slice_view::tests::test_new_slice ... ok
[INFO] [stdout] test nerf_view::tests::test_new_config ... ok
[INFO] [stdout] test mri_slice_view::tests::test_set_get_pixel ... ok
[INFO] [stdout] test mri_slice_view::tests::test_window_display_max ... ok
[INFO] [stdout] test nerf_view::tests::test_is_valid ... ok
[INFO] [stdout] test narrow_phase_view::tests::test_defaults ... ok
[INFO] [stdout] test narrow_phase_view::tests::test_depth_scale_clamp ... ok
[INFO] [stdout] test nerf_view::tests::test_memory_mb_positive ... ok
[INFO] [stdout] test nerf_view::tests::test_ray_count ... ok
[INFO] [stdout] test nerf_view::tests::test_sample_count ... ok
[INFO] [stdout] test neural_render_stub::tests::test_latent_size ... ok
[INFO] [stdout] test neural_render_stub::tests::test_memory_mb_positive ... ok
[INFO] [stdout] test neural_render_stub::tests::test_new_config ... ok
[INFO] [stdout] test ngon_highlight_view::tests::test_color_clamp ... ok
[INFO] [stdout] test neural_render_stub::tests::test_param_count_positive ... ok
[INFO] [stdout] test neural_render_stub::tests::test_is_valid ... ok
[INFO] [stdout] test ngon_highlight_view::tests::test_defaults ... ok
[INFO] [stdout] test ngon_highlight_view::tests::test_enable ... ok
[INFO] [stdout] test ngon_highlight_view::tests::test_is_ngon_4_not ... ok
[INFO] [stdout] test ngon_highlight_view::tests::test_is_ngon_5 ... ok
[INFO] [stdout] test ngon_highlight_view::tests::test_to_json ... ok
[INFO] [stdout] test ngon_view::tests::classify_degenerate ... ok
[INFO] [stdout] test ngon_view::tests::classify_quad ... ok
[INFO] [stdout] test ngon_view::tests::classify_ngon ... ok
[INFO] [stdout] test ngon_highlight_view::tests::test_opacity_clamp ... ok
[INFO] [stdout] test ngon_highlight_view::tests::test_set_opacity ... ok
[INFO] [stdout] test ngon_view::tests::count_ngons ... ok
[INFO] [stdout] test ngon_view::tests::default_disabled ... ok
[INFO] [stdout] test ngon_view::tests::ngon_color_distinct ... ok
[INFO] [stdout] test ngon_highlight_view::tests::test_set_min_verts_min_3 ... ok
[INFO] [stdout] test ngon_view::tests::classify_tri ... ok
[INFO] [stdout] test ngon_view::tests::enable_disable ... ok
[INFO] [stdout] test night_vision_view::tests::test_apply_pixel_green ... ok
[INFO] [stdout] test ngon_view::tests::face_stats ... ok
[INFO] [stdout] test ngon_view::tests::to_json_has_enabled ... ok
[INFO] [stdout] test night_vision_view::tests::test_apply_pixel_white_not_green ... ok
[INFO] [stdout] test night_vision_view::tests::test_default_generation_gen2 ... ok
[INFO] [stdout] test night_vision_view::tests::test_enabled_default ... ok
[INFO] [stdout] test night_vision_view::tests::test_gain_clamped_minimum ... ok
[INFO] [stdout] test night_vision_view::tests::test_set_enabled ... ok
[INFO] [stdout] test night_vision_view::tests::test_set_gain ... ok
[INFO] [stdout] test night_vision_view::tests::test_set_generation ... ok
[INFO] [stdout] test nla_track_view::tests::test_add_strip ... ok
[INFO] [stdout] test nla_track_view::tests::test_set_enabled ... ok
[INFO] [stdout] test nla_track_view::tests::test_set_track_height ... ok
[INFO] [stdout] test night_vision_view::tests::test_phosphor_green_by_default ... ok
[INFO] [stdout] test nla_track_view::tests::test_to_json_has_strip_count ... ok
[INFO] [stdout] test night_vision_view::tests::test_to_json_contains_generation ... ok
[INFO] [stdout] test nla_track_view::tests::test_show_influence ... ok
[INFO] [stdout] test nla_track_view::tests::test_clear ... ok
[INFO] [stdout] test nla_track_view::tests::test_enabled_default ... ok
[INFO] [stdout] test noise_overlay::tests::default_disabled ... ok
[INFO] [stdout] test nla_track_view::tests::test_initial_empty ... ok
[INFO] [stdout] test nla_track_view::tests::test_track_height_min ... ok
[INFO] [stdout] test noise_overlay::tests::grain_sample_in_range ... ok
[INFO] [stdout] test noise_overlay::tests::grain_sample_varies ... ok
[INFO] [stdout] test noise_overlay::tests::perlin_approx_in_range ... ok
[INFO] [stdout] test noise_overlay::tests::set_pattern ... ok
[INFO] [stdout] test noise_overlay::tests::to_json_has_pattern ... ok
[INFO] [stdout] test non_manifold_view::tests::boundary_edge_one_face ... ok
[INFO] [stdout] test non_manifold_view::tests::count_non_manifold ... ok
[INFO] [stdout] test non_manifold_view::tests::enable_disable ... ok
[INFO] [stdout] test non_manifold_view::tests::default_disabled ... ok
[INFO] [stdout] test non_manifold_view::tests::manifold_edge_two_faces ... ok
[INFO] [stdout] test non_manifold_view::tests::count_boundary ... ok
[INFO] [stdout] test non_manifold_view::tests::to_json_has_point_size ... ok
[INFO] [stdout] test non_manifold_view::tests::topology_stats ... ok
[INFO] [stdout] test noise_overlay::tests::enable_disable ... ok
[INFO] [stdout] test noise_overlay::tests::set_intensity_clamps ... ok
[INFO] [stdout] test non_manifold_view::tests::non_manifold_edge_three_faces ... ok
[INFO] [stdout] test noise_overlay::tests::set_scale_clamps_low ... ok
[INFO] [stdout] test non_manifold_view::tests::not_boundary_two_faces ... ok
[INFO] [stdout] test normal_channel_view::tests::test_active_channels_all_on ... ok
[INFO] [stdout] test normal_channel_view::tests::test_clone ... ok
[INFO] [stdout] test normal_channel_view::tests::test_enable ... ok
[INFO] [stdout] test normal_channel_view::tests::test_new_defaults ... ok
[INFO] [stdout] test normal_channel_view::tests::test_reconstruct_z_default ... ok
[INFO] [stdout] test normal_channel_view::tests::test_to_json_has_channel_mask ... ok
[INFO] [stdout] test normal_channel_view::tests::test_to_json_has_reconstruct_z ... ok
[INFO] [stdout] test normal_channel_view::tests::test_set_mask_partial ... ok
[INFO] [stdout] test object_id_pass::tests::test_color_to_id ... ok
[INFO] [stdout] test object_id_pass::tests::test_id_to_color_roundtrip ... ok
[INFO] [stdout] test object_id_pass::tests::test_lookup_by_name ... ok
[INFO] [stdout] test normal_channel_view::tests::test_set_mask_all_false ... ok
[INFO] [stdout] test object_id_pass::tests::test_lookup_object ... ok
[INFO] [stdout] test object_id_pass::tests::test_new_object_id_pass ... ok
[INFO] [stdout] test object_id_pass::tests::test_lookup_missing ... ok
[INFO] [stdout] test object_id_pass::tests::test_object_id_pass_to_json ... ok
[INFO] [stdout] test object_id_pass::tests::test_register_object ... ok
[INFO] [stdout] test object_id_view::tests::test_enable ... ok
[INFO] [stdout] test object_id_pass::tests::test_remove_object ... ok
[INFO] [stdout] test object_id_pass::tests::test_set_visible ... ok
[INFO] [stdout] test object_id_view::tests::test_color_wraps ... ok
[INFO] [stdout] test object_id_view::tests::test_color_different_ids ... ok
[INFO] [stdout] test object_id_view::tests::test_defaults ... ok
[INFO] [stdout] test object_id_view::tests::test_opacity_clamp ... ok
[INFO] [stdout] test object_id_view::tests::test_opacity_set ... ok
[INFO] [stdout] test object_id_view::tests::test_color_valid_range ... ok
[INFO] [stdout] test object_id_view::tests::test_palette_min ... ok
[INFO] [stdout] test object_id_view::tests::test_to_json ... ok
[INFO] [stdout] test object_mask::tests::camera_visible_filters ... ok
[INFO] [stdout] test object_mask::tests::is_on_layer ... ok
[INFO] [stdout] test object_mask::tests::is_visible_hidden ... ok
[INFO] [stdout] test object_mask::tests::new_registry_empty ... ok
[INFO] [stdout] test object_mask::tests::register_object ... ok
[INFO] [stdout] test object_mask::tests::set_mask ... ok
[INFO] [stdout] test object_mask::tests::add_remove_layer ... ok
[INFO] [stdout] test object_mask::tests::json_contains_object_count ... ok
[INFO] [stdout] test object_mask::tests::remove_object ... ok
[INFO] [stdout] test object_mask::tests::visible_count ... ok
[INFO] [stdout] test object_motion_path_view::tests::test_enable ... ok
[INFO] [stdout] test object_motion_path_view::tests::test_frame_count ... ok
[INFO] [stdout] test object_motion_path_view::tests::test_line_width_clamp ... ok
[INFO] [stdout] test object_motion_path_view::tests::test_new ... ok
[INFO] [stdout] test object_motion_path_view::tests::test_range_end_min ... ok
[INFO] [stdout] test object_motion_path_view::tests::test_set_range ... ok
[INFO] [stdout] test occlusion_cull::tests::clear_empty ... ok
[INFO] [stdout] test occlusion_cull::tests::depth_cull ... ok
[INFO] [stdout] test occlusion_cull::tests::json_has_visible ... ok
[INFO] [stdout] test object_motion_path_view::tests::test_frame_count_inverted ... ok
[INFO] [stdout] test object_motion_path_view::tests::test_show_frames ... ok
[INFO] [stdout] test occlusion_cull::tests::new_empty ... ok
[INFO] [stdout] test occlusion_cull::tests::default_unknown ... ok
[INFO] [stdout] test occlusion_cull::tests::register ... ok
[INFO] [stdout] test occlusion_cull::tests::mark_all_visible ... ok
[INFO] [stdout] test object_motion_path_view::tests::test_json_keys ... ok
[INFO] [stdout] test occlusion_cull::tests::set_occluded ... ok
[INFO] [stdout] test occlusion_cull::tests::set_visible ... ok
[INFO] [stdout] test occlusion_cull_view::tests::test_defaults ... ok
[INFO] [stdout] test occlusion_cull_view::tests::test_enable ... ok
[INFO] [stdout] test occlusion_cull_view::tests::test_highlight_toggle ... ok
[INFO] [stdout] test occlusion_cull_view::tests::test_json_keys ... ok
[INFO] [stdout] test occlusion_cull_view::tests::test_occluded_ratio_set ... ok
[INFO] [stdout] test occlusion_cull_view::tests::test_query_latency_clamp ... ok
[INFO] [stdout] test occlusion_map::tests::apply_intensity_disabled ... ok
[INFO] [stdout] test occlusion_cull::tests::two_objects_depth_cull_boundary ... ok
[INFO] [stdout] test occlusion_cull_view::tests::test_clone ... ok
[INFO] [stdout] test occlusion_cull_view::tests::test_occluded_ratio_clamp ... ok
[INFO] [stdout] test occlusion_map::tests::average_computed ... ok
[INFO] [stdout] test occlusion_cull_view::tests::test_query_latency_set ... ok
[INFO] [stdout] test occlusion_cull_view::tests::test_show_proxies ... ok
[INFO] [stdout] test occlusion_map::tests::clear_resets ... ok
[INFO] [stdout] test occlusion_map::tests::get_out_of_bounds_returns_one ... ok
[INFO] [stdout] test occlusion_map::tests::new_buffer_all_ones ... ok
[INFO] [stdout] test occlusion_map::tests::set_and_get_pixel ... ok
[INFO] [stdout] test occlusion_map::tests::to_json_fields ... ok
[INFO] [stdout] test occlusion_probe::tests::add_probe ... ok
[INFO] [stdout] test occlusion_probe::tests::nearest_probe ... ok
[INFO] [stdout] test occlusion_map::tests::default_config_enabled ... ok
[INFO] [stdout] test occlusion_probe::tests::set_enabled ... ok
[INFO] [stdout] test occlusion_probe::tests::set_empty ... ok
[INFO] [stdout] test occlusion_map::tests::set_radius_clamps ... ok
[INFO] [stdout] test occlusion_probe::tests::new_probe_full_occlusion ... ok
[INFO] [stdout] test occlusion_map::tests::set_intensity_clamps ... ok
[INFO] [stdout] test occlusion_probe::tests::enabled_count ... ok
[INFO] [stdout] test occlusion_probe::tests::set_occlusion_clamps ... ok
[INFO] [stdout] test occlusion_probe::tests::set_occlusion_face ... ok
[INFO] [stdout] test occlusion_query_v2::tests::angle_nonneg ... ok
[INFO] [stdout] test occlusion_query_v2::tests::clear_empties ... ok
[INFO] [stdout] test occlusion_probe::tests::to_json_fields ... ok
[INFO] [stdout] test occlusion_query_v2::tests::average_samples_empty_zero ... ok
[INFO] [stdout] test occlusion_query_v2::tests::new_is_empty ... ok
[INFO] [stdout] test occlusion_query_v2::tests::pending_after_register ... ok
[INFO] [stdout] test occlusion_query_v2::tests::resolve_occluded ... ok
[INFO] [stdout] test occlusion_query_v2::tests::register_increments_count ... ok
[INFO] [stdout] test occlusion_query_v2::tests::resolve_visible ... ok
[INFO] [stdout] test occlusion_query_v2::tests::to_json_has_visible ... ok
[INFO] [stdout] test occlusion_test::tests::aabb_contains_center ... ok
[INFO] [stdout] test occlusion_query_v2::tests::visibility_ratio_correct ... ok
[INFO] [stdout] test occlusion_test::tests::aabb_excludes_outside ... ok
[INFO] [stdout] test occlusion_test::tests::soft_buffer_clear_resets ... ok
[INFO] [stdout] test occlusion_test::tests::aabb_intersects_overlapping ... ok
[INFO] [stdout] test occlusion_test::tests::soft_buffer_write_test ... ok
[INFO] [stdout] test occlusion_test::tests::aabb_inflate_grows ... ok
[INFO] [stdout] test occlusion_test::tests::surface_area_unit_cube ... ok
[INFO] [stdout] test occlusion_test::tests::aabb_not_intersects_separate ... ok
[INFO] [stdout] test occlusion_test::tests::query_starts_pending ... ok
[INFO] [stdout] test occlusion_volume::tests::add_and_count ... ok
[INFO] [stdout] test occlusion_volume::tests::contains_center ... ok
[INFO] [stdout] test occlusion_volume::tests::disabled_not_counted ... ok
[INFO] [stdout] test occlusion_volume::tests::empty_set ... ok
[INFO] [stdout] test occlusion_volume::tests::occlusion_at_center ... ok
[INFO] [stdout] test occlusion_volume::tests::occlusion_zero_outside ... ok
[INFO] [stdout] test occlusion_volume::tests::remove_by_id ... ok
[INFO] [stdout] test oil_paint_view::tests::test_brush_size_clamped ... ok
[INFO] [stdout] test oil_paint_view::tests::test_default_brush_size ... ok
[INFO] [stdout] test oil_paint_view::tests::test_default_brush_style ... ok
[INFO] [stdout] test occlusion_volume::tests::not_contains_outside ... ok
[INFO] [stdout] test occlusion_volume::tests::volume_unit_cube ... ok
[INFO] [stdout] test occlusion_volume::tests::json_has_count ... ok
[INFO] [stdout] test oil_paint_view::tests::test_brush_size_min_clamped ... ok
[INFO] [stdout] test oil_paint_view::tests::test_saturation_boost_clamped ... ok
[INFO] [stdout] test oil_paint_view::tests::test_set_brush_style ... ok
[INFO] [stdout] test oil_paint_view::tests::test_set_enabled ... ok
[INFO] [stdout] test oil_paint_view::tests::test_enabled_default ... ok
[INFO] [stdout] test ordered_dither_view::tests::test_bayer_range ... ok
[INFO] [stdout] test oil_paint_view::tests::test_smoothing_clamped ... ok
[INFO] [stdout] test ordered_dither_view::tests::test_set_matrix_size_valid ... ok
[INFO] [stdout] test oil_paint_view::tests::test_to_json_has_brush_style ... ok
[INFO] [stdout] test ordered_dither_view::tests::test_not_fine_grain_by_default ... ok
[INFO] [stdout] test ordered_dither_view::tests::test_new ... ok
[INFO] [stdout] test ordered_dither_view::tests::test_apply_clamped ... ok
[INFO] [stdout] test oscilloscope_view::tests::test_enabled_default ... ok
[INFO] [stdout] test oscilloscope_view::tests::test_initial_waveform_zero ... ok
[INFO] [stdout] test oscilloscope_view::tests::test_peak_after_push ... ok
[INFO] [stdout] test oscilloscope_view::tests::test_peak_initial_zero ... ok
[INFO] [stdout] test oscilloscope_view::tests::test_push_sample ... ok
[INFO] [stdout] test oscilloscope_view::tests::test_set_enabled ... ok
[INFO] [stdout] test oscilloscope_view::tests::test_to_json_contains_trigger ... ok
[INFO] [stdout] test oscilloscope_view::tests::test_set_time_div ... ok
[INFO] [stdout] test oscilloscope_view::tests::test_set_trigger ... ok
[INFO] [stdout] test outliner_filter_view::tests::active_count ... ok
[INFO] [stdout] test oscilloscope_view::tests::test_time_div_clamped ... ok
[INFO] [stdout] test outliner_filter_view::tests::add_entry ... ok
[INFO] [stdout] test outliner_filter_view::tests::default_all_mode ... ok
[INFO] [stdout] test outliner_filter_view::tests::empty_search_by_default ... ok
[INFO] [stdout] test outliner_filter_view::tests::set_search ... ok
[INFO] [stdout] test overdraw_view::tests::test_clone ... ok
[INFO] [stdout] test overdraw_view::tests::test_enable ... ok
[INFO] [stdout] test overdraw_view::tests::test_new_defaults ... ok
[INFO] [stdout] test outliner_filter_view::tests::enabled_default ... ok
[INFO] [stdout] test overdraw_view::tests::test_overdraw_color_clamped ... ok
[INFO] [stdout] test overdraw_view::tests::test_overdraw_color_max ... ok
[INFO] [stdout] test overdraw_view::tests::test_overdraw_color_zero ... ok
[INFO] [stdout] test overdraw_view::tests::test_set_max_clamp_zero ... ok
[INFO] [stdout] test overdraw_view::tests::test_set_max ... ok
[INFO] [stdout] test overdraw_view::tests::test_to_json ... ok
[INFO] [stdout] test overlay_renderer::tests::add_element_increases_total ... ok
[INFO] [stdout] test outliner_filter_view::tests::json_has_mode ... ok
[INFO] [stdout] test outliner_filter_view::tests::set_mode_selected ... ok
[INFO] [stdout] test overlay_renderer::tests::add_layer_increases_count ... ok
[INFO] [stdout] test overlay_renderer::tests::crosshair_all_elements_are_lines ... ok
[INFO] [stdout] test overlay_renderer::tests::crosshair_overlay_has_two_lines ... ok
[INFO] [stdout] test overlay_renderer::tests::default_hud_has_elements ... ok
[INFO] [stdout] test overlay_renderer::tests::fps_counter_element_contains_fps ... ok
[INFO] [stdout] test overlay_renderer::tests::default_hud_has_layers ... ok
[INFO] [stdout] test overlay_renderer::tests::render_to_json_excludes_hidden_layer ... ok
[INFO] [stdout] test overlay_renderer::tests::add_layer_returns_correct_index ... ok
[INFO] [stdout] test overlay_renderer::tests::clear_layer_removes_elements ... ok
[INFO] [stdout] test overlay_renderer::tests::render_to_json_non_empty ... ok
[INFO] [stdout] test overlay_renderer::tests::set_layer_visible_true ... ok
[INFO] [stdout] test overlay_renderer::tests::set_layer_visible_false_hides_layer ... ok
[INFO] [stdout] test overlay_renderer::tests::sorted_layers_order ... ok
[INFO] [stdout] test overlay_renderer::tests::text_element_is_text_variant ... ok
[INFO] [stdout] test overlay_renderer::tests::total_elements_spans_layers ... ok
[INFO] [stdout] test paint_over_view::tests::test_add_stroke ... ok
[INFO] [stdout] test paint_over_view::tests::test_clear ... ok
[INFO] [stdout] test paint_over_view::tests::test_initial_empty ... ok
[INFO] [stdout] test paint_over_view::tests::test_default_opacity ... ok
[INFO] [stdout] test paint_over_view::tests::test_enabled_default ... ok
[INFO] [stdout] test paint_over_view::tests::test_opacity_clamp ... ok
[INFO] [stdout] test parallax_debug_view::tests::test_parallax_depth_color ... ok
[INFO] [stdout] test paint_over_view::tests::test_multiple_strokes ... ok
[INFO] [stdout] test paint_over_view::tests::test_set_enabled ... ok
[INFO] [stdout] test parallax_debug_view::tests::test_parallax_offset_no_height ... ok
[INFO] [stdout] test paint_over_view::tests::test_to_json_has_stroke_count ... ok
[INFO] [stdout] test parallax_debug_view::tests::test_new_parallax_debug_view ... ok
[INFO] [stdout] test particle_render_view::tests::test_displayed_count_half ... ok
[INFO] [stdout] test particle_render_view::tests::test_displayed_count_zero_pct ... ok
[INFO] [stdout] test parallax_debug_view::tests::test_parallax_relief_steps ... ok
[INFO] [stdout] test parallax_debug_view::tests::test_parallax_iteration_color ... ok
[INFO] [stdout] test particle_render_view::tests::test_json_keys ... ok
[INFO] [stdout] test particle_render_view::tests::test_new ... ok
[INFO] [stdout] test particle_render_view::tests::test_set_mode_circles ... ok
[INFO] [stdout] test particle_render_view::tests::test_show_velocity ... ok
[INFO] [stdout] test particle_render_view::tests::test_velocity_scale ... ok
[INFO] [stdout] test particle_renderer::tests::test_average_particle_age ... ok
[INFO] [stdout] test particle_renderer::tests::test_average_particle_age_empty ... ok
[INFO] [stdout] test particle_renderer::tests::test_billboard_corners_produces_4_points ... ok
[INFO] [stdout] test particle_renderer::tests::test_is_particle_alive ... ok
[INFO] [stdout] test particle_render_view::tests::test_pct_clamp_high ... ok
[INFO] [stdout] test particle_renderer::tests::test_new_particle_system ... ok
[INFO] [stdout] test particle_render_view::tests::test_pct_clamp_low ... ok
[INFO] [stdout] test particle_renderer::tests::test_emit_particle ... ok
[INFO] [stdout] test particle_renderer::tests::test_clear_particles ... ok
[INFO] [stdout] test particle_renderer::tests::test_alive_particle_count ... ok
[INFO] [stdout] test particle_renderer::tests::test_particle_count ... ok
[INFO] [stdout] test particle_renderer::tests::test_particle_normalized_age ... ok
[INFO] [stdout] test particle_renderer::tests::test_particle_normalized_age_clamped ... ok
[INFO] [stdout] test particle_renderer::tests::test_update_particles_ages ... ok
[INFO] [stdout] test particle_renderer::tests::test_update_particles_removes_dead ... ok
[INFO] [stdout] test particle_system_view::tests::frame_end_at_least_start ... ok
[INFO] [stdout] test particle_system_view::tests::new_view_defaults_not_expanded ... ok
[INFO] [stdout] test particle_system_view::tests::new_view_has_name ... ok
[INFO] [stdout] test particle_system_view::tests::seed_defaults_zero ... ok
[INFO] [stdout] test particle_system_view::tests::particle_count_default ... ok
[INFO] [stdout] test particle_renderer::tests::test_particle_uv_frame ... ok
[INFO] [stdout] test particle_system_view::tests::toggle_visibility_hides ... ok
[INFO] [stdout] test particle_system_view::tests::set_frame_range_valid ... ok
[INFO] [stdout] test particle_renderer::tests::test_particle_uv_frame_second ... ok
[INFO] [stdout] test particle_system_view::tests::set_frame_range_clamps_end_below_start ... ok
[INFO] [stdout] test particle_system_view::tests::toggle_visibility_shows ... ok
[INFO] [stdout] test particle_system_view::tests::new_view_defaults_visible ... ok
[INFO] [stdout] test particle_trail::tests::test_add_point ... ok
[INFO] [stdout] test particle_trail::tests::test_clear ... ok
[INFO] [stdout] test particle_trail::tests::test_default_config ... ok
[INFO] [stdout] test particle_trail::tests::test_length_two_points ... ok
[INFO] [stdout] test particle_trail::tests::test_to_json ... ok
[INFO] [stdout] test particle_trail::tests::test_update_removes_expired ... ok
[INFO] [stdout] test particle_trail::tests::test_get_point ... ok
[INFO] [stdout] test particle_trail::tests::test_new_trail_empty ... ok
[INFO] [stdout] test particle_trail_view::tests::test_set_trail_length ... ok
[INFO] [stdout] test particle_trail_view::tests::test_set_trail_length_min ... ok
[INFO] [stdout] test particle_trail_view::tests::test_enable ... ok
[INFO] [stdout] test particle_trail_view::tests::test_to_json ... ok
[INFO] [stdout] test particle_trail::tests::test_max_points_limit ... ok
[INFO] [stdout] test particle_trail_view::tests::test_clone ... ok
[INFO] [stdout] test particle_trail_view::tests::test_new_defaults ... ok
[INFO] [stdout] test particle_trail_view::tests::test_toggle_fade ... ok
[INFO] [stdout] test particle_trail_view::tests::test_trail_alpha_no_fade ... ok
[INFO] [stdout] test particle_trail_view::tests::test_trail_alpha_head ... ok
[INFO] [stdout] test path_tracer_view::tests::test_default_spp ... ok
[INFO] [stdout] test path_tracer_view::tests::test_sample_density_color_clamps ... ok
[INFO] [stdout] test path_tracer_view::tests::test_set_enabled_false ... ok
[INFO] [stdout] test path_tracer_view::tests::test_sample_density_color_returns_three ... ok
[INFO] [stdout] test path_tracer_view::tests::test_to_json_contains_spp ... ok
[INFO] [stdout] test path_tracer_view::tests::test_noise_level_decreases_with_spp ... ok
[INFO] [stdout] test pencil_sketch_view::tests::test_default_style ... ok
[INFO] [stdout] test path_tracer_view::tests::test_set_spp ... ok
[INFO] [stdout] test path_tracer_view::tests::test_set_depth ... ok
[INFO] [stdout] test path_tracer_view::tests::test_set_exposure ... ok
[INFO] [stdout] test particle_trail_view::tests::test_trail_alpha_tail ... ok
[INFO] [stdout] test path_tracer_view::tests::test_set_spp_minimum ... ok
[INFO] [stdout] test pencil_sketch_view::tests::test_edge_threshold_clamped ... ok
[INFO] [stdout] test pencil_sketch_view::tests::test_enabled_default ... ok
[INFO] [stdout] test pencil_sketch_view::tests::test_line_weight_clamped_max ... ok
[INFO] [stdout] test pencil_sketch_view::tests::test_line_weight_clamped_min ... ok
[INFO] [stdout] test pencil_sketch_view::tests::test_paper_grain_clamped ... ok
[INFO] [stdout] test pencil_sketch_view::tests::test_set_enabled ... ok
[INFO] [stdout] test pencil_sketch_view::tests::test_set_hatching ... ok
[INFO] [stdout] test pencil_sketch_view::tests::test_set_style ... ok
[INFO] [stdout] test pencil_sketch_view::tests::test_to_json_has_style ... ok
[INFO] [stdout] test photogrammetry_view::tests::test_is_calibrated ... ok
[INFO] [stdout] test photogrammetry_view::tests::test_new_model ... ok
[INFO] [stdout] test photogrammetry_view::tests::test_not_calibrated ... ok
[INFO] [stdout] test photogrammetry_view::tests::test_point_density ... ok
[INFO] [stdout] test photogrammetry_view::tests::test_point_density_zero_volume ... ok
[INFO] [stdout] test photogrammetry_view::tests::test_quality_score ... ok
[INFO] [stdout] test photon_map_view::tests::test_new_photon_map_view ... ok
[INFO] [stdout] test photon_map_view::tests::test_photon_power_color ... ok
[INFO] [stdout] test physics_debug_view::tests::test_default_opacity ... ok
[INFO] [stdout] test physics_debug_view::tests::test_clone ... ok
[INFO] [stdout] test physics_debug_view::tests::test_defaults ... ok
[INFO] [stdout] test physics_debug_view::tests::test_forces_toggle ... ok
[INFO] [stdout] test physics_debug_view::tests::test_json_keys ... ok
[INFO] [stdout] test physics_debug_view::tests::test_opacity_clamp ... ok
[INFO] [stdout] test photon_map_view::tests::test_photon_density_color_zero ... ok
[INFO] [stdout] test photon_map_view::tests::test_photon_direction_color ... ok
[INFO] [stdout] test physics_debug_view::tests::test_disable_colliders ... ok
[INFO] [stdout] test photon_map_view::tests::test_photon_is_caustic_contributor ... ok
[INFO] [stdout] test physics_debug_view::tests::test_enable ... ok
[INFO] [stdout] test physics_debug_view::tests::test_opacity_set ... ok
[INFO] [stdout] test pie_menu_view::tests::add_slice ... ok
[INFO] [stdout] test pie_menu_view::tests::default_hidden ... ok
[INFO] [stdout] test pie_menu_view::tests::enabled_default ... ok
[INFO] [stdout] test pie_menu_view::tests::json_has_slice_count ... ok
[INFO] [stdout] test pie_menu_view::tests::show_sets_visible ... ok
[INFO] [stdout] test pie_menu_view::tests::slice_at_angle_finds_closest ... ok
[INFO] [stdout] test pipeline::tests::blend_state_factors ... ok
[INFO] [stdout] test pipeline::tests::default_mesh_pipeline_cull_back ... ok
[INFO] [stdout] test pipeline::tests::default_mesh_pipeline_depth_write_true ... ok
[INFO] [stdout] test pipeline::tests::standard_vertex_layout_has_three_attributes ... ok
[INFO] [stdout] test pipeline::tests::transparent_pipeline_depth_write_false ... ok
[INFO] [stdout] test pipeline::tests::validate_pipeline_invalid_stride ... ok
[INFO] [stdout] test pipeline::tests::pipeline_summary_non_empty ... ok
[INFO] [stdout] test pie_menu_view::tests::hide_clears_visible ... ok
[INFO] [stdout] test pipeline::tests::transparent_pipeline_has_blend_state ... ok
[INFO] [stdout] test pie_menu_view::tests::slice_position_correct_at_zero ... ok
[INFO] [stdout] test pipeline::tests::validate_pipeline_valid ... ok
[INFO] [stdout] test pipeline::tests::standard_vertex_layout_stride_is_32 ... ok
[INFO] [stdout] test pipeline::tests::vertex_format_size_float32x2 ... ok
[INFO] [stdout] test pipeline::tests::vertex_format_size_float32x3 ... ok
[INFO] [stdout] test pipeline::tests::vertex_format_size_float32x4 ... ok
[INFO] [stdout] test pipeline::tests::vertex_format_size_uint32 ... ok
[INFO] [stdout] test pipeline::tests::wireframe_pipeline_no_blend ... ok
[INFO] [stdout] test pipeline::tests::wireframe_pipeline_topology_line_list ... ok
[INFO] [stdout] test pipeline_state_view::tests::test_cache_hit_ratio_zero_total ... ok
[INFO] [stdout] test pipeline_state_view::tests::test_cache_hit_ratio_partial ... ok
[INFO] [stdout] test pipeline_state_view::tests::test_cache_hit_ratio_in_range ... ok
[INFO] [stdout] test pipeline_state_view::tests::test_clone ... ok
[INFO] [stdout] test pipeline_state_view::tests::test_show_state_diff_toggle ... ok
[INFO] [stdout] test pixel_art_view::tests::test_palette_colors_clamped ... ok
[INFO] [stdout] test pipeline_state_view::tests::test_update_stats ... ok
[INFO] [stdout] test pixel_art_view::tests::test_default_pixel_size ... ok
[INFO] [stdout] test pipeline_state_view::tests::test_defaults ... ok
[INFO] [stdout] test pipeline_state_view::tests::test_enable ... ok
[INFO] [stdout] test pipeline_state_view::tests::test_json_keys ... ok
[INFO] [stdout] test pixel_art_view::tests::test_set_outline ... ok
[INFO] [stdout] test pixel_art_view::tests::test_enabled_default ... ok
[INFO] [stdout] test pixel_art_view::tests::test_set_palette_colors ... ok
[INFO] [stdout] test pixel_art_view::tests::test_set_enabled ... ok
[INFO] [stdout] test pixel_grid::tests::test_grid_line_alpha_off_line ... ok
[INFO] [stdout] test pixel_grid::tests::test_grid_line_alpha_on_line ... ok
[INFO] [stdout] test pixel_art_view::tests::test_set_quantize_mode ... ok
[INFO] [stdout] test pixel_art_view::tests::test_set_pixel_size ... ok
[INFO] [stdout] test pixel_grid::tests::test_grid_line_count ... ok
[INFO] [stdout] test pixel_grid::tests::test_grid_line_count_no_zoom ... ok
[INFO] [stdout] test pixel_grid::tests::test_should_show_grid_above_threshold ... ok
[INFO] [stdout] test pixel_grid::tests::test_default_config ... ok
[INFO] [stdout] test pixel_art_view::tests::test_to_json_has_pixel_size ... ok
[INFO] [stdout] test pixel_art_view::tests::test_pixel_size_clamped ... ok
[INFO] [stdout] test pixel_grid::tests::test_should_show_grid_disabled ... ok
[INFO] [stdout] test pixel_grid::tests::test_pixel_grid_to_json ... ok
[INFO] [stdout] test pixel_grid::tests::test_snap_to_pixel ... ok
[INFO] [stdout] test pixel_sort_effect::tests::json_has_keys ... ok
[INFO] [stdout] test pixel_sort_effect::tests::should_not_sort_above ... ok
[INFO] [stdout] test pixel_sort_effect::tests::should_not_sort_below ... ok
[INFO] [stdout] test pixel_sort_effect::tests::should_sort_in_range ... ok
[INFO] [stdout] test pixel_sort_effect::tests::sort_range_positive ... ok
[INFO] [stdout] test pixel_sort_effect::tests::disabled_does_not_sort ... ok
[INFO] [stdout] test pixel_sort_effect::tests::intensity_clamps ... ok
[INFO] [stdout] test pixel_grid::tests::test_should_show_grid_below_threshold ... ok
[INFO] [stdout] test pixel_sort_effect::tests::sort_row_ascending ... ok
[INFO] [stdout] test pixel_sort_effect::tests::threshold_high_clamps ... ok
[INFO] [stdout] test pixel_sort_effect::tests::threshold_low_clamps ... ok
[INFO] [stdout] test polarization_view::tests::test_new_polarization_view ... ok
[INFO] [stdout] test polarization_view::tests::test_polar_degree_linear ... ok
[INFO] [stdout] test polarization_view::tests::test_polar_degree_unpolarised ... ok
[INFO] [stdout] test polarization_view::tests::test_polar_is_circularly_polarized ... ok
[INFO] [stdout] test polarization_view::tests::test_polar_linear_angle_zero ... ok
[INFO] [stdout] test polarized_3d_view::tests::test_convergence_clamped ... ok
[INFO] [stdout] test polarized_3d_view::tests::test_default_format ... ok
[INFO] [stdout] test polarized_3d_view::tests::test_default_trait ... ok
[INFO] [stdout] test polarized_3d_view::tests::test_enabled_default ... ok
[INFO] [stdout] test polarized_3d_view::tests::test_eye_separation_clamped ... ok
[INFO] [stdout] test polarized_3d_view::tests::test_set_enabled ... ok
[INFO] [stdout] test polarized_3d_view::tests::test_set_format ... ok
[INFO] [stdout] test polarized_3d_view::tests::test_swap_eyes ... ok
[INFO] [stdout] test polarized_3d_view::tests::test_swap_eyes_default_false ... ok
[INFO] [stdout] test polarized_3d_view::tests::test_to_json_has_format ... ok
[INFO] [stdout] test pole_view::tests::classify_high ... ok
[INFO] [stdout] test pole_view::tests::classify_low ... ok
[INFO] [stdout] test pole_view::tests::classify_normal ... ok
[INFO] [stdout] test pole_view::tests::count_poles ... ok
[INFO] [stdout] test pole_view::tests::default_disabled ... ok
[INFO] [stdout] test pole_view::tests::enable_disable ... ok
[INFO] [stdout] test pole_visualizer::tests::test_glyph_radius ... ok
[INFO] [stdout] test pole_view::tests::pole_color_high ... ok
[INFO] [stdout] test pole_view::tests::to_json_has_threshold ... ok
[INFO] [stdout] test pole_visualizer::tests::test_color_n_pole ... ok
[INFO] [stdout] test pole_visualizer::tests::test_color_regular_none ... ok
[INFO] [stdout] test pole_visualizer::tests::test_defaults ... ok
[INFO] [stdout] test pole_visualizer::tests::test_enable ... ok
[INFO] [stdout] test pole_visualizer::tests::test_to_json ... ok
[INFO] [stdout] test pose_library_view::tests::test_add_pose ... ok
[INFO] [stdout] test pole_visualizer::tests::test_glyph_radius_clamp_low ... ok
[INFO] [stdout] test pole_visualizer::tests::test_is_pole_3 ... ok
[INFO] [stdout] test pole_visualizer::tests::test_is_pole_4_not ... ok
[INFO] [stdout] test pose_library_view::tests::test_clear ... ok
[INFO] [stdout] test pose_library_view::tests::test_columns_min ... ok
[INFO] [stdout] test pose_library_view::tests::test_enabled_default ... ok
[INFO] [stdout] test pose_library_view::tests::test_set_sort_order ... ok
[INFO] [stdout] test pose_library_view::tests::test_thumbnail_size_min ... ok
[INFO] [stdout] test post_process::tests::apply_tone_map_non_negative_output ... ok
[INFO] [stdout] test pose_library_view::tests::test_set_enabled ... ok
[INFO] [stdout] test post_process::tests::cinematic_chromatic_aberration_nonzero ... ok
[INFO] [stdout] test pose_library_view::tests::test_initial_empty ... ok
[INFO] [stdout] test pose_library_view::tests::test_to_json_has_pose_count ... ok
[INFO] [stdout] test post_process::tests::all_presets_have_valid_gamma ... ok
[INFO] [stdout] test post_process::tests::apply_tone_map_aces_clamps ... ok
[INFO] [stdout] test post_process::tests::cinematic_vignette_positive ... ok
[INFO] [stdout] test post_process::tests::luminance_formula ... ok
[INFO] [stdout] test post_process::tests::default_bloom_threshold_is_one ... ok
[INFO] [stdout] test post_process::tests::high_quality_bloom_enabled ... ok
[INFO] [stdout] test post_process::tests::high_quality_fxaa_enabled ... ok
[INFO] [stdout] test post_process::tests::high_quality_ssao_enabled ... ok
[INFO] [stdout] test post_process::tests::luminance_black_is_zero ... ok
[INFO] [stdout] test pole_view::tests::point_size_clamps ... ok
[INFO] [stdout] test post_process::tests::performance_bloom_disabled ... ok
[INFO] [stdout] test post_process::tests::to_json_contains_tone_mapping ... ok
[INFO] [stdout] test post_process::tests::to_json_non_empty ... ok
[INFO] [stdout] test post_process::tests::luminance_green_heaviest ... ok
[INFO] [stdout] test post_process::tests::luminance_white_is_one ... ok
[INFO] [stdout] test post_process::tests::performance_ssao_disabled ... ok
[INFO] [stdout] test post_process::tests::to_json_contains_bloom_key ... ok
[INFO] [stdout] test post_process::tests::tone_map_aces_one_is_reasonable ... ok
[INFO] [stdout] test post_process::tests::tone_map_aces_stable_for_bright ... ok
[INFO] [stdout] test post_process::tests::tone_map_aces_zero_is_zero ... ok
[INFO] [stdout] test pressure_field_view::tests::test_clone ... ok
[INFO] [stdout] test pressure_field_view::tests::test_new_defaults ... ok
[INFO] [stdout] test pressure_field_view::tests::test_set_isobar_count ... ok
[INFO] [stdout] test post_process::tests::tone_map_reinhard_approaches_one ... ok
[INFO] [stdout] test post_process::tests::tone_map_reinhard_at_one ... ok
[INFO] [stdout] test pressure_field_view::tests::test_set_pressure_max ... ok
[INFO] [stdout] test pressure_field_view::tests::test_normalize_clamp ... ok
[INFO] [stdout] test pressure_field_view::tests::test_normalize_midpoint ... ok
[INFO] [stdout] test pressure_field_view::tests::test_set_enabled ... ok
[INFO] [stdout] test post_process::tests::tone_map_reinhard_monotone ... ok
[INFO] [stdout] test pressure_field_view::tests::test_set_pressure_min ... ok
[INFO] [stdout] test pressure_field_view::tests::test_set_show_isobars ... ok
[INFO] [stdout] test pressure_field_view::tests::test_to_json ... ok
[INFO] [stdout] test property_panel_view::tests::add_property ... ok
[INFO] [stdout] test property_panel_view::tests::default_empty ... ok
[INFO] [stdout] test property_panel_view::tests::enabled_default ... ok
[INFO] [stdout] test property_panel_view::tests::json_has_prop_count ... ok
[INFO] [stdout] test property_panel_view::tests::set_value_readonly_fails ... ok
[INFO] [stdout] test property_panel_view::tests::set_value_writable ... ok
[INFO] [stdout] test property_panel_view::tests::visible_count_filtered ... ok
[INFO] [stdout] test property_panel_view::tests::visible_count_unfiltered ... ok
[INFO] [stdout] test rack_focus_view::tests::test_default_near_focus ... ok
[INFO] [stdout] test rack_focus_view::tests::test_enabled_default ... ok
[INFO] [stdout] test rack_focus_view::tests::test_focus_at_far_when_progress_one ... ok
[INFO] [stdout] test rack_focus_view::tests::test_focus_at_near_when_progress_zero ... ok
[INFO] [stdout] test rack_focus_view::tests::test_focus_midpoint ... ok
[INFO] [stdout] test rack_focus_view::tests::test_set_blur_clamped ... ok
[INFO] [stdout] test rack_focus_view::tests::test_set_enabled ... ok
[INFO] [stdout] test rack_focus_view::tests::test_set_progress_clamped ... ok
[INFO] [stdout] test rack_focus_view::tests::test_set_speed ... ok
[INFO] [stdout] test rack_focus_view::tests::test_to_json_contains_near_focus ... ok
[INFO] [stdout] test radar_view::tests::test_add_blip ... ok
[INFO] [stdout] test radar_view::tests::test_enabled_default ... ok
[INFO] [stdout] test radar_view::tests::test_initial_sweep_zero ... ok
[INFO] [stdout] test radar_view::tests::test_range_default ... ok
[INFO] [stdout] test radar_view::tests::test_no_blips_initially ... ok
[INFO] [stdout] test radar_view::tests::test_set_enabled ... ok
[INFO] [stdout] test radar_view::tests::test_set_speed ... ok
[INFO] [stdout] test radar_view::tests::test_tick_advances_sweep ... ok
[INFO] [stdout] test radar_view::tests::test_tick_wraps_sweep ... ok
[INFO] [stdout] test radar_view::tests::test_to_json_contains_sweep_angle ... ok
[INFO] [stdout] test ragdoll_debug_view::tests::test_bodies_toggle ... ok
[INFO] [stdout] test ragdoll_debug_view::tests::test_body_color ... ok
[INFO] [stdout] test ragdoll_debug_view::tests::test_clone ... ok
[INFO] [stdout] test ragdoll_debug_view::tests::test_defaults ... ok
[INFO] [stdout] test ragdoll_debug_view::tests::test_enable ... ok
[INFO] [stdout] test ragdoll_debug_view::tests::test_joint_radius_clamp ... ok
[INFO] [stdout] test ragdoll_debug_view::tests::test_joint_radius_set ... ok
[INFO] [stdout] test ragdoll_debug_view::tests::test_joints_toggle ... ok
[INFO] [stdout] test ragdoll_debug_view::tests::test_json_keys ... ok
[INFO] [stdout] test rain_overlay::tests::alpha_nonzero ... ok
[INFO] [stdout] test rain_overlay::tests::avg_streak_diag_positive ... ok
[INFO] [stdout] test rain_overlay::tests::deterministic_generation ... ok
[INFO] [stdout] test rain_overlay::tests::different_seeds_differ ... ok
[INFO] [stdout] test rain_overlay::tests::generate_correct_count ... ok
[INFO] [stdout] test rain_overlay::tests::json_has_keys ... ok
[INFO] [stdout] test rain_overlay::tests::set_intensity_clamps ... ok
[INFO] [stdout] test rain_overlay::tests::set_opacity_clamps ... ok
[INFO] [stdout] test ray_march_debug::tests::test_ray_march_step_color_full ... ok
[INFO] [stdout] test rain_overlay::tests::wind_angle_deg_converts ... ok
[INFO] [stdout] test rain_overlay::tests::start_positions_in_range ... ok
[INFO] [stdout] test ray_march_debug::tests::test_new_ray_march_debug ... ok
[INFO] [stdout] test reconstruction_filter_view::tests::test_box_filter ... ok
[INFO] [stdout] test ray_march_debug::tests::test_ray_march_efficiency ... ok
[INFO] [stdout] test ray_march_debug::tests::test_ray_march_hit_color ... ok
[INFO] [stdout] test ray_march_debug::tests::test_ray_march_distance_color ... ok
[INFO] [stdout] test reference_plane_view::tests::test_default_axis ... ok
[INFO] [stdout] test reference_plane_view::tests::test_default_opacity ... ok
[INFO] [stdout] test reference_plane_view::tests::test_enabled_default ... ok
[INFO] [stdout] test reference_plane_view::tests::test_opacity_clamp ... ok
[INFO] [stdout] test reconstruction_filter_view::tests::test_gaussian_positive ... ok
[INFO] [stdout] test reconstruction_filter_view::tests::test_lanczos_center ... ok
[INFO] [stdout] test reconstruction_filter_view::tests::test_mitchell_center ... ok
[INFO] [stdout] test reconstruction_filter_view::tests::test_mitchell_zero_outside ... ok
[INFO] [stdout] test reference_plane_view::tests::test_set_axis ... ok
[INFO] [stdout] test reflection_ray_view::tests::test_miss_color_returns_three ... ok
[INFO] [stdout] test reference_plane_view::tests::test_set_enabled ... ok
[INFO] [stdout] test reference_plane_view::tests::test_set_flip ... ok
[INFO] [stdout] test reference_plane_view::tests::test_to_json_has_axis ... ok
[INFO] [stdout] test reference_plane_view::tests::test_set_offset ... ok
[INFO] [stdout] test reflection_ray_view::tests::test_default_show_miss_true ... ok
[INFO] [stdout] test reflection_ray_view::tests::test_reflect_normal_incidence ... ok
[INFO] [stdout] test reflection_ray_view::tests::test_default_max_bounces ... ok
[INFO] [stdout] test reflection_ray_view::tests::test_toggle_miss ... ok
[INFO] [stdout] test render_debug::tests::test_clear_resets_counts ... ok
[INFO] [stdout] test reflection_ray_view::tests::test_set_enabled_false ... ok
[INFO] [stdout] test render_debug::tests::test_draw_aabb_adds_12_lines ... ok
[INFO] [stdout] test reflection_ray_view::tests::test_set_intensity ... ok
[INFO] [stdout] test reflection_ray_view::tests::test_set_intensity_negative_clamps ... ok
[INFO] [stdout] test reflection_ray_view::tests::test_set_max_bounces ... ok
[INFO] [stdout] test reflection_ray_view::tests::test_to_json_contains_bounces ... ok
[INFO] [stdout] test render_debug::tests::test_draw_line_adds_one ... ok
[INFO] [stdout] test render_debug::tests::test_draw_point_adds_one ... ok
[INFO] [stdout] test render_debug::tests::test_draw_skeleton_adds_lines ... ok
[INFO] [stdout] test render_debug::tests::test_draw_wireframe_adds_triangle_count_times_3 ... ok
[INFO] [stdout] test render_debug::tests::test_new_debug_draw_empty ... ok
[INFO] [stdout] test render_debug::tests::test_set_enabled_false_no_lines ... ok
[INFO] [stdout] test render_feature::tests::test_clear ... ok
[INFO] [stdout] test render_debug::tests::test_draw_text_adds_one ... ok
[INFO] [stdout] test render_debug::tests::test_line_count_direct ... ok
[INFO] [stdout] test render_debug::tests::test_total_primitive_count ... ok
[INFO] [stdout] test render_debug::tests::test_draw_normal_vectors_adds_n_lines ... ok
[INFO] [stdout] test render_feature::tests::test_count ... ok
[INFO] [stdout] test render_debug::tests::test_draw_sphere_wireframe_segments ... ok
[INFO] [stdout] test render_feature::tests::test_enable ... ok
[INFO] [stdout] test render_feature::tests::test_disable ... ok
[INFO] [stdout] test render_feature::tests::test_new ... ok
[INFO] [stdout] test render_feature::tests::test_not_enabled ... ok
[INFO] [stdout] test render_graph::tests::add_node ... ok
[INFO] [stdout] test render_graph::tests::all_enabled_by_default ... ok
[INFO] [stdout] test render_feature::tests::test_enable_twice ... ok
[INFO] [stdout] test render_feature::tests::test_msaa_name ... ok
[INFO] [stdout] test render_feature::tests::test_name ... ok
[INFO] [stdout] test render_feature::tests::test_to_json ... ok
[INFO] [stdout] test render_graph::tests::add_dep ... ok
[INFO] [stdout] test render_graph::tests::clear ... ok
[INFO] [stdout] test render_graph::tests::json_has_nodes ... ok
[INFO] [stdout] test render_graph::tests::pass_name ... ok
[INFO] [stdout] test render_graph::tests::topo_sort_len ... ok
[INFO] [stdout] test render_layer::tests::clear_draw_count ... ok
[INFO] [stdout] test render_layer::tests::draw_count_starts_zero ... ok
[INFO] [stdout] test render_layer::tests::new_layer ... ok
[INFO] [stdout] test render_layer::tests::priority_accessor ... ok
[INFO] [stdout] test render_graph::tests::ids_increment ... ok
[INFO] [stdout] test render_layer::tests::set_visible_true ... ok
[INFO] [stdout] test render_graph::tests::new_empty ... ok
[INFO] [stdout] test render_layer::tests::name_accessor ... ok
[INFO] [stdout] test render_layer::tests::priority_ordering ... ok
[INFO] [stdout] test render_layer::tests::to_json ... ok
[INFO] [stdout] test render_layer::tests::visible_by_default ... ok
[INFO] [stdout] test render_loop::tests::viewer_frame_count_increments ... ok
[INFO] [stdout] test render_loop::tests::viewer_upload_mesh_reflected_in_stats ... ok
[INFO] [stdout] test render_pass::rpl_tests::test_add_pass ... ok
[INFO] [stdout] test render_pass::rpl_tests::test_get_pass ... ok
[INFO] [stdout] test render_layer::tests::toggle_visibility ... ok
[INFO] [stdout] test render_pass::rpl_tests::test_new_list_empty ... ok
[INFO] [stdout] test render_loop::tests::viewer_orbit_camera_delegates ... ok
[INFO] [stdout] test render_loop::tests::viewer_render_frame_returns_stats ... ok
[INFO] [stdout] test render_pass::rpl_tests::test_default_config_enabled ... ok
[INFO] [stdout] test render_pass::rpl_tests::test_enabled_count ... ok
[INFO] [stdout] test render_pass::rpl_tests::test_stage_name ... ok
[INFO] [stdout] test render_pass::rpl_tests::test_to_json ... ok
[INFO] [stdout] test render_pass::tests::format_bytes_r11g11b10 ... ok
[INFO] [stdout] test render_pass::tests::format_bytes_rgba16float ... ok
[INFO] [stdout] test render_pass::rpl_tests::test_remove_pass ... ok
[INFO] [stdout] test render_pass::tests::all_passes_valid_sample_count ... ok
[INFO] [stdout] test render_pass::tests::depth_bytes_depth16 ... ok
[INFO] [stdout] test render_pass::tests::format_bytes_rgba8 ... ok
[INFO] [stdout] test render_pass::tests::gbuffer_pass_has_depth ... ok
[INFO] [stdout] test render_pass::tests::post_process_pass_no_depth ... ok
[INFO] [stdout] test render_pass::tests::gbuffer_pass_three_color_attachments ... ok
[INFO] [stdout] test render_pass::tests::lighting_pass_hdr_format ... ok
[INFO] [stdout] test render_pass::tests::shadow_pass_is_depth_only ... ok
[INFO] [stdout] test render_pass::tests::total_count_shadow ... ok
[INFO] [stdout] test render_pass::tests::ui_pass_no_depth ... ok
[INFO] [stdout] test render_pass_v2::tests::list_clear ... ok
[INFO] [stdout] test render_pass::tests::summary_non_empty ... ok
[INFO] [stdout] test render_pass::tests::total_count_gbuffer ... ok
[INFO] [stdout] test render_pass_v2::tests::list_empty ... ok
[INFO] [stdout] test render_pass_v2::tests::list_add_pass ... ok
[INFO] [stdout] test render_pass_v2::tests::increment_draws ... ok
[INFO] [stdout] test render_pass_v2::tests::list_enabled_count ... ok
[INFO] [stdout] test render_pass_v2::tests::list_total_draws ... ok
[INFO] [stdout] test render_pass_v2::tests::new_pass_enabled ... ok
[INFO] [stdout] test render_pass_v2::tests::to_json_fields ... ok
[INFO] [stdout] test render_pass_view::tests::test_add_pass_increases_count ... ok
[INFO] [stdout] test render_pass_view::tests::test_new_render_pass_view_empty ... ok
[INFO] [stdout] test render_pass_v2::tests::pass_type_name ... ok
[INFO] [stdout] test render_pass_v2::tests::set_disabled ... ok
[INFO] [stdout] test render_pass_view::tests::test_select_out_of_bounds_ignored ... ok
[INFO] [stdout] test render_pass_view::tests::test_enabled_count_all_enabled ... ok
[INFO] [stdout] test render_pass_view::tests::test_enabled_count_one_disabled ... ok
[INFO] [stdout] test render_pass_view::tests::test_selected_name_none_initially ... ok
[INFO] [stdout] test render_pass_view::tests::test_selected_name_returns_correct ... ok
[INFO] [stdout] test render_pass_view::tests::test_select_pass ... ok
[INFO] [stdout] test render_pass_view::tests::test_to_json_contains_passes ... ok
[INFO] [stdout] test render_pass_view::tests::test_toggle_disables_pass ... ok
[INFO] [stdout] test render_queue::tests::test_get_out_of_bounds ... ok
[INFO] [stdout] test render_queue::tests::test_get_valid_index ... ok
[INFO] [stdout] test render_queue::tests::test_sort_by_layer ... ok
[INFO] [stdout] test render_queue::tests::test_drain_empties_queue ... ok
[INFO] [stdout] test render_queue::tests::test_new_queue_empty ... ok
[INFO] [stdout] test render_queue::tests::test_push_increases_len ... ok
[INFO] [stdout] test render_queue::tests::test_clear ... ok
[INFO] [stdout] test render_queue::tests::test_to_json_empty ... ok
[INFO] [stdout] test render_queue::tests::test_to_json_non_empty ... ok
[INFO] [stdout] test render_queue_view::tests::test_clone ... ok
[INFO] [stdout] test render_queue_view::tests::test_defaults ... ok
[INFO] [stdout] test render_queue_view::tests::test_enable ... ok
[INFO] [stdout] test render_queue_view::tests::test_json_keys ... ok
[INFO] [stdout] test render_graph::tests::set_disabled ... ok
[INFO] [stdout] test render_pass::tests::depth_bytes_depth32 ... ok
[INFO] [stdout] test render_queue_view::tests::test_max_priority_min ... ok
[INFO] [stdout] test render_region_view::tests::test_border_color_set ... ok
[INFO] [stdout] test render_region_view::tests::test_bounds_clamp ... ok
[INFO] [stdout] test render_queue_view::tests::test_normalize_priority_zero ... ok
[INFO] [stdout] test render_queue_view::tests::test_priority_colors_toggle ... ok
[INFO] [stdout] test render_queue_view::tests::test_queue_depth_set ... ok
[INFO] [stdout] test render_region_view::tests::test_clone ... ok
[INFO] [stdout] test render_region_view::tests::test_defaults ... ok
[INFO] [stdout] test render_region_view::tests::test_region_area_half ... ok
[INFO] [stdout] test render_region_view::tests::test_set_bounds ... ok
[INFO] [stdout] test render_region_view::tests::test_enabled_toggle ... ok
[INFO] [stdout] test render_region_view::tests::test_json ... ok
[INFO] [stdout] test render_region_view::tests::test_region_area_full ... ok
[INFO] [stdout] test render_scope::tests::add_and_count ... ok
[INFO] [stdout] test render_scope::tests::clear_empties ... ok
[INFO] [stdout] test render_scope::tests::not_over_budget_within ... ok
[INFO] [stdout] test render_scope::tests::empty_registry ... ok
[INFO] [stdout] test render_scope::tests::json_has_count ... ok
[INFO] [stdout] test render_scope::tests::record_time_updates ... ok
[INFO] [stdout] test render_scope::tests::disabled_not_counted ... ok
[INFO] [stdout] test render_scope::tests::over_budget_detected ... ok
[INFO] [stdout] test render_scope::tests::remove_by_id ... ok
[INFO] [stdout] test render_scope::tests::total_time_root_only ... ok
[INFO] [stdout] test render_stats_v3::tests::frame_timer_average_ms_correct ... ok
[INFO] [stdout] test render_stats_v3::tests::frame_timer_capacity_is_60 ... ok
[INFO] [stdout] test render_stats_v3::tests::frame_timer_fps_at_16ms ... ok
[INFO] [stdout] test render_stats_v3::tests::frame_timer_fps_zero_when_empty ... ok
[INFO] [stdout] test render_stats_v3::tests::frame_timer_p99_single_sample ... ok
[INFO] [stdout] test render_stats_v3::tests::frame_timer_p99_sorted_correctness ... ok
[INFO] [stdout] test render_stats_v3::tests::frame_timer_push_increments_count ... ok
[INFO] [stdout] test render_stats_v3::tests::frame_timer_ring_buffer_wraps_at_capacity ... ok
[INFO] [stdout] test render_stats_v3::tests::frame_timer_samples_ordered_oldest_first ... ok
[INFO] [stdout] test render_stats_v3::tests::render_stats_v3_draw_call_accumulates ... ok
[INFO] [stdout] test render_stats_v3::tests::render_stats_v3_fps_reflects_timer ... ok
[INFO] [stdout] test render_stats_v3::tests::render_stats_v3_frame_count_increments ... ok
[INFO] [stdout] test render_stats_v3::tests::render_stats_v3_gpu_memory_non_negative ... ok
[INFO] [stdout] test render_stats_v3::tests::render_stats_v3_lod_level_stored ... ok
[INFO] [stdout] test render_stats_v3::tests::render_stats_v3_morph_dirty_count_stored ... ok
[INFO] [stdout] test render_stats_v3::tests::render_stats_v3_p99_delegates_to_timer ... ok
[INFO] [stdout] test render_stats_v3::tests::render_stats_v3_reset_clears_history ... ok
[INFO] [stdout] test render_stats_v3::tests::render_stats_v3_to_json_contains_fps ... ok
[INFO] [stdout] test render_target_debug_view::tests::test_attachment_count_clamp ... ok
[INFO] [stdout] test render_target_debug_view::tests::test_attachment_count_min ... ok
[INFO] [stdout] test render_target_debug_view::tests::test_clone ... ok
[INFO] [stdout] test render_target_debug_view::tests::test_defaults ... ok
[INFO] [stdout] test render_target_debug_view::tests::test_json_keys ... ok
[INFO] [stdout] test render_queue_view::tests::test_normalize_priority_max ... ok
[INFO] [stdout] test render_queue_view::tests::test_normalize_priority_mid ... ok
[INFO] [stdout] test render_target_debug_view::tests::test_enable ... ok
[INFO] [stdout] test render_target_debug_view::tests::test_set_dimensions ... ok
[INFO] [stdout] test render_target_debug_view::tests::test_show_depth_toggle ... ok
[INFO] [stdout] test render_target_debug_view::tests::test_dimensions_min ... ok
[INFO] [stdout] test render_target_v2::tests::aspect_ratio_16_9 ... ok
[INFO] [stdout] test render_target_v2::tests::bytes_per_pixel_rgba16f ... ok
[INFO] [stdout] test render_target_v2::tests::fov_angle_nonneg ... ok
[INFO] [stdout] test render_target_debug_view::tests::test_total_pixels ... ok
[INFO] [stdout] test render_target_v2::tests::default_attachment_count_one ... ok
[INFO] [stdout] test render_target_v2::tests::set_size_applies ... ok
[INFO] [stdout] test render_target_v2::tests::default_valid ... ok
[INFO] [stdout] test render_target_v2::tests::memory_bytes_positive ... ok
[INFO] [stdout] test render_target_v2::tests::bytes_per_pixel_rgba8 ... ok
[INFO] [stdout] test render_target_v2::tests::to_json_has_width ... ok
[INFO] [stdout] test retarget_map_view::tests::test_add_mapping ... ok
[INFO] [stdout] test retarget_map_view::tests::test_clear ... ok
[INFO] [stdout] test retarget_map_view::tests::test_highlight_errors ... ok
[INFO] [stdout] test retarget_map_view::tests::test_enabled_default ... ok
[INFO] [stdout] test retarget_map_view::tests::test_initial_empty ... ok
[INFO] [stdout] test retarget_map_view::tests::test_show_unmapped ... ok
[INFO] [stdout] test rigid_body_props_view::tests::test_clone ... ok
[INFO] [stdout] test rigid_body_props_view::tests::test_json_keys ... ok
[INFO] [stdout] test render_target_v2::tests::set_size_clamps_zero ... ok
[INFO] [stdout] test retarget_map_view::tests::test_set_enabled ... ok
[INFO] [stdout] test rigid_body_props_view::tests::test_kinetic_energy_proxy ... ok
[INFO] [stdout] test rigid_body_props_view::tests::test_mass_clamp_low ... ok
[INFO] [stdout] test rigid_body_props_view::tests::test_new ... ok
[INFO] [stdout] test rigid_body_props_view::tests::test_restitution ... ok
[INFO] [stdout] test rigid_body_props_view::tests::test_type_default_active ... ok
[INFO] [stdout] test roughness_debug_view::tests::test_enable ... ok
[INFO] [stdout] test roughness_debug_view::tests::test_clone ... ok
[INFO] [stdout] test roughness_debug_view::tests::test_new_defaults ... ok
[INFO] [stdout] test roughness_debug_view::tests::test_roughness_color_range ... ok
[INFO] [stdout] test roughness_debug_view::tests::test_roughness_color_rough ... ok
[INFO] [stdout] test roughness_debug_view::tests::test_roughness_color_smooth ... ok
[INFO] [stdout] test roughness_debug_view::tests::test_set_range ... ok
[INFO] [stdout] test roughness_debug_view::tests::test_to_json ... ok
[INFO] [stdout] test roughness_debug_view::tests::test_to_json_enabled ... ok
[INFO] [stdout] test roughness_view::tests::test_apply_inverted ... ok
[INFO] [stdout] test roughness_view::tests::test_apply_grayscale ... ok
[INFO] [stdout] test roughness_view::tests::test_default ... ok
[INFO] [stdout] test roughness_view::tests::test_is_rough ... ok
[INFO] [stdout] test roughness_view::tests::test_highlight_above ... ok
[INFO] [stdout] test roughness_view::tests::test_specular_power_positive ... ok
[INFO] [stdout] test roughness_view::tests::test_roughness_to_smoothness ... ok
[INFO] [stdout] test roughness_view::tests::test_to_json ... ok
[INFO] [stdout] test ruler_tool::tests::add_and_count_points ... ok
[INFO] [stdout] test ruler_tool::tests::circumference_square ... ok
[INFO] [stdout] test roughness_view::tests::test_toggle_invert ... ok
[INFO] [stdout] test retarget_map_view::tests::test_to_json_has_mapping_count ... ok
[INFO] [stdout] test ruler_tool::tests::clear_ruler_empties ... ok
[INFO] [stdout] test ruler_tool::tests::circumference_too_few_points ... ok
[INFO] [stdout] test retarget_map_view::tests::test_unmapped_count ... ok
[INFO] [stdout] test ruler_tool::tests::compute_angle_zero_length ... ok
[INFO] [stdout] test rigid_body_props_view::tests::test_linear_damping ... ok
[INFO] [stdout] test rigid_body_props_view::tests::test_friction_clamp ... ok
[INFO] [stdout] test ruler_tool::tests::compute_angle_straight ... ok
[INFO] [stdout] test ruler_tool::tests::compute_angle_right_angle ... ok
[INFO] [stdout] test ruler_tool::tests::measurement_text_distance ... ok
[INFO] [stdout] test ruler_tool::tests::new_ruler_defaults ... ok
[INFO] [stdout] test ruler_tool::tests::remove_last_point_works ... ok
[INFO] [stdout] test ruler_tool::tests::set_scale_affects_distance ... ok
[INFO] [stdout] test ruler_tool::tests::total_length_open_line ... ok
[INFO] [stdout] test ruler_tool::tests::compute_distance_basic ... ok
[INFO] [stdout] test ruler_tool::tests::compute_distance_same_point ... ok
[INFO] [stdout] test ruler_tool::tests::measurement_text_angle ... ok
[INFO] [stdout] test safe_area_view::tests::test_action_area_max_margin ... ok
[INFO] [stdout] test ruler_tool::tests::ruler_to_json_contains_mode ... ok
[INFO] [stdout] test safe_area_view::tests::test_action_area_positive ... ok
[INFO] [stdout] test ruler_tool::tests::unit_label ... ok
[INFO] [stdout] test safe_area_view::tests::test_action_margin_clamp ... ok
[INFO] [stdout] test safe_area_view::tests::test_clone ... ok
[INFO] [stdout] test safe_area_view::tests::test_default_trait ... ok
[INFO] [stdout] test safe_area_view::tests::test_defaults ... ok
[INFO] [stdout] test safe_area_view::tests::test_show_toggle ... ok
[INFO] [stdout] test sand_sim_view::tests::test_new_sand_view ... ok
[INFO] [stdout] test sand_sim_view::tests::test_sand_is_flowing_false ... ok
[INFO] [stdout] test sand_sim_view::tests::test_sand_packing_fraction ... ok
[INFO] [stdout] test sand_sim_view::tests::test_sand_stress_color_zero ... ok
[INFO] [stdout] test scalar_field::tests::test_default ... ok
[INFO] [stdout] test scalar_field::tests::test_gradient_1d ... ok
[INFO] [stdout] test scalar_field::tests::test_interpolate ... ok
[INFO] [stdout] test scalar_field::tests::test_is_above_iso_true ... ok
[INFO] [stdout] test scalar_field::tests::test_isovalues_count ... ok
[INFO] [stdout] test scalar_field::tests::test_normalize_color ... ok
[INFO] [stdout] test scalar_field::tests::test_to_json ... ok
[INFO] [stdout] test scalar_field::tests::test_set_opacity_clamped ... ok
[INFO] [stdout] test safe_area_view::tests::test_title_margin ... ok
[INFO] [stdout] test safe_area_view::tests::test_json ... ok
[INFO] [stdout] test sand_sim_view::tests::test_sand_is_flowing_true ... ok
[INFO] [stdout] test scalar_field::tests::test_is_above_iso_false ... ok
[INFO] [stdout] test scale_ruler_3d::tests::test_default ... ok
[INFO] [stdout] test scale_ruler_3d::tests::test_generate_has_major ... ok
[INFO] [stdout] test scale_ruler_3d::tests::test_minor_shorter ... ok
[INFO] [stdout] test scale_ruler_3d::tests::test_set_length ... ok
[INFO] [stdout] test scale_ruler_3d::tests::test_set_length_min ... ok
[INFO] [stdout] test scale_ruler_3d::tests::test_to_json ... ok
[INFO] [stdout] test scan_line_effect::tests::darkening_in_range ... ok
[INFO] [stdout] test scan_line_effect::tests::disabled_zero_darkening ... ok
[INFO] [stdout] test scale_ruler_3d::tests::test_generate_major_has_label ... ok
[INFO] [stdout] test scale_ruler_3d::tests::test_generate_ticks_not_empty ... ok
[INFO] [stdout] test scale_ruler_3d::tests::test_major_tick_count ... ok
[INFO] [stdout] test scale_ruler_3d::tests::test_set_major_spacing ... ok
[INFO] [stdout] test scan_line_effect::tests::darkness_clamps ... ok
[INFO] [stdout] test scan_line_effect::tests::json_has_keys ... ok
[INFO] [stdout] test scan_line_effect::tests::line_count_positive ... ok
[INFO] [stdout] test scan_line_effect::tests::line_count_proportional ... ok
[INFO] [stdout] test scan_line_effect::tests::line_spacing_clamps_high ... ok
[INFO] [stdout] test scan_line_effect::tests::line_spacing_clamps_low ... ok
[INFO] [stdout] test scan_line_effect::tests::midpoint_darkening_in_range ... ok
[INFO] [stdout] test scan_line_effect::tests::opacity_clamps ... ok
[INFO] [stdout] test scene::tests::default_scene_contains_mesh_light_camera ... ok
[INFO] [stdout] test scene::tests::default_scene_has_three_nodes ... ok
[INFO] [stdout] test scene::tests::mat4_identity_is_identity ... ok
[INFO] [stdout] test scene::tests::mat4_multiply_identity_identity ... ok
[INFO] [stdout] test scene::tests::mat4_multiply_translation_accumulates ... ok
[INFO] [stdout] test scene::tests::scene_add_child_links_nodes ... ok
[INFO] [stdout] test scene::tests::scene_add_node_returns_index ... ok
[INFO] [stdout] test scene::tests::scene_find_node_found ... ok
[INFO] [stdout] test scene::tests::scene_find_node_not_found ... ok
[INFO] [stdout] test scene::tests::scene_lights_returns_correct_count ... ok
[INFO] [stdout] test scene::tests::scene_new_is_empty ... ok
[INFO] [stdout] test scene::tests::scene_nodes_with_mesh ... ok
[INFO] [stdout] test scene::tests::transform_identity_matrix_is_identity ... ok
[INFO] [stdout] test scene::tests::transform_with_scale ... ok
[INFO] [stdout] test scene::tests::transform_with_translation ... ok
[INFO] [stdout] test scene::tests::world_transform_child_accumulates_parent ... ok
[INFO] [stdout] test scene::tests::world_transform_root_equals_local ... ok
[INFO] [stdout] test scene_compositor::tests::test_add_layer ... ok
[INFO] [stdout] test scene_compositor::tests::test_blend_pixel_add ... ok
[INFO] [stdout] test scene_compositor::tests::test_blend_pixel_mask ... ok
[INFO] [stdout] test scene_compositor::tests::test_blend_pixel_multiply ... ok
[INFO] [stdout] test scene_compositor::tests::test_blend_pixel_over ... ok
[INFO] [stdout] test scene_compositor::tests::test_composite_all_single_layer ... ok
[INFO] [stdout] test scene_compositor::tests::test_composite_two_length ... ok
[INFO] [stdout] test scene_compositor::tests::test_compositor_to_json ... ok
[INFO] [stdout] test scene_compositor::tests::test_move_layer_to_top ... ok
[INFO] [stdout] test scene_compositor::tests::test_new_compositor ... ok
[INFO] [stdout] test screen_space_gi_view::tests::test_blend ... ok
[INFO] [stdout] test scene_compositor::tests::test_remove_layer_existing ... ok
[INFO] [stdout] test scene_compositor::tests::test_remove_layer_missing ... ok
[INFO] [stdout] test scene_compositor::tests::test_set_layer_opacity ... ok
[INFO] [stdout] test scene_compositor::tests::test_to_u8_pixels ... ok
[INFO] [stdout] test scene_compositor::tests::test_visible_layer_count ... ok
[INFO] [stdout] test scene_state::tests::viewer_config_custom ... ok
[INFO] [stdout] test scene_state::tests::viewer_config_defaults ... ok
[INFO] [stdout] test screen_space_gi_view::tests::test_irradiance_weight_at_origin ... ok
[INFO] [stdout] test screen_space_gi_view::tests::test_new ... ok
[INFO] [stdout] test screen_space_gi_view::tests::test_not_high_quality_by_default ... ok
[INFO] [stdout] test screen_space_gi_view::tests::test_set_sample_count_clamped ... ok
[INFO] [stdout] test screenshot::tests::barycentric_center_of_triangle ... ok
[INFO] [stdout] test screenshot::tests::barycentric_outside_triangle ... ok
[INFO] [stdout] test screenshot::tests::camera_pos_from_identity_view ... ok
[INFO] [stdout] test screenshot::tests::capture_empty_mesh_produces_background ... ok
[INFO] [stdout] test screenshot::tests::capture_single_triangle ... ok
[INFO] [stdout] test screenshot::tests::capture_zero_dimension_error ... ok
[INFO] [stdout] test screenshot::tests::image_buffer_pixel_at_out_of_bounds ... ok
[INFO] [stdout] test screenshot::tests::image_buffer_pixel_at_valid ... ok
[INFO] [stdout] test screenshot::tests::image_buffer_solid_color_size ... ok
[INFO] [stdout] test screenshot::tests::linear_to_srgb_byte_black ... ok
[INFO] [stdout] test screenshot::tests::linear_to_srgb_byte_mid ... ok
[INFO] [stdout] test screenshot::tests::linear_to_srgb_byte_white ... ok
[INFO] [stdout] test screenshot::tests::mat4_mul_vec4_identity ... ok
[INFO] [stdout] test screenshot::tests::screenshot_capture_new_dimensions ... ok
[INFO] [stdout] test screenshot::tests::mat4_multiply_identity ... ok
[INFO] [stdout] test screenshot::tests::to_ppm_header_format ... ok
[INFO] [stdout] test screenshot::tests::to_ppm_zero_dimension_error ... ok
[INFO] [stdout] test screenshot::tests::to_tga_header_size ... ok
[INFO] [stdout] test screenshot::tests::screenshot_capture_resize ... ok
[INFO] [stdout] test screenshot::tests::to_tga_bgra_order ... ok
[INFO] [stdout] test screenshot::tests::to_tga_zero_dimension_error ... ok
[INFO] [stdout] test sdf_debug_view::tests::test_new_sdf_debug_view ... ok
[INFO] [stdout] test sdf_debug_view::tests::test_sdf_color_negative ... ok
[INFO] [stdout] test sdf_debug_view::tests::test_sdf_color_positive ... ok
[INFO] [stdout] test screenshot::tests::to_tga_header_fields ... ok
[INFO] [stdout] test sdf_debug_view::tests::test_sdf_gradient_approx_sphere ... ok
[INFO] [stdout] test sdf_debug_view::tests::test_sdf_is_surface ... ok
[INFO] [stdout] test seam_view::tests::test_edge_color_seam ... ok
[INFO] [stdout] test seam_view::tests::test_enable_disable ... ok
[INFO] [stdout] test seam_view::tests::test_is_seam_edge_false ... ok
[INFO] [stdout] test seam_view::tests::test_set_line_width ... ok
[INFO] [stdout] test seam_view::tests::test_set_seam_color ... ok
[INFO] [stdout] test seam_view::tests::test_count_seams ... ok
[INFO] [stdout] test seam_view::tests::test_default_config ... ok
[INFO] [stdout] test selection::tests::clear_empties_buffer ... ok
[INFO] [stdout] test seam_view::tests::test_set_seam_color_clamp ... ok
[INFO] [stdout] test seam_view::tests::test_to_json ... ok
[INFO] [stdout] test seam_view::tests::test_edge_color_non_seam ... ok
[INFO] [stdout] test seam_view::tests::test_is_seam_edge_true ... ok
[INFO] [stdout] test selection::tests::count_is_correct ... ok
[INFO] [stdout] test selection::tests::invert_selection_toggles_all ... ok
[INFO] [stdout] test selection::tests::clear_hover ... ok
[INFO] [stdout] test selection::tests::deselect_found ... ok
[INFO] [stdout] test selection::tests::deselect_not_found ... ok
[INFO] [stdout] test selection::tests::empty_mesh_no_hit ... ok
[INFO] [stdout] test selection::tests::hover_kind_preserved ... ok
[INFO] [stdout] test selection::tests::raycast_hits_known_face ... ok
[INFO] [stdout] test selection::tests::raycast_nearest_face_returned ... ok
[INFO] [stdout] test selection::tests::raycast_no_hit_for_ray_away ... ok
[INFO] [stdout] test selection::tests::select_and_is_selected ... ok
[INFO] [stdout] test selection::tests::select_range_correct_size ... ok
[INFO] [stdout] test selection::tests::selected_indices_by_kind ... ok
[INFO] [stdout] test selection::tests::set_hover_and_get ... ok
[INFO] [stdout] test selection_mask_view::tests::test_clone ... ok
[INFO] [stdout] test selection_mask_view::tests::test_enable ... ok
[INFO] [stdout] test selection_mask_view::tests::test_new_defaults ... ok
[INFO] [stdout] test selection_mask_view::tests::test_overlay_color_selected ... ok
[INFO] [stdout] test selection_mask_view::tests::test_overlay_color_unselected ... ok
[INFO] [stdout] test selection_mask_view::tests::test_set_alpha ... ok
[INFO] [stdout] test selection_mask_view::tests::test_set_alpha_clamp ... ok
[INFO] [stdout] test selection_mask_view::tests::test_set_mode ... ok
[INFO] [stdout] test selection_mask_view::tests::test_to_json ... ok
[INFO] [stdout] test sequence_editor_view::tests::add_strip ... ok
[INFO] [stdout] test sequence_editor_view::tests::default_empty ... ok
[INFO] [stdout] test sequence_editor_view::tests::enabled_default ... ok
[INFO] [stdout] test sequence_editor_view::tests::fps_clamp ... ok
[INFO] [stdout] test sequence_editor_view::tests::json_has_fps ... ok
[INFO] [stdout] test sequence_editor_view::tests::set_frame ... ok
[INFO] [stdout] test sequence_editor_view::tests::strip_end_clamp ... ok
[INFO] [stdout] test sequence_editor_view::tests::total_frames ... ok
[INFO] [stdout] test shader_compile_view::tests::test_all_ready_false_with_errors ... ok
[INFO] [stdout] test shader_compile_view::tests::test_all_ready_true ... ok
[INFO] [stdout] test shader_compile_view::tests::test_clone ... ok
[INFO] [stdout] test shader_compile_view::tests::test_compiled_capped_at_total ... ok
[INFO] [stdout] test shader_compile_view::tests::test_defaults ... ok
[INFO] [stdout] test shader_compile_view::tests::test_enable ... ok
[INFO] [stdout] test shader_compile_view::tests::test_json_keys ... ok
[INFO] [stdout] test shader_compile_view::tests::test_progress_partial ... ok
[INFO] [stdout] test shader_graph_view::tests::clear_removes_all ... ok
[INFO] [stdout] test shader_graph_view::tests::enabled_default ... ok
[INFO] [stdout] test shader_graph_view::tests::json_has_edges ... ok
[INFO] [stdout] test shader_graph_view::tests::zoom_clamps ... ok
[INFO] [stdout] test shader_compile_view::tests::test_progress_zero_total ... ok
[INFO] [stdout] test shader_compile_view::tests::test_update_counts ... ok
[INFO] [stdout] test shader_graph_view::tests::default_empty ... ok
[INFO] [stdout] test shader_graph_view::tests::node_type_stored ... ok
[INFO] [stdout] test shader_graph_view::tests::add_node ... ok
[INFO] [stdout] test shader_graph_view::tests::connect_creates_edge ... ok
[INFO] [stdout] test shader_library::tests::compile_variant_prepends_defines ... ok
[INFO] [stdout] test shader_library::tests::default_pbr_shaders_contains_vertex_and_fragment ... ok
[INFO] [stdout] test shader_library::tests::get_shader_missing_returns_none ... ok
[INFO] [stdout] test shader_library::tests::list_shaders_sorted ... ok
[INFO] [stdout] test shader_library::tests::new_shader_library_is_empty ... ok
[INFO] [stdout] test shader_library::tests::register_and_get_shader ... ok
[INFO] [stdout] test shader_library::tests::remove_shader_returns_false_when_missing ... ok
[INFO] [stdout] test shader_library::tests::remove_shader_returns_true_when_exists ... ok
[INFO] [stdout] test shader_library::tests::resolve_includes_missing_leaves_comment ... ok
[INFO] [stdout] test shader_library::tests::resolve_includes_substitutes_cached ... ok
[INFO] [stdout] test shader_library::tests::shader_count_tracks_additions_and_removals ... ok
[INFO] [stdout] test shader_library::tests::shader_hash_different_sources_differ ... ok
[INFO] [stdout] test shader_library::tests::shader_hash_nonzero ... ok
[INFO] [stdout] test shader_library::tests::validate_shader_entry_empty_name ... ok
[INFO] [stdout] test shader_library::tests::validate_shader_entry_empty_source ... ok
[INFO] [stdout] test shader_library::tests::validate_shader_entry_valid ... ok
[INFO] [stdout] test shading_normal_view::tests::test_defaults ... ok
[INFO] [stdout] test shading_normal_view::tests::test_scale_min ... ok
[INFO] [stdout] test shading_normal_view::tests::test_enable ... ok
[INFO] [stdout] test shading_normal_view::tests::test_endpoint ... ok
[INFO] [stdout] test shading_normal_view::tests::test_facing_negative ... ok
[INFO] [stdout] test shading_normal_view::tests::test_facing_positive ... ok
[INFO] [stdout] test shading_normal_view::tests::test_set_scale ... ok
[INFO] [stdout] test shading_normal_view::tests::test_show_face_normals ... ok
[INFO] [stdout] test shading_normal_view::tests::test_to_json ... ok
[INFO] [stdout] test shadow_catcher_view::tests::test_add_duplicate ... ok
[INFO] [stdout] test shadow_catcher_view::tests::test_add_object ... ok
[INFO] [stdout] test shadow_catcher_view::tests::test_clone ... ok
[INFO] [stdout] test shadow_catcher_view::tests::test_default_intensity ... ok
[INFO] [stdout] test shadow_catcher_view::tests::test_enable ... ok
[INFO] [stdout] test shadow_catcher_view::tests::test_intensity_clamp ... ok
[INFO] [stdout] test shadow_catcher_view::tests::test_json_key ... ok
[INFO] [stdout] test shadow_catcher_view::tests::test_new ... ok
[INFO] [stdout] test shadow_catcher_view::tests::test_only_shadow_default ... ok
[INFO] [stdout] test shadow_debug::tests::test_set_active_cascade_valid ... ok
[INFO] [stdout] test shadow_debug::tests::test_active_cascade_color ... ok
[INFO] [stdout] test shadow_debug::tests::test_cascade_split_ordered ... ok
[INFO] [stdout] test shadow_debug::tests::test_cascade_split_zero_total ... ok
[INFO] [stdout] test shadow_debug::tests::test_default ... ok
[INFO] [stdout] test shadow_debug::tests::test_overlay_opacity_range ... ok
[INFO] [stdout] test shadow_debug::tests::test_set_active_cascade_clamp ... ok
[INFO] [stdout] test shadow_debug::tests::test_set_opacity_clamp ... ok
[INFO] [stdout] test shadow_ray_view::tests::test_set_enabled_false ... ok
[INFO] [stdout] test shadow_debug::tests::test_to_json ... ok
[INFO] [stdout] test shadow_debug::tests::test_toggle_splits ... ok
[INFO] [stdout] test shadow_ray_view::tests::test_coverage_factor_clamps ... ok
[INFO] [stdout] test shadow_ray_view::tests::test_default_enabled ... ok
[INFO] [stdout] test shadow_ray_view::tests::test_default_max_rays ... ok
[INFO] [stdout] test shadow_ray_view::tests::test_pixel_color_lit ... ok
[INFO] [stdout] test shadow_ray_view::tests::test_pixel_color_shadow ... ok
[INFO] [stdout] test sheen_view::tests::test_new_sheen_view ... ok
[INFO] [stdout] test sheen_view::tests::test_sheen_color_debug_passthrough ... ok
[INFO] [stdout] test sheen_view::tests::test_sheen_directional_albedo ... ok
[INFO] [stdout] test sheen_view::tests::test_sheen_roughness_color ... ok
[INFO] [stdout] test sheen_view::tests::test_sheen_is_visible ... ok
[INFO] [stdout] test shadow_ray_view::tests::test_set_max_rays ... ok
[INFO] [stdout] test shadow_ray_view::tests::test_set_max_rays_minimum ... ok
[INFO] [stdout] test shadow_ray_view::tests::test_set_shadow_tint ... ok
[INFO] [stdout] test shadow_ray_view::tests::test_to_json_contains_max_rays ... ok
[INFO] [stdout] test signed_distance_view::tests::test_band_width_clamp ... ok
[INFO] [stdout] test signed_distance_view::tests::test_defaults ... ok
[INFO] [stdout] test signed_distance_view::tests::test_enable ... ok
[INFO] [stdout] test signed_distance_view::tests::test_interior_color_set ... ok
[INFO] [stdout] test signed_distance_view::tests::test_zero_crossing_toggle ... ok
[INFO] [stdout] test skin_shader_view::tests::test_skin_layer_weights_sum ... ok
[INFO] [stdout] test skin_shader_view::tests::test_skin_specular_at_normal ... ok
[INFO] [stdout] test signed_distance_view::tests::test_clone ... ok
[INFO] [stdout] test signed_distance_view::tests::test_color_at_zero ... ok
[INFO] [stdout] test skin_shader_view::tests::test_new_skin_shader_view ... ok
[INFO] [stdout] test signed_distance_view::tests::test_exterior_color_clamp ... ok
[INFO] [stdout] test signed_distance_view::tests::test_json_keys ... ok
[INFO] [stdout] test skin_shader_view::tests::test_skin_diffuse_returns_albedo ... ok
[INFO] [stdout] test skin_shader_view::tests::test_skin_sss_radius_color_layers ... ok
[INFO] [stdout] test sky_gradient::tests::test_sky_is_day ... ok
[INFO] [stdout] test sky_gradient::tests::test_sky_sun_direction ... ok
[INFO] [stdout] test sky_gradient::tests::test_new_state ... ok
[INFO] [stdout] test sky_gradient::tests::test_default_config ... ok
[INFO] [stdout] test sky_gradient::tests::test_set_sun_direction_normalizes ... ok
[INFO] [stdout] test sky_gradient::tests::test_sky_to_json ... ok
[INFO] [stdout] test slate_view::tests::test_json ... ok
[INFO] [stdout] test slate_view::tests::test_clone ... ok
[INFO] [stdout] test slate_view::tests::test_defaults ... ok
[INFO] [stdout] test slate_view::tests::test_next_take ... ok
[INFO] [stdout] test slate_view::tests::test_opacity_clamp ... ok
[INFO] [stdout] test slate_view::tests::test_set_production ... ok
[INFO] [stdout] test slate_view::tests::test_set_scene ... ok
[INFO] [stdout] test slate_view::tests::test_set_take ... ok
[INFO] [stdout] test slate_view::tests::test_take_min_one ... ok
[INFO] [stdout] test sleeping_body_view::tests::test_awake_tint ... ok
[INFO] [stdout] test sleeping_body_view::tests::test_defaults ... ok
[INFO] [stdout] test sleeping_body_view::tests::test_clone ... ok
[INFO] [stdout] test sleeping_body_view::tests::test_json_keys ... ok
[INFO] [stdout] test sleeping_body_view::tests::test_show_timer_toggle ... ok
[INFO] [stdout] test sleeping_body_view::tests::test_tint_sleeping ... ok
[INFO] [stdout] test sleeping_body_view::tests::test_enable ... ok
[INFO] [stdout] test sleeping_body_view::tests::test_sleeping_tint ... ok
[INFO] [stdout] test sleeping_body_view::tests::test_tint_awake ... ok
[INFO] [stdout] test sky_gradient::tests::test_set_time_of_day_clamps ... ok
[INFO] [stdout] test sky_gradient::tests::test_sky_color_at_horizon ... ok
[INFO] [stdout] test sky_gradient::tests::test_sky_color_at_zenith ... ok
[INFO] [stdout] test smoke_debug_view::tests::test_clone ... ok
[INFO] [stdout] test smoke_debug_view::tests::test_color_scale_clamp_low ... ok
[INFO] [stdout] test smoke_debug_view::tests::test_defaults ... ok
[INFO] [stdout] test smoke_debug_view::tests::test_color_scale_set ... ok
[INFO] [stdout] test smoke_debug_view::tests::test_density_threshold_set ... ok
[INFO] [stdout] test smoke_debug_view::tests::test_slice_position_clamp ... ok
[INFO] [stdout] test smoke_sim_view::tests::test_new_smoke_view ... ok
[INFO] [stdout] test smoke_debug_view::tests::test_enable ... ok
[INFO] [stdout] test smoke_debug_view::tests::test_json_keys ... ok
[INFO] [stdout] test smoke_sim_view::tests::test_smoke_opacity_positive ... ok
[INFO] [stdout] test smoke_debug_view::tests::test_slice_axis_clamp ... ok
[INFO] [stdout] test smoke_sim_view::tests::test_smoke_density_color_full ... ok
[INFO] [stdout] test smoke_sim_view::tests::test_smoke_density_color_zero ... ok
[INFO] [stdout] test smoke_sim_view::tests::test_smoke_velocity_color_magnitude ... ok
[INFO] [stdout] test snow_overlay::tests::average_radius_in_range ... ok
[INFO] [stdout] test snow_overlay::tests::empty_average_radius_zero ... ok
[INFO] [stdout] test snow_overlay::tests::generate_correct_count ... ok
[INFO] [stdout] test snow_overlay::tests::deterministic ... ok
[INFO] [stdout] test snow_overlay::tests::json_has_keys ... ok
[INFO] [stdout] test snow_overlay::tests::opacity_clamps ... ok
[INFO] [stdout] test snow_overlay::tests::step_advances_y ... ok
[INFO] [stdout] test snow_render_view::tests::test_snow_ao_color_gray ... ok
[INFO] [stdout] test snow_render_view::tests::test_snow_is_fresh_false ... ok
[INFO] [stdout] test snow_render_view::tests::test_snow_is_fresh_true ... ok
[INFO] [stdout] test sonar_view::tests::test_initial_pulse_radius_zero ... ok
[INFO] [stdout] test snow_render_view::tests::test_snow_sss_color_surface ... ok
[INFO] [stdout] test sonar_view::tests::test_intensity_at_pulse_ring ... ok
[INFO] [stdout] test snow_render_view::tests::test_new_snow_render_view ... ok
[INFO] [stdout] test sonar_view::tests::test_ring_count_minimum_one ... ok
[INFO] [stdout] test snow_overlay::tests::positions_in_range ... ok
[INFO] [stdout] test snow_overlay::tests::radius_in_config_range ... ok
[INFO] [stdout] test sonar_view::tests::test_set_ring_count ... ok
[INFO] [stdout] test sonar_view::tests::test_set_enabled ... ok
[INFO] [stdout] test sonar_view::tests::test_set_speed ... ok
[INFO] [stdout] test sonar_view::tests::test_tick_wraps_around ... ok
[INFO] [stdout] test snow_overlay::tests::step_wraps_around ... ok
[INFO] [stdout] test spectral_render_view::tests::test_spectral_energy_at_positive ... ok
[INFO] [stdout] test sonar_view::tests::test_speed_clamped_zero ... ok
[INFO] [stdout] test spectral_render_view::tests::test_spectral_wavelength_to_rgb_visible ... ok
[INFO] [stdout] test spectrum_analyzer_view::tests::test_band_count ... ok
[INFO] [stdout] test spectral_render_view::tests::test_spectral_wavelength_to_rgb_invisible ... ok
[INFO] [stdout] test spectrum_analyzer_view::tests::test_default_log_scale ... ok
[INFO] [stdout] test sonar_view::tests::test_tick_advances_pulse ... ok
[INFO] [stdout] test spectrum_analyzer_view::tests::test_enabled_default ... ok
[INFO] [stdout] test sonar_view::tests::test_to_json_contains_pulse_radius ... ok
[INFO] [stdout] test spectrum_analyzer_view::tests::test_feed_updates_peak_hold ... ok
[INFO] [stdout] test spectrum_analyzer_view::tests::test_feed_sets_bands ... ok
[INFO] [stdout] test spectral_render_view::tests::test_new_spectral_render_view ... ok
[INFO] [stdout] test spectral_render_view::tests::test_spectral_is_visible ... ok
[INFO] [stdout] test spectrum_analyzer_view::tests::test_initial_bands_zero ... ok
[INFO] [stdout] test spectrum_analyzer_view::tests::test_set_enabled ... ok
[INFO] [stdout] test spectrum_analyzer_view::tests::test_set_freq_scale ... ok
[INFO] [stdout] test spectrum_analyzer_view::tests::test_tick_decay ... ok
[INFO] [stdout] test sph_particle_view::tests::test_clone ... ok
[INFO] [stdout] test sph_particle_view::tests::test_color_by_speed_off ... ok
[INFO] [stdout] test sph_particle_view::tests::test_defaults ... ok
[INFO] [stdout] test sph_particle_view::tests::test_enable ... ok
[INFO] [stdout] test spectrum_analyzer_view::tests::test_to_json_contains_band_count ... ok
[INFO] [stdout] test sph_particle_view::tests::test_radius_clamp_low ... ok
[INFO] [stdout] test sph_particle_view::tests::test_json_keys ... ok
[INFO] [stdout] test split_view::tests::test_default_config ... ok
[INFO] [stdout] test split_view::tests::test_layout_name ... ok
[INFO] [stdout] test sph_particle_view::tests::test_radius_set ... ok
[INFO] [stdout] test split_view::tests::test_new_split_view ... ok
[INFO] [stdout] test sph_particle_view::tests::test_max_speed_set ... ok
[INFO] [stdout] test split_view::tests::test_pane_at_position_out_of_bounds ... ok
[INFO] [stdout] test split_view::tests::test_pane_at_position_horizontal ... ok
[INFO] [stdout] test sph_particle_view::tests::test_normalize_speed_half ... ok
[INFO] [stdout] test split_view::tests::test_pane_at_position_single ... ok
[INFO] [stdout] test split_view::tests::test_pane_count_quad ... ok
[INFO] [stdout] test split_view::tests::test_pane_count_single ... ok
[INFO] [stdout] test split_view::tests::test_pane_rect_horizontal ... ok
[INFO] [stdout] test split_view::tests::test_pane_rect_single ... ok
[INFO] [stdout] test split_view::tests::test_resize_split ... ok
[INFO] [stdout] test split_view::tests::test_set_active_pane ... ok
[INFO] [stdout] test split_view::tests::test_set_active_pane_out_of_range ... ok
[INFO] [stdout] test split_view::tests::test_pane_count_horizontal ... ok
[INFO] [stdout] test split_view::tests::test_active_pane ... ok
[INFO] [stdout] test split_view::tests::test_split_view_to_json ... ok
[INFO] [stdout] test split_view::tests::test_toggle_maximize_pane ... ok
[INFO] [stdout] test state_machine_view::tests::test_add_state ... ok
[INFO] [stdout] test split_view::tests::test_resize_split_clamped ... ok
[INFO] [stdout] test split_view::tests::test_set_layout ... ok
[INFO] [stdout] test state_machine_view::tests::test_clear ... ok
[INFO] [stdout] test state_machine_view::tests::test_enabled_default ... ok
[INFO] [stdout] test state_machine_view::tests::test_set_enabled ... ok
[INFO] [stdout] test state_machine_view::tests::test_show_conditions ... ok
[INFO] [stdout] test state_machine_view::tests::test_zoom_min ... ok
[INFO] [stdout] test stats_overlay::tests::test_average_fps ... ok
[INFO] [stdout] test stats_overlay::tests::test_average_triangle_count_and_draw_calls ... ok
[INFO] [stdout] test state_machine_view::tests::test_add_transition ... ok
[INFO] [stdout] test stats_overlay::tests::test_average_fps_empty ... ok
[INFO] [stdout] test state_machine_view::tests::test_initial_empty ... ok
[INFO] [stdout] test state_machine_view::tests::test_to_json_has_state_count ... ok
[INFO] [stdout] test stats_overlay::tests::test_clear_history ... ok
[INFO] [stdout] test stats_overlay::tests::test_format_stats_text_non_empty ... ok
[INFO] [stdout] test stats_overlay::tests::test_fps_from_frame_time_zero ... ok
[INFO] [stdout] test stats_overlay::tests::test_fps_from_frame_time ... ok
[INFO] [stdout] test stats_overlay::tests::test_last_frame_none_when_empty ... ok
[INFO] [stdout] test stats_overlay::tests::test_last_frame_some ... ok
[INFO] [stdout] test stats_overlay::tests::test_max_fps ... ok
[INFO] [stdout] test stats_overlay::tests::test_max_history_enforced ... ok
[INFO] [stdout] test stats_overlay::tests::test_peak_frame_time ... ok
[INFO] [stdout] test stats_overlay::tests::test_push_frame_stats ... ok
[INFO] [stdout] test status_bar_view::tests::display_string_joined ... ok
[INFO] [stdout] test stats_overlay::tests::test_new_stats_overlay ... ok
[INFO] [stdout] test status_bar_view::tests::json_has_message ... ok
[INFO] [stdout] test stats_overlay::tests::test_min_fps ... ok
[INFO] [stdout] test status_bar_view::tests::default_empty_message ... ok
[INFO] [stdout] test status_bar_view::tests::set_message ... ok
[INFO] [stdout] test status_bar_view::tests::enabled_default ... ok
[INFO] [stdout] test status_bar_view::tests::show_memory_default ... ok
[INFO] [stdout] test status_bar_view::tests::update_segment ... ok
[INFO] [stdout] test stencil_buffer_view::tests::test_enable_disable ... ok
[INFO] [stdout] test status_bar_view::tests::add_segment ... ok
[INFO] [stdout] test stencil_buffer_view::tests::test_opacity_applied_to_color ... ok
[INFO] [stdout] test stencil_buffer_view::tests::test_set_opacity_clamp ... ok
[INFO] [stdout] test stencil_buffer_view::tests::test_palette_size ... ok
[INFO] [stdout] test stencil_buffer_view::tests::test_set_palette_entry ... ok
[INFO] [stdout] test stencil_buffer_view::tests::test_default ... ok
[INFO] [stdout] test stencil_buffer_view::tests::test_value_nonzero_different_from_bg ... ok
[INFO] [stdout] test stencil_buffer_view::tests::test_value_zero_is_background ... ok
[INFO] [stdout] test stencil_mask::tests::test_apply_increment ... ok
[INFO] [stdout] test stencil_mask::tests::test_default_stencil_mask ... ok
[INFO] [stdout] test stencil_mask::tests::test_apply_replace ... ok
[INFO] [stdout] test stencil_mask::tests::test_evaluate_equal ... ok
[INFO] [stdout] test stencil_mask::tests::test_stencil_mask_to_json ... ok
[INFO] [stdout] test stencil_mask::tests::test_stencil_test_equal ... ok
[INFO] [stdout] test stencil_mask::tests::test_stencil_write ... ok
[INFO] [stdout] test stencil_buffer_view::tests::test_to_json ... ok
[INFO] [stdout] test stencil_mask::tests::test_evaluate_never ... ok
[INFO] [stdout] test stencil_mask::tests::test_evaluate_not_equal ... ok
[INFO] [stdout] test stencil_buffer_view::tests::test_wrapping ... ok
[INFO] [stdout] test stencil_mask::tests::test_evaluate_always ... ok
[INFO] [stdout] test stipple_view::tests::test_default_density ... ok
[INFO] [stdout] test stipple_view::tests::test_default_strategy ... ok
[INFO] [stdout] test stipple_view::tests::test_dot_radius_clamped_min ... ok
[INFO] [stdout] test stipple_view::tests::test_density_clamped ... ok
[INFO] [stdout] test stipple_view::tests::test_dot_radius_clamped_max ... ok
[INFO] [stdout] test stipple_view::tests::test_set_enabled ... ok
[INFO] [stdout] test stipple_view::tests::test_jitter_clamped ... ok
[INFO] [stdout] test stipple_view::tests::test_enabled_default ... ok
[INFO] [stdout] test stipple_view::tests::test_set_strategy ... ok
[INFO] [stdout] test stipple_view::tests::test_to_json_has_strategy ... ok
[INFO] [stdout] test stochastic_transparency_view::tests::test_alpha_test_pass ... ok
[INFO] [stdout] test stochastic_transparency_view::tests::test_alpha_test_fail ... ok
[INFO] [stdout] test stochastic_transparency_view::tests::test_not_high_sample_by_default ... ok
[INFO] [stdout] test stochastic_transparency_view::tests::test_effective_alpha_range ... ok
[INFO] [stdout] test stochastic_transparency_view::tests::test_new ... ok
[INFO] [stdout] test streamline_view::tests::test_enable ... ok
[INFO] [stdout] test streamline_view::tests::test_max_steps_clamp ... ok
[INFO] [stdout] test streamline_view::tests::test_opacity_clamp ... ok
[INFO] [stdout] test streamline_view::tests::test_json_keys ... ok
[INFO] [stdout] test streamline_view::tests::test_clone ... ok
[INFO] [stdout] test stress_tensor_view::tests::test_clone ... ok
[INFO] [stdout] test streamline_view::tests::test_seed_count_clamp ... ok
[INFO] [stdout] test stress_tensor_view::tests::test_enable ... ok
[INFO] [stdout] test streamline_view::tests::test_step_size_set ... ok
[INFO] [stdout] test streamline_view::tests::test_defaults ... ok
[INFO] [stdout] test stress_tensor_view::tests::test_new_defaults ... ok
[INFO] [stdout] test streamline_view::tests::test_vertex_budget ... ok
[INFO] [stdout] test stress_tensor_view::tests::test_set_glyph_scale ... ok
[INFO] [stdout] test stress_tensor_view::tests::test_principal_color_compression ... ok
[INFO] [stdout] test stress_tensor_view::tests::test_principal_color_tension ... ok
[INFO] [stdout] test stress_tensor_view::tests::test_to_json ... ok
[INFO] [stdout] test stress_tensor_view::tests::test_toggle_compression ... ok
[INFO] [stdout] test stress_tensor_view::tests::test_toggle_tension ... ok
[INFO] [stdout] test stretch_map_view::tests::test_clone ... ok
[INFO] [stdout] test stretch_map_view::tests::test_set_thresholds ... ok
[INFO] [stdout] test stress_tensor_view::tests::test_set_glyph_scale_min ... ok
[INFO] [stdout] test stretch_map_view::tests::test_new_defaults ... ok
[INFO] [stdout] test stretch_map_view::tests::test_enable ... ok
[INFO] [stdout] test stretch_map_view::tests::test_stretch_color_ok ... ok
[INFO] [stdout] test stretch_map_view::tests::test_set_thresholds_clamp ... ok
[INFO] [stdout] test stretch_map_view::tests::test_stretch_color_error ... ok
[INFO] [stdout] test stretch_map_view::tests::test_stretch_color_warn ... ok
[INFO] [stdout] test stretch_view::tests::area_ratio_no_uv ... ok
[INFO] [stdout] test stretch_view::tests::area_ratio_unity ... ok
[INFO] [stdout] test stretch_view::tests::max_stretch_empty ... ok
[INFO] [stdout] test stretch_map_view::tests::test_to_json ... ok
[INFO] [stdout] test stretch_view::tests::color_stretch_at_high_ratio ... ok
[INFO] [stdout] test stretch_view::tests::color_ok_at_ratio_one ... ok
[INFO] [stdout] test stretch_view::tests::default_disabled ... ok
[INFO] [stdout] test stretch_view::tests::max_stretch_value ... ok
[INFO] [stdout] test stretch_view::tests::enable_disable ... ok
[INFO] [stdout] test subsurface_profile_view::tests::test_default_anisotropy ... ok
[INFO] [stdout] test stretch_view::tests::color_compress_at_low_ratio ... ok
[INFO] [stdout] test stretch_view::tests::to_json_has_metric ... ok
[INFO] [stdout] test subsurface_profile_view::tests::test_json_keys ... ok
[INFO] [stdout] test subsurface_profile_view::tests::test_ior_clamp ... ok
[INFO] [stdout] test subsurface_profile_view::tests::test_new ... ok
[INFO] [stdout] test subsurface_profile_view::tests::test_ior_min ... ok
[INFO] [stdout] test subsurface_profile_view::tests::test_radius_negative_clamp ... ok
[INFO] [stdout] test subsurface_profile_view::tests::test_radius_set ... ok
[INFO] [stdout] test subsurface_profile_view::tests::test_show_profile ... ok
[INFO] [stdout] test sun_position::tests::test_below_horizon ... ok
[INFO] [stdout] test sun_position::tests::test_pi_used ... ok
[INFO] [stdout] test sun_position::tests::test_set_elevation_clamp ... ok
[INFO] [stdout] test sun_position::tests::test_sun_dir_normalized ... ok
[INFO] [stdout] test sun_position::tests::test_sky_luminance_night ... ok
[INFO] [stdout] test sun_position::tests::test_to_json ... ok
[INFO] [stdout] test sun_position::tests::test_set_azimuth_wrap ... ok
[INFO] [stdout] test subsurface_profile_view::tests::test_scale_clamp_high ... ok
[INFO] [stdout] test sun_position::tests::test_sky_luminance_zenith ... ok
[INFO] [stdout] test sun_position::tests::test_default ... ok
[INFO] [stdout] test sun_position::tests::test_sun_dir_at_zenith ... ok
[INFO] [stdout] test symmetry_plane_view::tests::test_default_axis ... ok
[INFO] [stdout] test symmetry_plane_view::tests::test_enabled_default ... ok
[INFO] [stdout] test symmetry_plane_view::tests::test_line_width_min ... ok
[INFO] [stdout] test symmetry_plane_view::tests::test_set_axis ... ok
[INFO] [stdout] test symmetry_plane_view::tests::test_set_color ... ok
[INFO] [stdout] test symmetry_plane_view::tests::test_show_mirror_mesh ... ok
[INFO] [stdout] test symmetry_plane_view::tests::test_mirror_default_false ... ok
[INFO] [stdout] test symmetry_plane_view::tests::test_set_enabled ... ok
[INFO] [stdout] test symmetry_plane_view::tests::test_to_json_has_axis ... ok
[INFO] [stdout] test taa_view::tests::test_blend ... ok
[INFO] [stdout] test taa_view::tests::test_halton_jitter_range ... ok
[INFO] [stdout] test taa_view::tests::test_new ... ok
[INFO] [stdout] test tangent_basis_view::tests::test_enable ... ok
[INFO] [stdout] test tangent_basis_view::tests::test_normal_color_blue ... ok
[INFO] [stdout] test taa_view::tests::test_not_aggressive_by_default ... ok
[INFO] [stdout] test tangent_basis_view::tests::test_set_scale ... ok
[INFO] [stdout] test taa_view::tests::test_set_blend_factor_clamped ... ok
[INFO] [stdout] test tangent_basis_view::tests::test_scale_min ... ok
[INFO] [stdout] test tangent_basis_view::tests::test_active_channel_count_default ... ok
[INFO] [stdout] test tangent_basis_view::tests::test_bitangent_color_green ... ok
[INFO] [stdout] test tangent_basis_view::tests::test_tangent_color_red ... ok
[INFO] [stdout] test tangent_basis_view::tests::test_to_json ... ok
[INFO] [stdout] test tangent_basis_view::tests::test_defaults ... ok
[INFO] [stdout] test tangent_frame_view::tests::test_set_scale_clamp_high ... ok
[INFO] [stdout] test tangent_frame_view::tests::test_set_scale_clamp_low ... ok
[INFO] [stdout] test tangent_frame_view::tests::test_toggle_tangent ... ok
[INFO] [stdout] test tangent_frame_view::tests::test_active_channel_count_after_toggle ... ok
[INFO] [stdout] test tangent_frame_view::tests::test_enable ... ok
[INFO] [stdout] test tangent_frame_view::tests::test_new_defaults ... ok
[INFO] [stdout] test tangent_frame_view::tests::test_set_scale ... ok
[INFO] [stdout] test tangent_frame_view::tests::test_to_json ... ok
[INFO] [stdout] test tangent_frame_view::tests::test_toggle_normal ... ok
[INFO] [stdout] test tangent_space_view::tests::default_disabled ... ok
[INFO] [stdout] test tangent_space_view::tests::handedness_right_hand ... ok
[INFO] [stdout] test tangent_space_view::tests::not_orthonormal_same_axes ... ok
[INFO] [stdout] test tangent_space_view::tests::set_line_length_clamps ... ok
[INFO] [stdout] test tangent_space_view::tests::orthonormal_standard_axes ... ok
[INFO] [stdout] test tangent_space_view::tests::to_json_has_component ... ok
[INFO] [stdout] test tangent_space_view::tests::vector_to_color_positive_x ... ok
[INFO] [stdout] test temperature_field_view::tests::test_defaults ... ok
[INFO] [stdout] test temperature_field_view::tests::test_isotherm_count_clamp ... ok
[INFO] [stdout] test temperature_field_view::tests::test_normalize_mid ... ok
[INFO] [stdout] test tangent_space_view::tests::vector_to_color_origin ... ok
[INFO] [stdout] test temperature_field_view::tests::test_temp_max_set ... ok
[INFO] [stdout] test temperature_field_view::tests::test_temp_min_clamp ... ok
[INFO] [stdout] test temperature_field_view::tests::test_enable ... ok
[INFO] [stdout] test temperature_field_view::tests::test_isotherms_toggle ... ok
[INFO] [stdout] test temperature_field_view::tests::test_clone ... ok
[INFO] [stdout] test temperature_field_view::tests::test_json_keys ... ok
[INFO] [stdout] test tangent_space_view::tests::enable_disable ... ok
[INFO] [stdout] test temporal_aa_view::tests::test_set_jitter_scale ... ok
[INFO] [stdout] test temporal_aa_view::tests::test_set_enabled_false ... ok
[INFO] [stdout] test temporal_aa_view::tests::test_is_ghosting_below_threshold ... ok
[INFO] [stdout] test temporal_aa_view::tests::test_set_ghosting_threshold ... ok
[INFO] [stdout] test temporal_aa_view::tests::test_set_jitter_scale_negative_clamps ... ok
[INFO] [stdout] test temporal_aa_view::tests::test_to_json_contains_jitter ... ok
[INFO] [stdout] test temporal_aa_view::tests::test_default_show_jitter_true ... ok
[INFO] [stdout] test temporal_aa_view::tests::test_is_ghosting_above_threshold ... ok
[INFO] [stdout] test test_pattern_view::tests::test_clone ... ok
[INFO] [stdout] test test_pattern_view::tests::test_defaults ... ok
[INFO] [stdout] test test_pattern_view::tests::test_json ... ok
[INFO] [stdout] test test_pattern_view::tests::test_set_pattern ... ok
[INFO] [stdout] test temporal_aa_view::tests::test_toggle_ghosting ... ok
[INFO] [stdout] test temporal_aa_view::tests::test_toggle_jitter ... ok
[INFO] [stdout] test test_pattern_view::tests::test_bar_count_color_bars ... ok
[INFO] [stdout] test test_pattern_view::tests::test_bar_count_grayscale ... ok
[INFO] [stdout] test test_pattern_view::tests::test_enabled_toggle ... ok
[INFO] [stdout] test test_pattern_view::tests::test_grid_size_clamp ... ok
[INFO] [stdout] test texture_atlas_view::tests::test_json_keys ... ok
[INFO] [stdout] test texture_atlas_view::tests::test_dimensions_min_one ... ok
[INFO] [stdout] test texture_atlas_view::tests::test_clone ... ok
[INFO] [stdout] test texture_atlas_view::tests::test_defaults ... ok
[INFO] [stdout] test texture_atlas_view::tests::test_enable ... ok
[INFO] [stdout] test texture_atlas_view::tests::test_show_borders_off ... ok
[INFO] [stdout] test texture_atlas_view::tests::test_total_texels_custom ... ok
[INFO] [stdout] test texture_atlas_view::tests::test_total_texels_default ... ok
[INFO] [stdout] test texture_cache::tests::count_and_loaded_count ... ok
[INFO] [stdout] test texture_cache::tests::default_placeholder_texture_non_null ... ok
[INFO] [stdout] test texture_cache::tests::evict_all_clears_data_and_loaded_flag ... ok
[INFO] [stdout] test texture_cache::tests::get_found ... ok
[INFO] [stdout] test texture_cache::tests::get_not_found ... ok
[INFO] [stdout] test texture_cache::tests::insert_returns_incrementing_ids ... ok
[INFO] [stdout] test texture_cache::tests::mark_loaded_returns_false_for_missing_id ... ok
[INFO] [stdout] test texture_cache::tests::mark_loaded_sets_data_and_flag ... ok
[INFO] [stdout] test texture_cache::tests::texture_format_bytes_r8_is_1 ... ok
[INFO] [stdout] test texture_cache::tests::new_cache_is_empty ... ok
[INFO] [stdout] test texture_cache::tests::remove_false_when_absent ... ok
[INFO] [stdout] test texture_cache::tests::remove_true_when_present ... ok
[INFO] [stdout] test texture_atlas_view::tests::test_set_dimensions ... ok
[INFO] [stdout] test test_pattern_view::tests::test_solid_color_set ... ok
[INFO] [stdout] test texture_atlas_view::tests::test_region_count_set ... ok
[INFO] [stdout] test texture_cache::tests::texture_format_bytes_rgba16float_is_8 ... ok
[INFO] [stdout] test texture_cache::tests::texture_format_bytes_rgba8_is_4 ... ok
[INFO] [stdout] test texture_cache::tests::total_memory_bytes_sum_of_loaded ... ok
[INFO] [stdout] test texture_channel_view::tests::test_apply_channel_view_grayscale ... ok
[INFO] [stdout] test texture_channel_view::tests::test_channel_label ... ok
[INFO] [stdout] test texture_channel_view::tests::test_default ... ok
[INFO] [stdout] test texture_channel_view::tests::test_extract_alpha ... ok
[INFO] [stdout] test texture_channel_view::tests::test_extract_red ... ok
[INFO] [stdout] test texture_channel_view::tests::test_invert_value ... ok
[INFO] [stdout] test texture_channel_view::tests::test_set_exposure_clamped ... ok
[INFO] [stdout] test texture_channel_view::tests::test_toggle_invert ... ok
[INFO] [stdout] test texture_channel_view::tests::test_to_json ... ok
[INFO] [stdout] test texture_mip_debug::tests::test_color_count ... ok
[INFO] [stdout] test texture_mip_debug::tests::test_compute_mip_level ... ok
[INFO] [stdout] test texture_mip_debug::tests::test_default ... ok
[INFO] [stdout] test texture_mip_debug::tests::test_level_color_clamped ... ok
[INFO] [stdout] test texture_mip_debug::tests::test_enable_disable ... ok
[INFO] [stdout] test texture_mip_debug::tests::test_compute_mip_zero_size ... ok
[INFO] [stdout] test texture_mip_debug::tests::test_to_json ... ok
[INFO] [stdout] test texture_node_view::tests::add_node ... ok
[INFO] [stdout] test texture_cache::tests::texture_memory_bytes_bc1_half_pixel ... ok
[INFO] [stdout] test texture_mip_debug::tests::test_opacity_applied ... ok
[INFO] [stdout] test texture_node_view::tests::default_empty ... ok
[INFO] [stdout] test texture_cache::tests::texture_memory_bytes_rgba8_formula ... ok
[INFO] [stdout] test texture_mip_debug::tests::test_level_color_0 ... ok
[INFO] [stdout] test texture_node_view::tests::deselect_clears ... ok
[INFO] [stdout] test texture_mip_debug::tests::test_set_opacity ... ok
[INFO] [stdout] test texture_node_view::tests::node_dimensions_stored ... ok
[INFO] [stdout] test texture_node_view::tests::select_node ... ok
[INFO] [stdout] test texture_node_view::tests::zoom_clamps_lower ... ok
[INFO] [stdout] test texture_node_view::tests::zoom_clamps_upper ... ok
[INFO] [stdout] test thermal_camera_view::tests::test_new_config ... ok
[INFO] [stdout] test thermal_camera_view::tests::test_pixel_to_temp_max ... ok
[INFO] [stdout] test thermal_camera_view::tests::test_pixel_to_temp_zero ... ok
[INFO] [stdout] test thermal_camera_view::tests::test_temp_to_color_cold ... ok
[INFO] [stdout] test thermal_view::tests::test_default_palette_iron_bow ... ok
[INFO] [stdout] test thermal_camera_view::tests::test_temp_to_color_hot ... ok
[INFO] [stdout] test thermal_view::tests::test_map_temp_clamps_input ... ok
[INFO] [stdout] test thermal_view::tests::test_noise_level_default ... ok
[INFO] [stdout] test thermal_view::tests::test_enabled_default ... ok
[INFO] [stdout] test thermal_view::tests::test_normalize_min_gives_zero ... ok
[INFO] [stdout] test texture_node_view::tests::json_has_node_count ... ok
[INFO] [stdout] test thermal_view::tests::test_set_palette ... ok
[INFO] [stdout] test thermal_view::tests::test_set_enabled ... ok
[INFO] [stdout] test thermal_camera_view::tests::test_hot_spot ... ok
[INFO] [stdout] test thermal_view::tests::test_set_range ... ok
[INFO] [stdout] test thermal_view::tests::test_normalize_max_gives_one ... ok
[INFO] [stdout] test tilt_shift_view::tests::test_blur_inside_band_zero ... ok
[INFO] [stdout] test tilt_shift_view::tests::test_blur_outside_band_positive ... ok
[INFO] [stdout] test tilt_shift_view::tests::test_saturation_boost_default ... ok
[INFO] [stdout] test tilt_shift_view::tests::test_set_blur_clamped ... ok
[INFO] [stdout] test tilt_shift_view::tests::test_set_enabled ... ok
[INFO] [stdout] test tilt_shift_view::tests::test_to_json_contains_blur ... ok
[INFO] [stdout] test timecode_overlay_view::tests::test_clone ... ok
[INFO] [stdout] test timecode_overlay_view::tests::test_defaults ... ok
[INFO] [stdout] test timecode_overlay_view::tests::test_format_string ... ok
[INFO] [stdout] test timecode_overlay_view::tests::test_json ... ok
[INFO] [stdout] test tilt_shift_view::tests::test_default_focus_center ... ok
[INFO] [stdout] test thermal_view::tests::test_to_json_contains_palette ... ok
[INFO] [stdout] test tilt_shift_view::tests::test_enabled_default ... ok
[INFO] [stdout] test tilt_shift_view::tests::test_set_focus_band ... ok
[INFO] [stdout] test timecode_overlay_view::tests::test_minutes_clamp ... ok
[INFO] [stdout] test tilt_shift_view::tests::test_set_focus_center_clamped ... ok
[INFO] [stdout] test timecode_overlay_view::tests::test_position_clamp ... ok
[INFO] [stdout] test timecode_overlay_view::tests::test_set_timecode ... ok
[INFO] [stdout] test timecode_overlay_view::tests::test_total_frames_one_second ... ok
[INFO] [stdout] test timeline_viewer::tests::test_add_track ... ok
[INFO] [stdout] test timeline_viewer::tests::test_frame_to_time ... ok
[INFO] [stdout] test timeline_viewer::tests::test_keys_in_range ... ok
[INFO] [stdout] test timeline_viewer::tests::test_add_key_sorted ... ok
[INFO] [stdout] test timeline_viewer::tests::test_remove_key_from_track ... ok
[INFO] [stdout] test timeline_viewer::tests::test_remove_track ... ok
[INFO] [stdout] test timeline_viewer::tests::test_set_current_time_clamp ... ok
[INFO] [stdout] test timeline_viewer::tests::test_play_pause ... ok
[INFO] [stdout] test timeline_viewer::tests::test_step_frame_advances_time ... ok
[INFO] [stdout] test timeline_viewer::tests::test_time_to_frame ... ok
[INFO] [stdout] test timeline_viewer::tests::test_step_frame_clamps_at_end ... ok
[INFO] [stdout] test timeline_viewer::tests::test_zoom_clamp ... ok
[INFO] [stdout] test timecode_overlay_view::tests::test_total_frames_zero ... ok
[INFO] [stdout] test timeline_viewer::tests::test_remove_nonexistent_track ... ok
[INFO] [stdout] test timeline_viewer::tests::test_new_timeline ... ok
[INFO] [stdout] test tool_shelf_view::tests::enabled_default ... ok
[INFO] [stdout] test tool_shelf_view::tests::json_has_item_count ... ok
[INFO] [stdout] test tool_shelf_view::tests::icon_stored ... ok
[INFO] [stdout] test tool_shelf_view::tests::select_item ... ok
[INFO] [stdout] test tool_shelf_view::tests::active_count ... ok
[INFO] [stdout] test tool_shelf_view::tests::add_item ... ok
[INFO] [stdout] test tool_shelf_view::tests::default_empty ... ok
[INFO] [stdout] test tool_shelf_view::tests::toggle_collapse ... ok
[INFO] [stdout] test tooltip_renderer::tests::test_advance_not_visible_is_noop ... ok
[INFO] [stdout] test tooltip_renderer::tests::test_advance_tooltip_fade_out_completes ... ok
[INFO] [stdout] test tooltip_renderer::tests::test_background_color ... ok
[INFO] [stdout] test tooltip_renderer::tests::test_clear_all_tooltips ... ok
[INFO] [stdout] test tooltip_renderer::tests::test_default_config ... ok
[INFO] [stdout] test tooltip_renderer::tests::test_hide_tooltip ... ok
[INFO] [stdout] test timeline_viewer::tests::test_add_key_to_track ... ok
[INFO] [stdout] test tooltip_renderer::tests::test_new_tooltip ... ok
[INFO] [stdout] test tooltip_renderer::tests::test_set_text ... ok
[INFO] [stdout] test tooltip_renderer::tests::test_show_tooltip ... ok
[INFO] [stdout] test tooltip_renderer::tests::test_text_color ... ok
[INFO] [stdout] test tooltip_renderer::tests::test_tooltip_at_screen_pos ... ok
[INFO] [stdout] test tooltip_renderer::tests::test_tooltip_at_screen_pos_not_visible ... ok
[INFO] [stdout] test tooltip_renderer::tests::test_tooltip_bounds_empty_text ... ok
[INFO] [stdout] test tooltip_renderer::tests::test_tooltip_bounds_positive ... ok
[INFO] [stdout] test tooltip_renderer::tests::test_tooltip_fade_alpha_fade_in ... ok
[INFO] [stdout] test tooltip_renderer::tests::test_tooltip_fade_alpha_full ... ok
[INFO] [stdout] test tooltip_renderer::tests::test_tooltip_fade_alpha_not_visible ... ok
[INFO] [stdout] test tooltip_renderer::tests::test_update_position ... ok
[INFO] [stdout] test toon_shader_view::tests::test_new_toon_view ... ok
[INFO] [stdout] test toon_shader_view::tests::test_toon_outline_factor_inside ... ok
[INFO] [stdout] test toon_shader_view::tests::test_toon_outline_factor_outside ... ok
[INFO] [stdout] test toon_shader_view::tests::test_toon_quantize ... ok
[INFO] [stdout] test toon_shader_view::tests::test_toon_shade_gray ... ok
[INFO] [stdout] test topology_view::tests::test_defaults ... ok
[INFO] [stdout] test topology_view::tests::test_disable ... ok
[INFO] [stdout] test topology_view::tests::test_enable ... ok
[INFO] [stdout] test topology_view::tests::test_is_pole_3 ... ok
[INFO] [stdout] test topology_view::tests::test_is_pole_4_not ... ok
[INFO] [stdout] test topology_view::tests::test_is_pole_5 ... ok
[INFO] [stdout] test topology_view::tests::test_to_json ... ok
[INFO] [stdout] test topology_view::tests::test_valence_color_pole_3 ... ok
[INFO] [stdout] test topology_view::tests::test_valence_color_regular ... ok
[INFO] [stdout] test transmission_view::tests::test_new_transmission_view ... ok
[INFO] [stdout] test transmission_view::tests::test_transmission_factor_color_zero ... ok
[INFO] [stdout] test transmission_view::tests::test_transmission_fresnel_at_normal ... ok
[INFO] [stdout] test transmission_view::tests::test_transmission_ior_color_air ... ok
[INFO] [stdout] test transmission_view::tests::test_transmission_is_refractive ... ok
[INFO] [stdout] test tri_highlight_view::tests::test_color_set ... ok
[INFO] [stdout] test tri_highlight_view::tests::test_defaults ... ok
[INFO] [stdout] test tri_highlight_view::tests::test_enable ... ok
[INFO] [stdout] test tri_highlight_view::tests::test_is_tri_false ... ok
[INFO] [stdout] test tri_highlight_view::tests::test_is_tri_true ... ok
[INFO] [stdout] test tri_highlight_view::tests::test_opacity_clamp ... ok
[INFO] [stdout] test tri_highlight_view::tests::test_set_opacity ... ok
[INFO] [stdout] test tri_highlight_view::tests::test_to_json ... ok
[INFO] [stdout] test tri_highlight_view::tests::test_tri_ratio ... ok
[INFO] [stdout] test tri_highlight_view::tests::test_tri_ratio_zero_total ... ok
[INFO] [stdout] test triangle_count_overlay::tests::test_build_entry_highlighted ... ok
[INFO] [stdout] test triangle_count_overlay::tests::test_build_entry_not_highlighted ... ok
[INFO] [stdout] test triangle_count_overlay::tests::test_default ... ok
[INFO] [stdout] test triangle_count_overlay::tests::test_enable_disable ... ok
[INFO] [stdout] test triangle_count_overlay::tests::test_format_millions ... ok
[INFO] [stdout] test triangle_count_overlay::tests::test_format_small ... ok
[INFO] [stdout] test triangle_count_overlay::tests::test_format_thousands ... ok
[INFO] [stdout] test triangle_count_overlay::tests::test_set_threshold ... ok
[INFO] [stdout] test triangle_count_overlay::tests::test_to_json ... ok
[INFO] [stdout] test triangle_count_overlay::tests::test_total_count ... ok
[INFO] [stdout] test turbulence_view::tests::test_clone ... ok
[INFO] [stdout] test turbulence_view::tests::test_defaults ... ok
[INFO] [stdout] test turbulence_view::tests::test_eddies_toggle ... ok
[INFO] [stdout] test turbulence_view::tests::test_eddy_scale_set ... ok
[INFO] [stdout] test turbulence_view::tests::test_enable ... ok
[INFO] [stdout] test turbulence_view::tests::test_json_keys ... ok
[INFO] [stdout] test turbulence_view::tests::test_normalize_clamp ... ok
[INFO] [stdout] test turbulence_view::tests::test_normalize_mid ... ok
[INFO] [stdout] test turbulence_view::tests::test_tke_max_set ... ok
[INFO] [stdout] test turbulence_view::tests::test_tke_min_clamp ... ok
[INFO] [stdout] test ultrasound_view::tests::test_axial_resolution ... ok
[INFO] [stdout] test ultrasound_view::tests::test_get_pixel_oob ... ok
[INFO] [stdout] test ultrasound_view::tests::test_mean_echogenicity_nonzero ... ok
[INFO] [stdout] test ultrasound_view::tests::test_mean_echogenicity_zero ... ok
[INFO] [stdout] test ultrasound_view::tests::test_new_image ... ok
[INFO] [stdout] test ultrasound_view::tests::test_pixel_to_depth_mm ... ok
[INFO] [stdout] test ultrasound_view::tests::test_set_get_pixel ... ok
[INFO] [stdout] test uniform_buffer_view::tests::test_avg_bytes_per_ubo_computed ... ok
[INFO] [stdout] test uniform_buffer_view::tests::test_avg_bytes_per_ubo_zero ... ok
[INFO] [stdout] test uniform_buffer_view::tests::test_clone ... ok
[INFO] [stdout] test uniform_buffer_view::tests::test_defaults ... ok
[INFO] [stdout] test uniform_buffer_view::tests::test_enable ... ok
[INFO] [stdout] test uniform_buffer_view::tests::test_json_keys ... ok
[INFO] [stdout] test uniform_buffer_view::tests::test_show_binding_slots_toggle ... ok
[INFO] [stdout] test uniform_buffer_view::tests::test_update_stats ... ok
[INFO] [stdout] test uniform_buffer_view::tests::test_updates_per_frame_stored ... ok
[INFO] [stdout] test usd_preview_view::tests::default_no_stage ... ok
[INFO] [stdout] test usd_preview_view::tests::default_render_mode_shaded ... ok
[INFO] [stdout] test usd_preview_view::tests::enabled_default ... ok
[INFO] [stdout] test uv_checker_view::tests::gradient_sample_corner ... ok
[INFO] [stdout] test usd_preview_view::tests::json_has_stage_path ... ok
[INFO] [stdout] test usd_preview_view::tests::proxy_geometry_default_true ... ok
[INFO] [stdout] test usd_preview_view::tests::set_frame ... ok
[INFO] [stdout] test usd_preview_view::tests::set_stage_makes_has_stage_true ... ok
[INFO] [stdout] test uv_checker_view::tests::default_disabled ... ok
[INFO] [stdout] test uv_checker_view::tests::enable_disable ... ok
[INFO] [stdout] test usd_preview_view::tests::set_render_mode_wireframe ... ok
[INFO] [stdout] test uv_checker_view::tests::set_opacity_clamps ... ok
[INFO] [stdout] test uv_checker_view::tests::zone_sample_quadrants_distinct ... ok
[INFO] [stdout] test uv_checker_view::tests::set_grid_divisions_clamps ... ok
[INFO] [stdout] test uv_stretch_view::tests::test_enable ... ok
[INFO] [stdout] test uv_checker_view::tests::grid_sample_alternates ... ok
[INFO] [stdout] test uv_checker_view::tests::grid_sample_origin_dark ... ok
[INFO] [stdout] test uv_stretch_view::tests::test_mode_name_angle ... ok
[INFO] [stdout] test uv_stretch_view::tests::test_mode_name_area ... ok
[INFO] [stdout] test uv_stretch_view::tests::test_new_defaults ... ok
[INFO] [stdout] test uv_stretch_view::tests::test_stretch_color_mid ... ok
[INFO] [stdout] test uv_stretch_view::tests::test_set_thresholds ... ok
[INFO] [stdout] test uv_stretch_view::tests::test_to_json ... ok
[INFO] [stdout] test uv_stretch_view::tests::test_stretch_color_high ... ok
[INFO] [stdout] test uv_stretch_view::tests::test_stretch_color_low ... ok
[INFO] [stdout] test valence_map_view::tests::test_clone ... ok
[INFO] [stdout] test valence_map_view::tests::test_is_regular_false ... ok
[INFO] [stdout] test valence_map_view::tests::test_is_regular_true ... ok
[INFO] [stdout] test uv_checker_view::tests::to_json_has_mode ... ok
[INFO] [stdout] test vector_field::tests::test_curl_field_count ... ok
[INFO] [stdout] test valence_map_view::tests::test_color_regular_green ... ok
[INFO] [stdout] test valence_map_view::tests::test_to_json ... ok
[INFO] [stdout] test valence_map_view::tests::test_set_opacity ... ok
[INFO] [stdout] test valence_map_view::tests::test_defaults ... ok
[INFO] [stdout] test valence_map_view::tests::test_enable ... ok
[INFO] [stdout] test valence_map_view::tests::test_opacity_clamp ... ok
[INFO] [stdout] test vector_field::tests::test_glyph_count ... ok
[INFO] [stdout] test vector_field::tests::test_magnitude_color_zero ... ok
[INFO] [stdout] test vector_field::tests::test_set_glyph_scale_clamped ... ok
[INFO] [stdout] test vector_field::tests::test_to_json ... ok
[INFO] [stdout] test vector_field::tests::test_vec3_magnitude ... ok
[INFO] [stdout] test vector_field::tests::test_vec3_normalize_unit ... ok
[INFO] [stdout] test vector_field::tests::test_vec3_normalize_zero_safe ... ok
[INFO] [stdout] test vectorscope_view::tests::test_add_pixel ... ok
[INFO] [stdout] test vectorscope_view::tests::test_set_enabled ... ok
[INFO] [stdout] test vectorscope_view::tests::test_add_pixel_respects_max ... ok
[INFO] [stdout] test vectorscope_view::tests::test_clear ... ok
[INFO] [stdout] test vectorscope_view::tests::test_enabled_default ... ok
[INFO] [stdout] test vectorscope_view::tests::test_gain_clamped_minimum ... ok
[INFO] [stdout] test vectorscope_view::tests::test_initial_no_points ... ok
[INFO] [stdout] test vectorscope_view::tests::test_set_gain ... ok
[INFO] [stdout] test vector_field::tests::test_default ... ok
[INFO] [stdout] test vectorscope_view::tests::test_set_mode ... ok
[INFO] [stdout] test vectorscope_view::tests::test_to_json_contains_mode ... ok
[INFO] [stdout] test velocity_arrow_view::tests::test_arrow_length_clamped ... ok
[INFO] [stdout] test velocity_arrow_view::tests::test_arrow_length_zero ... ok
[INFO] [stdout] test velocity_arrow_view::tests::test_clone ... ok
[INFO] [stdout] test velocity_arrow_view::tests::test_color_at_max ... ok
[INFO] [stdout] test velocity_arrow_view::tests::test_color_at_zero ... ok
[INFO] [stdout] test velocity_arrow_view::tests::test_defaults ... ok
[INFO] [stdout] test velocity_arrow_view::tests::test_enable ... ok
[INFO] [stdout] test velocity_arrow_view::tests::test_json_keys ... ok
[INFO] [stdout] test velocity_arrow_view::tests::test_scale_clamp ... ok
[INFO] [stdout] test velocity_field_view::tests::test_arrow_length_at_max ... ok
[INFO] [stdout] test velocity_field_view::tests::test_arrow_length_zero ... ok
[INFO] [stdout] test velocity_field_view::tests::test_clone ... ok
[INFO] [stdout] test velocity_field_view::tests::test_new_defaults ... ok
[INFO] [stdout] test velocity_field_view::tests::test_set_arrow_scale ... ok
[INFO] [stdout] test velocity_field_view::tests::test_set_arrow_scale_min ... ok
[INFO] [stdout] test velocity_field_view::tests::test_set_clamp_arrows ... ok
[INFO] [stdout] test velocity_field_view::tests::test_set_enabled ... ok
[INFO] [stdout] test velocity_field_view::tests::test_set_grid_stride ... ok
[INFO] [stdout] test velocity_field_view::tests::test_set_max_speed ... ok
[INFO] [stdout] test velocity_field_view::tests::test_to_json ... ok
[INFO] [stdout] test velvet_shader_view::tests::test_new_velvet_view ... ok
[INFO] [stdout] test velvet_shader_view::tests::test_velvet_retroreflection_at_normal ... ok
[INFO] [stdout] test velvet_shader_view::tests::test_velvet_rim_highlight_at_grazing ... ok
[INFO] [stdout] test velvet_shader_view::tests::test_velvet_sheen_color_gray ... ok
[INFO] [stdout] test velvet_shader_view::tests::test_velvet_silhouette_boost_at_grazing ... ok
[INFO] [stdout] test vertex_buffer_view::tests::test_clone ... ok
[INFO] [stdout] test vertex_buffer_view::tests::test_defaults ... ok
[INFO] [stdout] test vertex_buffer_view::tests::test_enable ... ok
[INFO] [stdout] test vertex_buffer_view::tests::test_json_keys ... ok
[INFO] [stdout] test vertex_buffer_view::tests::test_show_layout_toggle ... ok
[INFO] [stdout] test vertex_buffer_view::tests::test_stride_min ... ok
[INFO] [stdout] test vertex_buffer_view::tests::test_stride_set ... ok
[INFO] [stdout] test vertex_buffer_view::tests::test_update_stats ... ok
[INFO] [stdout] test vertex_buffer_view::tests::test_vertex_count_computed ... ok
[INFO] [stdout] test vertex_buffer_view::tests::test_vertex_count_zero ... ok
[INFO] [stdout] test vertex_color_view::tests::test_channel_name_rgba ... ok
[INFO] [stdout] test vertex_color_view::tests::test_channel_names ... ok
[INFO] [stdout] test vertex_color_view::tests::test_clone ... ok
[INFO] [stdout] test vertex_color_view::tests::test_enable ... ok
[INFO] [stdout] test vertex_color_view::tests::test_new_defaults ... ok
[INFO] [stdout] test vertex_color_view::tests::test_set_channel ... ok
[INFO] [stdout] test vertex_color_view::tests::test_set_channel_clamped ... ok
[INFO] [stdout] test vertex_color_view::tests::test_to_json_alpha_mask ... ok
[INFO] [stdout] test vertex_color_view::tests::test_to_json_channel ... ok
[INFO] [stdout] test vertex_id_overlay::tests::test_count_displayable ... ok
[INFO] [stdout] test vertex_id_overlay::tests::test_default ... ok
[INFO] [stdout] test vertex_id_overlay::tests::test_enable_disable ... ok
[INFO] [stdout] test vertex_id_overlay::tests::test_format_vertex_id ... ok
[INFO] [stdout] test vertex_id_overlay::tests::test_set_max_id_none ... ok
[INFO] [stdout] test vertex_id_overlay::tests::test_set_stride_min ... ok
[INFO] [stdout] test vertex_id_overlay::tests::test_should_display_max_id ... ok
[INFO] [stdout] test vertex_id_overlay::tests::test_should_display_stride1 ... ok
[INFO] [stdout] test vertex_id_overlay::tests::test_should_display_stride2 ... ok
[INFO] [stdout] test vertex_id_overlay::tests::test_to_json ... ok
[INFO] [stdout] test vertex_normal_view::tests::build_lines_count ... ok
[INFO] [stdout] test vertex_normal_view::tests::default_disabled ... ok
[INFO] [stdout] test vertex_normal_view::tests::enable_disable ... ok
[INFO] [stdout] test vertex_normal_view::tests::normal_endpoint_along_z ... ok
[INFO] [stdout] test vertex_normal_view::tests::normal_to_color_up ... ok
[INFO] [stdout] test vertex_normal_view::tests::normalize_unit_vector ... ok
[INFO] [stdout] test vertex_normal_view::tests::normalize_zero_returns_up ... ok
[INFO] [stdout] test vertex_normal_view::tests::set_line_length_clamps ... ok
[INFO] [stdout] test vertex_normal_view::tests::to_json_has_max_verts ... ok
[INFO] [stdout] test vertex_paint_state::tests::test_brush_default ... ok
[INFO] [stdout] test vertex_paint_state::tests::test_clear ... ok
[INFO] [stdout] test vertex_paint_state::tests::test_compute_falloff_direct ... ok
[INFO] [stdout] test vertex_paint_state::tests::test_erase_mode ... ok
[INFO] [stdout] test vertex_paint_state::tests::test_falloff_flat ... ok
[INFO] [stdout] test vertex_paint_state::tests::test_falloff_linear_endpoints ... ok
[INFO] [stdout] test vertex_paint_state::tests::test_falloff_sharp ... ok
[INFO] [stdout] test vertex_paint_state::tests::test_falloff_smooth_endpoints ... ok
[INFO] [stdout] test vertex_paint_state::tests::test_falloff_clamped ... ok
[INFO] [stdout] test vertex_paint_state::tests::test_flood_fill_out_of_range ... ok
[INFO] [stdout] test vertex_paint_state::tests::test_flood_fill_with_barrier ... ok
[INFO] [stdout] test vertex_paint_state::tests::test_flood_fill_uniform ... ok
[INFO] [stdout] test vertex_paint_state::tests::test_history_max_depth ... ok
[INFO] [stdout] test vertex_paint_state::tests::test_history_push_and_undo ... ok
[INFO] [stdout] test vertex_paint_state::tests::test_legacy_blend_mode_add ... ok
[INFO] [stdout] test vertex_paint_state::tests::test_legacy_blend_mode_custom ... ok
[INFO] [stdout] test vertex_paint_state::tests::test_legacy_blend_mode_mix ... ok
[INFO] [stdout] test vertex_paint_state::tests::test_legacy_blend_mode_multiply ... ok
[INFO] [stdout] test vertex_paint_state::tests::test_legacy_new_defaults ... ok
[INFO] [stdout] test vertex_paint_state::tests::test_build_mirror_map_x ... ok
[INFO] [stdout] test vertex_paint_state::tests::test_build_mirror_map_y ... ok
[INFO] [stdout] test vertex_paint_state::tests::test_falloff_custom ... ok
[INFO] [stdout] test vertex_paint_state::tests::test_history_redo_cleared_on_push ... ok
[INFO] [stdout] test vertex_paint_state::tests::test_legacy_active_layer_default ... ok
[INFO] [stdout] test vertex_paint_state::tests::test_legacy_set_color ... ok
[INFO] [stdout] test vertex_paint_state::tests::test_legacy_set_radius ... ok
[INFO] [stdout] test vertex_paint_state::tests::test_new_state ... ok
[INFO] [stdout] test vertex_paint_state::tests::test_paint_at_basic ... ok
[INFO] [stdout] test vertex_paint_state::tests::test_paint_at_out_of_range ... ok
[INFO] [stdout] test vertex_paint_state::tests::test_paint_stroke_skips_out_of_range ... ok
[INFO] [stdout] test vertex_paint_state::tests::test_reset_clears_history ... ok
[INFO] [stdout] test vertex_paint_state::tests::test_redo_empty ... ok
[INFO] [stdout] test vertex_paint_state::tests::test_select_mode ... ok
[INFO] [stdout] test vertex_paint_state::tests::test_legacy_set_radius_clamps_negative ... ok
[INFO] [stdout] test vertex_paint_state::tests::test_smooth_region_adjacency_mismatch ... ok
[INFO] [stdout] test vertex_paint_state::tests::test_paint_at_records_undo ... ok
[INFO] [stdout] test vertex_paint_state::tests::test_paint_stroke ... ok
[INFO] [stdout] test vertex_paint_state::tests::test_set_mode ... ok
[INFO] [stdout] test vertex_paint_state::tests::test_smooth_region ... ok
[INFO] [stdout] test vertex_paint_state::tests::test_symmetry_paint ... ok
[INFO] [stdout] test vertex_paint_state::tests::test_to_deltas_basic ... ok
[INFO] [stdout] test vertex_paint_state::tests::test_undo_empty ... ok
[INFO] [stdout] test vertex_paint_state::tests::test_undo_redo ... ok
[INFO] [stdout] test viewport_grid::tests::test_build_grid_has_lines ... ok
[INFO] [stdout] test viewport_grid::tests::test_default_config ... ok
[INFO] [stdout] test viewport_grid::tests::test_grid_line_count ... ok
[INFO] [stdout] test viewport_grid::tests::test_grid_to_json ... ok
[INFO] [stdout] test viewport_grid::tests::test_grid_lines_in_frustum ... ok
[INFO] [stdout] test viewport_grid::tests::test_infinite_grid_near ... ok
[INFO] [stdout] test viewport_grid::tests::test_snap_to_grid ... ok
[INFO] [stdout] test vertex_paint_state::tests::test_zero_vertex_state ... ok
[INFO] [stdout] test viewport_grid::tests::test_set_grid_spacing_rebuilds ... ok
[INFO] [stdout] test viewport_grid::tests::test_major_line_count_less_than_total ... ok
[INFO] [stdout] test viewport_grid::tests::test_grid_cell_at ... ok
[INFO] [stdout] test viewport_grid::tests::test_rebuild_grid ... ok
[INFO] [stdout] test vertex_paint_state::tests::test_to_deltas_zero_normal ... ok
[INFO] [stdout] test viewport_grid::tests::test_snap_to_grid_zero_spacing ... ok
[INFO] [stdout] test viewport_grid::tests::test_world_to_grid_coords ... ok
[INFO] [stdout] test virtual_camera_view::tests::test_default_focal_length ... ok
[INFO] [stdout] test virtual_camera_view::tests::test_focal_length_minimum ... ok
[INFO] [stdout] test virtual_camera_view::tests::test_hfov_decreases_with_focal_length ... ok
[INFO] [stdout] test virtual_camera_view::tests::test_set_aperture ... ok
[INFO] [stdout] test virtual_camera_view::tests::test_set_aspect ... ok
[INFO] [stdout] test virtual_camera_view::tests::test_enabled_default ... ok
[INFO] [stdout] test virtual_camera_view::tests::test_hfov_positive ... ok
[INFO] [stdout] test virtual_camera_view::tests::test_set_enabled ... ok
[INFO] [stdout] test volume_scatter_view::tests::test_anisotropy_negative ... ok
[INFO] [stdout] test volume_scatter_view::tests::test_default_color ... ok
[INFO] [stdout] test volume_scatter_view::tests::test_optical_depth ... ok
[INFO] [stdout] test virtual_camera_view::tests::test_set_focal_length ... ok
[INFO] [stdout] test virtual_camera_view::tests::test_to_json_contains_focal_length ... ok
[INFO] [stdout] test volume_scatter_view::tests::test_anisotropy_clamp ... ok
[INFO] [stdout] test volume_scatter_view::tests::test_density_clamp ... ok
[INFO] [stdout] test volume_scatter_view::tests::test_json_keys ... ok
[INFO] [stdout] test volume_scatter_view::tests::test_new ... ok
[INFO] [stdout] test volume_scatter_view::tests::test_show_bounds ... ok
[INFO] [stdout] test volume_scatter_view::tests::test_step_size ... ok
[INFO] [stdout] test volume_scatter_view::wave148c_tests::test_new_volume_scatter_debug_view ... ok
[INFO] [stdout] test volume_scatter_view::wave148c_tests::test_volume_phase_function_hg_isotropic ... ok
[INFO] [stdout] test volumetric_shadow_view::tests::test_blend ... ok
[INFO] [stdout] test volume_scatter_view::wave148c_tests::test_volume_albedo_color_pure_scatter ... ok
[INFO] [stdout] test volume_scatter_view::wave148c_tests::test_volume_density_color_zero ... ok
[INFO] [stdout] test volumetric_shadow_view::tests::test_transmittance_decreases ... ok
[INFO] [stdout] test volume_scatter_view::wave148c_tests::test_volume_mean_free_path ... ok
[INFO] [stdout] test volumetric_shadow_view::tests::test_new ... ok
[INFO] [stdout] test volumetric_shadow_view::tests::test_not_dense_by_default ... ok
[INFO] [stdout] test volumetric_shadow_view::tests::test_transmittance_at_zero ... ok
[INFO] [stdout] test vorticity_field_view::tests::test_enable ... ok
[INFO] [stdout] test vorticity_field_view::tests::test_json_keys ... ok
[INFO] [stdout] test vorticity_field_view::tests::test_visibility_above_threshold ... ok
[INFO] [stdout] test vorticity_field_view::tests::test_defaults ... ok
[INFO] [stdout] test vorticity_field_view::tests::test_direction_toggle ... ok
[INFO] [stdout] test vorticity_field_view::tests::test_scale_clamp_low ... ok
[INFO] [stdout] test vorticity_field_view::tests::test_scale_set ... ok
[INFO] [stdout] test vorticity_field_view::tests::test_threshold_set ... ok
[INFO] [stdout] test vorticity_field_view::tests::test_clone ... ok
[INFO] [stdout] test vorticity_field_view::tests::test_visibility_below_threshold ... ok
[INFO] [stdout] test voxel_grid_view::tests::test_defaults ... ok
[INFO] [stdout] test voxel_cone_tracing_view::tests::test_blend ... ok
[INFO] [stdout] test voxel_grid_view::tests::test_enable ... ok
[INFO] [stdout] test voxel_grid_view::tests::test_json_keys ... ok
[INFO] [stdout] test voxel_grid_view::tests::test_opacity_clamp ... ok
[INFO] [stdout] test voxel_grid_view::tests::test_normalize_mid ... ok
[INFO] [stdout] test voxel_grid_view::tests::test_value_max_set ... ok
[INFO] [stdout] test voxel_grid_view::tests::test_show_empty ... ok
[INFO] [stdout] test water_surface_view::tests::test_water_foam_factor_zero ... ok
[INFO] [stdout] test voxel_grid_view::tests::test_value_min_set ... ok
[INFO] [stdout] test voxel_cone_tracing_view::tests::test_new ... ok
[INFO] [stdout] test voxel_cone_tracing_view::tests::test_not_high_resolution_by_default ... ok
[INFO] [stdout] test voxel_cone_tracing_view::tests::test_set_resolution_clamped ... ok
[INFO] [stdout] test voxel_grid_view::tests::test_clone ... ok
[INFO] [stdout] test voxel_cone_tracing_view::tests::test_cone_half_angle_positive ... ok
[INFO] [stdout] test water_surface_view::tests::test_water_fresnel_grazing ... ok
[INFO] [stdout] test water_surface_view::tests::test_water_gerstner_height_range ... ok
[INFO] [stdout] test watercolor_view::tests::test_bleed_amount_clamped ... ok
[INFO] [stdout] test water_surface_view::tests::test_water_normal_from_height_up ... ok
[INFO] [stdout] test watercolor_view::tests::test_default_pattern ... ok
[INFO] [stdout] test watercolor_view::tests::test_enabled_default ... ok
[INFO] [stdout] test watercolor_view::tests::test_default_wetness ... ok
[INFO] [stdout] test watercolor_view::tests::test_default_trait ... ok
[INFO] [stdout] test watercolor_view::tests::test_paper_texture_clamped ... ok
[INFO] [stdout] test watercolor_view::tests::test_set_enabled ... ok
[INFO] [stdout] test watercolor_view::tests::test_set_pattern ... ok
[INFO] [stdout] test watercolor_view::tests::test_wetness_clamped ... ok
[INFO] [stdout] test watercolor_view::tests::test_to_json_has_pattern ... ok
[INFO] [stdout] test waveform_monitor_view::tests::test_enabled_default ... ok
[INFO] [stdout] test water_surface_view::tests::test_new_water_surface_view ... ok
[INFO] [stdout] test waveform_monitor_view::tests::test_initial_width ... ok
[INFO] [stdout] test waveform_monitor_view::tests::test_set_channel ... ok
[INFO] [stdout] test waveform_monitor_view::tests::test_to_json_contains_channel ... ok
[INFO] [stdout] test waveform_monitor_view::tests::test_ire_graticule_default ... ok
[INFO] [stdout] test waveform_monitor_view::tests::test_update_column_computes_stats ... ok
[INFO] [stdout] test waveform_monitor_view::tests::test_set_enabled ... ok
[INFO] [stdout] test waveform_monitor_view::tests::test_set_ire_graticule ... ok
[INFO] [stdout] test waveform_monitor_view::tests::test_update_column_min_max ... ok
[INFO] [stdout] test weight_heat_map_view::tests::test_default_bone_index ... ok
[INFO] [stdout] test weight_heat_map_view::tests::test_default_thresholds ... ok
[INFO] [stdout] test weight_heat_map_view::tests::test_enabled_default ... ok
[INFO] [stdout] test weight_heat_map_view::tests::test_default_ramp ... ok
[INFO] [stdout] test weight_heat_map_view::tests::test_set_enabled ... ok
[INFO] [stdout] test waveform_monitor_view::tests::test_update_out_of_bounds_ignored ... ok
[INFO] [stdout] test weight_heat_map_view::tests::test_set_bone_index ... ok
[INFO] [stdout] test weight_heat_map_view::tests::test_threshold_clamp ... ok
[INFO] [stdout] test weight_heat_map_view::tests::test_to_json_has_ramp ... ok
[INFO] [stdout] test weight_heat_view::tests::test_clone ... ok
[INFO] [stdout] test weight_heat_view::tests::test_enable ... ok
[INFO] [stdout] test weight_heat_view::tests::test_set_bone ... ok
[INFO] [stdout] test weight_heat_view::tests::test_toggle_all_bones ... ok
[INFO] [stdout] test weight_heat_view::tests::test_to_json ... ok
[INFO] [stdout] test weight_heat_view::tests::test_weight_color_full ... ok
[INFO] [stdout] test weight_heat_map_view::tests::test_set_ramp ... ok
[INFO] [stdout] test weight_heat_view::tests::test_weight_color_zero ... ok
[INFO] [stdout] test weighted_oit_view::tests::test_blend ... ok
[INFO] [stdout] test weight_heat_view::tests::test_weight_color_range ... ok
[INFO] [stdout] test weight_heat_view::tests::test_new_defaults ... ok
[INFO] [stdout] test weighted_oit_view::tests::test_new ... ok
[INFO] [stdout] test weighted_oit_view::tests::test_not_high_power_by_default ... ok
[INFO] [stdout] test wireframe_overlay::overlay_tests::test_wo_reset ... ok
[INFO] [stdout] test wireframe_overlay::overlay_tests::test_wo_set_enabled ... ok
[INFO] [stdout] test weighted_oit_view::tests::test_set_weight_power_clamped ... ok
[INFO] [stdout] test wireframe_overlay::overlay_tests::test_wo_set_color ... ok
[INFO] [stdout] test wireframe_overlay::overlay_tests::test_wo_set_line_width_valid ... ok
[INFO] [stdout] test weighted_oit_view::tests::test_weight_positive ... ok
[INFO] [stdout] test wireframe_overlay::overlay_tests::test_wo_default_config ... ok
[INFO] [stdout] test wireframe_overlay::overlay_tests::test_wo_to_json_contains_fields ... ok
[INFO] [stdout] test wireframe_overlay::overlay_tests::test_wo_new_state_disabled ... ok
[INFO] [stdout] test wireframe_overlay::overlay_tests::test_wo_set_line_width_clamps ... ok
[INFO] [stdout] test wireframe_overlay::tests::test_extract_edges_quad ... ok
[INFO] [stdout] test wireframe_overlay::tests::test_classify_crease_flat ... ok
[INFO] [stdout] test wireframe_overlay::tests::test_boundary_edges_quad ... ok
[INFO] [stdout] test wireframe_overlay::tests::test_extract_edges_triangle ... ok
[INFO] [stdout] test wireframe_overlay::tests::test_build_wireframe ... ok
[INFO] [stdout] test wireframe_overlay::tests::test_filter_crease_only ... ok
[INFO] [stdout] test wireframe_overlay::tests::test_extract_edges_unique ... ok
[INFO] [stdout] test wireframe_overlay::tests::test_boundary_edges_triangle ... ok
[INFO] [stdout] test wireframe_overlay::tests::test_edge_count_wire ... ok
[INFO] [stdout] test wireframe_overlay::tests::test_merge_wireframes ... ok
[INFO] [stdout] test wireframe_overlay::tests::test_set_wireframe_color ... ok
[INFO] [stdout] test wireframe_overlay::tests::test_visible_edge_count ... ok
[INFO] [stdout] test world_axes::tests::test_axes_to_screen_lines ... ok
[INFO] [stdout] test world_axes::tests::test_axis_color_negative_darker ... ok
[INFO] [stdout] test world_axes::tests::test_axis_color_z_blue ... ok
[INFO] [stdout] test world_axes::tests::test_axis_label ... ok
[INFO] [stdout] test world_axes::tests::test_axis_color_x_red ... ok
[INFO] [stdout] test world_axes::tests::test_build_axis_lines_count_with_negative ... ok
[INFO] [stdout] test world_axes::tests::test_rotate_axes ... ok
[INFO] [stdout] test world_axes::tests::test_new_world_axes ... ok
[INFO] [stdout] test world_axes::tests::test_scale_axes ... ok
[INFO] [stdout] test wireframe_overlay::tests::test_wireframe_line_segments ... ok
[INFO] [stdout] test wireframe_overlay::tests::test_wireframe_aabb ... ok
[INFO] [stdout] test world_axes::tests::test_axis_color_y_green ... ok
[INFO] [stdout] test world_axes::tests::test_build_axis_lines_count_no_negative ... ok
[INFO] [stdout] test world_axes::tests::test_world_to_screen_axes_identity ... ok
[INFO] [stdout] test world_axes::tests::test_set_show_negative_true ... ok
[INFO] [stdout] test world_axes::tests::test_set_axes_visible ... ok
[INFO] [stdout] test world_axes::tests::test_set_show_negative_false ... ok
[INFO] [stdout] test xr_viewport::tests::test_build_eye_views_has_two_eyes ... ok
[INFO] [stdout] test xr_viewport::tests::test_disable_xr ... ok
[INFO] [stdout] test xr_viewport::tests::test_build_eye_views_left_and_right ... ok
[INFO] [stdout] test xr_viewport::tests::test_ipd_offset_center_zero ... ok
[INFO] [stdout] test xr_viewport::tests::test_enable_xr ... ok
[INFO] [stdout] test xr_viewport::tests::test_eye_count_after_build ... ok
[INFO] [stdout] test xr_viewport::tests::test_projection_matrix_non_identity ... ok
[INFO] [stdout] test xr_viewport::tests::test_render_resolution ... ok
[INFO] [stdout] test xr_viewport_v2::tests::test_is_stereo ... ok
[INFO] [stdout] test xr_viewport::tests::test_ipd_offset_left_negative ... ok
[INFO] [stdout] test xr_viewport::tests::test_ipd_offset_right_positive ... ok
[INFO] [stdout] test xr_viewport::tests::test_new_xr_viewport ... ok
[INFO] [stdout] test xr_viewport::tests::test_reprojection_matrix ... ok
[INFO] [stdout] test xr_viewport::tests::test_set_xr_pose ... ok
[INFO] [stdout] test xr_viewport_v2::tests::test_aspect_ratio ... ok
[INFO] [stdout] test xr_viewport_v2::tests::test_new_viewport ... ok
[INFO] [stdout] test xr_viewport_v2::tests::test_stereo_offset_left_negative ... ok
[INFO] [stdout] test xr_viewport_v2::tests::test_stereo_offset_right_positive ... ok
[INFO] [stdout] test xray_view::tests::test_default_style_silhouette ... ok
[INFO] [stdout] test xray_view::tests::test_set_edge_intensity ... ok
[INFO] [stdout] test xray_view::tests::test_default_opacity ... ok
[INFO] [stdout] test xray_view::tests::test_enabled_default ... ok
[INFO] [stdout] test xray_view::tests::test_set_opacity_clamped ... ok
[INFO] [stdout] test xray_view::tests::test_blend_pixel_uses_opacity ... ok
[INFO] [stdout] test xr_viewport_v2::tests::test_projection_matrix_is_4x4 ... ok
[INFO] [stdout] test xray_view::tests::test_edge_intensity_clamped ... ok
[INFO] [stdout] test xray_view::tests::test_to_json_contains_style ... ok
[INFO] [stdout] test zebra_stripes_view::tests::test_clone ... ok
[INFO] [stdout] test zebra_stripes_view::tests::test_lower_threshold_clamp ... ok
[INFO] [stdout] test xray_view::tests::test_set_style ... ok
[INFO] [stdout] test zebra_stripes_view::tests::test_overexposed_false ... ok
[INFO] [stdout] test zebra_stripes_view::tests::test_defaults ... ok
[INFO] [stdout] test zebra_stripes_view::tests::test_enabled_toggle ... ok
[INFO] [stdout] test zebra_stripes_view::tests::test_json ... ok
[INFO] [stdout] test zebra_stripes_view::tests::test_overexposed_true ... ok
[INFO] [stdout] test xray_view::tests::test_set_enabled ... ok
[INFO] [stdout] test zebra_stripes_view::tests::test_stripe_frequency_clamp ... ok
[INFO] [stdout] test zebra_stripes_view::tests::test_upper_threshold ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 4964 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.39s
[INFO] [stdout] 
[INFO] [stderr]      Running tests/rendering_regression.rs (/opt/rustwide/target/debug/deps/rendering_regression-717eeabb9d7af00d)
[INFO] [stdout] 
[INFO] [stdout] running 10 tests
[INFO] [stdout] test test_render_empty_scene ... ok
[INFO] [stdout] test test_camera_orbit_changes_view ... ok
[INFO] [stdout] test test_render_cube_silhouette ... ok
[INFO] [stdout] test test_render_normal_map_shading ... ok
[INFO] [stdout] test test_screenshot_ppm_format ... ok
[INFO] [stdout] test test_render_deterministic ... ok
[INFO] [stdout] test test_screenshot_tga_format ... ok
[INFO] [stdout] test test_render_single_triangle ... ok
[INFO] [stdout] test test_render_lighting_presets ... ok
[INFO] [stdout] test test_render_wireframe_overlay ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 10 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.04s
[INFO] [stdout] 
[INFO] [stderr]    Doc-tests oxihuman_viewer
[INFO] [stdout] 
[INFO] [stdout] running 2 tests
[INFO] [stdout] test src/gpu/gpu_morph.rs - gpu::gpu_morph (line 11) ... ignored
[INFO] [stdout] test src/morph_updater.rs - morph_updater::MorphUpdater (line 92) ... ignored
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 0 passed; 0 failed; 2 ignored; 0 measured; 0 filtered out; finished in 0.00s
[INFO] [stdout] 
[INFO] running `Command { std: "docker" "inspect" "a5f5c3d3de8e38156a03c55afa3b1374576464b877805f98d8a71ba6b0782f4d", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "a5f5c3d3de8e38156a03c55afa3b1374576464b877805f98d8a71ba6b0782f4d", kill_on_drop: false }`
[INFO] [stdout] a5f5c3d3de8e38156a03c55afa3b1374576464b877805f98d8a71ba6b0782f4d
