_coder@spark-0f87:~/Dev/pressure-wave$ for r in 8 5 3 2 1; do
> echo "=== ${r} arcmin ==="
> /usr/bin/time -f '%e s' uv run simulate_blasts.py --config config.yaml \
> --set blast.cube_extents_m=20 --set blast.cube_segments=15 \
> --set blast.min_dist_m=2.5 --set rays.resolution_arcmin=$r --set rays.max_bounces=5 \
> --set output.file=/tmp/warp_r$r.csv 2>&1 | grep -E 'survive|arcmin|[0-9]+\.[0-9]+ s'
> done
=== 8 arcmin ===
2026-07-21 20:52:52,618 - INFO - Cube: center=(0.0, -4.0, 0.0) extents=20.0m segments=15 | rays: 8.0 arcmin, max_bounces=5, fan=sensor_cone
2026-07-21 20:52:53,089 - INFO - 3352 blast points survive the min-distance filter; grid=20x20 rays/explosion (device=cuda).
1.22 s
=== 5 arcmin ===
2026-07-21 20:52:53,842 - INFO - Cube: center=(0.0, -4.0, 0.0) extents=20.0m segments=15 | rays: 5.0 arcmin, max_bounces=5, fan=sensor_cone
2026-07-21 20:52:54,267 - INFO - 3352 blast points survive the min-distance filter; grid=31x31 rays/explosion (device=cuda).
1.17 s
=== 3 arcmin ===
2026-07-21 20:52:54,966 - INFO - Cube: center=(0.0, -4.0, 0.0) extents=20.0m segments=15 | rays: 3.0 arcmin, max_bounces=5, fan=sensor_cone
2026-07-21 20:52:55,389 - INFO - 3352 blast points survive the min-distance filter; grid=51x51 rays/explosion (device=cuda).
1.14 s
=== 2 arcmin ===
2026-07-21 20:52:56,112 - INFO - Cube: center=(0.0, -4.0, 0.0) extents=20.0m segments=15 | rays: 2.0 arcmin, max_bounces=5, fan=sensor_cone
2026-07-21 20:52:56,542 - INFO - 3352 blast points survive the min-distance filter; grid=76x76 rays/explosion (device=cuda).
1.19 s
=== 1 arcmin ===
2026-07-21 20:52:57,303 - INFO - Cube: center=(0.0, -4.0, 0.0) extents=20.0m segments=15 | rays: 1.0 arcmin, max_bounces=5, fan=sensor_cone
2026-07-21 20:52:57,726 - INFO - 3352 blast points survive the min-distance filter; grid=150x150 rays/explosion (device=cuda).
1.28 s
_coder@spark-0f87:~/Dev/pressure-wave$