Refactor validation of math preferences and eliminate duplicate MathCATInteraction objects (#19680)
Follow-up to #19598, where validation for the pause factor in math settings was discussed.
Summary of the issue:
A large amount of code in MathCAT/preferences.py was dedicated to validating math settings. This made more sense when we were writing these preferences to a YAML file, but now that the YAML file has been eliminated, there is no need to have this extra layer of validation.
An extra, unnecessary MathCATInteraction object was being created in MathCAT.interactWithMathMl.
Description of user facing changes:
It is possible that the extra validation layer contained bugs which caused some of the issues that were reported with the rate and pause factor not being applied. These issues have been difficult to reproduce, but keeping validation in a single place is the right move in any case.
Description of developer facing changes:
Moved math settings validation so that it all lives in configSpec.py and deleted a duplicate MathCATInteraction object.
Description of development approach:
Simple refactor of validation bounds and deleted duplicate code.