GitHub with scripts to fetch data from sources and run simulations
Vanilla JavaScript can be viewed in site's sources (not minified or anything)
Each of the sources seems to treat the races and ethnicities as mutually exclusive. However, my State Total Population source was the only source to include a "Two Or More Races" category. I felt the fairest way to handle that was to distribute that value proportionally across non-white groups. My reasoning behind this is loosely based on the "one-drop rule" as it seems like it demonstrates that we tend to emphasize people's non-whiteness. This should also make it more difficult for a state to be "accused" of seeming white-supremacist which was presumed to be one of the more common "accusations."
Since I didn't find a good source for state demographics going back as far as I'd like, I'm using whichever year's distribution made the state look least bad - from 2008 to 2018.