Skip to content

mitmedialab/scratch-render-with-types

 
 

Repository files navigation

scratch-render-with-types

This is a fork of scratch-render to assist with writing typesafe extensions using PRG's extension framework.

Typescript has a hard time extracting types from the scratch-render package, so this repo can help you get a better idea of the typescript signatures.

Declaration files are included in this repo inside of dist/, and you can regenerate them for yourself after cloning and installing like so:

# After cloning and installing, i.e.
git clone git@github.com:mitmedialab/scratch-render-with-types.git
cd scratch-render-with-types
npm install

# Have typescript generate the type declarations
npm run make:types

NOTE: The types are currently BROKEN, meaning they do not represent valid typescript types. Some work will need to be done to refactor the .js code to fix this.

Below is the original scratch-render README ...

scratch-render

WebGL-based rendering engine for Scratch 3.0

CircleCI

Greenkeeper badge

Installation

npm install https://github.com/LLK/scratch-render.git

Setup

<!DOCTYPE html>
<html lang="en">
    <head>
        <meta charset="UTF-8">
        <title>Scratch WebGL rendering demo</title>
    </head>

    <body>
        <canvas id="myStage"></canvas>
        <canvas id="myDebug"></canvas>
    </body>
</html>
var canvas = document.getElementById('myStage');
var debug = document.getElementById('myDebug');

// Instantiate the renderer
var renderer = new require('scratch-render')(canvas);

// Connect to debug canvas
renderer.setDebugCanvas(debug);

// Start drawing
function drawStep() {
    renderer.draw();
    requestAnimationFrame(drawStep);
}
drawStep();

// Connect to worker (see "playground" example)
var worker = new Worker('worker.js');
renderer.connectWorker(worker);

Standalone Build

npm run build
<script src="/path/to/render.js"></script>
<script>
    var renderer = new window.RenderWebGLLocal();
    // do things
</script>

Testing

npm test

Donate

We provide Scratch free of charge, and want to keep it that way! Please consider making a donation to support our continued engineering, design, community, and resource development efforts. Donations of any size are appreciated. Thank you!

About

WebGL-based rendering engine for Scratch 3.0

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • JavaScript 92.0%
  • GLSL 4.5%
  • HTML 3.5%