starting to break the solver3d into separate per-dimension rendering components