Dynamic lighting and shadows, water, sky and weather, on either backend.
Both graphics APIs behind one surface, chosen at startup from the device the browser actually hands over rather than from what it advertises, and reported rather than inferred. Lights have a physical size and their shadows follow from it, so a bulb throws a crisp edge and a flame a soft one that widens with distance from the caster; clustering shades a surface against the lights reaching its own part of the frustum, which takes a scene from sixteen point lights to three hundred and twenty, and every fixed light past those is summed into a volume the walls shadow, so a hall of candles is lit by every candle. Probes on a grid light the scene from the place it is in, so a polished metal mirrors that place rather than an average of the room, and where the newer API is available the light between surfaces is traced through a distance field into the same probes. Water is a wave simulation with reflections, smoke is advected and dissipating, and one wind sampled once a frame moves everything that answers to air, so a canopy and its shadow bend together. An optional screen space chain adds occlusion, glow, a defocus that follows the lens you describe, motion blur, exposure that adapts to the frame and to each region of it, darkened corners, grain and a graded look from a table an artist exported. Glass bends what is behind it and takes colour out of it, and imported models arrive wearing their own normal, occlusion, roughness, metallic and emissive maps.
In the manual: Meshes and geometry, Materials, Lights, Shadows, Light in the air, Sky and atmosphere, Fog and weather, Water, Reflections, Translucent and additive meshes, Decals, Post-processing, Colour and motion, DriftLight, DriftRay, DriftTR, The GPU-driven pipeline, Particles, Custom passes and compute, WebGPU and WebGL2, Render quality