I had a blog post on something similar (but less sophisticated)
https://jacobdoescode.com/2025/05/18/precomputing-transparen...