ac-native: use existing red/white strobe for shutdown, share across poweroff paths master
Previous commit added a new fade-to-black shutdown animation, but ac-native already had a canonical shutdown animation — the inline red/white chaotic strobe at the power-button handler (~line 4307), with jitter, flicker, "bye @handle" title, TTS + shutdown chime, kernel printk suppression, and VT cursor hide. Replace the new animation with the existing one, extracted into draw_shutdown_anim(): - Visual: 90-frame red/white strobe with position-jittered title - Post: final black frame + kernel printk=0 + VT cursor hide - Pre (NOT in this function): TTS + shutdown chime — callers with tts/audio pointers in scope (power-button handler) trigger those before the visual so the farewell audio leads in Replace the inline body in the main loop's power-button handler with a call to draw_shutdown_anim(). TTS / shutdown chime + the bye_speech construction stay inline since they need the tts/audio handles. Single-shot guard: the main-loop path calls draw_shutdown_anim() inline, sets running=0 and breaks, then cleanup runs and ends with ac_poweroff() at line 4750 — which would call the animation AGAIN on freed screen/display memory. Guard prevents double-play. Now all poweroff paths (main-loop power button, ac_poweroff() called from JS-bindings, ac_poweroff() on crash/OTA) produce the same red/white farewell. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>