A 3D scene isn't a DOM — there are no click events on a cube. A Raycaster shoots a ray from the camera through the mouse and reports what it hits. Hover to highlight, click to select. The HUD shows the live hit.
Hover the grid — nothing selected yet.
Mouse position is normalized to [-1, 1] device coords, then raycaster.setFromCamera(ndc, camera) builds the ray. intersectObjects() returns hits sorted by distance — index [0] is the closest, exactly what a picker wants.