>_Skillful
Need help with advanced AI agent engineering?Contact FirmAdapt
Matt DesLauriers

Matt DesLauriers

@mattdesl

artist & creative coder

Artist London, UK mattdesl.com/@mattdesl On GitHub since January 2012

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 categories

canvas-sketch

mattdesl

A utility for quickly prototyping 2D and WebGL sketches

SkillAI Tool
5.2K1 dir

devtool

mattdesl

runs Node.js programs through Chromium DevTools

SkillAI Tool
3.7K1 dir

budo

mattdesl

a browserify server for rapid prototyping

SkillAI Tool
2.2K1 dir

nice-color-palettes

mattdesl

nice colour palettes as JSON

SkillAI Tool
9711 dir

three-bmfont-text

mattdesl

renders BMFont files in ThreeJS with word-wrapping

SkillAI Tool
8091 dir

canvas-sketch-util

mattdesl

Utilities for sketching in Canvas, WebGL and generative art

SkillAI Tool
7481 dir

hihat

mattdesl

local Node/Browser development with Chrome DevTools

SkillAI Tool
4431 dir

eases

mattdesl

grab bag of easing equations

SkillAI Tool
3851 dir

gifenc

mattdesl

very fast JS GIF encoder

SkillAI Tool
3311 dir

mp4-wasm

mattdesl

fast MP4 mux / demux using WASM

SkillAI Tool
3171 dir

load-asset

mattdesl

Loads a single or multiple assets and returns a promise.

SkillAI Tool
3111 dir

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

...more
SkillAI Tool
291307/wk1 dir

web-audio-player

mattdesl

a cross-browser WebAudio player

SkillSpeech & Audio
2441 dir

image-sdf

mattdesl

generate a signed distance field from an image

SkillAI Tool
2291 dir

mp4-h264

mattdesl

fast client-side MP4 H264 video encoding

SkillAI Tool
2281 dir

three-orbit-controls

mattdesl

orbit controls for ThreeJS

SkillAI Tool
2191 dir

glsl-film-grain

mattdesl

natural looking film grain using noise functions

SkillAI Tool
1981 dir

glsl-lut

mattdesl

lookup table color transforms for glslify

SkillAI Tool
1841 dir

audiobuffer-to-wav

mattdesl

convert an AudioBuffer to .wav format

SkillSpeech & Audio
1571 dir

three-vignette-background

mattdesl

a simple ThreeJS vignette background

SkillAI Tool
1241 dir

esmify

mattdesl

parse and handle import/export for browserify

SkillAI Tool
1181 dir

lerp

mattdesl

bare-bones linear interpolation function

SkillAI Tool
1041 dir

svg-to-image

mattdesl

convert SVG text to a Image that can be drawn in canvas

SkillAI Tool
1031 dir

opentype-layout

mattdesl

word wraps and lays out Opentype.js glyphs

SkillAI Tool
881 dir

garnish

yoshuawuyts

prettifies ndjson from wzrd and similar tools

SkillAI Tool
831 dir

get-rgba-palette

mattdesl

gets a palette of prominent colors from an array of pixels

SkillAI Tool
821 dir

word-wrapper

mattdesl

wraps words based on arbitrary 2D glyphs

SkillAI Tool
721 dir

glsl-hash-blur

mattdesl

a blur effect based on random hash offset

SkillAI Tool
661 dir

gsx-pdf-optimize

mattdesl

Optimize PDFs with Ghostscript command

SkillDocument Processing
631 dir

layout-bmfont-text

mattdesl

word-wraps and lays out text glyphs

SkillAI Tool
631 dir

raf-loop

mattdesl

a minimal requestAnimationFrame render loop

SkillAI Tool
581 dir

gl-audio-analyser

mattdesl

Pull audio waveform/frequency data into WebGL for realtime audio visualisation!

SkillSpeech & Audio
571 dir

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

...more
SkillSpeech & Audio
401 dir

xhr-request

mattdesl

tiny http client for Node and the browser

SkillAI Tool
401 dir

parse-unit

mattdesl

parses number and unit, '20px' into [20, 'px']

SkillAI Tool
381 dir

simple-html-index

yoshuawuyts

a simple HTML index through stream

SkillAI Tool
331 dir

wtch

mattdesl

small livereload/watch command line utility

SkillAI Tool
321 dir

load-bmfont

mattdesl

loads a BMFont file in Node and the browser

SkillAI Tool
311 dir

mouse-event-offset

mattdesl

get relative position from an event

SkillAI Tool
291 dir

tap-dev-tool

mattdesl

prettifies TAP in the browser's console

SkillAI Tool
291 dir

mat4-decompose

mattdesl

decomposes a 3D matrix

SkillAI Tool
271 dir

three-buffer-vertex-data

mattdesl

an easy way to set vertex data on a BufferGeometry

SkillAI Tool
271 dir

array-range

mattdesl

creates a new array with given range

SkillAI Tool
251 dir

