Title
#present-company
t

Tak Tran

08/21/2021, 9:53 AM
Hiya, I’m interested in doing some R&D in spatial software, but I’m wondering what are some good tech stacks for prototyping and iterating on ideas? Should I build out my own rendering/layout engine? At the moment, my main skillset is in JavaScript, and I have some knowledge in Unity but am generally open to learning other tech stacks if it makes sense. My current feeling is to prototype in React/DOM, even though I don’t think it’s necessarily the best tool for the job, but it’s what I know best, and it’d make it cross platform to an extent. The domain is language learning, so text rendering is important - I don’t really want to be building text wrapping/layout, if I don’t need to 😬 Anyone have thoughts on this? Thanks!
w

wtaysom

08/21/2021, 10:10 AM
Though John Palmer's post here does not reference AR/VR, that's what "spacial" means to me. Moreover, the spacial advantages Palmer talks about (Afforded Intuition, Expressiveness, Presence) come naturally to the medium. To avoid those advantages, you have to work against the grain. (I mean people do. Here in the vastness and freedom of unbounded space, they just drop a big screen floating a meter away.) Given your background is JavaScript, there are worse places to start than A-Frame https://aframe.io/.
Florian Schulz

Florian Schulz

08/21/2021, 2:35 PM
If all you want is to prototype then I would stick to what you know best and are fastest with (in your case: React). You will hit performance issues but unless you want to build a product won’t matter. If you really need to display a lot of things, you could look into https://pixijs.com/ and if you need realtime sync / collaboration there’s https://github.com/yjs/yjs that could help you.
s

szymon_k

08/21/2021, 4:19 PM
I agree with @Florian Schulz - if you want to explore the domain (instead of learning a new tech stack) then prototyping in what you know like the back of your hand is the right approach - dev velocity matters when building divergent prototypes, and their goal shouldn't be to directly contribute to the "production codebase" but rather to quickly build enough to understand / test an idea, and fearlessly throw things away if they don't work
t

Tak Tran

08/22/2021, 3:47 PM
Totally agree @szymon_k @Florian Schulz, I def need to work out the idea/“find the fun” first with what I’m familiar with, and then finding the optimal tech stack could come later if I want to productise. I was just wondering if there were better levels of abstraction available, without having to munge moving spatially into the DOM (React) or building the interactivity from scratch using a graphics lib (pixi.js)
3:50 PM
@wtaysom thanks! AR/VR will be one of the avenues I want to pursue, but will probably stick with 2D first to flesh out some ideas. The third dimension seems like unnecessary complexity for now (but maybe 2.5D would slip in)
Florian Schulz

Florian Schulz

08/22/2021, 3:56 PM
I haven’t used this one but I can imagine that this could be useful: https://reactflow.dev It already has all the boring work implemented: zoom, pan, … and nodes. Even if you wouldn’t need wires, I assume you could use it to create custom node types and just arrange them on the canvas. It’s used by this tool, also made by the same agency: https://datablocks.pro
t

Tak Tran

08/22/2021, 4:08 PM
ooo, that is an interesting idea @Florian Schulz. I’ve come across react flow before, but didn’t think to use it for this situation. Someone else figuring out all the boring stuff was exactly what I wanted 😅 Drag and drop and layouting looks like good building blocks for me. Thanks for the tip! 🌟