package ui

import "strings"

// renderBricks draws solid block columns with visible gaps between rows and bands.
// Uses half-height blocks (▄) so each brick is half a terminal row, with blank
// gaps between them, keeping total height equal to the bars visualizer.
func (v *Visualizer) renderBricks(bands []float64) string {
	height := v.Rows
	lines := make([]string, height)
	bandCount := len(bands)

	for row := range height {
		var content strings.Builder
		rowThreshold := float64(height-1-row) / float64(height)

		for i, level := range bands {
			bw := visBandWidth(bandCount, i)
			if level > rowThreshold {
				for range bw {
					content.WriteString("▄")
				}
			} else {
				for range bw {
					content.WriteByte(' ')
				}
			}
			if i < bandCount-1 {
				content.WriteByte(' ')
			}
		}
		lines[row] = specWrap(rowThreshold, content.String())
	}

	return strings.Join(lines, "\n")
}
