extends MeshInstance3D

func _ready():
	var vertices = PackedVector3Array([
		Vector3( 0, 0,  1),  # 0: Top-Left
		Vector3( 1, 0,  1),  # 1: Top-Right
		Vector3( 1, 0,  0),  # 2: Bottom-Right
		Vector3( 0, 0,  0)   # 3: Bottom-Left
	])

	var normals = PackedVector3Array([
		Vector3(0, 1, 0),
		Vector3(0, 1, 0),
		Vector3(0, 1, 0),
		Vector3(0, 1, 0)
	])
	
	var indices = PackedInt32Array([
		0, 2, 1,  # First triangle (0, 1, 2)
		0, 3, 2   # Second triangle (0, 2, 3)
	])
	
	var uvs = PackedVector2Array([
		Vector2(0, 0), # Maps to Vertex 0
		Vector2(1, 0), # Maps to Vertex 1
		Vector2(1, 1), # Maps to Vertex 2
		Vector2(0, 1)  # Maps to Vertex 3
	])

	var arrays = []
	arrays.resize(Mesh.ARRAY_MAX)
	
	arrays[Mesh.ARRAY_VERTEX] = vertices
	arrays[Mesh.ARRAY_NORMAL] = normals
	arrays[Mesh.ARRAY_TEX_UV] = uvs
	arrays[Mesh.ARRAY_INDEX] = indices

	var array_mesh = ArrayMesh.new()
	
	array_mesh.add_surface_from_arrays(Mesh.PRIMITIVE_TRIANGLES, arrays)

	self.mesh = array_mesh
	
	var material = StandardMaterial3D.new()
	material.albedo_color = Color.DEEP_SKY_BLUE
	self.set_surface_override_material(0, material)
