← back to jeffnv__lockin

Function bodies 52 total

All specs Real LLM only Function bodies
updateBinaryFade method · go · L396-L430 (35 LOC)
viz.go
func (m *model) updateBinaryFade() {
	h := int(m.remaining.Hours())
	min := int(m.remaining.Minutes()) % 60
	sec := int(m.remaining.Seconds()) % 60

	var digits []int
	if h > 0 {
		digits = append(digits, h/10, h%10)
	}
	digits = append(digits, min/10, min%10, sec/10, sec%10)

	bitValues := []int{8, 4, 2, 1}
	totalBits := len(digits) * 4

	currentBits := make([]bool, totalBits)
	for di, d := range digits {
		for bi, bv := range bitValues {
			currentBits[di*4+bi] = d&bv != 0
		}
	}

	if len(m.binaryPrevBits) != totalBits {
		m.binaryPrevBits = currentBits
		m.binaryOffAt = make([]time.Time, totalBits)
		return
	}

	now := time.Now()
	for i := range currentBits {
		if m.binaryPrevBits[i] && !currentBits[i] {
			m.binaryOffAt[i] = now
		}
	}
	m.binaryPrevBits = currentBits
}
renderBinary method · go · L432-L506 (75 LOC)
viz.go
func (m model) renderBinary() string {
	h := int(m.remaining.Hours())
	min := int(m.remaining.Minutes()) % 60
	sec := int(m.remaining.Seconds()) % 60

	type digitGroup struct {
		label  string
		digits []int
	}

	var groups []digitGroup
	if h > 0 {
		groups = append(groups, digitGroup{"H", []int{h / 10, h % 10}})
	}
	groups = append(groups, digitGroup{"M", []int{min / 10, min % 10}})
	groups = append(groups, digitGroup{"S", []int{sec / 10, sec % 10}})

	baseColor := m.timerColor()
	activeStyle := lipgloss.NewStyle().Foreground(baseColor)
	inactiveStyle := lipgloss.NewStyle().Foreground(colorDim)
	labelStyle := lipgloss.NewStyle().Foreground(colorDim)

	bitValues := []int{8, 4, 2, 1}
	var rows [4]strings.Builder
	var labelRow strings.Builder

	col := 0
	for gi, g := range groups {
		if gi > 0 {
			for r := 0; r < 4; r++ {
				rows[r].WriteString("  ")
			}
			labelRow.WriteString("  ")
		}
		for di, d := range g.digits {
			if di > 0 {
				for r := 0; r < 4; r++ {
					rows[r].WriteStri
‹ prevpage 2 / 2