@prosopo/puzzle-assets 0.2.3 → 0.2.4
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/.turbo/turbo-build$colon$cjs.log +1 -1
- package/.turbo/turbo-build$colon$esm.log +24 -0
- package/.turbo/turbo-build$colon$tsc.log +4 -4
- package/.turbo/turbo-build$colon$types.log +1 -0
- package/CHANGELOG.md +9 -0
- package/dist/tsc/background.d.ts.map +1 -0
- package/dist/tsc/background.js +102 -0
- package/dist/tsc/background.js.map +1 -0
- package/dist/tsc/browser.d.ts.map +1 -0
- package/dist/tsc/browser.js +30 -0
- package/dist/tsc/browser.js.map +1 -0
- package/dist/tsc/compose.d.ts.map +1 -0
- package/dist/tsc/compose.js +136 -0
- package/dist/tsc/compose.js.map +1 -0
- package/dist/tsc/contrast.d.ts.map +1 -0
- package/dist/tsc/contrast.js +79 -0
- package/dist/tsc/contrast.js.map +1 -0
- package/dist/tsc/decoys.d.ts.map +1 -0
- package/dist/tsc/decoys.js +74 -0
- package/dist/tsc/decoys.js.map +1 -0
- package/dist/tsc/encode.d.ts.map +1 -0
- package/dist/tsc/encode.js +19 -0
- package/dist/tsc/encode.js.map +1 -0
- package/dist/tsc/index.d.ts.map +1 -0
- package/dist/tsc/index.js +44 -0
- package/dist/tsc/index.js.map +1 -0
- package/dist/tsc/notch.d.ts.map +1 -0
- package/dist/tsc/notch.js +114 -0
- package/dist/tsc/notch.js.map +1 -0
- package/dist/tsc/palette.d.ts.map +1 -0
- package/dist/tsc/palette.js +68 -0
- package/dist/tsc/palette.js.map +1 -0
- package/dist/tsc/prng.d.ts.map +1 -0
- package/dist/tsc/prng.js +41 -0
- package/dist/tsc/prng.js.map +1 -0
- package/dist/tsc/tests/pieceReadability.unit.test.d.ts.map +1 -0
- package/dist/tsc/tests/pieceReadability.unit.test.js.map +1 -0
- package/dist/tsc/tests/puzzleAssets.unit.test.d.ts.map +1 -0
- package/dist/tsc/tests/puzzleAssets.unit.test.js.map +1 -0
- package/dist/tsc/tests/renderReplay.unit.test.d.ts.map +1 -0
- package/dist/tsc/tests/renderReplay.unit.test.js.map +1 -0
- package/dist/tsc/types.d.ts.map +1 -0
- package/dist/tsc/types.js.map +1 -0
- package/dist/types/background.d.ts +4 -0
- package/dist/types/background.d.ts.map +1 -0
- package/dist/types/browser.d.ts +16 -0
- package/dist/types/browser.d.ts.map +1 -0
- package/dist/types/compose.d.ts +13 -0
- package/dist/types/compose.d.ts.map +1 -0
- package/dist/types/contrast.d.ts +9 -0
- package/dist/types/contrast.d.ts.map +1 -0
- package/dist/types/decoys.d.ts +5 -0
- package/dist/types/decoys.d.ts.map +1 -0
- package/dist/types/encode.d.ts +6 -0
- package/dist/types/encode.d.ts.map +1 -0
- package/dist/types/index.d.ts +15 -0
- package/dist/types/index.d.ts.map +1 -0
- package/dist/types/notch.d.ts +7 -0
- package/dist/types/notch.d.ts.map +1 -0
- package/dist/types/palette.d.ts +10 -0
- package/dist/types/palette.d.ts.map +1 -0
- package/dist/types/prng.d.ts +10 -0
- package/dist/types/prng.d.ts.map +1 -0
- package/dist/types/tests/pieceReadability.unit.test.d.ts +2 -0
- package/dist/types/tests/pieceReadability.unit.test.d.ts.map +1 -0
- package/dist/types/tests/puzzleAssets.unit.test.d.ts +2 -0
- package/dist/types/tests/puzzleAssets.unit.test.d.ts.map +1 -0
- package/dist/types/tests/renderReplay.unit.test.d.ts +2 -0
- package/dist/types/tests/renderReplay.unit.test.d.ts.map +1 -0
- package/dist/types/types.d.ts +29 -0
- package/dist/types/types.d.ts.map +1 -0
- package/package.json +11 -12
- package/vite.esm.config.ts +1 -1
- package/.turbo/turbo-build.log +0 -25
- package/dist/background.d.ts.map +0 -1
- package/dist/background.js.map +0 -1
- package/dist/browser.d.ts.map +0 -1
- package/dist/browser.js.map +0 -1
- package/dist/compose.d.ts.map +0 -1
- package/dist/compose.js.map +0 -1
- package/dist/contrast.d.ts.map +0 -1
- package/dist/contrast.js.map +0 -1
- package/dist/decoys.d.ts.map +0 -1
- package/dist/decoys.js.map +0 -1
- package/dist/encode.d.ts.map +0 -1
- package/dist/encode.js.map +0 -1
- package/dist/index.d.ts.map +0 -1
- package/dist/index.js.map +0 -1
- package/dist/notch.d.ts.map +0 -1
- package/dist/notch.js.map +0 -1
- package/dist/palette.d.ts.map +0 -1
- package/dist/palette.js.map +0 -1
- package/dist/prng.d.ts.map +0 -1
- package/dist/prng.js.map +0 -1
- package/dist/tests/pieceReadability.unit.test.d.ts.map +0 -1
- package/dist/tests/pieceReadability.unit.test.js.map +0 -1
- package/dist/tests/puzzleAssets.unit.test.d.ts.map +0 -1
- package/dist/tests/puzzleAssets.unit.test.js.map +0 -1
- package/dist/tests/renderReplay.unit.test.d.ts.map +0 -1
- package/dist/tests/renderReplay.unit.test.js.map +0 -1
- package/dist/types.d.ts.map +0 -1
- package/dist/types.js.map +0 -1
- /package/dist/{_virtual → esm/_virtual}/_rolldown/runtime.js +0 -0
- /package/dist/{background.js → esm/background.js} +0 -0
- /package/dist/{browser.js → esm/browser.js} +0 -0
- /package/dist/{compose.js → esm/compose.js} +0 -0
- /package/dist/{contrast.js → esm/contrast.js} +0 -0
- /package/dist/{decoys.js → esm/decoys.js} +0 -0
- /package/dist/{encode.js → esm/encode.js} +0 -0
- /package/dist/{index.js → esm/index.js} +0 -0
- /package/dist/{notch.js → esm/notch.js} +0 -0
- /package/dist/{palette.js → esm/palette.js} +0 -0
- /package/dist/{prng.js → esm/prng.js} +0 -0
- /package/dist/{background.d.ts → tsc/background.d.ts} +0 -0
- /package/dist/{browser.d.ts → tsc/browser.d.ts} +0 -0
- /package/dist/{compose.d.ts → tsc/compose.d.ts} +0 -0
- /package/dist/{contrast.d.ts → tsc/contrast.d.ts} +0 -0
- /package/dist/{decoys.d.ts → tsc/decoys.d.ts} +0 -0
- /package/dist/{encode.d.ts → tsc/encode.d.ts} +0 -0
- /package/dist/{index.d.ts → tsc/index.d.ts} +0 -0
- /package/dist/{notch.d.ts → tsc/notch.d.ts} +0 -0
- /package/dist/{palette.d.ts → tsc/palette.d.ts} +0 -0
- /package/dist/{prng.d.ts → tsc/prng.d.ts} +0 -0
- /package/dist/{tests → tsc/tests}/pieceReadability.unit.test.d.ts +0 -0
- /package/dist/{tests → tsc/tests}/pieceReadability.unit.test.js +0 -0
- /package/dist/{tests → tsc/tests}/puzzleAssets.unit.test.d.ts +0 -0
- /package/dist/{tests → tsc/tests}/puzzleAssets.unit.test.js +0 -0
- /package/dist/{tests → tsc/tests}/renderReplay.unit.test.d.ts +0 -0
- /package/dist/{tests → tsc/tests}/renderReplay.unit.test.js +0 -0
- /package/dist/{types.d.ts → tsc/types.d.ts} +0 -0
- /package/dist/{types.js → tsc/types.js} +0 -0
|
@@ -0,0 +1,44 @@
|
|
|
1
|
+
import { generateBackground } from "./background.js";
|
|
2
|
+
import { cutNotch } from "./compose.js";
|
|
3
|
+
import { paintDecoys } from "./decoys.js";
|
|
4
|
+
import { encodeBackground, encodePiece } from "./encode.js";
|
|
5
|
+
import { createNotchShape } from "./notch.js";
|
|
6
|
+
import { createPrng, createSeed } from "./prng.js";
|
|
7
|
+
export { createPrng, createSeed, SEED_BYTES } from "./prng.js";
|
|
8
|
+
export { generateBackground } from "./background.js";
|
|
9
|
+
export { bestPairContrast, contrastRatio, relativeLuminance, simulateVision, worstCaseContrast, VISION_TYPES, } from "./contrast.js";
|
|
10
|
+
export { MIN_PALETTE_CONTRAST, drawPalette, hslToRgb, } from "./palette.js";
|
|
11
|
+
export { paintDecoys, paintDecoyPiece } from "./decoys.js";
|
|
12
|
+
export { encodeBackground, encodePiece, encodePng, toDataUri, } from "./encode.js";
|
|
13
|
+
export const DEFAULT_GEOMETRY = {
|
|
14
|
+
width: 300,
|
|
15
|
+
height: 200,
|
|
16
|
+
notchSize: 44,
|
|
17
|
+
};
|
|
18
|
+
export const DEFAULT_RENDER_SETTINGS = {
|
|
19
|
+
decoyCount: 5,
|
|
20
|
+
decoyEdgeDarkness: 20,
|
|
21
|
+
decoyBodyBrightness: 4,
|
|
22
|
+
holeDarken: 0.55,
|
|
23
|
+
decoyHoleDarken: 0.7,
|
|
24
|
+
};
|
|
25
|
+
export const createBackground = (geometry = DEFAULT_GEOMETRY, seed = createSeed()) => generateBackground(createPrng(seed), geometry.width, geometry.height);
|
|
26
|
+
export const renderPuzzle = async (background, placement, geometry = DEFAULT_GEOMETRY, settings = DEFAULT_RENDER_SETTINGS, seed = createSeed()) => {
|
|
27
|
+
const prng = createPrng(seed);
|
|
28
|
+
const pieceSize = geometry.pieceSize ?? geometry.notchSize;
|
|
29
|
+
paintDecoys(background, prng, settings.decoyCount, pieceSize, placement, settings.decoyEdgeDarkness, settings.decoyBodyBrightness, settings.decoyHoleDarken);
|
|
30
|
+
const shape = createNotchShape(prng, pieceSize);
|
|
31
|
+
const { background: cut, piece } = cutNotch(prng, background, shape, pieceSize, placement, settings.holeDarken);
|
|
32
|
+
const [backgroundWebp, pieceWebp] = await Promise.all([
|
|
33
|
+
encodeBackground(cut),
|
|
34
|
+
encodePiece(piece),
|
|
35
|
+
]);
|
|
36
|
+
return {
|
|
37
|
+
background: backgroundWebp,
|
|
38
|
+
piece: pieceWebp,
|
|
39
|
+
pieceSize,
|
|
40
|
+
seed,
|
|
41
|
+
};
|
|
42
|
+
};
|
|
43
|
+
export const createPuzzle = async (placement, geometry = DEFAULT_GEOMETRY, settings = DEFAULT_RENDER_SETTINGS, backgroundSeed = createSeed(), renderSeed = createSeed()) => renderPuzzle(createBackground(geometry, backgroundSeed), placement, geometry, settings, renderSeed);
|
|
44
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAcA,OAAO,EAAE,kBAAkB,EAAE,MAAM,iBAAiB,CAAC;AACrD,OAAO,EAAE,QAAQ,EAAE,MAAM,cAAc,CAAC;AACxC,OAAO,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAC1C,OAAO,EAAE,gBAAgB,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAC5D,OAAO,EAAE,gBAAgB,EAAE,MAAM,YAAY,CAAC;AAC9C,OAAO,EAAE,UAAU,EAAE,UAAU,EAAE,MAAM,WAAW,CAAC;AASnD,OAAO,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,MAAM,WAAW,CAAC;AAE/D,OAAO,EAAE,kBAAkB,EAAE,MAAM,iBAAiB,CAAC;AACrD,OAAO,EACN,gBAAgB,EAChB,aAAa,EACb,iBAAiB,EACjB,cAAc,EACd,iBAAiB,EACjB,YAAY,GAEZ,MAAM,eAAe,CAAC;AACvB,OAAO,EACN,oBAAoB,EACpB,WAAW,EACX,QAAQ,GAER,MAAM,cAAc,CAAC;AACtB,OAAO,EAAE,WAAW,EAAE,eAAe,EAAE,MAAM,aAAa,CAAC;AAC3D,OAAO,EACN,gBAAgB,EAChB,WAAW,EACX,SAAS,EACT,SAAS,GACT,MAAM,aAAa,CAAC;AAcrB,MAAM,CAAC,MAAM,gBAAgB,GAAmB;IAC/C,KAAK,EAAE,GAAG;IACV,MAAM,EAAE,GAAG;IACX,SAAS,EAAE,EAAE;CACb,CAAC;AAQF,MAAM,CAAC,MAAM,uBAAuB,GAAyB;IAC5D,UAAU,EAAE,CAAC;IACb,iBAAiB,EAAE,EAAE;IACrB,mBAAmB,EAAE,CAAC;IACtB,UAAU,EAAE,IAAI;IAChB,eAAe,EAAE,GAAG;CACpB,CAAC;AAQF,MAAM,CAAC,MAAM,gBAAgB,GAAG,CAC/B,WAA2B,gBAAgB,EAC3C,OAAe,UAAU,EAAE,EACf,EAAE,CACd,kBAAkB,CAAC,UAAU,CAAC,IAAI,CAAC,EAAE,QAAQ,CAAC,KAAK,EAAE,QAAQ,CAAC,MAAM,CAAC,CAAC;AAOvE,MAAM,CAAC,MAAM,YAAY,GAAG,KAAK,EAChC,UAAqB,EACrB,SAAyB,EACzB,WAA2B,gBAAgB,EAC3C,WAAiC,uBAAuB,EACxD,OAAe,UAAU,EAAE,EACD,EAAE;IAC5B,MAAM,IAAI,GAAG,UAAU,CAAC,IAAI,CAAC,CAAC;IAC9B,MAAM,SAAS,GAAG,QAAQ,CAAC,SAAS,IAAI,QAAQ,CAAC,SAAS,CAAC;IAK3D,WAAW,CACV,UAAU,EACV,IAAI,EACJ,QAAQ,CAAC,UAAU,EACnB,SAAS,EACT,SAAS,EACT,QAAQ,CAAC,iBAAiB,EAC1B,QAAQ,CAAC,mBAAmB,EAC5B,QAAQ,CAAC,eAAe,CACxB,CAAC;IACF,MAAM,KAAK,GAAG,gBAAgB,CAAC,IAAI,EAAE,SAAS,CAAC,CAAC;IAChD,MAAM,EAAE,UAAU,EAAE,GAAG,EAAE,KAAK,EAAE,GAAG,QAAQ,CAC1C,IAAI,EACJ,UAAU,EACV,KAAK,EACL,SAAS,EACT,SAAS,EACT,QAAQ,CAAC,UAAU,CACnB,CAAC;IAEF,MAAM,CAAC,cAAc,EAAE,SAAS,CAAC,GAAG,MAAM,OAAO,CAAC,GAAG,CAAC;QACrD,gBAAgB,CAAC,GAAG,CAAC;QACrB,WAAW,CAAC,KAAK,CAAC;KAClB,CAAC,CAAC;IAEH,OAAO;QACN,UAAU,EAAE,cAAc;QAC1B,KAAK,EAAE,SAAS;QAChB,SAAS;QACT,IAAI;KACJ,CAAC;AACH,CAAC,CAAC;AASF,MAAM,CAAC,MAAM,YAAY,GAAG,KAAK,EAChC,SAAyB,EACzB,WAA2B,gBAAgB,EAC3C,WAAiC,uBAAuB,EACxD,iBAAyB,UAAU,EAAE,EACrC,aAAqB,UAAU,EAAE,EACP,EAAE,CAC5B,YAAY,CACX,gBAAgB,CAAC,QAAQ,EAAE,cAAc,CAAC,EAC1C,SAAS,EACT,QAAQ,EACR,QAAQ,EACR,UAAU,CACV,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"notch.d.ts","sourceRoot":"","sources":["../../src/notch.ts"],"names":[],"mappings":"AAcA,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AAyBtC,MAAM,WAAW,UAAU;IAE1B,QAAQ,CAAC,EAAE,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,GAAG,MAAM,CAAC;CACzC;AA8GD,eAAO,MAAM,gBAAgB,SAAU,IAAI,QAAQ,MAAM,KAAG,UA4F3D,CAAC;AAMF,eAAO,MAAM,oBAAoB,aAAc,MAAM,KAAG,MAMvD,CAAC"}
|
|
@@ -0,0 +1,114 @@
|
|
|
1
|
+
const sideAxes = (side) => {
|
|
2
|
+
switch (side) {
|
|
3
|
+
case 0:
|
|
4
|
+
return { normal: [0, -1], along: [1, 0] };
|
|
5
|
+
case 1:
|
|
6
|
+
return { normal: [1, 0], along: [0, 1] };
|
|
7
|
+
case 2:
|
|
8
|
+
return { normal: [0, 1], along: [-1, 0] };
|
|
9
|
+
default:
|
|
10
|
+
return { normal: [-1, 0], along: [0, -1] };
|
|
11
|
+
}
|
|
12
|
+
};
|
|
13
|
+
const roundedBoxDistance = (px, py, half, radius) => {
|
|
14
|
+
const qx = Math.abs(px) - half + radius;
|
|
15
|
+
const qy = Math.abs(py) - half + radius;
|
|
16
|
+
const outside = Math.hypot(Math.max(qx, 0), Math.max(qy, 0));
|
|
17
|
+
const inside = Math.min(Math.max(qx, qy), 0);
|
|
18
|
+
return outside + inside - radius;
|
|
19
|
+
};
|
|
20
|
+
const chooseEdges = (prng) => {
|
|
21
|
+
const count = prng.int(2, 3);
|
|
22
|
+
const sides = [0, 1, 2, 3];
|
|
23
|
+
for (let i = sides.length - 1; i > 0; i--) {
|
|
24
|
+
const j = prng.int(0, i);
|
|
25
|
+
const a = sides[i];
|
|
26
|
+
const b = sides[j];
|
|
27
|
+
if (a === undefined || b === undefined)
|
|
28
|
+
continue;
|
|
29
|
+
sides[i] = b;
|
|
30
|
+
sides[j] = a;
|
|
31
|
+
}
|
|
32
|
+
const edges = ["flat", "flat", "flat", "flat"];
|
|
33
|
+
const chosen = sides.slice(0, count);
|
|
34
|
+
for (const side of chosen) {
|
|
35
|
+
edges[side] = prng.next() < 0.55 ? "tab" : "blank";
|
|
36
|
+
}
|
|
37
|
+
if (!chosen.some((side) => edges[side] === "tab")) {
|
|
38
|
+
const first = chosen[0];
|
|
39
|
+
if (first !== undefined) {
|
|
40
|
+
edges[first] = "tab";
|
|
41
|
+
}
|
|
42
|
+
}
|
|
43
|
+
return edges;
|
|
44
|
+
};
|
|
45
|
+
const BOX_MARGIN = 1.5;
|
|
46
|
+
export const createNotchShape = (prng, size) => {
|
|
47
|
+
const knobRadius = size * prng.range(0.13, 0.17);
|
|
48
|
+
const nominalHalf = size / 2 - knobRadius * 1.05;
|
|
49
|
+
const edges = chooseEdges(prng);
|
|
50
|
+
const knobs = [];
|
|
51
|
+
let cornerRadius = nominalHalf * prng.range(0.14, 0.3);
|
|
52
|
+
let bodyHalf = nominalHalf;
|
|
53
|
+
for (let side = 0; side < 4; side = (side + 1)) {
|
|
54
|
+
const kind = edges[side];
|
|
55
|
+
if (kind === undefined || kind === "flat") {
|
|
56
|
+
continue;
|
|
57
|
+
}
|
|
58
|
+
const { normal, along } = sideAxes(side);
|
|
59
|
+
const radius = knobRadius * prng.range(0.88, 1.12);
|
|
60
|
+
const offset = kind === "tab" ? radius * 0.52 : -radius * 0.42;
|
|
61
|
+
const slideLimit = Math.max(0, bodyHalf - radius - cornerRadius * 0.6);
|
|
62
|
+
const slide = prng.range(-slideLimit, slideLimit) * 0.6;
|
|
63
|
+
knobs.push({
|
|
64
|
+
kind,
|
|
65
|
+
cx: normal[0] * (bodyHalf + offset) + along[0] * slide,
|
|
66
|
+
cy: normal[1] * (bodyHalf + offset) + along[1] * slide,
|
|
67
|
+
radius,
|
|
68
|
+
});
|
|
69
|
+
}
|
|
70
|
+
let maxExtent = bodyHalf;
|
|
71
|
+
for (const knob of knobs) {
|
|
72
|
+
if (knob.kind !== "tab")
|
|
73
|
+
continue;
|
|
74
|
+
maxExtent = Math.max(maxExtent, Math.abs(knob.cx) + knob.radius, Math.abs(knob.cy) + knob.radius);
|
|
75
|
+
}
|
|
76
|
+
const limit = size / 2 - BOX_MARGIN;
|
|
77
|
+
if (maxExtent > limit) {
|
|
78
|
+
const scale = limit / maxExtent;
|
|
79
|
+
bodyHalf *= scale;
|
|
80
|
+
cornerRadius *= scale;
|
|
81
|
+
for (const knob of knobs) {
|
|
82
|
+
knob.cx *= scale;
|
|
83
|
+
knob.cy *= scale;
|
|
84
|
+
knob.radius *= scale;
|
|
85
|
+
}
|
|
86
|
+
}
|
|
87
|
+
return {
|
|
88
|
+
distance(lx, ly) {
|
|
89
|
+
const px = lx - size / 2;
|
|
90
|
+
const py = ly - size / 2;
|
|
91
|
+
let d = roundedBoxDistance(px, py, bodyHalf, cornerRadius);
|
|
92
|
+
for (const knob of knobs) {
|
|
93
|
+
if (knob.kind === "tab") {
|
|
94
|
+
d = Math.min(d, Math.hypot(px - knob.cx, py - knob.cy) - knob.radius);
|
|
95
|
+
}
|
|
96
|
+
}
|
|
97
|
+
for (const knob of knobs) {
|
|
98
|
+
if (knob.kind === "blank") {
|
|
99
|
+
d = Math.max(d, -(Math.hypot(px - knob.cx, py - knob.cy) - knob.radius));
|
|
100
|
+
}
|
|
101
|
+
}
|
|
102
|
+
return d;
|
|
103
|
+
},
|
|
104
|
+
};
|
|
105
|
+
};
|
|
106
|
+
export const coverageFromDistance = (distance) => {
|
|
107
|
+
const t = 0.5 - distance;
|
|
108
|
+
if (t <= 0)
|
|
109
|
+
return 0;
|
|
110
|
+
if (t >= 1)
|
|
111
|
+
return 1;
|
|
112
|
+
return t * t * (3 - 2 * t);
|
|
113
|
+
};
|
|
114
|
+
//# sourceMappingURL=notch.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"notch.js","sourceRoot":"","sources":["../../src/notch.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"palette.d.ts","sourceRoot":"","sources":["../../src/palette.ts"],"names":[],"mappings":"AAeA,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AAEtC,MAAM,WAAW,GAAG;IACnB,CAAC,EAAE,MAAM,CAAC;IACV,CAAC,EAAE,MAAM,CAAC;IACV,CAAC,EAAE,MAAM,CAAC;CACV;AA4CD,eAAO,MAAM,QAAQ,MAAO,MAAM,KAAK,MAAM,KAAK,MAAM,KAAG,GAa1D,CAAC;AA8BF,eAAO,MAAM,oBAAoB,MAAM,CAAC;AAoCxC,eAAO,MAAM,WAAW,SAAU,IAAI,SAAS,MAAM,KAAG,GAAG,EAsB1D,CAAC"}
|
|
@@ -0,0 +1,68 @@
|
|
|
1
|
+
import { bestPairContrast } from "./contrast.js";
|
|
2
|
+
const PALETTES = [
|
|
3
|
+
{ hue: 268, spread: 46, saturation: [0.55, 0.78], lightness: [0.4, 0.7] },
|
|
4
|
+
{ hue: 212, spread: 42, saturation: [0.58, 0.8], lightness: [0.4, 0.7] },
|
|
5
|
+
{ hue: 178, spread: 44, saturation: [0.5, 0.72], lightness: [0.38, 0.68] },
|
|
6
|
+
{ hue: 32, spread: 38, saturation: [0.58, 0.8], lightness: [0.45, 0.72] },
|
|
7
|
+
{ hue: 338, spread: 40, saturation: [0.52, 0.74], lightness: [0.45, 0.72] },
|
|
8
|
+
{ hue: 138, spread: 42, saturation: [0.46, 0.66], lightness: [0.38, 0.66] },
|
|
9
|
+
];
|
|
10
|
+
const hueToChannel = (p, q, tRaw) => {
|
|
11
|
+
let t = tRaw;
|
|
12
|
+
if (t < 0)
|
|
13
|
+
t += 1;
|
|
14
|
+
if (t > 1)
|
|
15
|
+
t -= 1;
|
|
16
|
+
if (t < 1 / 6)
|
|
17
|
+
return p + (q - p) * 6 * t;
|
|
18
|
+
if (t < 1 / 2)
|
|
19
|
+
return q;
|
|
20
|
+
if (t < 2 / 3)
|
|
21
|
+
return p + (q - p) * (2 / 3 - t) * 6;
|
|
22
|
+
return p;
|
|
23
|
+
};
|
|
24
|
+
export const hslToRgb = (h, s, l) => {
|
|
25
|
+
const hNorm = (((h % 360) + 360) % 360) / 360;
|
|
26
|
+
if (s === 0) {
|
|
27
|
+
const v = Math.round(l * 255);
|
|
28
|
+
return { r: v, g: v, b: v };
|
|
29
|
+
}
|
|
30
|
+
const q = l < 0.5 ? l * (1 + s) : l + s - l * s;
|
|
31
|
+
const p = 2 * l - q;
|
|
32
|
+
return {
|
|
33
|
+
r: Math.round(hueToChannel(p, q, hNorm + 1 / 3) * 255),
|
|
34
|
+
g: Math.round(hueToChannel(p, q, hNorm) * 255),
|
|
35
|
+
b: Math.round(hueToChannel(p, q, hNorm - 1 / 3) * 255),
|
|
36
|
+
};
|
|
37
|
+
};
|
|
38
|
+
export const MIN_PALETTE_CONTRAST = 1.6;
|
|
39
|
+
const MAX_PALETTE_ATTEMPTS = 6;
|
|
40
|
+
const drawOnce = (prng, count, spec, lightnessBoost) => {
|
|
41
|
+
const baseHue = spec.hue + prng.range(-20, 20);
|
|
42
|
+
const direction = prng.next() < 0.5 ? -1 : 1;
|
|
43
|
+
const low = Math.max(0.08, spec.lightness[0] - lightnessBoost);
|
|
44
|
+
const high = Math.min(0.92, spec.lightness[1] + lightnessBoost);
|
|
45
|
+
const colours = [];
|
|
46
|
+
for (let i = 0; i < count; i++) {
|
|
47
|
+
const t = count === 1 ? 0.5 : i / (count - 1);
|
|
48
|
+
const hue = baseHue + direction * (t - 0.5) * 2 * spec.spread + prng.range(-6, 6);
|
|
49
|
+
const saturation = prng.range(spec.saturation[0], spec.saturation[1]);
|
|
50
|
+
const pole = i % 2 === 0 ? 0 : 1;
|
|
51
|
+
const base = pole === 0 ? low : high;
|
|
52
|
+
const lightness = base + prng.range(-0.04, 0.04) * (pole === 0 ? 1 : -1);
|
|
53
|
+
colours.push(hslToRgb(hue, saturation, lightness));
|
|
54
|
+
}
|
|
55
|
+
return colours;
|
|
56
|
+
};
|
|
57
|
+
export const drawPalette = (prng, count) => {
|
|
58
|
+
const spec = prng.pick(PALETTES);
|
|
59
|
+
let last = drawOnce(prng, count, spec, 0);
|
|
60
|
+
for (let attempt = 1; attempt <= MAX_PALETTE_ATTEMPTS; attempt++) {
|
|
61
|
+
if (bestPairContrast(last) >= MIN_PALETTE_CONTRAST) {
|
|
62
|
+
return last;
|
|
63
|
+
}
|
|
64
|
+
last = drawOnce(prng, count, spec, attempt * 0.07);
|
|
65
|
+
}
|
|
66
|
+
return last;
|
|
67
|
+
};
|
|
68
|
+
//# sourceMappingURL=palette.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"palette.js","sourceRoot":"","sources":["../../src/palette.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"prng.d.ts","sourceRoot":"","sources":["../../src/prng.ts"],"names":[],"mappings":"AAmCA,MAAM,WAAW,IAAI;IAEpB,IAAI,IAAI,MAAM,CAAC;IAEf,GAAG,CAAC,GAAG,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,GAAG,MAAM,CAAC;IAEtC,KAAK,CAAC,GAAG,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,GAAG,MAAM,CAAC;IAExC,IAAI,CAAC,CAAC,EAAE,KAAK,EAAE,SAAS,CAAC,EAAE,GAAG,CAAC,CAAC;CAChC;AAED,eAAO,MAAM,UAAU,KAAK,CAAC;AAG7B,eAAO,MAAM,UAAU,QAAO,MAAiC,CAAC;AAMhE,eAAO,MAAM,UAAU,SAAU,MAAM,KAAG,IA+CzC,CAAC"}
|
package/dist/tsc/prng.js
ADDED
|
@@ -0,0 +1,41 @@
|
|
|
1
|
+
import { randomBytes } from "node:crypto";
|
|
2
|
+
export const SEED_BYTES = 16;
|
|
3
|
+
export const createSeed = () => randomBytes(SEED_BYTES);
|
|
4
|
+
export const createPrng = (seed) => {
|
|
5
|
+
if (seed.length < SEED_BYTES) {
|
|
6
|
+
throw new Error(`puzzle-assets: seed must be at least ${SEED_BYTES} bytes, got ${seed.length}`);
|
|
7
|
+
}
|
|
8
|
+
let s0 = seed.readUInt32LE(0);
|
|
9
|
+
let s1 = seed.readUInt32LE(4);
|
|
10
|
+
let s2 = seed.readUInt32LE(8);
|
|
11
|
+
let s3 = seed.readUInt32LE(12);
|
|
12
|
+
if ((s0 | s1 | s2 | s3) === 0) {
|
|
13
|
+
s0 = 1;
|
|
14
|
+
}
|
|
15
|
+
const rotl = (x, k) => ((x << k) | (x >>> (32 - k))) >>> 0;
|
|
16
|
+
const nextUint32 = () => {
|
|
17
|
+
const result = (Math.imul(rotl(Math.imul(s1, 5) >>> 0, 7), 9) >>> 0) >>> 0;
|
|
18
|
+
const t = (s1 << 9) >>> 0;
|
|
19
|
+
s2 = (s2 ^ s0) >>> 0;
|
|
20
|
+
s3 = (s3 ^ s1) >>> 0;
|
|
21
|
+
s1 = (s1 ^ s2) >>> 0;
|
|
22
|
+
s0 = (s0 ^ s3) >>> 0;
|
|
23
|
+
s2 = (s2 ^ t) >>> 0;
|
|
24
|
+
s3 = rotl(s3, 11);
|
|
25
|
+
return result;
|
|
26
|
+
};
|
|
27
|
+
const next = () => nextUint32() / 4294967296;
|
|
28
|
+
return {
|
|
29
|
+
next,
|
|
30
|
+
int: (min, max) => min + Math.floor(next() * (max - min + 1)),
|
|
31
|
+
range: (min, max) => min + next() * (max - min),
|
|
32
|
+
pick: (items) => {
|
|
33
|
+
const item = items[Math.floor(next() * items.length)];
|
|
34
|
+
if (item === undefined) {
|
|
35
|
+
throw new Error("puzzle-assets: cannot pick from an empty list");
|
|
36
|
+
}
|
|
37
|
+
return item;
|
|
38
|
+
},
|
|
39
|
+
};
|
|
40
|
+
};
|
|
41
|
+
//# sourceMappingURL=prng.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"prng.js","sourceRoot":"","sources":["../../src/prng.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"pieceReadability.unit.test.d.ts","sourceRoot":"","sources":["../../../src/tests/pieceReadability.unit.test.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"pieceReadability.unit.test.js","sourceRoot":"","sources":["../../../src/tests/pieceReadability.unit.test.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"puzzleAssets.unit.test.d.ts","sourceRoot":"","sources":["../../../src/tests/puzzleAssets.unit.test.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"puzzleAssets.unit.test.js","sourceRoot":"","sources":["../../../src/tests/puzzleAssets.unit.test.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"renderReplay.unit.test.d.ts","sourceRoot":"","sources":["../../../src/tests/renderReplay.unit.test.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"renderReplay.unit.test.js","sourceRoot":"","sources":["../../../src/tests/renderReplay.unit.test.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/types.ts"],"names":[],"mappings":"AAeA,MAAM,WAAW,SAAS;IACzB,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,MAAM,CAAC;CACf;AAGD,MAAM,WAAW,cAAc;IAC9B,OAAO,EAAE,MAAM,CAAC;IAChB,OAAO,EAAE,MAAM,CAAC;CAChB;AAED,MAAM,WAAW,cAAc;IAE9B,UAAU,EAAE,MAAM,CAAC;IAEnB,KAAK,EAAE,MAAM,CAAC;IAEd,SAAS,EAAE,MAAM,CAAC;IAMlB,IAAI,EAAE,MAAM,CAAC;CACb;AAED,MAAM,WAAW,cAAc;IAC9B,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,MAAM,CAAC;IAMf,SAAS,EAAE,MAAM,CAAC;IAOlB,SAAS,CAAC,EAAE,MAAM,CAAC;CACnB;AAOD,MAAM,WAAW,oBAAoB;IAOpC,UAAU,EAAE,MAAM,CAAC;IAMnB,iBAAiB,EAAE,MAAM,CAAC;IAM1B,mBAAmB,EAAE,MAAM,CAAC;IAM5B,UAAU,EAAE,MAAM,CAAC;IAOnB,eAAe,EAAE,MAAM,CAAC;CACxB"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/types.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"background.d.ts","sourceRoot":"","sources":["../../src/background.ts"],"names":[],"mappings":"AAeA,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AACtC,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,YAAY,CAAC;AAqF5C,eAAO,MAAM,kBAAkB,SACxB,IAAI,SACH,MAAM,UACL,MAAM,KACZ,SAmFF,CAAC"}
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
import type { NotchPlacement, PuzzleGeometry, PuzzleRenderSettings, RgbaImage } from "./types.js";
|
|
2
|
+
export { createPrng, createSeed, SEED_BYTES } from "./prng.js";
|
|
3
|
+
export { generateBackground } from "./background.js";
|
|
4
|
+
export { paintDecoys, paintDecoyPiece } from "./decoys.js";
|
|
5
|
+
export type { NotchPlacement, PuzzleGeometry, PuzzleRenderSettings, RenderedPuzzle, RgbaImage, } from "./types.js";
|
|
6
|
+
export declare const DEFAULT_GEOMETRY: PuzzleGeometry;
|
|
7
|
+
export declare const DEFAULT_RENDER_SETTINGS: PuzzleRenderSettings;
|
|
8
|
+
export interface RenderedPuzzleRgba {
|
|
9
|
+
background: RgbaImage;
|
|
10
|
+
piece: RgbaImage;
|
|
11
|
+
pieceSize: number;
|
|
12
|
+
seed: Buffer;
|
|
13
|
+
}
|
|
14
|
+
export declare const renderPuzzleToRgba: (background: RgbaImage, placement: NotchPlacement, geometry?: PuzzleGeometry, settings?: PuzzleRenderSettings, seed?: Buffer) => RenderedPuzzleRgba;
|
|
15
|
+
export declare const createBackground: (geometry?: PuzzleGeometry, seed?: Buffer) => RgbaImage;
|
|
16
|
+
//# sourceMappingURL=browser.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"browser.d.ts","sourceRoot":"","sources":["../../src/browser.ts"],"names":[],"mappings":"AAuBA,OAAO,KAAK,EACX,cAAc,EACd,cAAc,EACd,oBAAoB,EACpB,SAAS,EACT,MAAM,YAAY,CAAC;AAEpB,OAAO,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,MAAM,WAAW,CAAC;AAC/D,OAAO,EAAE,kBAAkB,EAAE,MAAM,iBAAiB,CAAC;AACrD,OAAO,EAAE,WAAW,EAAE,eAAe,EAAE,MAAM,aAAa,CAAC;AAC3D,YAAY,EACX,cAAc,EACd,cAAc,EACd,oBAAoB,EACpB,cAAc,EACd,SAAS,GACT,MAAM,YAAY,CAAC;AAEpB,eAAO,MAAM,gBAAgB,EAAE,cAI9B,CAAC;AAEF,eAAO,MAAM,uBAAuB,EAAE,oBAMrC,CAAC;AAEF,MAAM,WAAW,kBAAkB;IAClC,UAAU,EAAE,SAAS,CAAC;IACtB,KAAK,EAAE,SAAS,CAAC;IACjB,SAAS,EAAE,MAAM,CAAC;IAElB,IAAI,EAAE,MAAM,CAAC;CACb;AAOD,eAAO,MAAM,kBAAkB,eAClB,SAAS,aACV,cAAc,aACf,cAAc,aACd,oBAAoB,SACxB,MAAM,KACV,kBAuBF,CAAC;AAEF,eAAO,MAAM,gBAAgB,cAClB,cAAc,SAClB,MAAM,KACV,SACmE,CAAC"}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import { type NotchShape } from "./notch.js";
|
|
2
|
+
import type { Prng } from "./prng.js";
|
|
3
|
+
import type { NotchPlacement, RgbaImage } from "./types.js";
|
|
4
|
+
export declare const pieceRimGeometry: (size: number) => {
|
|
5
|
+
plateau: number;
|
|
6
|
+
width: number;
|
|
7
|
+
};
|
|
8
|
+
export interface CutResult {
|
|
9
|
+
background: RgbaImage;
|
|
10
|
+
piece: RgbaImage;
|
|
11
|
+
}
|
|
12
|
+
export declare const cutNotch: (prng: Prng, background: RgbaImage, shape: NotchShape, size: number, placement: NotchPlacement, holeDarken: number) => CutResult;
|
|
13
|
+
//# sourceMappingURL=compose.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"compose.d.ts","sourceRoot":"","sources":["../../src/compose.ts"],"names":[],"mappings":"AAeA,OAAO,EAAE,KAAK,UAAU,EAAwB,MAAM,YAAY,CAAC;AACnE,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AACtC,OAAO,KAAK,EAAE,cAAc,EAAE,SAAS,EAAE,MAAM,YAAY,CAAC;AAsE5D,eAAO,MAAM,gBAAgB,SACtB,MAAM,KACV;IAAE,OAAO,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,MAAM,CAAA;CAalC,CAAC;AAmIF,MAAM,WAAW,SAAS;IAEzB,UAAU,EAAE,SAAS,CAAC;IAEtB,KAAK,EAAE,SAAS,CAAC;CACjB;AAQD,eAAO,MAAM,QAAQ,SACd,IAAI,cACE,SAAS,SACd,UAAU,QACX,MAAM,aACD,cAAc,cACb,MAAM,KAChB,SAyHF,CAAC"}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import type { Rgb } from "./palette.js";
|
|
2
|
+
export type VisionType = "normal" | "protanopia" | "deuteranopia" | "tritanopia";
|
|
3
|
+
export declare const VISION_TYPES: readonly VisionType[];
|
|
4
|
+
export declare const relativeLuminance: (colour: Rgb) => number;
|
|
5
|
+
export declare const contrastRatio: (a: Rgb, b: Rgb) => number;
|
|
6
|
+
export declare const simulateVision: (colour: Rgb, vision: VisionType) => Rgb;
|
|
7
|
+
export declare const worstCaseContrast: (a: Rgb, b: Rgb) => number;
|
|
8
|
+
export declare const bestPairContrast: (colours: readonly Rgb[]) => number;
|
|
9
|
+
//# sourceMappingURL=contrast.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"contrast.d.ts","sourceRoot":"","sources":["../../src/contrast.ts"],"names":[],"mappings":"AAcA,OAAO,KAAK,EAAE,GAAG,EAAE,MAAM,cAAc,CAAC;AAmBxC,MAAM,MAAM,UAAU,GACnB,QAAQ,GACR,YAAY,GACZ,cAAc,GACd,YAAY,CAAC;AAEhB,eAAO,MAAM,YAAY,EAAE,SAAS,UAAU,EAK7C,CAAC;AAqBF,eAAO,MAAM,iBAAiB,WAAY,GAAG,KAAG,MAGpB,CAAC;AAQ7B,eAAO,MAAM,aAAa,MAAO,GAAG,KAAK,GAAG,KAAG,MAM9C,CAAC;AA8CF,eAAO,MAAM,cAAc,WAAY,GAAG,UAAU,UAAU,KAAG,GAahE,CAAC;AASF,eAAO,MAAM,iBAAiB,MAAO,GAAG,KAAK,GAAG,KAAG,MAYlD,CAAC;AAWF,eAAO,MAAM,gBAAgB,YAAa,SAAS,GAAG,EAAE,KAAG,MAc1D,CAAC"}
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
import type { Prng } from "./prng.js";
|
|
2
|
+
import type { NotchPlacement, RgbaImage } from "./types.js";
|
|
3
|
+
export declare const paintDecoyPiece: (background: RgbaImage, prng: Prng, size: number, cx: number, cy: number, edgeDarkness: number, bodyBrightness: number, holeDarken: number) => void;
|
|
4
|
+
export declare const paintDecoys: (background: RgbaImage, prng: Prng, targetCount: number, notchSize: number, notch: NotchPlacement, edgeDarkness: number, bodyBrightness: number, holeDarken: number) => void;
|
|
5
|
+
//# sourceMappingURL=decoys.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"decoys.d.ts","sourceRoot":"","sources":["../../src/decoys.ts"],"names":[],"mappings":"AAgBA,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AACtC,OAAO,KAAK,EAAE,cAAc,EAAE,SAAS,EAAE,MAAM,YAAY,CAAC;AA+C5D,eAAO,MAAM,eAAe,eACf,SAAS,QACf,IAAI,QACJ,MAAM,MACR,MAAM,MACN,MAAM,gBACI,MAAM,kBACJ,MAAM,cACV,MAAM,KAChB,IAiDF,CAAC;AAkBF,eAAO,MAAM,WAAW,eACX,SAAS,QACf,IAAI,eACG,MAAM,aACR,MAAM,SACV,cAAc,gBACP,MAAM,kBACJ,MAAM,cACV,MAAM,KAChB,IAyCF,CAAC"}
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
import type { RgbaImage } from "./types.js";
|
|
2
|
+
export declare const encodeBackground: (image: RgbaImage) => Promise<Buffer>;
|
|
3
|
+
export declare const encodePiece: (image: RgbaImage) => Promise<Buffer>;
|
|
4
|
+
export declare const encodePng: (image: RgbaImage) => Promise<Buffer>;
|
|
5
|
+
export declare const toDataUri: (webp: Buffer) => string;
|
|
6
|
+
//# sourceMappingURL=encode.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"encode.d.ts","sourceRoot":"","sources":["../../src/encode.ts"],"names":[],"mappings":"AAeA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,YAAY,CAAC;AAa5C,eAAO,MAAM,gBAAgB,UAAW,SAAS,KAAG,OAAO,CAAC,MAAM,CAKrD,CAAC;AASd,eAAO,MAAM,WAAW,UAAW,SAAS,KAAG,OAAO,CAAC,MAAM,CAKhD,CAAC;AAGd,eAAO,MAAM,SAAS,UAAW,SAAS,KAAG,OAAO,CAAC,MAAM,CAK9C,CAAC;AAEd,eAAO,MAAM,SAAS,SAAU,MAAM,KAAG,MACW,CAAC"}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import type { NotchPlacement, PuzzleGeometry, PuzzleRenderSettings, RenderedPuzzle, RgbaImage } from "./types.js";
|
|
2
|
+
export { createPrng, createSeed, SEED_BYTES } from "./prng.js";
|
|
3
|
+
export type { Prng } from "./prng.js";
|
|
4
|
+
export { generateBackground } from "./background.js";
|
|
5
|
+
export { bestPairContrast, contrastRatio, relativeLuminance, simulateVision, worstCaseContrast, VISION_TYPES, type VisionType, } from "./contrast.js";
|
|
6
|
+
export { MIN_PALETTE_CONTRAST, drawPalette, hslToRgb, type Rgb, } from "./palette.js";
|
|
7
|
+
export { paintDecoys, paintDecoyPiece } from "./decoys.js";
|
|
8
|
+
export { encodeBackground, encodePiece, encodePng, toDataUri, } from "./encode.js";
|
|
9
|
+
export type { NotchPlacement, PuzzleGeometry, PuzzleRenderSettings, RenderedPuzzle, RgbaImage, } from "./types.js";
|
|
10
|
+
export declare const DEFAULT_GEOMETRY: PuzzleGeometry;
|
|
11
|
+
export declare const DEFAULT_RENDER_SETTINGS: PuzzleRenderSettings;
|
|
12
|
+
export declare const createBackground: (geometry?: PuzzleGeometry, seed?: Buffer) => RgbaImage;
|
|
13
|
+
export declare const renderPuzzle: (background: RgbaImage, placement: NotchPlacement, geometry?: PuzzleGeometry, settings?: PuzzleRenderSettings, seed?: Buffer) => Promise<RenderedPuzzle>;
|
|
14
|
+
export declare const createPuzzle: (placement: NotchPlacement, geometry?: PuzzleGeometry, settings?: PuzzleRenderSettings, backgroundSeed?: Buffer, renderSeed?: Buffer) => Promise<RenderedPuzzle>;
|
|
15
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAoBA,OAAO,KAAK,EACX,cAAc,EACd,cAAc,EACd,oBAAoB,EACpB,cAAc,EACd,SAAS,EACT,MAAM,YAAY,CAAC;AAEpB,OAAO,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,MAAM,WAAW,CAAC;AAC/D,YAAY,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AACtC,OAAO,EAAE,kBAAkB,EAAE,MAAM,iBAAiB,CAAC;AACrD,OAAO,EACN,gBAAgB,EAChB,aAAa,EACb,iBAAiB,EACjB,cAAc,EACd,iBAAiB,EACjB,YAAY,EACZ,KAAK,UAAU,GACf,MAAM,eAAe,CAAC;AACvB,OAAO,EACN,oBAAoB,EACpB,WAAW,EACX,QAAQ,EACR,KAAK,GAAG,GACR,MAAM,cAAc,CAAC;AACtB,OAAO,EAAE,WAAW,EAAE,eAAe,EAAE,MAAM,aAAa,CAAC;AAC3D,OAAO,EACN,gBAAgB,EAChB,WAAW,EACX,SAAS,EACT,SAAS,GACT,MAAM,aAAa,CAAC;AACrB,YAAY,EACX,cAAc,EACd,cAAc,EACd,oBAAoB,EACpB,cAAc,EACd,SAAS,GACT,MAAM,YAAY,CAAC;AAOpB,eAAO,MAAM,gBAAgB,EAAE,cAI9B,CAAC;AAQF,eAAO,MAAM,uBAAuB,EAAE,oBAMrC,CAAC;AAQF,eAAO,MAAM,gBAAgB,cAClB,cAAc,SAClB,MAAM,KACV,SACmE,CAAC;AAOvE,eAAO,MAAM,YAAY,eACZ,SAAS,aACV,cAAc,aACf,cAAc,aACd,oBAAoB,SACxB,MAAM,KACV,OAAO,CAAC,cAAc,CAsCxB,CAAC;AASF,eAAO,MAAM,YAAY,cACb,cAAc,aACf,cAAc,aACd,oBAAoB,mBACd,MAAM,eACV,MAAM,KAChB,OAAO,CAAC,cAAc,CAOvB,CAAC"}
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import type { Prng } from "./prng.js";
|
|
2
|
+
export interface NotchShape {
|
|
3
|
+
distance(lx: number, ly: number): number;
|
|
4
|
+
}
|
|
5
|
+
export declare const createNotchShape: (prng: Prng, size: number) => NotchShape;
|
|
6
|
+
export declare const coverageFromDistance: (distance: number) => number;
|
|
7
|
+
//# sourceMappingURL=notch.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"notch.d.ts","sourceRoot":"","sources":["../../src/notch.ts"],"names":[],"mappings":"AAcA,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AAyBtC,MAAM,WAAW,UAAU;IAE1B,QAAQ,CAAC,EAAE,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,GAAG,MAAM,CAAC;CACzC;AA8GD,eAAO,MAAM,gBAAgB,SAAU,IAAI,QAAQ,MAAM,KAAG,UA4F3D,CAAC;AAMF,eAAO,MAAM,oBAAoB,aAAc,MAAM,KAAG,MAMvD,CAAC"}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import type { Prng } from "./prng.js";
|
|
2
|
+
export interface Rgb {
|
|
3
|
+
r: number;
|
|
4
|
+
g: number;
|
|
5
|
+
b: number;
|
|
6
|
+
}
|
|
7
|
+
export declare const hslToRgb: (h: number, s: number, l: number) => Rgb;
|
|
8
|
+
export declare const MIN_PALETTE_CONTRAST = 1.6;
|
|
9
|
+
export declare const drawPalette: (prng: Prng, count: number) => Rgb[];
|
|
10
|
+
//# sourceMappingURL=palette.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"palette.d.ts","sourceRoot":"","sources":["../../src/palette.ts"],"names":[],"mappings":"AAeA,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AAEtC,MAAM,WAAW,GAAG;IACnB,CAAC,EAAE,MAAM,CAAC;IACV,CAAC,EAAE,MAAM,CAAC;IACV,CAAC,EAAE,MAAM,CAAC;CACV;AA4CD,eAAO,MAAM,QAAQ,MAAO,MAAM,KAAK,MAAM,KAAK,MAAM,KAAG,GAa1D,CAAC;AA8BF,eAAO,MAAM,oBAAoB,MAAM,CAAC;AAoCxC,eAAO,MAAM,WAAW,SAAU,IAAI,SAAS,MAAM,KAAG,GAAG,EAsB1D,CAAC"}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
export interface Prng {
|
|
2
|
+
next(): number;
|
|
3
|
+
int(min: number, max: number): number;
|
|
4
|
+
range(min: number, max: number): number;
|
|
5
|
+
pick<T>(items: readonly T[]): T;
|
|
6
|
+
}
|
|
7
|
+
export declare const SEED_BYTES = 16;
|
|
8
|
+
export declare const createSeed: () => Buffer;
|
|
9
|
+
export declare const createPrng: (seed: Buffer) => Prng;
|
|
10
|
+
//# sourceMappingURL=prng.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"prng.d.ts","sourceRoot":"","sources":["../../src/prng.ts"],"names":[],"mappings":"AAmCA,MAAM,WAAW,IAAI;IAEpB,IAAI,IAAI,MAAM,CAAC;IAEf,GAAG,CAAC,GAAG,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,GAAG,MAAM,CAAC;IAEtC,KAAK,CAAC,GAAG,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,GAAG,MAAM,CAAC;IAExC,IAAI,CAAC,CAAC,EAAE,KAAK,EAAE,SAAS,CAAC,EAAE,GAAG,CAAC,CAAC;CAChC;AAED,eAAO,MAAM,UAAU,KAAK,CAAC;AAG7B,eAAO,MAAM,UAAU,QAAO,MAAiC,CAAC;AAMhE,eAAO,MAAM,UAAU,SAAU,MAAM,KAAG,IA+CzC,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"pieceReadability.unit.test.d.ts","sourceRoot":"","sources":["../../../src/tests/pieceReadability.unit.test.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"puzzleAssets.unit.test.d.ts","sourceRoot":"","sources":["../../../src/tests/puzzleAssets.unit.test.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"renderReplay.unit.test.d.ts","sourceRoot":"","sources":["../../../src/tests/renderReplay.unit.test.ts"],"names":[],"mappings":""}
|