canvas-emulator 1.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.gitignore +233 -0
- package/CLAUDE.md +61 -0
- package/README.md +128 -0
- package/dist/cjs/playground.d.ts +2 -0
- package/dist/cjs/playground.d.ts.map +1 -0
- package/dist/cjs/playground.js +37 -0
- package/dist/cjs/playground.js.map +1 -0
- package/dist/cjs/src/canvas/canvas.d.ts +41 -0
- package/dist/cjs/src/canvas/canvas.d.ts.map +1 -0
- package/dist/cjs/src/canvas/canvas.js +83 -0
- package/dist/cjs/src/canvas/canvas.js.map +1 -0
- package/dist/cjs/src/canvas/context-2d.d.ts +37 -0
- package/dist/cjs/src/canvas/context-2d.d.ts.map +1 -0
- package/dist/cjs/src/canvas/context-2d.js +245 -0
- package/dist/cjs/src/canvas/context-2d.js.map +1 -0
- package/dist/cjs/src/canvas/index.d.ts +2 -0
- package/dist/cjs/src/canvas/index.d.ts.map +1 -0
- package/dist/cjs/src/canvas/index.js +18 -0
- package/dist/cjs/src/canvas/index.js.map +1 -0
- package/dist/cjs/src/common/array.d.ts +40 -0
- package/dist/cjs/src/common/array.d.ts.map +1 -0
- package/dist/cjs/src/common/array.js +99 -0
- package/dist/cjs/src/common/array.js.map +1 -0
- package/dist/cjs/src/common/colors.d.ts +62 -0
- package/dist/cjs/src/common/colors.d.ts.map +1 -0
- package/dist/cjs/src/common/colors.js +93 -0
- package/dist/cjs/src/common/colors.js.map +1 -0
- package/dist/cjs/src/common/hash.d.ts +3 -0
- package/dist/cjs/src/common/hash.d.ts.map +1 -0
- package/dist/cjs/src/common/hash.js +44 -0
- package/dist/cjs/src/common/hash.js.map +1 -0
- package/dist/cjs/src/common/index.d.ts +7 -0
- package/dist/cjs/src/common/index.d.ts.map +1 -0
- package/dist/cjs/src/common/index.js +23 -0
- package/dist/cjs/src/common/index.js.map +1 -0
- package/dist/cjs/src/common/ppm.d.ts +2 -0
- package/dist/cjs/src/common/ppm.d.ts.map +1 -0
- package/dist/cjs/src/common/ppm.js +21 -0
- package/dist/cjs/src/common/ppm.js.map +1 -0
- package/dist/cjs/src/common/scalar.d.ts +27 -0
- package/dist/cjs/src/common/scalar.d.ts.map +1 -0
- package/dist/cjs/src/common/scalar.js +65 -0
- package/dist/cjs/src/common/scalar.js.map +1 -0
- package/dist/cjs/src/common/types.d.ts +9 -0
- package/dist/cjs/src/common/types.d.ts.map +1 -0
- package/dist/cjs/src/common/types.js +3 -0
- package/dist/cjs/src/common/types.js.map +1 -0
- package/dist/cjs/src/data/font/index.d.ts +2 -0
- package/dist/cjs/src/data/font/index.d.ts.map +1 -0
- package/dist/cjs/src/data/font/index.js +18 -0
- package/dist/cjs/src/data/font/index.js.map +1 -0
- package/dist/cjs/src/data/font/noto-mono-regular-48.d.ts +747 -0
- package/dist/cjs/src/data/font/noto-mono-regular-48.d.ts.map +1 -0
- package/dist/cjs/src/data/font/noto-mono-regular-48.js +15544 -0
- package/dist/cjs/src/data/font/noto-mono-regular-48.js.map +1 -0
- package/dist/cjs/src/data/font/noto-mono-regular-48.json +15540 -0
- package/dist/cjs/src/data/index.d.ts +2 -0
- package/dist/cjs/src/data/index.d.ts.map +1 -0
- package/dist/cjs/src/data/index.js +18 -0
- package/dist/cjs/src/data/index.js.map +1 -0
- package/dist/cjs/src/index.d.ts +4 -0
- package/dist/cjs/src/index.d.ts.map +1 -0
- package/dist/cjs/src/index.js +20 -0
- package/dist/cjs/src/index.js.map +1 -0
- package/dist/esm/playground.d.ts +2 -0
- package/dist/esm/playground.d.ts.map +1 -0
- package/dist/esm/playground.js +37 -0
- package/dist/esm/playground.js.map +1 -0
- package/dist/esm/src/canvas/canvas.d.ts +41 -0
- package/dist/esm/src/canvas/canvas.d.ts.map +1 -0
- package/dist/esm/src/canvas/canvas.js +83 -0
- package/dist/esm/src/canvas/canvas.js.map +1 -0
- package/dist/esm/src/canvas/context-2d.d.ts +37 -0
- package/dist/esm/src/canvas/context-2d.d.ts.map +1 -0
- package/dist/esm/src/canvas/context-2d.js +245 -0
- package/dist/esm/src/canvas/context-2d.js.map +1 -0
- package/dist/esm/src/canvas/index.d.ts +2 -0
- package/dist/esm/src/canvas/index.d.ts.map +1 -0
- package/dist/esm/src/canvas/index.js +18 -0
- package/dist/esm/src/canvas/index.js.map +1 -0
- package/dist/esm/src/common/array.d.ts +40 -0
- package/dist/esm/src/common/array.d.ts.map +1 -0
- package/dist/esm/src/common/array.js +99 -0
- package/dist/esm/src/common/array.js.map +1 -0
- package/dist/esm/src/common/colors.d.ts +62 -0
- package/dist/esm/src/common/colors.d.ts.map +1 -0
- package/dist/esm/src/common/colors.js +93 -0
- package/dist/esm/src/common/colors.js.map +1 -0
- package/dist/esm/src/common/hash.d.ts +3 -0
- package/dist/esm/src/common/hash.d.ts.map +1 -0
- package/dist/esm/src/common/hash.js +44 -0
- package/dist/esm/src/common/hash.js.map +1 -0
- package/dist/esm/src/common/index.d.ts +7 -0
- package/dist/esm/src/common/index.d.ts.map +1 -0
- package/dist/esm/src/common/index.js +23 -0
- package/dist/esm/src/common/index.js.map +1 -0
- package/dist/esm/src/common/ppm.d.ts +2 -0
- package/dist/esm/src/common/ppm.d.ts.map +1 -0
- package/dist/esm/src/common/ppm.js +21 -0
- package/dist/esm/src/common/ppm.js.map +1 -0
- package/dist/esm/src/common/scalar.d.ts +27 -0
- package/dist/esm/src/common/scalar.d.ts.map +1 -0
- package/dist/esm/src/common/scalar.js +65 -0
- package/dist/esm/src/common/scalar.js.map +1 -0
- package/dist/esm/src/common/types.d.ts +9 -0
- package/dist/esm/src/common/types.d.ts.map +1 -0
- package/dist/esm/src/common/types.js +3 -0
- package/dist/esm/src/common/types.js.map +1 -0
- package/dist/esm/src/data/font/index.d.ts +2 -0
- package/dist/esm/src/data/font/index.d.ts.map +1 -0
- package/dist/esm/src/data/font/index.js +18 -0
- package/dist/esm/src/data/font/index.js.map +1 -0
- package/dist/esm/src/data/font/noto-mono-regular-48.d.ts +747 -0
- package/dist/esm/src/data/font/noto-mono-regular-48.d.ts.map +1 -0
- package/dist/esm/src/data/font/noto-mono-regular-48.js +15544 -0
- package/dist/esm/src/data/font/noto-mono-regular-48.js.map +1 -0
- package/dist/esm/src/data/font/noto-mono-regular-48.json +15540 -0
- package/dist/esm/src/data/index.d.ts +2 -0
- package/dist/esm/src/data/index.d.ts.map +1 -0
- package/dist/esm/src/data/index.js +18 -0
- package/dist/esm/src/data/index.js.map +1 -0
- package/dist/esm/src/index.d.ts +4 -0
- package/dist/esm/src/index.d.ts.map +1 -0
- package/dist/esm/src/index.js +20 -0
- package/dist/esm/src/index.js.map +1 -0
- package/package.json +43 -0
- package/playground.ts +41 -0
- package/pnpm-lock.yaml +352 -0
- package/render_font.py +98 -0
- package/src/canvas/canvas.ts +123 -0
- package/src/canvas/context-2d.ts +305 -0
- package/src/canvas/index.ts +1 -0
- package/src/common/array.ts +176 -0
- package/src/common/colors.ts +93 -0
- package/src/common/hash.ts +46 -0
- package/src/common/index.ts +6 -0
- package/src/common/ppm.ts +28 -0
- package/src/common/scalar.ts +72 -0
- package/src/common/types.ts +10 -0
- package/src/data/font/index.ts +1 -0
- package/src/data/font/noto-mono-regular-48.json +15540 -0
- package/src/data/font/noto-mono-regular-48.ts +15540 -0
- package/src/data/index.ts +1 -0
- package/src/index.ts +3 -0
- package/tsconfig.cjs.json +10 -0
- package/tsconfig.esm.json +10 -0
- package/tsconfig.json +23 -0
|
@@ -0,0 +1,44 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.hashU32 = exports.toUint32 = void 0;
|
|
4
|
+
const array_1 = require("./array");
|
|
5
|
+
const isFloat = (x) => !Number.isInteger(x);
|
|
6
|
+
const toUint32 = (x) => {
|
|
7
|
+
const buffer = new ArrayBuffer(4);
|
|
8
|
+
const view = new DataView(buffer);
|
|
9
|
+
const n = Number(x);
|
|
10
|
+
if (isFloat(n)) {
|
|
11
|
+
view.setFloat32(0, n);
|
|
12
|
+
}
|
|
13
|
+
else {
|
|
14
|
+
view.setUint32(0, n);
|
|
15
|
+
}
|
|
16
|
+
return view.getUint32(0);
|
|
17
|
+
};
|
|
18
|
+
exports.toUint32 = toUint32;
|
|
19
|
+
const hashU32 = (arr) => {
|
|
20
|
+
const U = exports.toUint32;
|
|
21
|
+
const pad = 7;
|
|
22
|
+
const batches = (0, array_1.toBatched)(arr.map((v) => U(v)), 2, pad);
|
|
23
|
+
let h = 0;
|
|
24
|
+
for (let i = 0; i < batches.length; i++) {
|
|
25
|
+
let [x, y] = batches[i % batches.length];
|
|
26
|
+
let j1 = (~x >> 2) * 53;
|
|
27
|
+
let j2 = (~y >> 3) * 53;
|
|
28
|
+
x += j2;
|
|
29
|
+
x ^= x << 17;
|
|
30
|
+
x ^= x >> 13;
|
|
31
|
+
x ^= x << 5;
|
|
32
|
+
x *= 0xa40b130c;
|
|
33
|
+
y ^= x;
|
|
34
|
+
y += j1;
|
|
35
|
+
y ^= y << 17;
|
|
36
|
+
y ^= y >> 13;
|
|
37
|
+
y ^= y << 5;
|
|
38
|
+
y *= 0xe0b0591a;
|
|
39
|
+
h = U(h + (x * 7 + y * 3) * 5013 + 1013 * (j1 * 3 + j2));
|
|
40
|
+
}
|
|
41
|
+
return U(h);
|
|
42
|
+
};
|
|
43
|
+
exports.hashU32 = hashU32;
|
|
44
|
+
//# sourceMappingURL=hash.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"hash.js","sourceRoot":"","sources":["../../../../src/common/hash.ts"],"names":[],"mappings":";;;AAAA,mCAAoC;AAEpC,MAAM,OAAO,GAAG,CAAC,CAAS,EAAW,EAAE,CAAC,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC;AAEtD,MAAM,QAAQ,GAAG,CAAC,CAAkB,EAAU,EAAE;IACrD,MAAM,MAAM,GAAG,IAAI,WAAW,CAAC,CAAC,CAAC,CAAC;IAClC,MAAM,IAAI,GAAG,IAAI,QAAQ,CAAC,MAAM,CAAC,CAAC;IAClC,MAAM,CAAC,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC;IACpB,IAAI,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC;QACf,IAAI,CAAC,UAAU,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;IACxB,CAAC;SAAM,CAAC;QACN,IAAI,CAAC,SAAS,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;IACvB,CAAC;IACD,OAAO,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC;AAC3B,CAAC,CAAC;AAVW,QAAA,QAAQ,YAUnB;AAEK,MAAM,OAAO,GAAG,CAAC,GAAa,EAAE,EAAE;IACvC,MAAM,CAAC,GAAG,gBAAQ,CAAC;IACnB,MAAM,GAAG,GAAG,CAAC,CAAC;IACd,MAAM,OAAO,GAAG,IAAA,iBAAS,EACvB,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EACpB,CAAC,EACD,GAAG,CACJ,CAAC;IAEF,IAAI,CAAC,GAAG,CAAC,CAAC;IACV,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;QACxC,IAAI,CAAC,CAAC,EAAE,CAAC,CAAC,GAAG,OAAO,CAAC,CAAC,GAAG,OAAO,CAAC,MAAM,CAAE,CAAC;QAC1C,IAAI,EAAE,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,GAAG,EAAE,CAAC;QACxB,IAAI,EAAE,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,GAAG,EAAE,CAAC;QACxB,CAAC,IAAI,EAAE,CAAC;QACR,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC;QACb,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC;QACb,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACZ,CAAC,IAAI,UAAU,CAAC;QAChB,CAAC,IAAI,CAAC,CAAC;QACP,CAAC,IAAI,EAAE,CAAC;QACR,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC;QACb,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC;QACb,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACZ,CAAC,IAAI,UAAU,CAAC;QAChB,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,GAAG,IAAI,GAAG,IAAI,GAAG,CAAC,EAAE,GAAG,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC;IAC3D,CAAC;IAED,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC;AACd,CAAC,CAAC;AA7BW,QAAA,OAAO,WA6BlB"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/common/index.ts"],"names":[],"mappings":"AAAA,cAAc,SAAS,CAAC;AACxB,cAAc,SAAS,CAAC;AACxB,cAAc,QAAQ,CAAC;AACvB,cAAc,OAAO,CAAC;AACtB,cAAc,UAAU,CAAC;AACzB,cAAc,UAAU,CAAC"}
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
+
if (k2 === undefined) k2 = k;
|
|
4
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
5
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
6
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
7
|
+
}
|
|
8
|
+
Object.defineProperty(o, k2, desc);
|
|
9
|
+
}) : (function(o, m, k, k2) {
|
|
10
|
+
if (k2 === undefined) k2 = k;
|
|
11
|
+
o[k2] = m[k];
|
|
12
|
+
}));
|
|
13
|
+
var __exportStar = (this && this.__exportStar) || function(m, exports) {
|
|
14
|
+
for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
|
|
15
|
+
};
|
|
16
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
17
|
+
__exportStar(require("./types"), exports);
|
|
18
|
+
__exportStar(require("./array"), exports);
|
|
19
|
+
__exportStar(require("./hash"), exports);
|
|
20
|
+
__exportStar(require("./ppm"), exports);
|
|
21
|
+
__exportStar(require("./scalar"), exports);
|
|
22
|
+
__exportStar(require("./colors"), exports);
|
|
23
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/common/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,0CAAwB;AACxB,0CAAwB;AACxB,yCAAuB;AACvB,wCAAsB;AACtB,2CAAyB;AACzB,2CAAyB"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ppm.d.ts","sourceRoot":"","sources":["../../../../src/common/ppm.ts"],"names":[],"mappings":"AAEA,eAAO,MAAM,SAAS,GACpB,OAAO,MAAM,EACb,QAAQ,MAAM,EACd,QAAQ,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,KACjC,MAqBF,CAAC"}
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.createPPM = void 0;
|
|
4
|
+
const scalar_1 = require("./scalar");
|
|
5
|
+
const createPPM = (width, height, pixels) => {
|
|
6
|
+
const expectedPixels = width * height;
|
|
7
|
+
if (pixels.length !== expectedPixels) {
|
|
8
|
+
throw new Error(`Invalid pixel data: Expected ${expectedPixels} pixels, but got ${pixels.length}.`);
|
|
9
|
+
}
|
|
10
|
+
let ppmContent = `P3\n${width} ${height}\n255\n`;
|
|
11
|
+
for (let i = 0; i < pixels.length; i++) {
|
|
12
|
+
const [x, y, z] = pixels[i];
|
|
13
|
+
const r = (0, scalar_1.clamp)(Math.round(x * 255), 0, 255);
|
|
14
|
+
const g = (0, scalar_1.clamp)(Math.round(y * 255), 0, 255);
|
|
15
|
+
const b = (0, scalar_1.clamp)(Math.round(z * 255), 0, 255);
|
|
16
|
+
ppmContent += `${r} ${g} ${b}\n`;
|
|
17
|
+
}
|
|
18
|
+
return ppmContent;
|
|
19
|
+
};
|
|
20
|
+
exports.createPPM = createPPM;
|
|
21
|
+
//# sourceMappingURL=ppm.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ppm.js","sourceRoot":"","sources":["../../../../src/common/ppm.ts"],"names":[],"mappings":";;;AAAA,qCAAiC;AAE1B,MAAM,SAAS,GAAG,CACvB,KAAa,EACb,MAAc,EACd,MAAkC,EAC1B,EAAE;IACV,MAAM,cAAc,GAAG,KAAK,GAAG,MAAM,CAAC;IACtC,IAAI,MAAM,CAAC,MAAM,KAAK,cAAc,EAAE,CAAC;QACrC,MAAM,IAAI,KAAK,CACb,gCAAgC,cAAc,oBAAoB,MAAM,CAAC,MAAM,GAAG,CACnF,CAAC;IACJ,CAAC;IAED,IAAI,UAAU,GAAG,OAAO,KAAK,IAAI,MAAM,SAAS,CAAC;IAEjD,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;QACvC,MAAM,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,GAAG,MAAM,CAAC,CAAC,CAAE,CAAC;QAE7B,MAAM,CAAC,GAAG,IAAA,cAAK,EAAC,IAAI,CAAC,KAAK,CAAC,CAAC,GAAG,GAAG,CAAC,EAAE,CAAC,EAAE,GAAG,CAAC,CAAC;QAC7C,MAAM,CAAC,GAAG,IAAA,cAAK,EAAC,IAAI,CAAC,KAAK,CAAC,CAAC,GAAG,GAAG,CAAC,EAAE,CAAC,EAAE,GAAG,CAAC,CAAC;QAC7C,MAAM,CAAC,GAAG,IAAA,cAAK,EAAC,IAAI,CAAC,KAAK,CAAC,CAAC,GAAG,GAAG,CAAC,EAAE,CAAC,EAAE,GAAG,CAAC,CAAC;QAE7C,UAAU,IAAI,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC;IACnC,CAAC;IAED,OAAO,UAAU,CAAC;AACpB,CAAC,CAAC;AAzBW,QAAA,SAAS,aAyBpB"}
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
export declare const clamp: (x: number, min: number, max: number) => number;
|
|
2
|
+
export declare const lerp: (vFrom: number, vTo: number, scale: number) => number;
|
|
3
|
+
export declare const remap: (x: number, range1: [number, number], range2: [number, number]) => number;
|
|
4
|
+
export declare const smoothstep: (edge0: number, edge1: number, value: number) => number;
|
|
5
|
+
/**
|
|
6
|
+
* Smooth greater-than
|
|
7
|
+
*/
|
|
8
|
+
export declare const sgt: (a: number, b: number, s: number) => number;
|
|
9
|
+
/**
|
|
10
|
+
* Smooth less-than
|
|
11
|
+
*/
|
|
12
|
+
export declare const slt: (a: number, b: number, s: number) => number;
|
|
13
|
+
/**
|
|
14
|
+
* Smooth minimum
|
|
15
|
+
*/
|
|
16
|
+
export declare const smin: (a: number, b: number, k: number) => number;
|
|
17
|
+
/**
|
|
18
|
+
* Smooth maximum
|
|
19
|
+
*/
|
|
20
|
+
export declare const smax: (a: number, b: number, k: number) => number;
|
|
21
|
+
export declare const fract: (x: number) => number;
|
|
22
|
+
/**
|
|
23
|
+
* Absolute modulus
|
|
24
|
+
*/
|
|
25
|
+
export declare const amod: (value: number, modulus: number) => number;
|
|
26
|
+
export declare const sigmoid: (x: number) => number;
|
|
27
|
+
//# sourceMappingURL=scalar.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"scalar.d.ts","sourceRoot":"","sources":["../../../../src/common/scalar.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,KAAK,GAAI,GAAG,MAAM,EAAE,KAAK,MAAM,EAAE,KAAK,MAAM,KAAG,MAC3B,CAAC;AAElC,eAAO,MAAM,IAAI,GAAI,OAAO,MAAM,EAAE,KAAK,MAAM,EAAE,OAAO,MAAM,WAC/B,CAAC;AAEhC,eAAO,MAAM,KAAK,GAChB,GAAG,MAAM,EACT,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC,EACxB,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC,KACvB,MAUF,CAAC;AAEF,eAAO,MAAM,UAAU,GACrB,OAAO,MAAM,EACb,OAAO,MAAM,EACb,OAAO,MAAM,KACZ,MAGF,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,GAAG,GAAI,GAAG,MAAM,EAAE,GAAG,MAAM,EAAE,GAAG,MAAM,WAGlD,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,GAAG,GAAI,GAAG,MAAM,EAAE,GAAG,MAAM,EAAE,GAAG,MAAM,WAGlD,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,IAAI,GAAI,GAAG,MAAM,EAAE,GAAG,MAAM,EAAE,GAAG,MAAM,WAGnD,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,IAAI,GAAI,GAAG,MAAM,EAAE,GAAG,MAAM,EAAE,GAAG,MAAM,WAGnD,CAAC;AAEF,eAAO,MAAM,KAAK,GAAI,GAAG,MAAM,WAAsB,CAAC;AAEtD;;GAEG;AACH,eAAO,MAAM,IAAI,GAAI,OAAO,MAAM,EAAE,SAAS,MAAM,KAAG,MACb,CAAC;AAE1C,eAAO,MAAM,OAAO,GAAI,GAAG,MAAM,WAA2B,CAAC"}
|
|
@@ -0,0 +1,65 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.sigmoid = exports.amod = exports.fract = exports.smax = exports.smin = exports.slt = exports.sgt = exports.smoothstep = exports.remap = exports.lerp = exports.clamp = void 0;
|
|
4
|
+
const clamp = (x, min, max) => Math.max(min, Math.min(max, x));
|
|
5
|
+
exports.clamp = clamp;
|
|
6
|
+
const lerp = (vFrom, vTo, scale) => vFrom + (vTo - vFrom) * scale;
|
|
7
|
+
exports.lerp = lerp;
|
|
8
|
+
const remap = (x, range1, range2) => {
|
|
9
|
+
const min1 = range1[0];
|
|
10
|
+
const max1 = range1[1];
|
|
11
|
+
const min2 = range2[0];
|
|
12
|
+
const max2 = range2[1];
|
|
13
|
+
const div = max1 - min1;
|
|
14
|
+
if (Math.abs(div) <= 0.00000000000000000001)
|
|
15
|
+
return min2;
|
|
16
|
+
return min2 + (((0, exports.clamp)(x, min1, max1) - min1) / div) * (max2 - min2);
|
|
17
|
+
};
|
|
18
|
+
exports.remap = remap;
|
|
19
|
+
const smoothstep = (edge0, edge1, value) => {
|
|
20
|
+
const x = (0, exports.clamp)((value - edge0) / (edge1 - edge0), 0.0, 1.0);
|
|
21
|
+
return x * x * (3.0 - 2.0 * x);
|
|
22
|
+
};
|
|
23
|
+
exports.smoothstep = smoothstep;
|
|
24
|
+
/**
|
|
25
|
+
* Smooth greater-than
|
|
26
|
+
*/
|
|
27
|
+
const sgt = (a, b, s) => {
|
|
28
|
+
const h = (0, exports.clamp)(0.5 + (0.5 * (a - b)) / s, 0.0, 1.0);
|
|
29
|
+
return (0, exports.lerp)(0.0, 1.0, h * h * (3.0 - 2.0 * h));
|
|
30
|
+
};
|
|
31
|
+
exports.sgt = sgt;
|
|
32
|
+
/**
|
|
33
|
+
* Smooth less-than
|
|
34
|
+
*/
|
|
35
|
+
const slt = (a, b, s) => {
|
|
36
|
+
const h = (0, exports.clamp)(0.5 + (0.5 * (b - a)) / s, 0.0, 1.0);
|
|
37
|
+
return (0, exports.lerp)(0.0, 1.0, h * h * (3.0 - 2.0 * h));
|
|
38
|
+
};
|
|
39
|
+
exports.slt = slt;
|
|
40
|
+
/**
|
|
41
|
+
* Smooth minimum
|
|
42
|
+
*/
|
|
43
|
+
const smin = (a, b, k) => {
|
|
44
|
+
const h = (0, exports.clamp)(0.5 + (0.5 * (b - a)) / k, 0.0, 1.0);
|
|
45
|
+
return (0, exports.lerp)(b, a, h) - k * h * (1.0 - h);
|
|
46
|
+
};
|
|
47
|
+
exports.smin = smin;
|
|
48
|
+
/**
|
|
49
|
+
* Smooth maximum
|
|
50
|
+
*/
|
|
51
|
+
const smax = (a, b, k) => {
|
|
52
|
+
const h = (0, exports.clamp)(0.5 + (0.5 * (b - a)) / k, 0.0, 1.0);
|
|
53
|
+
return (0, exports.lerp)(b, a, h) + k * h * (1.0 - h);
|
|
54
|
+
};
|
|
55
|
+
exports.smax = smax;
|
|
56
|
+
const fract = (x) => x - Math.floor(x);
|
|
57
|
+
exports.fract = fract;
|
|
58
|
+
/**
|
|
59
|
+
* Absolute modulus
|
|
60
|
+
*/
|
|
61
|
+
const amod = (value, modulus) => ((value % modulus) + modulus) % modulus;
|
|
62
|
+
exports.amod = amod;
|
|
63
|
+
const sigmoid = (x) => 1 / (1 + Math.exp(-x));
|
|
64
|
+
exports.sigmoid = sigmoid;
|
|
65
|
+
//# sourceMappingURL=scalar.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"scalar.js","sourceRoot":"","sources":["../../../../src/common/scalar.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
export type Pair<A, B> = [A, B];
|
|
2
|
+
export type Triple<A, B, C> = [A, B, C];
|
|
3
|
+
export type Prettify<T> = {
|
|
4
|
+
[K in keyof T]: T[K];
|
|
5
|
+
} & {};
|
|
6
|
+
export type V2 = [number, number];
|
|
7
|
+
export type V3 = [number, number, number];
|
|
8
|
+
export type V4 = [number, number, number, number];
|
|
9
|
+
//# sourceMappingURL=types.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../../src/common/types.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,IAAI,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;AAChC,MAAM,MAAM,MAAM,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;AAExC,MAAM,MAAM,QAAQ,CAAC,CAAC,IAAI;KACvB,CAAC,IAAI,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;CACrB,GAAG,EAAE,CAAC;AAEP,MAAM,MAAM,EAAE,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;AAClC,MAAM,MAAM,EAAE,GAAG,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,CAAC;AAC1C,MAAM,MAAM,EAAE,GAAG,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.js","sourceRoot":"","sources":["../../../../src/common/types.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/data/font/index.ts"],"names":[],"mappings":"AAAA,cAAc,wBAAwB,CAAC"}
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
+
if (k2 === undefined) k2 = k;
|
|
4
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
5
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
6
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
7
|
+
}
|
|
8
|
+
Object.defineProperty(o, k2, desc);
|
|
9
|
+
}) : (function(o, m, k, k2) {
|
|
10
|
+
if (k2 === undefined) k2 = k;
|
|
11
|
+
o[k2] = m[k];
|
|
12
|
+
}));
|
|
13
|
+
var __exportStar = (this && this.__exportStar) || function(m, exports) {
|
|
14
|
+
for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
|
|
15
|
+
};
|
|
16
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
17
|
+
__exportStar(require("./noto-mono-regular-48"), exports);
|
|
18
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../src/data/font/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,yDAAuC"}
|