Sharing this because it’s one quote that I keep fa...
# thinking-together
Sharing this because it’s one quote that I keep falling back on as motivation and validation that my desire to build a three-dimensional environment for software development is at least a path worth going down. It’s hard to come by that sometime 😃
☝️ 3
Aphantasic (no concrete mental imagery) here. I use my spatial brain wiring for conceptual dimensions all the time, it’s great 🙂
I’ve learned a new word and phrase today, that’s really neat. Would it be rude to ask a bit about how this sorta works for you? Like, do you have any metaphors or analogies that detail what your experience is like with this?
Oh my gosh I love this and I’m reading it now
I’ll have to admit that I loved the ideas, but had a difficult time ‘envisioning’ the idea of dimensionless domains like time. I think in my mind I see grids and patterns and can align them in such a way that they develop correlations to positions in space. I don’t think I have the same process of abstracting arbitrary measurements into ‘tangible’ dimensions.. it’s incredibly fascinating. Did I get any of that right?
I think so!
Not sure how you could interpret time as dimensionless, it’s literally the fourth dimension (under some interpretations of physics) 😉
Good point. I think that comes down literally to my default meaning of dimension, which is probably far from a scientific sense. “Noun: a measurable extent of some kind, such as length, breadth, or height” If we're being really tricky, we don't measure time. We measure the change of an object over what we perceive as time and decide that things like oscillations in atoms represent time, but we still have no ruler that says “1 second / 2 second / 3 second”. By golly I wish we did.
Interesting, I reckon there's potential there. A lot of skill in technical domains seems to be about somehow getting our brains to represent the problems in terms of things we're evolved for - spatial memory/reasoning and social skills being two big ones (code "talks to" other systems, has "knowledge", "responsibilities", etc)
If I had absolutely any strength in 3D graphics programming, this would be my daily project. I've made a tiny bit of headway with Apple’s SceneKit, but quickly hit the limitations of the abstraction’s performance. And it's so damn hard to find real tutorials or mentorship around the topic. I'm just shy of making a blog post to beg for GPU masters to take my money to help get me started. Too many years of enterprise coding crap stuck in my head to undo myself. And that's just the mechanical piece. There's just no excuse anymore for the raw power of GPUs to not be able to render billions of relationships in some meaningful way, and I can't help but feel like we're on an IDE treadmill built by the same people that think analytic vendors are the future humankind.
In my experience, the human is the limiting factor in complex info visualizations way earlier than the rendering 😉
It doesn’t do much good to render a billion points in a point cloud, you have to apply some kind of perceptual summarization to make it meaningful
Absolutely. In my case, I'm trying to do the just text rendering thing, and learning the tools do that dynamically in space means models, meshes, texture mapping, GPU instructions, and your favorite flavor of graphics language
All the SceneKit stuff I have is node based, and that's where I pull off the fun AST analysis and highlighting stuff, but 50k+ vector bufffers for all the visible glyph texture maps is nuts. I'm trying to follow an old Metal tutorial now, and it's more of a slog than I'm used to. Lots of primitives and pathways to learn simultaneously.
For me one big "wow" is that you can fit a lot more stuff in 3D than on a screen without it getting cluttered. Another is that you can really leverage packing. Like, suppose we have a 3D object in front of us. Just seeing its shape uses up three dimensions, so how do we inspect its attributes? One way is to pack them next to it. So when I look at the thing, it receives focus gets a little halo around the outside edge. Like a shell going around the backside. Grabbing from the natural angle of my hand to the object, I pick up the object, but if I come in from a weird angle, I grab the shell instead which folds out revealing attribute inspectors. You can repeat those. So, I don't know, suppose you have a material sharer with a bunch of color attributes. You unfold a few. Unfolding a color gives you a color-space cylinder or sphere. Moving your hand through the space previews changes. Pulling the trigger selects one. How to draw a space? Well, since it's the interior of the volume that's interesting, you certainly don't want to draw it's surface! One idea is to have a bunch of particles inside wiggling around changing color based on the value of the field in there. Each particle could have a different way of exploring the space (one favors orbiting around hue, one wiggles back and forth along saturation), so by delegating your selection to one of those, you could sit back and watch the material properties shift in some organized way.
Little late but Jaron Lanier claims to have developed a spatial VR programming environment in the 80s, which is elaborated in and "Dawn of the New Everything".
spatial VR programming environment in the 80s,
I am so far behind, haha. Thanks for sharing this, I have some reading tonight.
Honestly, with all this coming back up in recent years, I’d seriously pay money to be in a big group of engineers to just hack on something like this for a day, a week. I can only imagine what would come of the folks here working in 2D space to bring these crazy abstractions into visual perspective would do with like minded folks with a whole extra D 😜