analyser-frequency-average

mattdesl

gets an average Hz between two frequency ranges

SkillSpeech & Audio
231 dir

lcms-wasm

mattdesl

LittleCMS in JS with WASM

SkillAI Tool
211 dir

three-orbit-viewer

mattdesl

quick harness for viewing a mesh with orbit viewer

SkillAI Tool
181 dir

no-op

mattdesl

one no-op function to rule them all

SkillAI Tool
171 dir

gl-constants

mattdesl

all the WebGL 1.0 constants

SkillAI Tool
151 dir

glsl-blend-soft-light

mattdesl

blend mode 'overlay' for GLSL

SkillAI Tool
151 dir

touch-position

mattdesl

get current touch/mouse position

SkillVector & Embeddings
151 dir

watchify-middleware

mattdesl

a server for faster watchify development

SkillAI Tool
141 dir

detect-audio-autoplay

mattdesl

detects whether the browser can auto-play audio

SkillSpeech & Audio
141 dir

prefix-style

mattdesl

gets a prefixed name for a css style

SkillAI Tool
121 dir

bmfont2json

mattdesl

converts BMFont TXT and XML files to JSON

SkillAI Tool
121 dir

inject-lr-script

mattdesl

inject live reload into HTML content

SkillAI Tool
111 dir

polyline-miter-util

mattdesl

low level utils for polyline miter joins

SkillVector & Embeddings
111 dir

webgl-context

mattdesl

gets a WebGLRenderingContext

SkillAI Tool
111 dir

next-power-of-two

mattdesl

returns the next highest power of two

SkillAI Tool
101 dir

get-canvas-context

mattdesl

gets canvas context by name

SkillAI Tool
101 dir

add-line-numbers

mattdesl

adds line numbers to a source string

SkillAI Tool
101 dir

canvas-app

mattdesl

sets up a retina-scaled canvas with render loop

SkillAI Tool
91 dir

glsl-inject-defines

mattdesl

injects a #define statement into a shader source

SkillAI Tool
91 dir

reload-css

mattdesl

Reloads all style sheets in the page associated with a URL

SkillAI Tool
81 dir

browser-media-mime-type

mattdesl

mime type lookup for browser video and audio

SkillSpeech & Audio
71 dir

parse-bmfont-ascii

mattdesl

parses ASCII BMFont files to a JavaScript object

SkillAI Tool
71 dir

quad-indices

mattdesl

creates the indices for a quad (two triangles)

SkillAI Tool
71 dir

flatten-vertex-data

mattdesl

flattens nested vertex data into a typed array

SkillAI Tool
71 dir

2d-context

mattdesl

grabs a new 2d canvas context

SkillAI Tool
632/wk1 dir

baboon-image-uri

mattdesl

baboon test image as base64 data URI

SkillAI Tool
61 dir

mat4-interpolate

mattdesl

interpolates two matrices in place

SkillAI Tool
61 dir

mat4-recompose

mattdesl

recomposes a 4x4 matrix

SkillAI Tool
61 dir

new-array

mattdesl

create a new array filled with a value, or zero

SkillAI Tool
61 dir

tap-console-parser

mattdesl

parses tap by hijacking console.log

SkillAI Tool
51 dir

glsl-token-inject-block

mattdesl

safely inject a block of tokens into a shader

SkillAI Tool
51 dir

is-webgl-context

mattdesl

whether the given object is a WebGL context

SkillAI Tool
41 dir

xml-parse-from-string

mattdesl

DOMParser.parseFromString for XML with IE8 fallback

SkillAI Tool
41 dir

parse-bmfont-xml

mattdesl

parses XML BMFont files into a JavaScript object

SkillAI Tool
31 dir

parse-bmfont-binary

mattdesl

reads a BMFont binary in a Buffer into a JSON object

SkillAI Tool
31 dir

audio-frequency-to-index

mattdesl

convert a Hz frequency to an index for WebAudio

SkillSpeech & Audio
31 dir

url-trim

mattdesl

trims query and hash parameters off a URL

SkillAI Tool
21 dir

simple-media-element

mattdesl

a bare-bones <audio> and <video> abstraction

SkillSpeech & Audio
21 dir

fontpath-util

mattdesl

Some simple utils for handling font sizes

SkillAI Tool
11 dir

get-ports

mattdesl

gets multiple open ports

SkillAI Tool
11 dir

as-number

mattdesl

typeof number, or use a default

SkillAI Tool
1 dir

kami-fbo

mattdesl

2D framebuffer (render-to-texture) utils for kami

SkillAI Tool
1 dir

url-set-query

mattdesl

small function to append a query string to a URL

SkillAI Tool
1 dir

png-tools

mattdesl

low-level PNG codec tools

SkillAI Tool
1 dir

stackblur

mattdesl

A bare-bones port of Mario Klingemann's stackblur that just operates on a Uint8 pixel array.

SkillAI Tool
1 dir