I did have some success last weekend getting my fork to send a project’s data to a Cloudflare worker (where I can store it via Workers KV), but past that point I feel a bit stuck. None of this code is documented and I don’t have any backend experience. I think I need some sort of actual account and login system so that students can access all of their past projects.
I'll probably keep poking at it, I'm just not sure I'll get anywhere. Other prominent forks such as Turbowarp don’t have cloud saving either, and now I think I understand why.
It’s kind of frustrating tbqh. Scratch isn’t a good open source project if it’s centralized around a single host. I expect this of corporations who ultimately need to cultivate a customer base, but Scratch is an academic initiative from a prominent university. I understand why the backend is closed source, but I wish they provided clear documentation on how to hook it up to something else. (I also realize that like everyone in academia, they're probably understaffed and overworked, and I really do respect the tool they've built.)
I'm sure it could be an uphill battle, but something like this might warrant a toggle-able "debug-friendly" mode that wouldn't be as concerned with performance. I could image possibly extending this principle to make repaints happen much more often, possibly even with a deliberate short pause after each repaint (which you might have already done) to avoid super fast jittering confusing a student's path to understanding loops or the speed of computations allowing them to hide bugs in a string of instructions that don't have one of these wait commands or "critical points" in execution to force a repaint to help them understand the current state.