@prosopo/puzzle-assets 0.2.2 → 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.
Files changed (131) hide show
  1. package/.turbo/turbo-build$colon$cjs.log +2 -2
  2. package/.turbo/turbo-build$colon$esm.log +24 -0
  3. package/.turbo/turbo-build$colon$tsc.log +4 -4
  4. package/.turbo/turbo-build$colon$types.log +1 -0
  5. package/CHANGELOG.md +18 -0
  6. package/dist/tsc/background.d.ts.map +1 -0
  7. package/dist/tsc/background.js +102 -0
  8. package/dist/tsc/background.js.map +1 -0
  9. package/dist/tsc/browser.d.ts.map +1 -0
  10. package/dist/tsc/browser.js +30 -0
  11. package/dist/tsc/browser.js.map +1 -0
  12. package/dist/tsc/compose.d.ts.map +1 -0
  13. package/dist/tsc/compose.js +136 -0
  14. package/dist/tsc/compose.js.map +1 -0
  15. package/dist/tsc/contrast.d.ts.map +1 -0
  16. package/dist/tsc/contrast.js +79 -0
  17. package/dist/tsc/contrast.js.map +1 -0
  18. package/dist/tsc/decoys.d.ts.map +1 -0
  19. package/dist/tsc/decoys.js +74 -0
  20. package/dist/tsc/decoys.js.map +1 -0
  21. package/dist/tsc/encode.d.ts.map +1 -0
  22. package/dist/tsc/encode.js +19 -0
  23. package/dist/tsc/encode.js.map +1 -0
  24. package/dist/tsc/index.d.ts.map +1 -0
  25. package/dist/tsc/index.js +44 -0
  26. package/dist/tsc/index.js.map +1 -0
  27. package/dist/tsc/notch.d.ts.map +1 -0
  28. package/dist/tsc/notch.js +114 -0
  29. package/dist/tsc/notch.js.map +1 -0
  30. package/dist/tsc/palette.d.ts.map +1 -0
  31. package/dist/tsc/palette.js +68 -0
  32. package/dist/tsc/palette.js.map +1 -0
  33. package/dist/tsc/prng.d.ts.map +1 -0
  34. package/dist/tsc/prng.js +41 -0
  35. package/dist/tsc/prng.js.map +1 -0
  36. package/dist/tsc/tests/pieceReadability.unit.test.d.ts.map +1 -0
  37. package/dist/tsc/tests/pieceReadability.unit.test.js.map +1 -0
  38. package/dist/tsc/tests/puzzleAssets.unit.test.d.ts.map +1 -0
  39. package/dist/tsc/tests/puzzleAssets.unit.test.js.map +1 -0
  40. package/dist/tsc/tests/renderReplay.unit.test.d.ts.map +1 -0
  41. package/dist/tsc/tests/renderReplay.unit.test.js.map +1 -0
  42. package/dist/tsc/types.d.ts.map +1 -0
  43. package/dist/tsc/types.js.map +1 -0
  44. package/dist/types/background.d.ts +4 -0
  45. package/dist/types/background.d.ts.map +1 -0
  46. package/dist/types/browser.d.ts +16 -0
  47. package/dist/types/browser.d.ts.map +1 -0
  48. package/dist/types/compose.d.ts +13 -0
  49. package/dist/types/compose.d.ts.map +1 -0
  50. package/dist/types/contrast.d.ts +9 -0
  51. package/dist/types/contrast.d.ts.map +1 -0
  52. package/dist/types/decoys.d.ts +5 -0
  53. package/dist/types/decoys.d.ts.map +1 -0
  54. package/dist/types/encode.d.ts +6 -0
  55. package/dist/types/encode.d.ts.map +1 -0
  56. package/dist/types/index.d.ts +15 -0
  57. package/dist/types/index.d.ts.map +1 -0
  58. package/dist/types/notch.d.ts +7 -0
  59. package/dist/types/notch.d.ts.map +1 -0
  60. package/dist/types/palette.d.ts +10 -0
  61. package/dist/types/palette.d.ts.map +1 -0
  62. package/dist/types/prng.d.ts +10 -0
  63. package/dist/types/prng.d.ts.map +1 -0
  64. package/dist/types/tests/pieceReadability.unit.test.d.ts +2 -0
  65. package/dist/types/tests/pieceReadability.unit.test.d.ts.map +1 -0
  66. package/dist/types/tests/puzzleAssets.unit.test.d.ts +2 -0
  67. package/dist/types/tests/puzzleAssets.unit.test.d.ts.map +1 -0
  68. package/dist/types/tests/renderReplay.unit.test.d.ts +2 -0
  69. package/dist/types/tests/renderReplay.unit.test.d.ts.map +1 -0
  70. package/dist/types/types.d.ts +29 -0
  71. package/dist/types/types.d.ts.map +1 -0
  72. package/package.json +15 -16
  73. package/vite.esm.config.ts +1 -1
  74. package/.turbo/turbo-build.log +0 -25
  75. package/dist/background.d.ts.map +0 -1
  76. package/dist/background.js.map +0 -1
  77. package/dist/browser.d.ts.map +0 -1
  78. package/dist/browser.js.map +0 -1
  79. package/dist/compose.d.ts.map +0 -1
  80. package/dist/compose.js.map +0 -1
  81. package/dist/contrast.d.ts.map +0 -1
  82. package/dist/contrast.js.map +0 -1
  83. package/dist/decoys.d.ts.map +0 -1
  84. package/dist/decoys.js.map +0 -1
  85. package/dist/encode.d.ts.map +0 -1
  86. package/dist/encode.js.map +0 -1
  87. package/dist/index.d.ts.map +0 -1
  88. package/dist/index.js.map +0 -1
  89. package/dist/notch.d.ts.map +0 -1
  90. package/dist/notch.js.map +0 -1
  91. package/dist/palette.d.ts.map +0 -1
  92. package/dist/palette.js.map +0 -1
  93. package/dist/prng.d.ts.map +0 -1
  94. package/dist/prng.js.map +0 -1
  95. package/dist/tests/pieceReadability.unit.test.d.ts.map +0 -1
  96. package/dist/tests/pieceReadability.unit.test.js.map +0 -1
  97. package/dist/tests/puzzleAssets.unit.test.d.ts.map +0 -1
  98. package/dist/tests/puzzleAssets.unit.test.js.map +0 -1
  99. package/dist/tests/renderReplay.unit.test.d.ts.map +0 -1
  100. package/dist/tests/renderReplay.unit.test.js.map +0 -1
  101. package/dist/types.d.ts.map +0 -1
  102. package/dist/types.js.map +0 -1
  103. /package/dist/{_virtual → esm/_virtual}/_rolldown/runtime.js +0 -0
  104. /package/dist/{background.js → esm/background.js} +0 -0
  105. /package/dist/{browser.js → esm/browser.js} +0 -0
  106. /package/dist/{compose.js → esm/compose.js} +0 -0
  107. /package/dist/{contrast.js → esm/contrast.js} +0 -0
  108. /package/dist/{decoys.js → esm/decoys.js} +0 -0
  109. /package/dist/{encode.js → esm/encode.js} +0 -0
  110. /package/dist/{index.js → esm/index.js} +0 -0
  111. /package/dist/{notch.js → esm/notch.js} +0 -0
  112. /package/dist/{palette.js → esm/palette.js} +0 -0
  113. /package/dist/{prng.js → esm/prng.js} +0 -0
  114. /package/dist/{background.d.ts → tsc/background.d.ts} +0 -0
  115. /package/dist/{browser.d.ts → tsc/browser.d.ts} +0 -0
  116. /package/dist/{compose.d.ts → tsc/compose.d.ts} +0 -0
  117. /package/dist/{contrast.d.ts → tsc/contrast.d.ts} +0 -0
  118. /package/dist/{decoys.d.ts → tsc/decoys.d.ts} +0 -0
  119. /package/dist/{encode.d.ts → tsc/encode.d.ts} +0 -0
  120. /package/dist/{index.d.ts → tsc/index.d.ts} +0 -0
  121. /package/dist/{notch.d.ts → tsc/notch.d.ts} +0 -0
  122. /package/dist/{palette.d.ts → tsc/palette.d.ts} +0 -0
  123. /package/dist/{prng.d.ts → tsc/prng.d.ts} +0 -0
  124. /package/dist/{tests → tsc/tests}/pieceReadability.unit.test.d.ts +0 -0
  125. /package/dist/{tests → tsc/tests}/pieceReadability.unit.test.js +0 -0
  126. /package/dist/{tests → tsc/tests}/puzzleAssets.unit.test.d.ts +0 -0
  127. /package/dist/{tests → tsc/tests}/puzzleAssets.unit.test.js +0 -0
  128. /package/dist/{tests → tsc/tests}/renderReplay.unit.test.d.ts +0 -0
  129. /package/dist/{tests → tsc/tests}/renderReplay.unit.test.js +0 -0
  130. /package/dist/{types.d.ts → tsc/types.d.ts} +0 -0
  131. /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":"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"}
@@ -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"}
@@ -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,4 @@
1
+ import type { Prng } from "./prng.js";
2
+ import type { RgbaImage } from "./types.js";
3
+ export declare const generateBackground: (prng: Prng, width: number, height: number) => RgbaImage;
4
+ //# sourceMappingURL=background.d.ts.map
@@ -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,2 @@
1
+ export {};
2
+ //# sourceMappingURL=pieceReadability.unit.test.d.ts.map
@@ -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,2 @@
1
+ export {};
2
+ //# sourceMappingURL=puzzleAssets.unit.test.d.ts.map
@@ -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,2 @@
1
+ export {};
2
+ //# sourceMappingURL=renderReplay.unit.test.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"renderReplay.unit.test.d.ts","sourceRoot":"","sources":["../../../src/tests/renderReplay.unit.test.ts"],"names":[],"mappings":""}