{"version":3,"sources":["node_modules/json-stringify-safe/stringify.js","node_modules/random-seed/index.js","lib/util/noise.js","lib/util/1d.js","lib/util/math.js","lib/simplex/simplex1.js","lib/util/2d.js","lib/simplex/simplex2.js","lib/perlin/perlin1.js","lib/perlin/perlin2.js","lib/util/3d.js","lib/perlin/perlin3.js","lib/util/4d.js","lib/perlin/perlin4.js","lib/util/nd.js","lib/perlin/perlinN.js","lib/index.js","index.js"],"names":["stringify","require","Mash","n","mash","data","toString","i","length","h","charCodeAt","uheprng","seed","o","j","c","p","s","Array","k","Math","random","rawprng","t","range","floor","string","count","String","fromCharCode","cleanString","inStr","replace","hashString","key","value","initState","addEntropy","args","arguments","push","prototype","slice","call","hash","Date","getTime","join","done","Number","MAX_VALUE","floatBetween","min","max","intBetween","create","module","exports","rand","Noise","Uint8Array","rng","r","temp","fn","transformedFn","dims","apply","bind","octaves","val","w","gen","map","x","Vec1","g1","grad1","falloff","reduce","sum","lerp","a","b","fade","cut1","cut","Simplex1","gx","dx","dot","Vec2","y","g2","grad2","S2_TO_C","sqrt","C_TO_S2","Simplex2","skew","trunc","unskew","dx0","dy0","di","dj","dx1","dy1","dx2","dy2","Perlin1","n0","n1","Perlin2","gy","dy","n00","n10","n01","n11","Vec3","z","g3","grad3","Perlin3","gz","dz","n000","n100","n010","n110","n001","n101","n011","n111","Vec4","g4","grad4","Perlin4","gt","dt","n0000","n1000","n0100","n1100","n0010","n1010","n0110","n1110","n0001","n1001","n0101","n1101","n0011","n1011","n0111","n1111","hashN","gs","VecN","R","gN","generateGN","dim","vec","fill","lerpN","ns","ds","ns1","ns2","ceil","getNs","gsPerm","dsPerm","PerlinN"],"mappings":"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","file":"tumult.min.map","sourceRoot":"..","sourcesContent":["exports = module.exports = stringify\nexports.getSerialize = serializer\n\nfunction stringify(obj, replacer, spaces, cycleReplacer) {\n  return JSON.stringify(obj, serializer(replacer, cycleReplacer), spaces)\n}\n\nfunction serializer(replacer, cycleReplacer) {\n  var stack = [], keys = []\n\n  if (cycleReplacer == null) cycleReplacer = function(key, value) {\n    if (stack[0] === value) return \"[Circular ~]\"\n    return \"[Circular ~.\" + keys.slice(0, stack.indexOf(value)).join(\".\") + \"]\"\n  }\n\n  return function(key, value) {\n    if (stack.length > 0) {\n      var thisPos = stack.indexOf(this)\n      ~thisPos ? stack.splice(thisPos + 1) : stack.push(this)\n      ~thisPos ? keys.splice(thisPos, Infinity, key) : keys.push(key)\n      if (~stack.indexOf(value)) value = cycleReplacer.call(this, key, value)\n    }\n    else stack.push(value)\n\n    return replacer == null ? value : replacer.call(this, key, value)\n  }\n}\n","/*\n * random-seed\n * https://github.com/skratchdot/random-seed\n *\n * This code was originally written by Steve Gibson and can be found here:\n *\n * https://www.grc.com/otg/uheprng.htm\n *\n * It was slightly modified for use in node, to pass jshint, and a few additional\n * helper functions were added.\n *\n * Copyright (c) 2013 skratchdot\n * Dual Licensed under the MIT license and the original GRC copyright/license\n * included below.\n */\n/*\t============================================================================\n\t\t\t\t\t\t\t\t\tGibson Research Corporation\n\t\t\t\tUHEPRNG - Ultra High Entropy Pseudo-Random Number Generator\n\t============================================================================\n\tLICENSE AND COPYRIGHT:  THIS CODE IS HEREBY RELEASED INTO THE PUBLIC DOMAIN\n\tGibson Research Corporation releases and disclaims ALL RIGHTS AND TITLE IN\n\tTHIS CODE OR ANY DERIVATIVES. Anyone may be freely use it for any purpose.\n\t============================================================================\n\tThis is GRC's cryptographically strong PRNG (pseudo-random number generator)\n\tfor JavaScript. It is driven by 1536 bits of entropy, stored in an array of\n\t48, 32-bit JavaScript variables.  Since many applications of this generator,\n\tincluding ours with the \"Off The Grid\" Latin Square generator, may require\n\tthe deteriministic re-generation of a sequence of PRNs, this PRNG's initial\n\tentropic state can be read and written as a static whole, and incrementally\n\tevolved by pouring new source entropy into the generator's internal state.\n\t----------------------------------------------------------------------------\n\tENDLESS THANKS are due Johannes Baagoe for his careful development of highly\n\trobust JavaScript implementations of JS PRNGs.  This work was based upon his\n\tJavaScript \"Alea\" PRNG which is based upon the extremely robust Multiply-\n\tWith-Carry (MWC) PRNG invented by George Marsaglia. MWC Algorithm References:\n\thttp://www.GRC.com/otg/Marsaglia_PRNGs.pdf\n\thttp://www.GRC.com/otg/Marsaglia_MWC_Generators.pdf\n\t----------------------------------------------------------------------------\n\tThe quality of this algorithm's pseudo-random numbers have been verified by\n\tmultiple independent researchers. It handily passes the fermilab.ch tests as\n\twell as the \"diehard\" and \"dieharder\" test suites.  For individuals wishing\n\tto further verify the quality of this algorithm's pseudo-random numbers, a\n\t256-megabyte file of this algorithm's output may be downloaded from GRC.com,\n\tand a Microsoft Windows scripting host (WSH) version of this algorithm may be\n\tdownloaded and run from the Windows command prompt to generate unique files\n\tof any size:\n\tThe Fermilab \"ENT\" tests: http://fourmilab.ch/random/\n\tThe 256-megabyte sample PRN file at GRC: https://www.GRC.com/otg/uheprng.bin\n\tThe Windows scripting host version: https://www.GRC.com/otg/wsh-uheprng.js\n\t----------------------------------------------------------------------------\n\tQualifying MWC multipliers are: 187884, 686118, 898134, 1104375, 1250205,\n\t1460910 and 1768863. (We use the largest one that's < 2^21)\n\t============================================================================ */\n'use strict';\nvar stringify = require('json-stringify-safe');\n\n/*\t============================================================================\nThis is based upon Johannes Baagoe's carefully designed and efficient hash\nfunction for use with JavaScript.  It has a proven \"avalanche\" effect such\nthat every bit of the input affects every bit of the output 50% of the time,\nwhich is good.\tSee: http://baagoe.com/en/RandomMusings/hash/avalanche.xhtml\n============================================================================\n*/\nvar Mash = function () {\n\tvar n = 0xefc8249d;\n\tvar mash = function (data) {\n\t\tif (data) {\n\t\t\tdata = data.toString();\n\t\t\tfor (var i = 0; i < data.length; i++) {\n\t\t\t\tn += data.charCodeAt(i);\n\t\t\t\tvar h = 0.02519603282416938 * n;\n\t\t\t\tn = h >>> 0;\n\t\t\t\th -= n;\n\t\t\t\th *= n;\n\t\t\t\tn = h >>> 0;\n\t\t\t\th -= n;\n\t\t\t\tn += h * 0x100000000; // 2^32\n\t\t\t}\n\t\t\treturn (n >>> 0) * 2.3283064365386963e-10; // 2^-32\n\t\t} else {\n\t\t\tn = 0xefc8249d;\n\t\t}\n\t};\n\treturn mash;\n};\n\nvar uheprng = function (seed) {\n\treturn (function () {\n\t\tvar o = 48; // set the 'order' number of ENTROPY-holding 32-bit values\n\t\tvar c = 1; // init the 'carry' used by the multiply-with-carry (MWC) algorithm\n\t\tvar p = o; // init the 'phase' (max-1) of the intermediate variable pointer\n\t\tvar s = new Array(o); // declare our intermediate variables array\n\t\tvar i; // general purpose local\n\t\tvar j; // general purpose local\n\t\tvar k = 0; // general purpose local\n\n\t\t// when our \"uheprng\" is initially invoked our PRNG state is initialized from the\n\t\t// browser's own local PRNG. This is okay since although its generator might not\n\t\t// be wonderful, it's useful for establishing large startup entropy for our usage.\n\t\tvar mash = new Mash(); // get a pointer to our high-performance \"Mash\" hash\n\n\t\t// fill the array with initial mash hash values\n\t\tfor (i = 0; i < o; i++) {\n\t\t\ts[i] = mash(Math.random());\n\t\t}\n\n\t\t// this PRIVATE (internal access only) function is the heart of the multiply-with-carry\n\t\t// (MWC) PRNG algorithm. When called it returns a pseudo-random number in the form of a\n\t\t// 32-bit JavaScript fraction (0.0 to <1.0) it is a PRIVATE function used by the default\n\t\t// [0-1] return function, and by the random 'string(n)' function which returns 'n'\n\t\t// characters from 33 to 126.\n\t\tvar rawprng = function () {\n\t\t\tif (++p >= o) {\n\t\t\t\tp = 0;\n\t\t\t}\n\t\t\tvar t = 1768863 * s[p] + c * 2.3283064365386963e-10; // 2^-32\n\t\t\treturn s[p] = t - (c = t | 0);\n\t\t};\n\n\t\t// this EXPORTED function is the default function returned by this library.\n\t\t// The values returned are integers in the range from 0 to range-1. We first\n\t\t// obtain two 32-bit fractions (from rawprng) to synthesize a single high\n\t\t// resolution 53-bit prng (0 to <1), then we multiply this by the caller's\n\t\t// \"range\" param and take the \"floor\" to return a equally probable integer.\n\t\tvar random = function (range) {\n\t\t\treturn Math.floor(range * (rawprng() + (rawprng() * 0x200000 | 0) * 1.1102230246251565e-16)); // 2^-53\n\t\t};\n\n\t\t// this EXPORTED function 'string(n)' returns a pseudo-random string of\n\t\t// 'n' printable characters ranging from chr(33) to chr(126) inclusive.\n\t\trandom.string = function (count) {\n\t\t\tvar i;\n\t\t\tvar s = '';\n\t\t\tfor (i = 0; i < count; i++) {\n\t\t\t\ts += String.fromCharCode(33 + random(94));\n\t\t\t}\n\t\t\treturn s;\n\t\t};\n\n\t\t// this PRIVATE \"hash\" function is used to evolve the generator's internal\n\t\t// entropy state. It is also called by the EXPORTED addEntropy() function\n\t\t// which is used to pour entropy into the PRNG.\n\t\tvar hash = function () {\n\t\t\tvar args = Array.prototype.slice.call(arguments);\n\t\t\tfor (i = 0; i < args.length; i++) {\n\t\t\t\tfor (j = 0; j < o; j++) {\n\t\t\t\t\ts[j] -= mash(args[i]);\n\t\t\t\t\tif (s[j] < 0) {\n\t\t\t\t\t\ts[j] += 1;\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t};\n\n\t\t// this EXPORTED \"clean string\" function removes leading and trailing spaces and non-printing\n\t\t// control characters, including any embedded carriage-return (CR) and line-feed (LF) characters,\n\t\t// from any string it is handed. this is also used by the 'hashstring' function (below) to help\n\t\t// users always obtain the same EFFECTIVE uheprng seeding key.\n\t\trandom.cleanString = function (inStr) {\n\t\t\tinStr = inStr.replace(/(^\\s*)|(\\s*$)/gi, ''); // remove any/all leading spaces\n\t\t\tinStr = inStr.replace(/[\\x00-\\x1F]/gi, ''); // remove any/all control characters\n\t\t\tinStr = inStr.replace(/\\n /, '\\n'); // remove any/all trailing spaces\n\t\t\treturn inStr; // return the cleaned up result\n\t\t};\n\n\t\t// this EXPORTED \"hash string\" function hashes the provided character string after first removing\n\t\t// any leading or trailing spaces and ignoring any embedded carriage returns (CR) or Line Feeds (LF)\n\t\trandom.hashString = function (inStr) {\n\t\t\tinStr = random.cleanString(inStr);\n\t\t\tmash(inStr); // use the string to evolve the 'mash' state\n\t\t\tfor (i = 0; i < inStr.length; i++) { // scan through the characters in our string\n\t\t\t\tk = inStr.charCodeAt(i); // get the character code at the location\n\t\t\t\tfor (j = 0; j < o; j++) { //\t\"mash\" it into the UHEPRNG state\n\t\t\t\t\ts[j] -= mash(k);\n\t\t\t\t\tif (s[j] < 0) {\n\t\t\t\t\t\ts[j] += 1;\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t};\n\n\t\t// this EXPORTED function allows you to seed the random generator.\n\t\trandom.seed = function (seed) {\n\t\t\tif (typeof seed === 'undefined' || seed === null) {\n\t\t\t\tseed = Math.random();\n\t\t\t}\n\t\t\tif (typeof seed !== 'string') {\n\t\t\t\tseed = stringify(seed, function (key, value) {\n\t\t\t\t\tif (typeof value === 'function') {\n\t\t\t\t\t\treturn (value).toString();\n\t\t\t\t\t}\n\t\t\t\t\treturn value;\n\t\t\t\t});\n\t\t\t}\n\t\t\trandom.initState();\n\t\t\trandom.hashString(seed);\n\t\t};\n\n\t\t// this handy exported function is used to add entropy to our uheprng at any time\n\t\trandom.addEntropy = function ( /* accept zero or more arguments */ ) {\n\t\t\tvar args = [];\n\t\t\tfor (i = 0; i < arguments.length; i++) {\n\t\t\t\targs.push(arguments[i]);\n\t\t\t}\n\t\t\thash((k++) + (new Date().getTime()) + args.join('') + Math.random());\n\t\t};\n\n\t\t// if we want to provide a deterministic startup context for our PRNG,\n\t\t// but without directly setting the internal state variables, this allows\n\t\t// us to initialize the mash hash and PRNG's internal state before providing\n\t\t// some hashing input\n\t\trandom.initState = function () {\n\t\t\tmash(); // pass a null arg to force mash hash to init\n\t\t\tfor (i = 0; i < o; i++) {\n\t\t\t\ts[i] = mash(' '); // fill the array with initial mash hash values\n\t\t\t}\n\t\t\tc = 1; // init our multiply-with-carry carry\n\t\t\tp = o; // init our phase\n\t\t};\n\n\t\t// we use this (optional) exported function to signal the JavaScript interpreter\n\t\t// that we're finished using the \"Mash\" hash function so that it can free up the\n\t\t// local \"instance variables\" is will have been maintaining.  It's not strictly\n\t\t// necessary, of course, but it's good JavaScript citizenship.\n\t\trandom.done = function () {\n\t\t\tmash = null;\n\t\t};\n\n\t\t// if we called \"uheprng\" with a seed value, then execute random.seed() before returning\n\t\tif (typeof seed !== 'undefined') {\n\t\t\trandom.seed(seed);\n\t\t}\n\n\t\t// Returns a random integer between 0 (inclusive) and range (exclusive)\n\t\trandom.range = function (range) {\n\t\t\treturn random(range);\n\t\t};\n\n\t\t// Returns a random float between 0 (inclusive) and 1 (exclusive)\n\t\trandom.random = function () {\n\t\t\treturn random(Number.MAX_VALUE - 1) / Number.MAX_VALUE;\n\t\t};\n\n\t\t// Returns a random float between min (inclusive) and max (exclusive)\n\t\trandom.floatBetween = function (min, max) {\n\t\t\treturn random.random() * (max - min) + min;\n\t\t};\n\n\t\t// Returns a random integer between min (inclusive) and max (inclusive)\n\t\trandom.intBetween = function (min, max) {\n\t\t\treturn Math.floor(random.random() * (max - min + 1)) + min;\n\t\t};\n\n\t\t// when our main outer \"uheprng\" function is called, after setting up our\n\t\t// initial variables and entropic state, we return an \"instance pointer\"\n\t\t// to the internal anonymous function which can then be used to access\n\t\t// the uheprng's various exported functions.  As with the \".done\" function\n\t\t// above, we should set the returned value to 'null' once we're finished\n\t\t// using any of these functions.\n\t\treturn random;\n\t}());\n};\n\n// Modification for use in node:\nuheprng.create = function (seed) {\n\treturn new uheprng(seed);\n};\nmodule.exports = uheprng;\n","'use strict'\n\nconst rand = require('random-seed')\n\nclass Noise {\n  constructor (s) {\n    this.p = new Uint8Array(512)\n    this.seed(s)\n  }\n\n  gen () {}\n\n  seed (s) {\n    const rng = rand.create(s || Math.random())\n\n    for (let i = 0; i < 256; i++) this.p[i] = i\n    for (let i = 0; i < 256; i++) {\n      const r = rng(256)\n      const temp = this.p[i]\n      this.p[i] = this.p[r]\n      this.p[r] = temp\n    }\n    for (let i = 0; i < 256; i++) this.p[i + 256] = this.p[i]\n  }\n\n  transform (fn) {\n    const transformedFn = (...dims) => fn.apply(this, dims)\n\n    return transformedFn.bind(this)\n  }\n\n  octavate (...args) {\n    const octaves = args[0]\n    const dims = args.slice(1)\n    let val = 0\n    let max = 0\n\n    for (let i = 0; i < octaves; i++) {\n      const w = 1 << i\n      val += this.gen.apply(this, dims.map(x => x * w)) / w\n    }\n\n    for (let i = 0; i < octaves; i++) {\n      max += 1 / (1 << i)\n    }\n\n    return val / max\n  }\n}\n\nmodule.exports = Noise\n","'use strict'\n\nclass Vec1 {\n  constructor (x) {\n    this.x = x\n  }\n\n  dot (x) {\n    return this.x * x\n  }\n}\n\nconst g1 = [ new Vec1(1), new Vec1(-1) ]\n\nfunction grad1 (p, x) {\n  return g1[p[x] % g1.length]\n}\n\nmodule.exports = {\n  grad1\n}\n","'use strict'\n\nfunction falloff (...args) {\n  const dims = args.slice(1)\n  const t = args[0] - dims.reduce((sum, val) => {\n    return sum + val * val\n  }, 0)\n\n  return t * t * t * t\n}\n\nfunction lerp (a, b, t) {\n  return a * (1 - t) + b * t\n}\nfunction fade (t) {\n  return t * t * t * (10 + t * (-15 + t * 6))\n}\nconst cut1 = falloff.bind(null, 1)\nconst cut = falloff.bind(null, 0.5)\n\nmodule.exports = {\n  lerp,\n  fade,\n  cut1,\n  cut\n}\n","'use strict'\n\nconst Noise = require('../util/noise')\nconst { grad1 } = require('../util/1d')\nconst { cut1 } = require('../util/math')\n\nclass Simplex1 extends Noise {\n  gen (x) {\n    const gx = Math.floor(x) % 256\n    const dx = x - gx\n\n    const n0 = cut1(dx) * grad1(this.p, gx).dot(dx)\n    const n1 = cut1(dx - 1) * grad1(this.p, gx + 1).dot(dx - 1)\n\n    return 0.5 * (n0 + n1)\n  }\n}\n\nmodule.exports = Simplex1\n","'use strict'\n\nclass Vec2 {\n  constructor (x, y) {\n    this.x = x\n    this.y = y\n  }\n\n  dot (x, y) {\n    return this.x * x + this.y * y\n  }\n}\n\nconst g2 = [\n  new Vec2(1, 0), new Vec2(1, 1), new Vec2(0, 1), new Vec2(-1, 1),\n  new Vec2(-1, 0), new Vec2(-1, -1), new Vec2(0, -1), new Vec2(1, -1)\n]\n\nfunction grad2 (p, x, y) {\n  const hash = p[x + p[y]] % g2.length\n  return g2[hash]\n}\nconst S2_TO_C = 0.5 * (Math.sqrt(3) - 1)\nconst C_TO_S2 = (3 - Math.sqrt(3)) / 6\n\nmodule.exports = {\n  grad2,\n  S2_TO_C,\n  C_TO_S2\n}\n","'use strict'\n\nconst Noise = require('../util/noise')\nconst { grad2, S2_TO_C, C_TO_S2 } = require('../util/2d')\nconst { cut } = require('../util/math')\n\nclass Simplex2 extends Noise {\n  gen (x, y) {\n    const skew = (x + y) * S2_TO_C\n    const i = Math.trunc(x + skew)\n    const j = Math.trunc(y + skew)\n\n    const unskew = (i + j) * C_TO_S2\n    const gx = i - unskew\n    const gy = j - unskew\n\n    const dx0 = x - gx\n    const dy0 = y - gy\n\n    const di = dx0 > dy0 ? 1 : 0\n    const dj = dx0 > dy0 ? 0 : 1\n\n    const dx1 = dx0 - di + C_TO_S2\n    const dy1 = dy0 - dj + C_TO_S2\n    const dx2 = dx0 - 1 + 2 * C_TO_S2\n    const dy2 = dy0 - 1 + 2 * C_TO_S2\n\n    const n0 = cut(dx0, dy0) * grad2(this.p, i, j).dot(dx0, dy0)\n    const n1 = cut(dx1, dy1) * grad2(this.p, i + di, j + dj).dot(dx1, dy1)\n    const n2 = cut(dx2, dy2) * grad2(this.p, i + 1, j + 1).dot(dx2, dy2)\n\n    return 70 * (n0 + n1 + n2)\n  }\n}\n\nmodule.exports = Simplex2\n","'use strict'\n\nconst Noise = require('../util/noise')\nconst { grad1 } = require('../util/1d')\nconst { lerp, fade } = require('../util/math')\n\nclass Perlin1 extends Noise {\n  gen (x) {\n    const gx = Math.floor(x) % 256\n    const dx = x - gx\n\n    const n0 = grad1(this.p, gx).dot(dx)\n    const n1 = grad1(this.p, gx + 1).dot(dx - 1)\n\n    return lerp(n0, n1, fade(dx))\n  }\n}\n\nmodule.exports = Perlin1\n","'use strict'\n\nconst Noise = require('../util/noise')\nconst { grad2 } = require('../util/2d')\nconst { fade, lerp } = require('../util/math')\n\nclass Perlin2 extends Noise {\n  gen (x, y) {\n    const gx = Math.trunc(x) % 256\n    const gy = Math.trunc(y) % 256\n\n    const dx = x - gx\n    const dy = y - gy\n\n    const n00 = grad2(this.p, gx, gy).dot(dx, dy)\n    const n10 = grad2(this.p, gx + 1, gy).dot(dx - 1, dy)\n    const n01 = grad2(this.p, gx, gy + 1).dot(dx, dy - 1)\n    const n11 = grad2(this.p, gx + 1, gy + 1).dot(dx - 1, dy - 1)\n\n    return lerp(\n      lerp(n00, n10, fade(dx)),\n      lerp(n01, n11, fade(dx)),\n      fade(dy)\n    )\n  }\n}\n\nmodule.exports = Perlin2\n","'use strict'\n\nclass Vec3 {\n  constructor (x, y, z) {\n    this.x = x\n    this.y = y\n    this.z = z\n  }\n\n  dot (x, y, z) {\n    return this.x * x + this.y * y + this.z * z\n  }\n}\n\nconst g3 = [\n  new Vec3(1, 1, 1), new Vec3(-1, 1, 1), new Vec3(1, -1, 1), new Vec3(-1, -1, 1),\n  new Vec3(1, 1, 0), new Vec3(-1, 1, 0), new Vec3(1, -1, 0), new Vec3(-1, -1, 0),\n  new Vec3(1, 1, -1), new Vec3(-1, 1, -1), new Vec3(1, -1, -1), new Vec3(-1, -1, -1)\n]\n\nfunction grad3 (p, x, y, z) {\n  const hash = p[x + p[y + p[z]]] % g3.length\n  return g3[hash]\n}\n\nmodule.exports = {\n  grad3\n}\n","'use strict'\n\nconst Noise = require('../util/noise')\nconst { grad3 } = require('../util/3d')\nconst { fade, lerp } = require('../util/math')\n\nclass Perlin3 extends Noise {\n  gen (x, y, z) {\n    const gx = Math.trunc(x) % 256\n    const gy = Math.trunc(y) % 256\n    const gz = Math.trunc(z) % 256\n\n    const dx = x - gx\n    const dy = y - gy\n    const dz = z - gz\n\n    const n000 = grad3(this.p, gx, gy, gz).dot(dx, dy, dz)\n    const n100 = grad3(this.p, gx + 1, gy, gz).dot(dx - 1, dy, dz)\n    const n010 = grad3(this.p, gx, gy + 1, gz).dot(dx, dy - 1, dz)\n    const n110 = grad3(this.p, gx + 1, gy + 1, gz).dot(dx - 1, dy - 1, dz)\n    const n001 = grad3(this.p, gx, gy, gz + 1).dot(dx, dy, dz - 1)\n    const n101 = grad3(this.p, gx + 1, gy, gz + 1).dot(dx - 1, dy, dz - 1)\n    const n011 = grad3(this.p, gx, gy + 1, gz + 1).dot(dx, dy - 1, dz - 1)\n    const n111 = grad3(this.p, gx + 1, gy + 1, gz + 1).dot(dx - 1, dy - 1, dz - 1)\n\n    return lerp(\n      lerp(\n        lerp(n000, n100, dx),\n        lerp(n010, n110, dx),\n        fade(dy)\n      ),\n      lerp(\n        lerp(n001, n101, dx),\n        lerp(n011, n111, dx),\n        fade(dy)\n      ),\n      fade(dz)\n    )\n  }\n}\n\nmodule.exports = Perlin3\n","'use strict'\n\nclass Vec4 {\n  constructor (x, y, z, t) {\n    this.x = x\n    this.y = y\n    this.z = z\n    this.t = t\n  }\n\n  dot (x, y, z, t) {\n    return this.x * x + this.y * y + this.z * z + this.t * t\n  }\n}\n\nconst g4 = [\n  new Vec4(0, 1, 1, 1), new Vec4(0, 1, 1, -1), new Vec4(0, 1, -1, 1), new Vec4(0, 1, -1, -1),\n  new Vec4(0, -1, 1, 1), new Vec4(0, -1, 1, -1), new Vec4(0, -1, -1, 1), new Vec4(0, -1, -1, -1),\n  new Vec4(1, 0, 1, 1), new Vec4(1, 0, 1, -1), new Vec4(1, 0, -1, 1), new Vec4(1, 0, -1, -1),\n  new Vec4(-1, 0, 1, 1), new Vec4(-1, 0, 1, -1), new Vec4(-1, 0, -1, 1), new Vec4(-1, 0, -1, -1),\n  new Vec4(1, 1, 0, 1), new Vec4(1, 1, 0, -1), new Vec4(1, -1, 0, 1), new Vec4(1, -1, 0, -1),\n  new Vec4(-1, 1, 0, 1), new Vec4(-1, 1, 0, -1), new Vec4(-1, -1, 0, 1), new Vec4(-1, -1, 0, -1),\n  new Vec4(1, 1, 1, 0), new Vec4(1, 1, -1, 0), new Vec4(1, -1, 1, 0), new Vec4(1, -1, -1, 0),\n  new Vec4(-1, 1, 1, 0), new Vec4(-1, 1, -1, 0), new Vec4(-1, -1, 1, 0), new Vec4(-1, -1, -1, 0)\n]\n\nfunction grad4 (p, x, y, z, t) {\n  const hash = p[x + p[y + p[z + p[t]]]] % g4.length\n  return g4[hash]\n}\n\nmodule.exports = {\n  grad4\n}\n","'use strict'\n\nconst Noise = require('../util/noise')\nconst { grad4 } = require('../util/4d')\nconst { fade, lerp } = require('../util/math')\n\nclass Perlin4 extends Noise {\n  gen (x, y, z, t) {\n    const gx = Math.trunc(x) % 256\n    const gy = Math.trunc(y) % 256\n    const gz = Math.trunc(z) % 256\n    const gt = Math.trunc(t) % 256\n\n    const dx = x - gx\n    const dy = y - gy\n    const dz = z - gz\n    const dt = t - gt\n\n    const n0000 = grad4(this.p, gx, gy, gz, gt).dot(dx, dy, dz, dt)\n    const n1000 = grad4(this.p, gx + 1, gy, gz, gt).dot(dx - 1, dy, dz)\n    const n0100 = grad4(this.p, gx, gy + 1, gz, gt).dot(dx, dy - 1, dz)\n    const n1100 = grad4(this.p, gx + 1, gy + 1, gz, gt).dot(dx - 1, dy - 1, dz)\n    const n0010 = grad4(this.p, gx, gy, gz + 1, gt).dot(dx, dy, dz - 1)\n    const n1010 = grad4(this.p, gx + 1, gy, gz + 1, gt).dot(dx - 1, dy, dz - 1)\n    const n0110 = grad4(this.p, gx, gy + 1, gz + 1, gt).dot(dx, dy - 1, dz - 1)\n    const n1110 = grad4(this.p, gx + 1, gy + 1, gz + 1, gt).dot(dx - 1, dy - 1, dz - 1)\n    const n0001 = grad4(this.p, gx, gy, gz, gt + 1).dot(dx, dy, dz, dt - 1)\n    const n1001 = grad4(this.p, gx + 1, gy, gz, gt + 1).dot(dx - 1, dy, dz, dt - 1)\n    const n0101 = grad4(this.p, gx, gy + 1, gz, gt + 1).dot(dx, dy - 1, dz, dt - 1)\n    const n1101 = grad4(this.p, gx + 1, gy + 1, gz, gt + 1).dot(dx - 1, dy - 1, dz, dt - 1)\n    const n0011 = grad4(this.p, gx, gy, gz + 1, gt + 1).dot(dx, dy, dz - 1, dt - 1)\n    const n1011 = grad4(this.p, gx + 1, gy, gz + 1, gt + 1).dot(dx - 1, dy, dz - 1, dt - 1)\n    const n0111 = grad4(this.p, gx, gy + 1, gz + 1, gt + 1).dot(dx, dy - 1, dz - 1, dt - 1)\n    const n1111 = grad4(this.p, gx + 1, gy + 1, gz + 1, gt + 1).dot(dx - 1, dy - 1, dz - 1, dt - 1)\n\n    return lerp(\n      lerp(\n        lerp(\n          lerp(n0000, n1000, dx),\n          lerp(n0100, n1100, dx),\n          fade(dy)\n        ),\n        lerp(\n          lerp(n0010, n1010, dx),\n          lerp(n0110, n1110, dx),\n          fade(dy)\n        ),\n        fade(dz)\n      ),\n      lerp(\n        lerp(\n          lerp(n0001, n1001, dx),\n          lerp(n0101, n1101, dx),\n          fade(dy)\n        ),\n        lerp(\n          lerp(n0011, n1011, dx),\n          lerp(n0111, n1111, dx),\n          fade(dy)\n        ),\n        fade(dz)\n      ),\n      fade(dt)\n    )\n  }\n}\n\nmodule.exports = Perlin4\n","'use strict'\n\nconst { lerp, fade } = require('./math')\n\nfunction hashN (p, gs) {\n  if (gs.length === 1) return p[gs[0]]\n\n  return p[gs[0] + hashN(p, gs.slice(1))]\n}\n\nclass VecN {\n  constructor (R) {\n    this.R = R\n  }\n\n  dot (R) {\n    let val = 0\n\n    for (let i = 0; i < R.length; i++) {\n      val += this.R[i] * R[i]\n    }\n\n    return val\n  }\n}\n\nconst gN = []\nfunction generateGN (dim) {\n  for (let i = 0; i < dim * 2; i++) {\n    const vec = new Array(dim).fill(0)\n\n    vec[i % dim] = i / dim >= 1 ? 1 : -1\n    gN[i] = new VecN(vec)\n  }\n}\n\nfunction lerpN (ns, ds) {\n  if (ds.length === 1) return lerp(ns[0], ns[1], fade(ds[0]))\n\n  const ns1 = ns.slice(0, Math.floor(ns.length / 2))\n  const ns2 = ns.slice(Math.ceil(ns.length / 2))\n\n  return lerp(\n    lerpN(ns1, ds.slice(0, ds.length - 1)),\n    lerpN(ns2, ds.slice(0, ds.length - 1)),\n    fade(ds[ds.length - 1])\n  )\n}\nfunction getNs (p, dim, gs, ds) {\n  const ns = []\n\n  if (gN.length === 0) {\n    generateGN(dim)\n  }\n\n  for (let i = 0; i < (2 << (dim - 1)); i++) {\n    const gsPerm = gs.slice()\n    const dsPerm = ds.slice()\n    let temp = i\n\n    for (let j = 0; j < dim; j++) {\n      if (temp & 1) {\n        gsPerm[j] += 1\n        dsPerm[j] -= 1\n      }\n      temp = temp >> 1\n    }\n    ns[i] = gN[hashN(p, gsPerm) % gN.length].dot(dsPerm)\n  }\n\n  return ns\n}\n\nmodule.exports = {\n  lerpN,\n  getNs\n}\n","'use strict'\n\nconst Noise = require('../util/noise')\nconst { lerpN, getNs } = require('../util/nd')\n\nclass PerlinN extends Noise {\n  gen (...args) {\n    const gs = []\n    const ds = []\n\n    for (let i = 0; i < args.length; i++) {\n      gs[i] = Math.trunc(args[i]) % 256\n      ds[i] = args[i] - gs[i]\n    }\n\n    const ns = getNs(this.p, args.length, gs, ds)\n\n    return lerpN(ns, ds)\n  }\n}\n\nmodule.exports = PerlinN\n","'use struct'\n\nconst Simplex1 = require('./simplex/simplex1')\nconst Simplex2 = require('./simplex/simplex2')\n\nconst Perlin1 = require('./perlin/perlin1')\nconst Perlin2 = require('./perlin/perlin2')\nconst Perlin3 = require('./perlin/perlin3')\nconst Perlin4 = require('./perlin/perlin4')\nconst PerlinN = require('./perlin/perlinN')\n\nmodule.exports = {\n  Simplex1,\n  Simplex2,\n  Perlin1,\n  Perlin2,\n  Perlin3,\n  Perlin4,\n  PerlinN\n}\n","'use strict'\n\nmodule.exports = require('./lib')\n"]}