Early in the design of BRL-CAD, a decision was made to use the Tcl library at all levels of the code. Over the years this design decision has been revisited and the current desire is to have the BRL-CAD core libraries not depend directly on Tcl - instead, Tcl functionality (still very important for the majority of our tools) should live at a higher level. (Currently the targeted location is the tclcad library).
This task would identify all current uses of Tcl in libbu, libbn, and possibly other basic BRL-CAD libraries. The student would then design and implement API and code changes as needed to encapsulate Tcl usage at higher levels. This project requires close coordination with BRL-CAD developers, as it impacts many critically important libraries and needs careful thought.