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:
Join the IRC channel! (chipmunk.land 6697, TLS, #scratch)
I decided to create it since using profile comments can be a bit messy.
This website is made up of multiple projects:
- APIClone* - Created by @Heathercat123, this project currently contains the entirety of the website's backend code, including an accurate remake of scratchr2.
- scratch-www* - The modern Scratch frontend; although originally created for scratch.mit.edu's backend setup, it can also interface with APIClone
- scratch-editor* - The modern Scratch editor; can link with scratch-www (broken for now though)
- Specialized nginx configs
- And more! See the code.chipmunk.land organization for more info.
Join the IRC channel! (chipmunk.land 6697, TLS, #scratch)
Last edited by chipmunkmc (Feb. 27, 2026 05:35:38)
- 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
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?
- Heathercat123
-
Scratcher
11 posts
Website development
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.
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
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.
- 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…?
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
It's been 24 hours (the Official™ maximum time the teacher account verification should take) and I still have no news from the STMaybe they're just slow…?
Hopefully… I mean once when I requested kernel source code from Samsung it took longer than it was supposed to.
- 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?
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?
- Heathercat123
-
Scratcher
11 posts
Website development
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
[Meh? I mean, that would be pretty mean, wouldn't it? [snip]
That's fair…
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)!
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.
- chipmunkmc
-
Scratch Team
21 posts
Website development
Testing attachments…
Attachments:
rossa-win.png (364.1 KB)
- chipmunkmc
-
Scratch Team
21 posts
Website development
Testing large attachments, I found this video while lurking
Attachments:
Lain at the Gay Bar [yq0_ApTwNH4].mp4 (5.7 MB)
- chipmunkmc
-
Scratch Team
21 posts
Website development
Sorry, I'll do one more test, that is of the img tag.



- 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)
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)
- 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 [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)
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)
- 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…
Sorry I'm basically asking for free work here, I'm just sort of stuck on that…
- Heathercat123
-
Scratcher
11 posts
Website development
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?
As for backpacking, we could also store two separate backpacks
Fair enough
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.