Implement basic scripting
Fix a bug with the FPS Runaway system. By stopping the project when the user tabs away (and then resuming when they tab back) the calculations for FPS Runaway won't be messed up.
npm-ify the project so it is in-line with the studio app.
Flashback is an homage to drawing tools of the 90s! This library (the rendering engine) can load project files and render them in an HTML5 webgl canvas.
To better understand the project files, a full specification has been published here: https://git.sr.ht/~flashback/flashback-spec
You can add the flashback engine to any project with npm. It includes typescript typings.
npm install flashback-engine
Processing a file is as simple as invoking a few commands.
import { loadProject, resizeCanvas } from 'flashback-engine';
import * as project from 'myProjectFile.json';
const canvas = document.createElement('canvas');
resizeCanvas(project, canvas);
loadProject(project, canvas).then((engine) => {
engine.start();
document.append(canvas);
});
npm run build
npm run watch
At the moment, there are very little requirements to run flashback. In the future, a webassembly module may be added to enable scripting in the project files.
This project is licensed under the MIT License - see the LICENSE file for details.
Inspiration, code snippets, etc.