\documentclass{standalone} \usepackage{svg-animate} \begin{document} \begin{tikzpicture} \tikzset{/anim/duration=1.5} %% Housing (static — always visible) \fill[black!80, rounded corners=8pt] (-1.4, -4.0) rectangle (1.4, 4.0); \fill[black!50, rounded corners=6pt] (-1.2, -3.8) rectangle (1.2, 3.8); %% Lens covers (static dark glass behind each bulb) \foreach \y in {2.2, 0, -2.2} { \fill[black!60] (0, \y) circle[radius=0.95]; } %% The three lights, one per animation step. %% When inactive, opacity=0.08 simulates an unlit bulb seen through dark glass. \begin{animate}[inactive opacity=0.08] %% Static PDF fallback: show only the red light (one clean frame). %% Ignored in SVG mode; in PDF mode \reveal draws nothing so only this appears. \noanimate{\fill[red!85!black] (0, 2.2) circle[radius=0.85];} %% Step 1 -- green (1.5 s) \reveal{\fill[green!65!black] (0, -2.2) circle[radius=0.85];} \animstep[duration=0.5] %% Step 2 -- green+amber transition (0.5 s) \reveal{\fill[green!65!black] (0, -2.2) circle[radius=0.85];} \reveal[blink=0.2]{\fill[orange!90!black] (0, 0.0) circle[radius=0.85];} \animstep[duration=1.0] %% Step 3 -- amber (1.0 s) \reveal{\fill[orange!90!black] (0, 0.0) circle[radius=0.85];} \animstep %% Step 4 -- red (1.5 s) \reveal{\fill[red!85!black] (0, 2.2) circle[radius=0.85];} \end{animate} \end{tikzpicture} \end{document}