The "surface lights" I implemented are nothing fancy like that, all it does is handle cloning & positioning copies of point lights. It's just a shortcut around a lot of copy&paste really. It works best with runic light fixtures where it'll reliably put a single point light on each light fixture.
The q2/q3 light utils have "real" surface lighting, where the light-emitting surfaces are divided into radiosity patches, and then the area of these patches is used in the lighting calculation. See
here in the q3 tools. I think the patches took their colour from an average of 32x32 texels or something.
I did experiment with that code in my tool but didn't have the greatest results, it was slow, tended to cause "hot spot" artifacts on the walls around a lava surface, and generally didn't look very good in Quake.