Pretty much everything I've worked on with Codex up to now has been stuff I could have built myself, within my area of expertise (or learnable), it just would have taken weeks or months.
This 3D scene app is something I never would have been able to build myself. I would have needed a team of rendering experts with domain-specific knowledge and human-years of research
I love how visionOS, uniquely, *explodes* when rendering goes wrong.
Hello [MacBook] Neo.
So now that visionOS 26 lets you spawn immersive scenes from UIKit apps, I had Codex implement me an immersive scene using Metal and CompositorServices that mirrors the in-window viewport and lets you live in your scene 😁
It's real frickin cool.
The raytracer might be off limits for visionOS, but there's a lot of interesting stuff to do in other areas
I figured why not use RealityKit for the material previews, so now they are actual spheres.
Miraculously, it all still works — the Metal viewport, the Metal immersive scene, and the RealityKit UI elements, but it's very clear the Vision Pro (M2) doesn't have much headroom to build an actual app around this stuff
The raytracer is, for now, a no-go on visionOS. It's possible I could throttle it and stay within visionOS' systemwide render budget. But it's probably worth improving the RT performance a bunch on its own first before I come back and try it here. I might run out of steam on this prototype before then.
This entire app project is still in my 'Temp' folder, where throwaway projects live 😅
Some more things to show off here on this iPad mini 6!
• Longpress band gesture
• Multi-select
• Vertex editing
• Subdividing
• My 'generate a Cornell Box' button
• (And the raytracer, of course)
There is a lot of really neat stuff in this app. Still using Codex 5.3 Medium, still haven't touched a line of code myself
I never really thought about it before, but multitouch is actually legit for 3D modeling tools, maybe even better than a desktop. On a Mac, you need to hold modifier keys (or buy a multi-button mouse) to do everything you want with the viewport, but on touch you can orbit, pan, zoom, and multi-select very easily. If you special-case the stylus too, like I am, it feels very powerful.
Almost all of this extends to spatial computing, though visionOS struggles a bit with two-hand gestures
iPadOS has never been better for rich, complex, desktop-class apps. Almost all of the old barriers and blockers are gone.
Sadly, Apple waited until most developers had run out of patience with the platform.
If this thing had Xcode, a real Xcode, it would be effectively complete
Even my iPhone 12 Pro Max can raytrace!
Which I guess is not all that surprising, considering the A14 chip is the same generation as the M1
That’s a whole lot of raytracing from a little iPad. Biggest render to date, at 5120x2880 — took about an hour to get to the final pass.
Crashed right at the end, so I didn’t get to take a picture of the final output 🥲
The raytracer still needs a bunch of work, but it’s more and more capable day by day
Retro.
This 3D modeling app and the switch to the more-expensive GPT 5.4 model might finally be the thing that burns through my weekly usage budget. It's now 25K lines of code; the more-complex renderer really ballooned things a bit, but it's worth it.
I finally moved it out of my temp folder and into my projects folder, and handed it off to a fresh GPT 5.4 session with a bunch of documented context about the intricacies of the project. Hopefully that's enough to jump-start it
I know how to use Photoshop, and I wish 3D tools were as easy to use as a Photoshop. So I think that's the kind of app I want to create*. Not knowing what I don't know, I'm sure to stumble across features that no self-respecting modeling tool would add, but are great for people like me. That's the beauty of cross-domain knowledge, I guess.
Anyway here's a pen tool.
(*you know, if this ever actually becomes something I would want to ship and put my name to)
The Logitech Muse hardware does feel like a piece of junk. Connecting it to the headset is really flakey — you pretty much have to unpair it and re-pair it every time you want to use it, before visionOS will recognize it and account for it in passthrough, but I suspect that's Apple's bug. Together, though, it makes it feel pretty lame to use.
Anyway, my stylus-drawing code works on visionOS too