Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Appearance settings
This repository was archived by the owner on Oct 28, 2025. It is now read-only.
Open more actions menu

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

15 Commits
15 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Scratchnative

now in rust!

Scratchnative is an ongoing project to compile Scratch3 programs to native executables.

How does it work

Here's how Scratchnative is able to compile Scratch3 projects:

  1. It serializes the project.json file contained in the .sb3 Scratch file (which is a zip) using serde
  2. It builds an abstract syntax tree (AST) akin to any programming language's AST
  3. It outputs C++ code by iterating through the AST

Eventually, I will write documentation on the project.json file format as the current docs are quite vague and unclear.

State of the project

Right now, Scratchnative is able to compile very basic Scratch3 projects (e.g basic operators, loops and expressions), albeit without graphics, to C++ with the help of a runtime.

About

Convert Scratch3 projects to native executables

Topics

Resources

Stars

Watchers

Forks

Releases

Packages

Used by

Contributors

Languages

Morty Proxy This is a proxified and sanitized view of the page, visit original site.