As a mediocre frontend dev, this hits hard. I bought a bunch of texts to up my DS&A and college level math skills as I'd like to eventually be able to excecute on 3D animation in the browser, but the books end up sitting on my desk as I consider I'm too old/there're too many people who _do_ have these skills already, etc.
What sort of 3D animation do you want to do? If you're talking about shaders, you might be doing yourself a disservice with the bottom-up approach.
In my opinion, learning to use math functions as tools rather than having a deep understanding of how they work is an equally valid approach. I know several great WebGL developers who really aren't very good at math.
Consider the following definitions of the dot product:
A) Algebraically, the dot product is the sum of the products of the corresponding entries of the two sequences of numbers. Geometrically, it is the product of the Euclidean magnitudes of the two vectors and the cosine of the angle between them. These definitions are equivalent when using Cartesian coordinates. In modern geometry, Euclidean spaces are often defined by using vector spaces. In this case, the dot product is used for defining lengths (the length of a vector is the square root of the dot product of the vector by itself) and angles (the cosine of the angle of two vectors is the quotient of their dot product by the product of their lengths).
or
B) The dot product takes two vectors as inputs, and returns a value of 1.0 if they're pointing the same direction, -1.0 if they're pointing in opposite directions, and 0.0 if they're perpendicular (as long as they're unit vectors of equal length). This function can be used for diffuse lighting calculations (i.e. is the light direction facing the same way as the surface?), checking if a point is in front of another point, etc.
In my opinion, the second definition is much more useful for someone interested in 3D on the web, but it's something you won't find in math textbooks.
This is perhaps where I go wrong, as I assume it's 'all the same thing'. I currently work on a web app that provides an editing interface for 2D animation with DOM objects (so, rectangles), so I have a notion of using matrices for camera transforms but the extension into 3D animation seems like another planet. I get what you're saying with the tool perspective, but I'm usually nervous about "how do I fix something if something breaks".
In the past when I've spoken of what I work on with friends of friends who're professionals in other fields, and I'd frequently be asked about my 3D animation skills as they had some business idea they wanted to execute on. This experience was primarily my motivation to looking further into 3D rather than say gaming so gun to my head 3D modeling and editing would be the first stop.
So, it seems to me that if you already do 2D animation, then figuring out 3D should be something you almost think of as guaranteed. Like it's inevitable that you'd get it right if you put in the time, and then you just make some estimate of like, hmm, maybe 6 months, maybe 3 months, but I'm sure to have figured it out by then.
But I also think that this mindset is something that needs to be learned. Maybe it can only be learned by successfully achieving enough new skills adjacent to things you know. So doing so lets you gain the confidence you'll always figure it out given enough time, and then also maybe gives you a kind of mental pattern of ways to successfully do so.
Never measure yourself by others. Compare yourself to who you were yesterday. You'll always be happier with yourself than you were yesterday and eventually you'll look up and realize someone is looking up to you.
This is especially relevant now as we have instant exposure to the best of the best of any field simply by opening a social media app.
3D demand is only growing because browsers haven’t been able to handle it until recently.
Anecdotally, I develop webgl and the tooling is meh. Far from figured out and even harder if you want to port to React Native too.
As far as math, some is required. But mostly understanding the relationship between position, velocity and acceleration for animations. As well as sin cos and tan for viewport and triangles.
Don’t give up. Age doesn’t matter. Do a little a day.
Luckily, the math for rudimentary 3d is pretty accessible and well documented. There are tons of quality libraries out there for doing linear transformations, so you likely won't need to learn the nuts & bolts unless you really want to. As a bonus, working in 3d is the best way to build an intuition for a lot of linear algebra subjects.
Just keep looking for different niches until you find one that intrigues you enough to get into it without thinking about money. Maybe that niche isn’t even programming.