fix: error state, leg grouping, prompt→generating transition

- log_parser: detect model load failure (child + router patterns) → state=error;
  switch to generating at progress=1.00 and at prompt eval summary line
- frontend: add state-error (llama flashes red, CSS variable override);
  group each leg+hoof in <g> so walk animation moves hooves with legs

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
Vlad Doloman
2026-06-22 22:10:43 +03:00
parent 311819b51c
commit 9dcb5b977a
4 changed files with 49 additions and 21 deletions

View File

@@ -145,6 +145,14 @@ body.state-processing_prompt #progress-wrap { display: flex; }
/* offline */
body.state-offline #llama { opacity: 0.15; }
/* error: llama flashes red */
body.state-error { --amber: var(--red); --amber-dim: #cc3333; --amber-dk: #882222; }
body.state-error #llama { animation: error-flash 1s ease-in-out infinite; }
@keyframes error-flash {
0%, 100% { opacity: 1; }
50% { opacity: 0.4; }
}
/* ── ZZZ ─────────────────────────────────────────────────────────────────── */
#zzz-wrap {
position: absolute;
@@ -341,6 +349,11 @@ body.state-unloading #row-speed,
body.state-unloading #row-tokens,
body.state-unloading #row-load-stage { display: none; }
body.state-error #row-prompt,
body.state-error #row-speed,
body.state-error #row-tokens,
body.state-error #row-load-stage { display: none; }
body.state-processing_prompt #row-speed,
body.state-processing_prompt #row-load-stage { display: none; }
@@ -390,12 +403,12 @@ body.state-waiting .right-ear {
body.state-loading .leg-fl,
body.state-loading .leg-bl {
animation: walk-a 0.7s ease-in-out infinite;
transform-origin: 37px 100px;
transform-origin: 34px 100px;
}
body.state-loading .leg-fr,
body.state-loading .leg-br {
animation: walk-b 0.7s ease-in-out infinite;
transform-origin: 51px 100px;
transform-origin: 45px 100px;
}
@keyframes walk-a {