Panel rebuilt as the heat matrix: verdict header (ring + newest fault named with its age, cable cell top right), one row per check with NOW / last-90s-at-5s-a-cell / since-reset columns, noise as a blue context lane; history.go keeps the 18-slot wall-time ring (per-class fault deltas, SNR minima, rate verdicts, measuring gray) plus since-reset aggregates and fault ages that clear on reset; noise cycle grid-locked to the shared slot clock so cells never straddle a phase and flicker, presence granted at boot until the first up-phase verdict; check/cross stroked as capsule marks (font has neither), line rate is a pure verdict everywhere, footer is a three-line stat stack beside hold-to-reset; old panel/chip/stat-grid machinery deleted; mockups/ gitignored
This commit is contained in:
@@ -65,21 +65,22 @@ func drawFatal(cause error) error {
|
||||
return err
|
||||
}
|
||||
|
||||
const margin, lineGap = 32, 8
|
||||
fb.fill(uiBg)
|
||||
noteY := fb.h - spaceRow - body.lineH
|
||||
y := spaceRow
|
||||
title.draw(fb, spaceRow, y-title.capTop, "FATAL", uiRed)
|
||||
y += title.lineH + spaceRow
|
||||
for _, line := range wrapWords(cause.Error(), (fb.w-2*spaceRow)/body.cellW) {
|
||||
if y+body.lineH > noteY-spaceRow {
|
||||
body.draw(fb, spaceRow, y-body.capTop, "...", uiFg)
|
||||
noteY := fb.h - margin - body.lineH
|
||||
y := margin
|
||||
title.draw(fb, margin, y-title.capTop, "FATAL", uiCrit)
|
||||
y += title.lineH + margin
|
||||
for _, line := range wrapWords(cause.Error(), (fb.w-2*margin)/body.cellW) {
|
||||
if y+body.lineH > noteY-margin {
|
||||
body.draw(fb, margin, y-body.capTop, "...", uiInk)
|
||||
break
|
||||
}
|
||||
body.draw(fb, spaceRow, y-body.capTop, line, uiFg)
|
||||
y += body.lineH + spaceTight
|
||||
body.draw(fb, margin, y-body.capTop, line, uiInk)
|
||||
y += body.lineH + lineGap
|
||||
}
|
||||
note := fmt.Sprintf("rebooting in %d minutes", int(fatalRebootDelay.Minutes()))
|
||||
body.draw(fb, spaceRow, noteY-body.capTop, note, uiDim)
|
||||
body.draw(fb, margin, noteY-body.capTop, note, uiMuted)
|
||||
return fb.flush()
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user