I use SageMath to find minimal polynomials and solve the constructions algebraically. The reason I say that the library is only "arbitrary precision" and not exact/symbolic is that I use approximation in order to distinguish between points. I believe the "correct" way to implement this as exact would have been to save for each number its minimal polynomial and some interval that contains it and distinguishes it from the other roots of its minimal polynomial. It shouldn't be too much work to incorporate this, maybe I will do it some day :)
I was wondering about this myself, it feels and probably is possible, and I have some ideas on how to do it. Though, on the one hand it would be cool if the entire GB was emulated using compass-and-straightedge, but OTOH, it would be less "pure" and a little more "forced" than just simulating the ALU, if you get what I mean.
One idea I had is trying to draw the graphics of the game using compass-and-straightedge constructions (i.e., using circles and lines to draw approximately the GB graphics)
I use SageMath to find minimal polynomials and solve the constructions algebraically. The reason I say that the library is only "arbitrary precision" and not exact/symbolic is that I use approximation in order to distinguish between points. I believe the "correct" way to implement this as exact would have been to save for each number its minimal polynomial and some interval that contains it and distinguishes it from the other roots of its minimal polynomial. It shouldn't be too much work to incorporate this, maybe I will do it some day :)