diff --git a/patches/.gdignore b/patches/.gdignore
new file mode 100644
index 0000000000000000000000000000000000000000..e69de29bb2d1d6434b8b29ae775ad8c2e48c5391
diff --git a/visualization/box.gdshader b/visualization/box.gdshader
index 043a1289ee4965f5bf04bc0c3f9722811c617569..767004be783708dd2591996bd77ba1b3ee97e770 100644
--- a/visualization/box.gdshader
+++ b/visualization/box.gdshader
@@ -4,7 +4,7 @@ render_mode unshaded;
 varying float dist;
 
 void vertex() {
-	float t=0.49;
+	float t=0.99;
 	if((abs(VERTEX.x)>t && abs(VERTEX.y)>t) 
 		|| (abs(VERTEX.x)>t && abs(VERTEX.z)>t)
 			|| (abs(VERTEX.y)>t && abs(VERTEX.z)>t)) {
diff --git a/visualization/checkerboard.gdshader b/visualization/checkerboard.gdshader
new file mode 100644
index 0000000000000000000000000000000000000000..87183179375a12f1e73dc121778c6380ca73a4a7
--- /dev/null
+++ b/visualization/checkerboard.gdshader
@@ -0,0 +1,17 @@
+shader_type spatial;
+render_mode ambient_light_disabled;
+
+varying vec2 pos;
+uniform float cell = 1.0;
+
+void vertex() {
+	pos = (MODEL_MATRIX*vec4(VERTEX,1.0)).xz;
+}
+
+
+void fragment() {
+	float x = floor(mod(pos.x,cell*2.0)/cell);
+	float y = floor(mod(pos.y,cell*2.0)/cell);
+	float v = abs(x-y)*0.1+0.1;
+	ALBEDO = vec3(v);
+}
\ No newline at end of file