Skip to content

Instantly share code, notes, and snippets.

View mattdesl's full-sized avatar
👋

Matt DesLauriers mattdesl

👋
View GitHub Profile
@mattdesl
mattdesl / dependencies
Created August 26, 2015 15:50
mobile, desktop, customizer
[
{
"name": "adaptive-quadratic-curve",
"version": "1.0.2",
"homepage": "https://github.com/mattdesl/adaptive-quadratic-curve",
"description": "adaptive and scalable 2D quadratic curves",
"license": "BSD-3-Clause",
"repository": {
"type": "git",
"url": "git://github.com/mattdesl/adaptive-quadratic-curve.git"
@mattdesl
mattdesl / TextTest.html
Last active August 29, 2015 13:57
Testing a bug with THREE.js text triangulation
<!DOCTYPE html>
<html lang="en">
<head>
<title>three.js canvas - geometry - text</title>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, user-scalable=no, minimum-scale=1.0, maximum-scale=1.0">
<style>
body {
font-family: Monospace;
@mattdesl
mattdesl / common.js
Last active August 29, 2015 14:01
browserify multiple bundles with gulp / vinyl-source-stream
module.exports = "common utils";
@mattdesl
mattdesl / test.js
Created July 24, 2014 14:24
text files with JS
var fs = require('fs');
var text = fs.readFileSync( __dirname + '/words.txt', 'utf8' );
//split into an array
var words = text.trim().split(/\s+/);
@mattdesl
mattdesl / kami.js
Created July 25, 2014 15:52
kami - compressed to about 25kb with `uglifyjs -cm`
//grabs webgl context
var gl = require('webgl-context')();
//this in turn depends on kami-texture
var tex = require('kami-white-texture')(gl);
//this in turn depends on kami-shader and kami-mesh-buffer
var batch = require('kami-batch')(gl);
batch.begin();
@mattdesl
mattdesl / index.js
Last active August 29, 2015 14:05
requirebin sketch
var test = require('canvas-testbed')(render)
var time = 0
function render(ctx, width, height, dt) {
ctx.clearRect(0,0,width,height)
time += dt
var smile = 50
var speed = 2
var rgb2hsl = require('./rgb2hsl')
var palette = require('./palette')(options)
//e.g.
console.log( rgb2hsl([255,0,255]) )
module.exports = function range(min, max, value) {
return (value - min) / (max - min)
}
module.exports = {
name: 'circle',
controls: [
{ name: 'position', keyframes: [
{ time: 0, value: [0, 0] },
{ time: 2, value: [100, 100], ease: 'bounceOut' },
{ time: 4, value: [0, 100], ease: 'cubicIn' }
] },
{ name: 'color', keyframes: [
{ time: 0, value: [255, 255, 255] },
module.exports = {
name: 'circle',
controls: [
{ name: 'position', keyframes: [
{ time: 0, value: [0, 0] },
{ time: 2, value: [100, 100], ease: 'bounceOut' },
{ time: 4, value: [0, 100], ease: 'cubicIn' }
] },
{ name: 'color', keyframes: [
{ time: 0, value: [255, 255, 255] },