Discuss Scratch

chipmunkmc
Scratch Team
21 posts

Website development

This is a thread for discussing the development of the software used by scr.chipmunk.land!
I decided to create it since using profile comments can be a bit messy.

This website is made up of multiple projects:
* Means a project in use was forked

Join the IRC channel! (chipmunk.land 6697, TLS, #scratch)

Last edited by chipmunkmc (Feb. 27, 2026 05:35:38)


https://max.chipmunk.land/
hi, this is my signature!
Heathercat123
Scratcher
11 posts

Website development

I'd really like to request a Scratch teacher account for both APIClone and scratch-eleusis research, but the thing is, I already used my personal email an other accounts that are banned and my only other one is a .waifu.club email

Creator of much of the backend code for this website (the Scratch section, not the rest!) along with contributions from @chipmunkmc.
chipmunkmc
Scratch Team
21 posts

Website development

Heathercat123 wrote:

I'd really like to request a Scratch teacher account for both APIClone and scratch-eleusis research, but the thing is, I already used my personal email an other accounts that are banned and my only other one is a .waifu.club email

I see… I suppose you should just register a new email, maybe on a common provider (like maybe gmail.com, aol.com, yahoo.com).
Also I go to this place where people are taught to program games, and could perhaps work there soon. Scratch used to be taught there (it's how I got my 2019 account, I can go into personal details if you want), albeit without teacher/student accounts and they switched to some weird MakeCode-based thing now. Still, maybe this is of use to us?

https://max.chipmunk.land/
hi, this is my signature!
Heathercat123
Scratcher
11 posts

Website development

chipmunkmc wrote:

I suppose you should just register a new email, maybe on a common provider (like maybe gmail.com, aol.com, yahoo.com).
Also I go to this place where people are taught to program games, and could perhaps work there soon. [snip]

Niiice! I'll see what I can do about the email thing so I can get a teacher account by lying to the ST, and, if you get the job and they switch back to Acratch or something, then you'll get a teacher account the normal way. That way, we'll both have a teacher account and I'll be the only one the ST can slap rightfully (I'm already a ban evader anyways).

Creator of much of the backend code for this website (the Scratch section, not the rest!) along with contributions from @chipmunkmc.
Heathercat123
Scratcher
11 posts

Website development

"Yes, the Scratch Team may call me to verify my Teacher Account if needed" I sure hope they wont need it <///3

Edit: I've requested it, now I just have to wait.

Last edited by Heathercat123 (Feb. 25, 2026 22:24:08)


Creator of much of the backend code for this website (the Scratch section, not the rest!) along with contributions from @chipmunkmc.
chipmunkmc
Scratch Team
21 posts

Website development

Heathercat123 wrote:

Niiice! I'll see what I can do about the email thing so I can get a teacher account by lying to the ST, [snip].

I sort of doubt they will return to Scratch, but perhaps I could get an account anyway, and now that I think about I remember the place is a franchise with multiple locations. Some location(s) might still use Scratch, which may or may not help us.

https://max.chipmunk.land/
hi, this is my signature!
Heathercat123
Scratcher
11 posts

Website development

It's been 24 hours (the Official™ maximum time the teacher account verification should take) and I still have no news from the ST Maybe they're just slow…?

Creator of much of the backend code for this website (the Scratch section, not the rest!) along with contributions from @chipmunkmc.
chipmunkmc
Scratch Team
21 posts

Website development

Heathercat123 wrote:

It's been 24 hours (the Official™ maximum time the teacher account verification should take) and I still have no news from the ST Maybe they're just slow…?

Hopefully… I mean once when I requested kernel source code from Samsung it took longer than it was supposed to.

https://max.chipmunk.land/
hi, this is my signature!
chipmunkmc
Scratch Team
21 posts

Website development

Also what if I take the feature where deleted comments on mysticgiggle's accounts' profiles are visible, make it so everyone can see the comments, and turn it into a general-purpose, well, trolling feature?
This way it's not necessary to make specific groups of accounts with undeleted comments, and this will basically make attempts to delete comments fail miserably in an obvious way which might as well make things even funnier perhaps?

https://max.chipmunk.land/
hi, this is my signature!
Heathercat123
Scratcher
11 posts

Website development

chipmunkmc wrote:

Also what if I take the feature where deleted comments -blah blah snip snip-

Meh? I mean, that would be pretty mean, wouldn't it? And technically, we'd be failing our job of doing what the user is expecting to happen.

Btw attachments are broken, I assume it's because you didn't create djangobb/attachments folder. I'll probably make it automatic in the future.

Creator of much of the backend code for this website (the Scratch section, not the rest!) along with contributions from @chipmunkmc.
Heathercat123
Scratcher
11 posts

Website development

Ah great, the 3.0 backpack API uses the same format for scripts as in the 3.0 projects.json whereas the 2.0 API uses the 2.0 format. I guess I'll have to use RexScratch's sb3tosb2

Creator of much of the backend code for this website (the Scratch section, not the rest!) along with contributions from @chipmunkmc.
chipmunkmc
Scratch Team
21 posts

Website development

Heathercat123 wrote:

[Meh? I mean, that would be pretty mean, wouldn't it? [snip]

That's fair…

Heathercat123 wrote:

Btw attachments are broken, I assume it's because you didn't create djangobb/attachments folder. I'll probably make it automatic in the future.

Should be fixed on next restart (I set a custom path)!

Heathercat123 wrote:

Ah great, the 3.0 backpack API uses the same format for scripts as in the 3.0 projects.json [snip]

If we do that we might as well do the same for projects, I suppose.

https://max.chipmunk.land/
hi, this is my signature!
chipmunkmc
Scratch Team
21 posts

Website development

Testing attachments…

Attachments:
attachment rossa-win.png (364.1 KB)


https://max.chipmunk.land/
hi, this is my signature!
chipmunkmc
Scratch Team
21 posts

Website development

Testing large attachments, I found this video while lurking

Attachments:
attachment Lain at the Gay Bar [yq0_ApTwNH4].mp4 (5.7 MB)


https://max.chipmunk.land/
hi, this is my signature!
chipmunkmc
Scratch Team
21 posts

Website development

Sorry, I'll do one more test, that is of the img tag.


https://max.chipmunk.land/
hi, this is my signature!
chipmunkmc
Scratch Team
21 posts

Website development

Oh also I wonder if I should extend the forums on this site's fork…
Like I mean, I could allow paths as links in bbcode tags, add tags for media like audio/video, and/or add an easier way to reference attachments (or we could just support the same path scheme in any newer frontend(s) idk)

https://max.chipmunk.land/
hi, this is my signature!
Heathercat123
Scratcher
11 posts

Website development

Heathercat123 wrote:

Ah great, the 3.0 backpack API uses the same format for scripts as in the 3.0 projects.json [snip]

If we do that we might as well do the same for projects, I suppose.

Now that I think of it, sb3tosb2 simply wouldn't be enough for both cases. Scratch 3.0 added support for many new blocks, notably with the 8 new extensions at launch and the more recent Face Sensing. Sb3toSb2 has a thing called "compatibility mode" which replaces most of the new non-extension blocks with workaround, which are, to say the least, not very adequate for our use case (imagine injecting a custom block that implements <[] contains []?> into every Scratch 3 project that uses it when opened with 2.0, wouldn't that be kinda ugly?). It would be better to reverse-engineer scratch-flash-online (I believe you've already started doing that), then implement 3.0 support (or the reverse since the code we'd have to modify is in the open-source scratch-flash repo). We'll also have to modify Scratch 3's backpack code a little so it doesn't require having a pre-made screenshot of backpacked scripts since Scratch 2.0 doesn't offer them (even if it did, it would be of the 2.0 blocks).

Last edited by Heathercat123 (March 3, 2026 17:25:41)


Creator of much of the backend code for this website (the Scratch section, not the rest!) along with contributions from @chipmunkmc.
chipmunkmc
Scratch Team
21 posts

Website development

I see. Well, while doing some conversion on projects could be nice, I'm not sure if supporting the entirety of Scratch 3.0 in Scratch 2.0 is desirable, as I'm not sure if Scratch 2 with Scratch 3 operations is still really Scratch 2… on the other hand, it would make for a good legacy no-HTML5 client though.

Still, we could ignore these unsupported operations, or inject "Instruction not supported" handlers perhaps, maybe…
As for backpacking, we could also store two separate backpacks; anyway that's sorta what scratch.mit.edu did (well, according to old comments, they actually wiped everyone's old backpacks or something lmao)
Also it is worth noting that not all valid Scratch 2 is valid Scratch 3, and rendering blocks implies we would have to load it; if we share backpacks, perhaps we should just show 2.0 blocks? Still would require some modification to 2.0 though.

Idk, maybe compatibility patches would still be a good thing, but I feel like they might make the different Scratch versions less authentic; also. I sort of intend for each cloned frontend to behave quite similarly to its original counterpart…
These are just my thoughts, sorry if this makes deciding on anything harder… (also I was about to sleep when I remembered I never responded oof)

https://max.chipmunk.land/
hi, this is my signature!
chipmunkmc
Scratch Team
21 posts

Website development

Also if you know how to make my scratch-paint properly link with my scratch-gui (and perhaps other scratch-editor package forks), and have all of that link w/ scratch-www, without causing weird NPM issues, please let me know!
Sorry I'm basically asking for free work here, I'm just sort of stuck on that…

https://max.chipmunk.land/
hi, this is my signature!
Heathercat123
Scratcher
11 posts

Website development

chipmunkmc wrote:

we could ignore these unsupported operations, or inject "Instruction not supported" handlers perhaps, maybe…

So, like, would it just throw errors whenever it hits a 3.0 block? That would kind of ruin the immersion, wouldn't it?

chipmunkmc wrote:

As for backpacking, we could also store two separate backpacks

Fair enough

chipmunkmc wrote:

sorry if this makes deciding on anything harder…

There's no need to be sorry, that's just how designing things work. Someone has an idea, someone else gives feedback.

Creator of much of the backend code for this website (the Scratch section, not the rest!) along with contributions from @chipmunkmc.

Powered by DjangoBB