@Tricotou, I completely agree with you that we don’t see the playground as an editor, but more a “playground” where you can try out code and more than anything, learn how to use Babylon.js. It’s super useful for passing around examples or bug repros, but as I see some playgrounds with hundreds - sometimes more than a thousand - versions it does feel like some people are using it for more than just a quick experiment. Granted, anyone can find a playground and save a version to grow that number, but I also see people working out ideas in the PG before they bring it to their own codebase and staying in the tool for a while.
By the way, there is a ctrl + s on the PG, and I believe it’s enabled by default:
I also agree with you that this feature’s superpower is to quickly set up a playground to experiment or quickly build a repro and I love that about it. But I also know we have a broad range of skill in our community from working engineers to those just starting their learning journey into computer graphics. The ones who are just learning are far more susceptible to any potential pain point in the UX and may not even realize the intent for this feature to quickly set up a scene rather than being a “build a scene through templates” approach. And getting used to our snippet server saving and PG ID system does take a little time to realize what is going on for a new user.
And I would be remiss if I didn’t admit that I am prone to doing stupid things that cause me to lose work from time to time. I could just be setting up a quick bug repro (which means I’m not saving) and need to add something else like a shadow generator or arc rotate camera and not be thinking and grab it from this feature where whatever I wrote would be replaced. If I can easily imagine a scenario where I use these tools every day and don’t find it strange that I could find myself losing code, I have to imagine it could happen to anyone.
And as you say about Blender, all companies making products for humans make decisions based on how they think that product will be used and almost all find out that when humans get involved, design intent means nothing. I can’t tell you the number of times I thought something would be obvious until I handed it to someone else. I learned early on that if I think something is obvious or easily understood, I’m not thinking hard enough about it.
I think from both of your suggestions, the Additive
solution offers the most benefit with the least amount of risk. If we have to put big warnings on a feature, we are relying heavily on users to read UI or not just click through warning boxes. I mean how many EULAs have we all clicked accept on as soon as the window pops up? We are conditioned to do it so I don’t think any amount of red text or scary language will prevent people from losing code and feeling the tool is broken. I love your suggestions, though and I think that having both ctrl + space and a dropdown that work in the same ways actually becomes a strength. I always try to design UI to have multiple paths to do what people want. Some like menus, others like shortcuts. Enabling both has the best chance of pleasing the largest number of users.
I really appreciate all of the thought and effort you have put into the design of the tool and I think this change will make it a better UX overall and make it useful in even more scenarios!