- initStrips() → initAnimationEngine() → WiFi → WIFI_PS_NONE → startUdpServer() order - loop() handles WiFi reconnect: re-enables WIFI_PS_NONE, restarts UDP server - Startup breathing animation fires during WiFi connect (D-11 compliance) - D-10 WiFi timeout: continues last animation on disconnect, UDP auto-restarts - docs/protocol.md: all 8 animations, all commands, zones, port 4210, error handling