Skip to content

Commit 0827de1

Browse files
committed
style(splat3d): rustfmt the render-depth certification modules
cargo fmt --check clean. No behavioral change. https://claude.ai/code/session_017GFLBnDy23AWBqvkbHHC41
1 parent de039e4 commit 0827de1

3 files changed

Lines changed: 141 additions & 44 deletions

File tree

src/hpc/splat3d/depth_cascade.rs

Lines changed: 60 additions & 22 deletions
Original file line numberDiff line numberDiff line change
@@ -134,7 +134,9 @@ pub fn heel_reject_scalar(camera: &Camera, block: &BlockBounds) -> bool {
134134
}
135135

136136
/// Run the full HEEL→HIP→TWIG→LEAF cascade for one block (scalar reference).
137-
pub fn cascade_block(camera: &Camera, block: &BlockBounds, budget: &DepthCascadeBudget, index: usize) -> BlockDepthDecision {
137+
pub fn cascade_block(
138+
camera: &Camera, block: &BlockBounds, budget: &DepthCascadeBudget, index: usize,
139+
) -> BlockDepthDecision {
138140
// ── HEEL ─────────────────────────────────────────────────────────────
139141
if heel_reject_scalar(camera, block) {
140142
return BlockDepthDecision {
@@ -214,14 +216,8 @@ pub fn heel_reject_mask(camera: &Camera, blocks: &[BlockBounds], out: &mut [u8])
214216
return;
215217
}
216218
let v = &camera.view;
217-
let row = |r: usize| {
218-
(
219-
F32x16::splat(v[r][0]),
220-
F32x16::splat(v[r][1]),
221-
F32x16::splat(v[r][2]),
222-
F32x16::splat(v[r][3]),
223-
)
224-
};
219+
let row =
220+
|r: usize| (F32x16::splat(v[r][0]), F32x16::splat(v[r][1]), F32x16::splat(v[r][2]), F32x16::splat(v[r][3]));
225221
let (v00, v01, v02, v03) = row(0);
226222
let (v10, v11, v12, v13) = row(1);
227223
let (v20, v21, v22, v23) = row(2);
@@ -300,7 +296,10 @@ mod tests {
300296
#[test]
301297
fn heel_rejects_behind_near_plane() {
302298
let c = cam();
303-
let b = BlockBounds { center: [0.0, 0.0, -5.0], radius: 1.0 };
299+
let b = BlockBounds {
300+
center: [0.0, 0.0, -5.0],
301+
radius: 1.0,
302+
};
304303
assert!(heel_reject_scalar(&c, &b));
305304
let d = cascade_block(&c, &b, &DepthCascadeBudget::default(), 0);
306305
assert_eq!(d.action, HhtlAction::Reject);
@@ -310,7 +309,10 @@ mod tests {
310309
#[test]
311310
fn heel_rejects_off_screen() {
312311
let c = cam();
313-
let b = BlockBounds { center: [1000.0, 0.0, 1.0], radius: 0.01 };
312+
let b = BlockBounds {
313+
center: [1000.0, 0.0, 1.0],
314+
radius: 0.01,
315+
};
314316
assert!(heel_reject_scalar(&c, &b));
315317
let d = cascade_block(&c, &b, &DepthCascadeBudget::default(), 7);
316318
assert_eq!(d.action, HhtlAction::Reject);
@@ -321,8 +323,14 @@ mod tests {
321323
fn small_distant_block_kept_coarse() {
322324
let c = cam();
323325
// tiny block far away → low SSE, passing certificate → KeepCoarse.
324-
let b = BlockBounds { center: [0.0, 0.0, 200.0], radius: 0.05 };
325-
let budget = DepthCascadeBudget { max_error_px: 16.0, ..Default::default() };
326+
let b = BlockBounds {
327+
center: [0.0, 0.0, 200.0],
328+
radius: 0.05,
329+
};
330+
let budget = DepthCascadeBudget {
331+
max_error_px: 16.0,
332+
..Default::default()
333+
};
326334
let d = cascade_block(&c, &b, &budget, 0);
327335
assert_eq!(d.action, HhtlAction::KeepCoarse, "sse={} cert.passed={}", d.priority, d.certificate.passed);
328336
assert_eq!(d.tier_reached, HhtlTier::Hip);
@@ -333,8 +341,15 @@ mod tests {
333341
fn large_near_block_projected_exact() {
334342
let c = cam();
335343
// big block up close → huge SSE → ProjectExact.
336-
let b = BlockBounds { center: [0.0, 0.0, 2.0], radius: 1.5 };
337-
let budget = DepthCascadeBudget { max_error_px: 16.0, max_projected_radius_px: 1e9, ..Default::default() };
344+
let b = BlockBounds {
345+
center: [0.0, 0.0, 2.0],
346+
radius: 1.5,
347+
};
348+
let budget = DepthCascadeBudget {
349+
max_error_px: 16.0,
350+
max_projected_radius_px: 1e9,
351+
..Default::default()
352+
};
338353
let d = cascade_block(&c, &b, &budget, 0);
339354
assert_eq!(d.action, HhtlAction::ProjectExact, "sse={}", d.priority);
340355
assert_eq!(d.tier_reached, HhtlTier::Leaf);
@@ -344,9 +359,16 @@ mod tests {
344359
#[test]
345360
fn oversized_footprint_forces_project_exact() {
346361
let c = cam();
347-
let b = BlockBounds { center: [0.0, 0.0, 100.0], radius: 0.02 };
362+
let b = BlockBounds {
363+
center: [0.0, 0.0, 100.0],
364+
radius: 0.02,
365+
};
348366
// Force the footprint gate by setting a tiny max projected radius.
349-
let budget = DepthCascadeBudget { max_error_px: 1e9, max_projected_radius_px: 0.0, ..Default::default() };
367+
let budget = DepthCascadeBudget {
368+
max_error_px: 1e9,
369+
max_projected_radius_px: 0.0,
370+
..Default::default()
371+
};
350372
let d = cascade_block(&c, &b, &budget, 0);
351373
assert_eq!(d.action, HhtlAction::ProjectExact);
352374
assert_eq!(d.tier_reached, HhtlTier::Leaf);
@@ -355,7 +377,10 @@ mod tests {
355377
#[test]
356378
fn failing_depth_certificate_forces_refine() {
357379
let c = cam();
358-
let b = BlockBounds { center: [0.0, 0.0, 5.0], radius: 1.0 };
380+
let b = BlockBounds {
381+
center: [0.0, 0.0, 5.0],
382+
radius: 1.0,
383+
};
359384
// Tiny depth-error budget → certificate fails → Refine at TWIG.
360385
let mut budget = DepthCascadeBudget::default();
361386
budget.cert_params.max_total_depth_error = 1e-6;
@@ -368,9 +393,16 @@ mod tests {
368393
#[test]
369394
fn low_confidence_forces_refine() {
370395
let c = cam();
371-
let b = BlockBounds { center: [0.0, 0.0, 50.0], radius: 0.1 };
396+
let b = BlockBounds {
397+
center: [0.0, 0.0, 50.0],
398+
radius: 0.1,
399+
};
372400
// Large neighbour overlap → low occlusion confidence; demand high.
373-
let mut budget = DepthCascadeBudget { max_error_px: 1e9, min_confidence: 0.9, ..Default::default() };
401+
let mut budget = DepthCascadeBudget {
402+
max_error_px: 1e9,
403+
min_confidence: 0.9,
404+
..Default::default()
405+
};
374406
budget.cert_params.splat_support_overlap_error = 100.0;
375407
let d = cascade_block(&c, &b, &budget, 0);
376408
assert_eq!(d.action, HhtlAction::Refine);
@@ -397,7 +429,10 @@ mod tests {
397429
_ => 1.0 + rng(&mut st) * 10.0,
398430
};
399431
let x = if i % 5 == 0 { 5000.0 } else { rng(&mut st) * 4.0 - 2.0 };
400-
blocks.push(BlockBounds { center: [x, rng(&mut st) * 4.0 - 2.0, z], radius: 0.1 + rng(&mut st) });
432+
blocks.push(BlockBounds {
433+
center: [x, rng(&mut st) * 4.0 - 2.0, z],
434+
radius: 0.1 + rng(&mut st),
435+
});
401436
}
402437
let mut mask = vec![0u8; blocks.len()];
403438
heel_reject_mask(&c, &blocks, &mut mask);
@@ -410,7 +445,10 @@ mod tests {
410445
fn cascade_blocks_driver_lengths() {
411446
let c = cam();
412447
let blocks: Vec<_> = (0..20)
413-
.map(|i| BlockBounds { center: [0.0, 0.0, 2.0 + i as f32], radius: 0.2 })
448+
.map(|i| BlockBounds {
449+
center: [0.0, 0.0, 2.0 + i as f32],
450+
radius: 0.2,
451+
})
414452
.collect();
415453
let mut out = Vec::new();
416454
cascade_blocks(&c, &blocks, &DepthCascadeBudget::default(), &mut out);

src/hpc/splat3d/depth_cert.rs

Lines changed: 79 additions & 20 deletions
Original file line numberDiff line numberDiff line change
@@ -583,7 +583,10 @@ mod tests {
583583
#[test]
584584
fn certificate_depth_interval_is_z_plus_minus_k_sigma() {
585585
// cov_zz = 0.25 → σ_z = 0.5; k=2 → half-width = 1.0; depth=10.
586-
let params = DepthCertParams { k_sigma: 2.0, ..Default::default() };
586+
let params = DepthCertParams {
587+
k_sigma: 2.0,
588+
..Default::default()
589+
};
587590
let c = certify_depth_scalar(10.0, 0.25, 7.0, &params);
588591
assert!(approx(c.depth_variance, 0.25, 1e-6));
589592
assert!(approx(c.covariance_depth_error, 1.0, 1e-6), "cov err={}", c.covariance_depth_error);
@@ -596,7 +599,10 @@ mod tests {
596599
#[test]
597600
fn certificate_min_depth_clamped_non_negative() {
598601
// depth 0.5, half-width 1.0 → raw min = -0.5, clamped to 0.
599-
let params = DepthCertParams { k_sigma: 2.0, ..Default::default() };
602+
let params = DepthCertParams {
603+
k_sigma: 2.0,
604+
..Default::default()
605+
};
600606
let c = certify_depth_scalar(0.5, 0.25, 1.0, &params);
601607
assert_eq!(c.min_depth, 0.0, "min_depth must clamp to 0");
602608
}
@@ -605,11 +611,11 @@ mod tests {
605611
fn certificate_total_is_sum_of_separate_terms() {
606612
// Distinct values per term so a wiring mistake is visible.
607613
let params = DepthCertParams {
608-
k_sigma: 2.0, // σ_z=0.5 → cov term = 1.0
614+
k_sigma: 2.0, // σ_z=0.5 → cov term = 1.0
609615
camera_transform_error: 0.1,
610616
quantization_depth_error: 0.2,
611617
splat_support_overlap_error: 0.4,
612-
sort_bucket_width: 0.6, // → 0.3
618+
sort_bucket_width: 0.6, // → 0.3
613619
lod_substitution_error: 0.8,
614620
sampling_discrepancy: 1.6,
615621
max_total_depth_error: f32::INFINITY,
@@ -623,7 +629,11 @@ mod tests {
623629

624630
#[test]
625631
fn certificate_pass_fail_tracks_threshold() {
626-
let mut params = DepthCertParams { k_sigma: 2.0, max_total_depth_error: 0.5, ..Default::default() };
632+
let mut params = DepthCertParams {
633+
k_sigma: 2.0,
634+
max_total_depth_error: 0.5,
635+
..Default::default()
636+
};
627637
// cov term alone = 1.0 > 0.5 → fail.
628638
assert!(!certify_depth_scalar(10.0, 0.25, 5.0, &params).passed);
629639
// Loosen the threshold → pass.
@@ -633,7 +643,10 @@ mod tests {
633643

634644
#[test]
635645
fn certificate_non_finite_fails() {
636-
let params = DepthCertParams { camera_transform_error: f32::INFINITY, ..Default::default() };
646+
let params = DepthCertParams {
647+
camera_transform_error: f32::INFINITY,
648+
..Default::default()
649+
};
637650
let c = certify_depth_scalar(10.0, 0.25, 5.0, &params);
638651
assert!(!c.passed, "non-finite total must not pass");
639652
assert!(!c.total_depth_error.is_finite());
@@ -642,8 +655,16 @@ mod tests {
642655
#[test]
643656
fn ordering_uncertainty_scales_inverse_with_bucket() {
644657
// half-width = 1.0 → full interval = 2.0.
645-
let wide = DepthCertParams { k_sigma: 2.0, sort_bucket_width: 8.0, ..Default::default() };
646-
let narrow = DepthCertParams { k_sigma: 2.0, sort_bucket_width: 4.0, ..Default::default() };
658+
let wide = DepthCertParams {
659+
k_sigma: 2.0,
660+
sort_bucket_width: 8.0,
661+
..Default::default()
662+
};
663+
let narrow = DepthCertParams {
664+
k_sigma: 2.0,
665+
sort_bucket_width: 4.0,
666+
..Default::default()
667+
};
647668
let cw = certify_depth_scalar(10.0, 0.25, 5.0, &wide);
648669
let cn = certify_depth_scalar(10.0, 0.25, 5.0, &narrow);
649670
assert!(approx(cw.ordering_uncertainty, 0.25, 1e-6), "wide={}", cw.ordering_uncertainty);
@@ -652,19 +673,30 @@ mod tests {
652673

653674
#[test]
654675
fn ordering_uncertainty_saturates_at_one() {
655-
let p = DepthCertParams { k_sigma: 2.0, sort_bucket_width: 0.1, ..Default::default() };
676+
let p = DepthCertParams {
677+
k_sigma: 2.0,
678+
sort_bucket_width: 0.1,
679+
..Default::default()
680+
};
656681
let c = certify_depth_scalar(10.0, 0.25, 5.0, &p);
657682
assert!(approx(c.ordering_uncertainty, 1.0, 1e-6), "should clamp to 1, got {}", c.ordering_uncertainty);
658683
}
659684

660685
#[test]
661686
fn occlusion_confidence_high_without_overlap_drops_with_overlap() {
662-
let isolated = DepthCertParams { k_sigma: 2.0, ..Default::default() };
687+
let isolated = DepthCertParams {
688+
k_sigma: 2.0,
689+
..Default::default()
690+
};
663691
let c0 = certify_depth_scalar(10.0, 0.25, 5.0, &isolated);
664692
assert!(approx(c0.occlusion_confidence, 1.0, 1e-6), "isolated splat should be fully confident");
665693

666694
// overlap = half the depth-spread half-width (1.0) → confidence 0.5.
667-
let overlap = DepthCertParams { k_sigma: 2.0, splat_support_overlap_error: 0.5, ..Default::default() };
695+
let overlap = DepthCertParams {
696+
k_sigma: 2.0,
697+
splat_support_overlap_error: 0.5,
698+
..Default::default()
699+
};
668700
let c1 = certify_depth_scalar(10.0, 0.25, 5.0, &overlap);
669701
assert!(approx(c1.occlusion_confidence, 0.5, 1e-5), "got {}", c1.occlusion_confidence);
670702
assert!((0.0..=1.0).contains(&c1.occlusion_confidence));
@@ -682,17 +714,32 @@ mod tests {
682714
let mut g = Gaussian3D::unit();
683715
g.mean = [0.0, 0.0, 2.0];
684716
g.scale = [0.1 + rng(&mut st) * 1.5, 0.1 + rng(&mut st) * 1.5, 0.1 + rng(&mut st) * 1.5];
685-
let q = [rng(&mut st) * 2.0 - 1.0, rng(&mut st) * 2.0 - 1.0, rng(&mut st) * 2.0 - 1.0, rng(&mut st) * 2.0 - 1.0];
686-
let n = (q[0] * q[0] + q[1] * q[1] + q[2] * q[2] + q[3] * q[3]).sqrt().max(1e-6);
717+
let q = [
718+
rng(&mut st) * 2.0 - 1.0,
719+
rng(&mut st) * 2.0 - 1.0,
720+
rng(&mut st) * 2.0 - 1.0,
721+
rng(&mut st) * 2.0 - 1.0,
722+
];
723+
let n = (q[0] * q[0] + q[1] * q[1] + q[2] * q[2] + q[3] * q[3])
724+
.sqrt()
725+
.max(1e-6);
687726
g.quat = [q[0] / n, q[1] / n, q[2] / n, q[3] / n];
688727
g.opacity = 1.0;
689728
batch.push(g);
690729
}
691730
// 90° about +Y so the look-axis is non-trivial.
692731
let view = [[0.0, 0.0, 1.0, 0.0], [0.0, 1.0, 0.0, 0.0], [-1.0, 0.0, 0.0, 0.0], [0.0, 0.0, 0.0, 1.0]];
693732
let cam = Camera {
694-
view, fx: 512.0, fy: 512.0, cx: 256.0, cy: 256.0, near: 0.01, far: 1000.0,
695-
width: 512, height: 512, position: [0.0, 0.0, 0.0],
733+
view,
734+
fx: 512.0,
735+
fy: 512.0,
736+
cx: 256.0,
737+
cy: 256.0,
738+
near: 0.01,
739+
far: 1000.0,
740+
width: 512,
741+
height: 512,
742+
position: [0.0, 0.0, 0.0],
696743
};
697744
let mut got = vec![0.0f32; batch.len];
698745
camera_depth_variance_batch(&batch, &cam, &mut got);
@@ -771,7 +818,10 @@ mod tests {
771818
#[test]
772819
fn mesh_alignment_within_interval_is_aligned() {
773820
// depth=10, cov_zz=0.25, k=2 → interval [9, 11].
774-
let params = DepthCertParams { k_sigma: 2.0, ..Default::default() };
821+
let params = DepthCertParams {
822+
k_sigma: 2.0,
823+
..Default::default()
824+
};
775825
let cert = certify_depth_scalar(10.0, 0.25, 5.0, &params);
776826
let a = mesh_alignment(10.0, 10.0, &cert, 0.01);
777827
assert!(a.within_interval && a.aligned, "{a:?}");
@@ -781,9 +831,12 @@ mod tests {
781831

782832
#[test]
783833
fn mesh_alignment_outside_interval_but_within_tolerance_is_aligned() {
784-
let params = DepthCertParams { k_sigma: 2.0, ..Default::default() };
834+
let params = DepthCertParams {
835+
k_sigma: 2.0,
836+
..Default::default()
837+
};
785838
let cert = certify_depth_scalar(10.0, 0.25, 5.0, &params); // [9, 11]
786-
// mesh at 8.5 is outside [9,11] but a generous 2.0 tolerance accepts it.
839+
// mesh at 8.5 is outside [9,11] but a generous 2.0 tolerance accepts it.
787840
let a = mesh_alignment(8.5, 10.0, &cert, 2.0);
788841
assert!(!a.within_interval);
789842
assert!(a.within_tolerance);
@@ -792,7 +845,10 @@ mod tests {
792845

793846
#[test]
794847
fn mesh_alignment_far_is_not_aligned_and_many_sigma() {
795-
let params = DepthCertParams { k_sigma: 2.0, ..Default::default() };
848+
let params = DepthCertParams {
849+
k_sigma: 2.0,
850+
..Default::default()
851+
};
796852
let cert = certify_depth_scalar(10.0, 0.25, 5.0, &params); // half-width 1.0
797853
let a = mesh_alignment(11.5, 10.0, &cert, 0.01);
798854
assert!(!a.aligned && !a.within_interval && !a.within_tolerance, "{a:?}");
@@ -821,7 +877,10 @@ mod tests {
821877

822878
let mut dv = vec![0.0f32; batch.len];
823879
camera_depth_variance_batch(&batch, &cam, &mut dv);
824-
let params = DepthCertParams { k_sigma: 3.0, ..Default::default() };
880+
let params = DepthCertParams {
881+
k_sigma: 3.0,
882+
..Default::default()
883+
};
825884
let cert = certify_depth_scalar(proj.depth[0], dv[0], proj.radius[0], &params);
826885

827886
// Scan skin sits on the CAD plane → aligned, mesh inside interval.

src/hpc/splat3d/mod.rs

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -105,8 +105,8 @@ pub use depth_cascade::{
105105
DepthCascadeBudget, HhtlAction, HhtlTier,
106106
};
107107
pub use depth_cert::{
108-
camera_depth_variance, camera_depth_variance_batch, certify_batch_scalar, certify_batch_simd,
109-
certify_depth_scalar, screen_space_error, DepthCertParams, RenderDepthCertificate,
108+
camera_depth_variance, camera_depth_variance_batch, certify_batch_scalar, certify_batch_simd, certify_depth_scalar,
109+
screen_space_error, DepthCertParams, RenderDepthCertificate,
110110
};
111111
pub use frame::{SplatFrame, SplatRenderer};
112112
pub use gaussian::{Gaussian3D, GaussianBatch, SH_COEFFS_PER_CHANNEL, SH_COEFFS_PER_GAUSSIAN, SH_DEGREE};

0 commit comments

Comments
 (0)