Let's make a face with D3.js!
A smiley face drawn with D3.js demonstrates declarative DOM manipulation through basic SVG shapes, while animated eyebrows show how transitions update attributes over time. The code explicitly builds the face using `select`, `append`, and `attr` for circles, rectangles, and a mouth path via the `arc()` generator. Two chained `transition().duration(2000)` calls move the eyebrow group up and then back down, creating a repeated motion loop. The face is centered with a `g` transform, and all styling relies on inline attributes with yellow and black fills.