WebGL-based rendering engine for Scratch 3.0
Find a file
2024-03-01 14:09:54 +00:00
.github chore(deps): pin dependencies 2024-02-16 01:14:00 +00:00
.husky chore: add husky hook for commitlint 2023-12-20 19:05:03 -08:00
docs Revert "Revert "Initialialize AABB Rectangle "" 2019-08-13 11:41:11 -04:00
src try WebGL 2.0 if WebGL 1.0 fails 2021-10-26 14:20:42 -07:00
test Add unit tests for setting then getting skin size 2021-07-27 20:45:32 -04:00
.editorconfig Add .editorconfig 2016-06-08 09:27:01 -07:00
.eslintignore Add snapshot test for bubble svg strings 2018-05-29 15:28:16 -04:00
.eslintrc.js Quick example of a collision test integration test (#265) 2018-04-27 13:06:34 -04:00
.gitattributes use scratch-renovate-config:conservative, customized 2021-07-26 14:06:30 -07:00
.gitignore ci: rebase CCI to GHA migration 2023-10-13 10:37:20 -04:00
.jsdoc.json Revert "Revert "Initialialize AABB Rectangle "" 2019-08-13 11:41:11 -04:00
.npmignore Publish specific files and folders to NPM 2018-05-21 12:24:51 -04:00
.nvmrc ci: rebase CCI to GHA migration 2023-10-13 10:37:20 -04:00
CHANGELOG.md chore(release): 1.0.28 [skip ci] 2024-03-01 09:34:55 +00:00
commitlint.config.js chore: add commitlint 2023-12-20 19:05:00 -08:00
LICENSE Establish initial structure, create demo.html 2016-05-13 11:29:51 -07:00
package-lock.json chore(deps): update commitlint monorepo to v19 2024-03-01 14:09:54 +00:00
package.json chore(deps): update commitlint monorepo to v19 2024-03-01 14:09:54 +00:00
README.md docs: replace LLK URL in README.md 2024-02-23 13:34:32 -08:00
release.config.js ci: use semantic-release 2023-12-20 19:32:25 -08:00
renovate.json5 chore(deps): automerge VM updates with test(deps) 2024-02-21 14:01:44 -08:00
TRADEMARK Update TRADEMARK 2018-06-18 13:16:21 -04:00
webpack.config.js Fix webpack glob 2019-04-23 13:21:40 -04:00

scratch-render

WebGL-based rendering engine for Scratch 3.0

CircleCI

Greenkeeper badge

Installation

npm install https://github.com/scratchfoundation/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!

Committing

This project uses semantic release to ensure version bumps follow semver so that projects depending on it don't break unexpectedly.

In order to automatically determine version updates, semantic release expects commit messages to follow the conventional-changelog specification.

You can use the commitizen CLI to make commits formatted in this way:

npm install -g commitizen@latest cz-conventional-changelog@latest

Now you're ready to make commits using git cz.