Skip to content
This repository was archived by the owner on Aug 24, 2024. It is now read-only.

Commit d07f96e

Browse files
committed
Bring back initial collapse impl
1 parent 07bc93b commit d07f96e

File tree

1 file changed

+11
-12
lines changed

1 file changed

+11
-12
lines changed

src/conjam.gleam

+11-12
Original file line numberDiff line numberDiff line change
@@ -59,22 +59,21 @@ fn collapse_like(frame_data: canvas.ImageData, index: Int) -> canvas.ImageData {
5959
let x = index % canvas.canvas_width
6060
let y = index / canvas.canvas_width
6161

62-
let index_val = canvas.get_pixel(frame_data, x, y)
63-
64-
case index_val == 0x00000000 {
62+
case y == 0 {
6563
True -> frame_data
6664
False -> {
67-
let matching =
68-
canvas.get_neighbours_matching(frame_data, x, y, fn(pixel) {
69-
index_val == pixel
70-
})
65+
let pixel_val =
66+
frame_data
67+
|> canvas.get_pixel(x, y)
68+
let above_pixel_val =
69+
frame_data
70+
|> canvas.get_pixel(x, y - 1)
7171

72-
case matching {
73-
0 -> frame_data
74-
_ -> {
72+
case pixel_val == above_pixel_val && pixel_val != 0x00000000 {
73+
True ->
7574
frame_data
7675
|> canvas.set_pixel(x, y, 0x00000000)
77-
}
76+
False -> frame_data
7877
}
7978
}
8079
}
@@ -87,7 +86,7 @@ fn iter_pixels(frame_data: canvas.ImageData, index: Int) -> canvas.ImageData {
8786
let new_frame_data =
8887
frame_data
8988
|> apply_gravity(index)
90-
// |> collapse_like(index)
89+
|> collapse_like(index)
9190

9291
iter_pixels(new_frame_data, index - 1)
9392
}

0 commit comments

Comments
 (0)