Skip to content

noisefactorllc/layers

Repository files navigation

Layers

Layers is a browser-based media editor with non-destructive layer compositing, powered by the Noisemaker shader pipeline. It runs entirely client-side.

Features

  • Layer stack with opacity, blend modes, visibility, and locking
  • GPU-accelerated effects via WebGL shaders (blur, warp, noise, edge detection, dither, and others)
  • Selection tools: rectangle, oval, lasso, polygon, magic wand
  • Selection operations: expand, contract, feather, smooth, border, color range
  • Image and video layer support
  • Copy/paste, crop to selection, canvas resize, image resize
  • Project persistence via IndexedDB
  • Undo/redo with debounced parameter tracking

Requirements

  • Node.js and npm
  • A browser with WebGL2 support

Development

npm install
npm run dev

This starts a local server on port 3002.

Noisemaker

The shader pipeline is loaded at runtime from the Noisemaker CDN at shaders.noisedeck.app.

Testing

End-to-end tests use Playwright:

npm test

Third-Party Libraries

  • Noisemaker — WebGL shader pipeline (MIT License)
  • Mediabunny by Vanilagy — MP4 video encoding via WebCodecs (MPL-2.0 License)
  • JSZip — ZIP file generation (MIT License or GPLv3)
  • Cormorant Upright, Nunito, Noto Sans Mono — typefaces (OFL-1.1)
  • Material Symbols Outlined — icon font by Google (Apache 2.0 License)

License

Layers is released under the MIT License. Use of name in derivative products is subject to the Trademark Policy.

Copyright 2026 Noise Factor LLC

About

A non-destructive image and video clip editor powered by the Noisemaker engine

Resources

License

Stars

Watchers

Forks

Contributors