Hello
See Glidor's Quake2 modified engine to understand how to build brushes out from bsp30 file. In your code you only need to switch drawing nodes to clip nodes.
See jswigart's Omni-bot to see how to create vertice mesh from generated brushes. This mesh later can be provided for recastnavmesh for example.
I personally thanks to Glidor realized tracing against bboxes of different sizes in HL1 engine, but this is not the end, with generated brushes we can trace against any arbitrary shape even if it's angled like it does in modern game engines like source engine - I think this thing is definitely must be in HL1 modified engines, like regamedll for example
The only one i've stucked in is how to match clipping brushes with drawing brushes to stole their texture data and original size without addional hull.