Asparagus and Tomato Panzanella

3 cups cubed crusty bread
1/4 cup olive oil, as needed
3 cloves garlic, minced
kosher salt to taste
ground black pepper to taste
1 pound fresh asparagus, trimmed
1 English cucumber - peeled, seeded, and sliced
10 cherry tomatoes, halved
2 small yellow tomatoes, cut into wedges
1 red onion, cut into wedges
3/4 cup pitted kalamata olives
1/4 cup capers, drained
3/4 cup fresh mozzarella balls (bocconcini)
1/4 cup red wine vinegar
1/4 cup extra-virgin olive oil

Preheat oven to 400 degrees F (200 degrees C).
Toss bread, 1/4 cup olive oil, and garlic in a bowl until coated. Season with salt and black pepper. Transfer mixture to a baking sheet.
Bake in the preheated oven until toasted, about 15 minutes, stirring and flipping bread cubes about halfway through. Allow bread to cool.
Fill a large bowl with iced water; set aside. Bring a pot of salted water to a boil; cook asparagus in boiling water until bright green and just tender, 2 to 3 minutes. Transfer asparagus to iced water to cool. Drain and dry on a clean towel. Cut asparagus into thirds.
Mix asparagus, cucumber, cherry tomatoes, yellow tomatoes, red onion, olives, capers, mozzarella balls, and bread cubes in a large bowl. Whisk red wine vinegar and 1/4 cup extra-virgin olive oil in a small bowl; season with salt and pepper. Pour vinegar dressing over bread mixture; toss to combine. Allow bread salad to rest for 20 minutes before serving.