Blog

2026-09-22

Your project, in 3D: the new View inside Spaces

A few days ago I found myself thinking about the metaverse — about why "everything inside a 3D world" never really caught on for everyday work. The honest answer I landed on: most people don't own a headset, and won't buy one just to manage a project. But the aesthetic — nodes as glowing spheres, connections as light trails, a background that looks like a starfield — that part is beautiful regardless of the device.

So today I did the obvious thing I'd been putting off: take what I'd already built for UluP Spatial (the VR/AR version of Spaces, built for Meta Quest) and bring it into Spaces itself, as an alternative view. Not a new app, not a separate mode — a button.

2D View / 3D View

There's now an extra icon in the project toolbar, next to Present Mode. One click and the canvas — same nodes, same connections, same data — transforms: flat cards become colored spheres floating in a dark, star-dotted space, linked by glowing lines. You can orbit the scene, zoom in, drag a node to reposition it — all with mouse or trackpad, no headset needed.

The most satisfying part, technically, is that I didn't have to reinvent anything underneath. The new 3D view receives exactly the same data and the same functions already wired up for the 2D canvas — same position-saving logic, same realtime sync, same edit permissions. Only *how* things get drawn changes, not *what* happens when you touch them.

Why

Two reasons, one practical and one about where this is heading.

The practical one: it's a free "wow" moment for anyone discovering Spaces for the first time — seeing your own project as a small personal constellation lands in a way a flat task list simply can't.

The bigger one: it's the first step toward something I've been planning — a "3D museum" that gathers every UluP Studio product into one explorable space, inside UluP Hub. Building this view inside Spaces first, with real users trying it right away, gives me a concrete testing ground before reusing the same components for something more ambitious.

The rest of the day: a more solid Spatial

Alongside that, I closed a bug that had been nagging at me for a couple of days: on the wrist-mounted task panel in VR, your finger would pass straight through instead of "touching" it — you always had to pinch, never a direct tap like on the headset's own native apps. The cause, found by reading the interaction library's actual source code, turned out to be a kind of silent tug-of-war between two hand-pointing systems that were quietly canceling each other out. Fixed surgically, without touching anything else.

And I redesigned the voice interaction, both for creating a node and adding a task: before, you had to hold the microphone down for the entire time you were speaking (awkward, and worse, with no reliable visual sign it was actually listening). Now it's tap to start, tap to stop — with an indicator that stays visible the whole time you're talking.

Dense day. Onward.