@tylertracey09 you might find this reference code useful. I used Three.js directly from ClojureScript without any kind of wrapper or what have you. https://infinitelives.github.io/px3d/ https://github.com/infinitelives/px3d
threagent looks great thanks for sharing!
Yeah this is awesome! I dig the rendering style, definitely interesting in diving into the code
I saw a few examples of raw Three.js stuff and the imperative statefulness of it seemed a bit overwhelming.
Yeah it's hard to work with. I would much prefer a declarative approach.
Gotcha, yeah I think react-three-fiber/threeagent are a good approach for that kind of thing.
I will say I've done a bit of vanilla js stuff with react-three-fiber, and I found the actual library to be a bit messy. It gets the job done but it is essentially a react concretion where the three.js primitives are generated into react components. It's definitely cool, but I think there's a better approach. Threeagent in general is probably a good start. My current issue with it is that if a threeagent component is rendered by a reagent component, hiccup gets pretty confused and tries to interpret the threeagent primitives as HTML.
I saw that Three can take a JSON definition of a full scene - something I wanted to test was using this to update the scene dynamically. Probably be slow though.