↑

Finishing the MVP

This week the goal was to finish the MVP. One of the main things I worked on was the GUI. I wanted to make sure that the live preview in Three.js closely matched the STL that Houdini would ultimately generate.  I also spent time this week working on some of the less-visible parts of getting the application ready for testing. I added input validation, isolated generated files into separate jobs, added automatic cleanup of old files, and added rate limits so one user can’t continuously trigger Houdini processes on the server.

I’m still interested in exploring Aurora, SideFX’s solution for bringing HDAs to the web, but there is an advantage to the Three.js approach I’m using now: cost. By simulating the HDA’s behavior in Three.js, the application doesn’t need to call Houdini on the server every time someone changes a parameter. The live preview updates in the browser, and the server only needs to run Houdini when it’s time to generate the final STL.

The disadvantage is that I have to reproduce some of the HDA’s behavior in Three.js. That works for this project, but it could become more difficult as the procedural assets get more complicated. That’s one reason I’m still interested in exploring Aurora as I think about what a larger platform might eventually look like.

I also started testing this week. It was really useful to watch my family members use the application without knowing how I expected it to work. I made several changes to the interface after seeing where they hesitated or got confused, and testing also uncovered a couple of bugs.

A few people have now tested it successfully, and I’ve printed several of the generated files as well. At this point I’m making the final changes before opening it up for a small public test.

And while I kept wanting to improve each aspect of the project, I kept coming back to one goal: finishing the MVP.

Leave a Reply

Your email address will not be published. Required fields are marked *