Matt DesLauriers
@mattdesl
artist & creative coder
88
Published Tools
19,019
Total Stars
339
Weekly Downloads
7,361
GitHub Followers
641
Public Repos
100/100
Avg Security
Published Tools
88 Skillsacross 4 categoriescanvas-sketch
mattdesl
A utility for quickly prototyping 2D and WebGL sketches
devtool
mattdesl
runs Node.js programs through Chromium DevTools
budo
mattdesl
a browserify server for rapid prototyping
nice-color-palettes
mattdesl
nice colour palettes as JSON
three-bmfont-text
mattdesl
renders BMFont files in ThreeJS with word-wrapping
canvas-sketch-util
mattdesl
Utilities for sketching in Canvas, WebGL and generative art
hihat
mattdesl
local Node/Browser development with Chrome DevTools
eases
mattdesl
grab bag of easing equations
gifenc
mattdesl
very fast JS GIF encoder
mp4-wasm
mattdesl
fast MP4 mux / demux using WASM
load-asset
mattdesl
Loads a single or multiple assets and returns a promise.
360-image-viewer
mattdesl
A standalone panorama WebGL image viewer for desktop and mobile. This uses [regl](https://www.npmjs.com/package/regl) as the WebGL wrapper, and comes in at a total of 140kb uglified, or 46kb gzipped. This is useful if you need a panorama viewer but don't
...moreweb-audio-player
mattdesl
a cross-browser WebAudio player
image-sdf
mattdesl
generate a signed distance field from an image
mp4-h264
mattdesl
fast client-side MP4 H264 video encoding
three-orbit-controls
mattdesl
orbit controls for ThreeJS
glsl-film-grain
mattdesl
natural looking film grain using noise functions
glsl-lut
mattdesl
lookup table color transforms for glslify
audiobuffer-to-wav
mattdesl
convert an AudioBuffer to .wav format
three-vignette-background
mattdesl
a simple ThreeJS vignette background
esmify
mattdesl
parse and handle import/export for browserify
lerp
mattdesl
bare-bones linear interpolation function
svg-to-image
mattdesl
convert SVG text to a Image that can be drawn in canvas
opentype-layout
mattdesl
word wraps and lays out Opentype.js glyphs
garnish
yoshuawuyts
prettifies ndjson from wzrd and similar tools
get-rgba-palette
mattdesl
gets a palette of prominent colors from an array of pixels
word-wrapper
mattdesl
wraps words based on arbitrary 2D glyphs
glsl-hash-blur
mattdesl
a blur effect based on random hash offset
gsx-pdf-optimize
mattdesl
Optimize PDFs with Ghostscript command
layout-bmfont-text
mattdesl
word-wraps and lays out text glyphs
raf-loop
mattdesl
a minimal requestAnimationFrame render loop
gl-audio-analyser
mattdesl
Pull audio waveform/frequency data into WebGL for realtime audio visualisation!
qoa-format
mattdesl
A JavaScript port of [The "Quite OK Audio" (QOA) format](https://github.com/phoboslab/qoa), a lossy audio compression that achieves relatively decent compression with fast decoding and not much complexity. Also see [this](https://phoboslab.org/log/2023/02
...morexhr-request
mattdesl
tiny http client for Node and the browser
parse-unit
mattdesl
parses number and unit, '20px' into [20, 'px']
simple-html-index
yoshuawuyts
a simple HTML index through stream
wtch
mattdesl
small livereload/watch command line utility
load-bmfont
mattdesl
loads a BMFont file in Node and the browser
mouse-event-offset
mattdesl
get relative position from an event
tap-dev-tool
mattdesl
prettifies TAP in the browser's console
mat4-decompose
mattdesl
decomposes a 3D matrix
three-buffer-vertex-data
mattdesl
an easy way to set vertex data on a BufferGeometry
array-range
mattdesl
creates a new array with given range
analyser-frequency-average
mattdesl
gets an average Hz between two frequency ranges
lcms-wasm
mattdesl
LittleCMS in JS with WASM
three-orbit-viewer
mattdesl
quick harness for viewing a mesh with orbit viewer
no-op
mattdesl
one no-op function to rule them all
gl-constants
mattdesl
all the WebGL 1.0 constants
glsl-blend-soft-light
mattdesl
blend mode 'overlay' for GLSL
touch-position
mattdesl
get current touch/mouse position
watchify-middleware
mattdesl
a server for faster watchify development
detect-audio-autoplay
mattdesl
detects whether the browser can auto-play audio
prefix-style
mattdesl
gets a prefixed name for a css style
bmfont2json
mattdesl
converts BMFont TXT and XML files to JSON
inject-lr-script
mattdesl
inject live reload into HTML content
polyline-miter-util
mattdesl
low level utils for polyline miter joins
webgl-context
mattdesl
gets a WebGLRenderingContext
next-power-of-two
mattdesl
returns the next highest power of two
get-canvas-context
mattdesl
gets canvas context by name
add-line-numbers
mattdesl
adds line numbers to a source string
canvas-app
mattdesl
sets up a retina-scaled canvas with render loop
glsl-inject-defines
mattdesl
injects a #define statement into a shader source
reload-css
mattdesl
Reloads all style sheets in the page associated with a URL
browser-media-mime-type
mattdesl
mime type lookup for browser video and audio
parse-bmfont-ascii
mattdesl
parses ASCII BMFont files to a JavaScript object
quad-indices
mattdesl
creates the indices for a quad (two triangles)
flatten-vertex-data
mattdesl
flattens nested vertex data into a typed array
2d-context
mattdesl
grabs a new 2d canvas context
baboon-image-uri
mattdesl
baboon test image as base64 data URI
mat4-interpolate
mattdesl
interpolates two matrices in place
mat4-recompose
mattdesl
recomposes a 4x4 matrix
new-array
mattdesl
create a new array filled with a value, or zero
tap-console-parser
mattdesl
parses tap by hijacking console.log
glsl-token-inject-block
mattdesl
safely inject a block of tokens into a shader
is-webgl-context
mattdesl
whether the given object is a WebGL context
xml-parse-from-string
mattdesl
DOMParser.parseFromString for XML with IE8 fallback
parse-bmfont-xml
mattdesl
parses XML BMFont files into a JavaScript object
parse-bmfont-binary
mattdesl
reads a BMFont binary in a Buffer into a JSON object
audio-frequency-to-index
mattdesl
convert a Hz frequency to an index for WebAudio
url-trim
mattdesl
trims query and hash parameters off a URL
simple-media-element
mattdesl
a bare-bones <audio> and <video> abstraction
fontpath-util
mattdesl
Some simple utils for handling font sizes
get-ports
mattdesl
gets multiple open ports
as-number
mattdesl
typeof number, or use a default
kami-fbo
mattdesl
2D framebuffer (render-to-texture) utils for kami
url-set-query
mattdesl
small function to append a query string to a URL
png-tools
mattdesl
low-level PNG codec tools
stackblur
mattdesl
A bare-bones port of Mario Klingemann's stackblur that just operates on a Uint8 pixel array.