import numpy as np from core import image_billboard_points, write_preview_ply def test_billboard_preview_is_finite_and_colored(tmp_path): image = np.zeros((4, 6, 3), dtype=np.uint8) image[..., 0] = 200 points, colors = image_billboard_points(image, max_side=6) assert points.shape == (24, 3) assert colors.shape == (24, 3) assert np.isfinite(points).all() assert np.all(colors[:, 0] == 200) path = write_preview_ply(tmp_path / "preview.ply", points, colors) assert "element vertex 24" in path.read_text(encoding="utf-8")