It’s true that there’s a lot to know about web development and there are many tools and frameworks that can be used. Thus I’ll try to simplify your choices a bit:
To build UIs in the browser, you need to learn frontend technologies - JavaScript, HTML, CSS. Learn the basics of these, before you jump into abstractions like frameworks and libraries. Once you can create a basic UI that way you can graduate to the next level - you’ll need a JavaScript UI building framework (e.g. React, Vue; there are others but to simplify things just choose one of these) and usually also some sort of CSS framework/foundation so that you don’t have to style everything from scratch (Bootstrap is a nice option, especially for beginners). Both Vue and React have CLIs for generating skeleton projects with CSS frameworks, linters, bundlers etc. already pre-configured, so for beginners I suggest using those.
Once you’ve learned enough of that, you can start looking into more specific web use cases like rendering 3D stuff with Three.js etc.
Backend-wise - you might not even need it for your app. If you don’t need to persist data in a centralized place (e.g. have user accounts) or off-load heavy processing off the user’s browser or do any kind of work that you don’t trust to be done in the browser (cause it can be manipulated by users easily), then you don’t really need a backend.
Once you do need those things, you can re-use your JavaScript knowledge from the frontend and write Node.js backends. At it’s core Node.js is just a JavaScript environment that can be ran outside of the browser, so you can build servers, CLIs and pretty much anything with it. For your app you’ll be interested in building a server specifically, and while you can do so with pure Node.js and without any frameworks, that’s going to be too complicated and low-level so you should look into server frameworks.
To choose an appropriate server framework you need to evaluate how the frontend (the JS running in the browser) will communicate with the server (an API running on some server somewhere). Personally I find GraphQL (btw the client-side developer experience when working with GraphQL is much nicer in React) the best solution here, but that’s a sort of complicated subject in and of itself, so to simplify things I suggest you just do REST at first - your server would expose a REST API, that you would request from your client.
A nice server-side framework for building a REST API is Nest.js. You might’ve heard of Express.js as a Node.js server framework, but I think it’s too low level for a real web application and Nest.js is much nicer to use.