firtoz
firtoz.com
firtoz
@firtoz.com
Open-source builder of 3D/web products.

Local-first, collaborative, graphics-adjacent.

Founded few startups. Prev: EA, @unity.com, Improbable

https://firtoz.com
Buldak is a treat
April 16, 2025 at 5:43 AM
You can try it now at greybox.app ! And follow our progress at @greybox.app
Greybox: Collaborative 3D prototyping tool
Greybox is a collaborative 3D prototyping tool. Seamlessly create and refine 3D concepts and mockups.
greybox.app
April 15, 2025 at 12:50 PM
That's it for this thread! If you're interested in the future of AI and 3D, please join our Discord server at discord.gg/y9xZS3tfWb or leave a comment here or shoot a DM!
Join the Greybox Discord Server!
Check out the Greybox community on Discord – hang out with 12 other members and enjoy free voice and text chat.
discord.gg
April 8, 2025 at 6:31 PM
As a result, we ask it to respond with a xml tag and write the code inside. Luckily that was easy enough to generate and parse. Pass that through the sanitizer, run it, then return any logs and error back to Claude, and there you have an agent!
April 8, 2025 at 6:31 PM
Currently it can create primitives and group objects, all with Lua. However this is not with a tool call, it's with xml in the response text stream. This is because of you have a giant string in a tool call parameter Claude will not stream it, and if you run out of tokens, RIP
April 8, 2025 at 6:31 PM
It uses } instead of `end`, tries to do ternaries and inline accessors etc. Hopefully in the future it will improve so we won't need a Lua sanitizer. There are other options e.g. fine tuning some models but we don't have enough samples for training.
April 8, 2025 at 6:31 PM
The better thing: scripting. But which script? JavaScript felt unsafe, python didn't feel right, so we went with Lua. It works well most of the time but it's not perfect. So we had to write a "lua sanitizer". Most of the mistakes Claude makes are because it tries to write JS.
April 8, 2025 at 6:31 PM
Now the details: we have primitives such as cube, sphere, cylinder, etc. First we tried to use one tool call for each shape which allows it to build things incrementally but there's a lot of token wastage and it takes much longer. So we needed to do something better.
April 8, 2025 at 6:31 PM
To try, sign up at greybox.app , once you login, make a scene, and prompt your creation to life! Please share what you create with us, it's very early days, we will add many more features, such as camera poses, animation, scripting, etc.
Greybox: Collaborative 3D prototyping tool
Greybox is a collaborative 3D prototyping tool. Seamlessly create and refine 3D concepts and mockups.
greybox.app
April 8, 2025 at 6:31 PM
I'm sure others figured this out too but for my use case - using the same drizzle schema for both server and client, and enabling offline mode, that's what I needed to solve. If anyone is interesting in diving deeper into anything about this, happy to chat.
March 16, 2025 at 11:20 PM
Then, for offline mode, you need to set up service workers, which is another can of worms in itself. And then, while you're caching files from the service worker, you need to make sure that it will do it in a way to enable the magic headers mentioned in the previous post.
March 16, 2025 at 11:20 PM
If you're deploying on cloudflare, for some reason, the magic headers will not be in the responses for some assets, so you will need to make sure to deploy on a custom domain and then add response header modifications like this:
developers.cloudflare.com/rules/transf...
March 16, 2025 at 11:20 PM
1st, for the database, you can use local storage for small amounts of data and indexeddb for larger, and also origin private file system (OPFS) for more beefy stuff, e.g. for sqlite wasm you use this. However, OPFS has requirements for magic headers: web.dev/articles/cro...
A guide to enable cross-origin isolation  |  Articles  |  web.dev
Cross-origin isolation enables a web page to use powerful features such as SharedArrayBuffer. This article explains how to enable cross-origin isolation on your website.
web.dev
March 16, 2025 at 11:20 PM
To learn more about what we're building, you can check greybox.app !
Greybox: Collaborative 3D prototyping tool
Greybox is a collaborative 3D prototyping tool. Seamlessly create and refine 3D concepts and mockups.
greybox.app
March 8, 2025 at 9:10 PM
The idea is that you should be able to share the web view instantly with a client or the team so they can see the scene or the game without having to open the engine, do a git pull, etc. Or replace git or Collab entirely, who knows. Let us know your thoughts please!
March 8, 2025 at 9:10 PM