Around 2021, I learned the webgl API from scratch with webgl fundamentals. The API is quite verbose but it gives me a better understanding of how wrapper libraries like Three.js works.
These prototypes are built without libraries to handle how to manage webgl object and basis of shaders.
Vanilla JS