Let's make a face with D3.js!
This example demonstrates fundamental DOM manipulation with D3.js by building a yellow smiley face with eyes, eyebrows, and a mouth from SVG primitives. The face’s eyebrows animate upward and back down over four seconds using chained `transition().duration()` calls. The code uses D3 v5’s `select` to target the SVG, `append` to add circles and rectangles, and `arc()` to generate the mouth path. All visual elements are positioned via translations and offset attributes, with no external data source—the face is drawn entirely through hardcoded constants.