Preheat the broiler and place bread on upper rack in oven until lightly browned on one side only. Rub the toasted side of the bread with the garlic clove.
Whisk the oil and vinegar together. Slice the tomatoes in half lengthwise and then, placing the cut side down, slice the tomatoes thinly. Any juice accumulating on the cutting board, add to the vinaigrette.
Build your pudding in a 1 1/2 quart dish or bowl. I use a small Le Creuset pot usually. You want to make sure you have something that will fit inside the bowl to weigh the pudding down when done.
Place a layer of bread on the bottom of the bowl, cutting or tearing as necessary until the bottom of the pot or bowl is covered. Add a layer of tomatoes keeping the colors diverse, overlapping slightly. Sprinkle a little chopped red onion, corn kernels, diced cucumber, basil, salt and pepper. Then place a few mozzarella slices on top and drizzle with a little of the oil and vinegar.
Start with another layer of bread, pressing the bread down to encourage the tomatoes to release their juices. Repeat layers ending with a layer of tomatoes. Poke the pudding randomly with a skewer and drizzle with remaining oil and vinegar.
Cover with plastic wrap and place a plate on top that fits just inside the bowl or pot. Weigh down the plate with cans or another heavy object (place the bowl or pot on a plate in case juices escape). Keep dish with weights for at least 2 hours at room temperature. To serve, remove weights and plastic wrap, garnish with corn kernels, basil, chopped green tomato and borage flowers - or scattered cherry tomatoes if you have then.....