git-hash-art 0.0.3 → 0.0.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/dist/main.js CHANGED
@@ -1,7 +1,7 @@
1
- var $gXNCa$canvas = require("canvas");
2
- var $gXNCa$fs = require("fs");
3
- var $gXNCa$path = require("path");
4
- var $gXNCa$colorscheme = require("color-scheme");
1
+ var $8zHUo$canvas = require("canvas");
2
+ var $8zHUo$fs = require("fs");
3
+ var $8zHUo$path = require("path");
4
+ var $8zHUo$colorscheme = require("color-scheme");
5
5
 
6
6
 
7
7
  function $parcel$interopDefault(a) {
@@ -12,28 +12,31 @@ function $parcel$export(e, n, v, s) {
12
12
  Object.defineProperty(e, n, {get: v, set: s, enumerable: true, configurable: true});
13
13
  }
14
14
 
15
- $parcel$export(module.exports, "generateImageFromHash", () => $4fa36e821943b400$export$491525bf12232411);
16
- $parcel$export(module.exports, "saveImageToFile", () => $4fa36e821943b400$export$ea0bbc160a51089a);
15
+ $parcel$export(module.exports, "generateImageFromHash", () => $882b6d93070905b3$export$491525bf12232411);
16
+ $parcel$export(module.exports, "saveImageToFile", () => $882b6d93070905b3$export$ea0bbc160a51089a);
17
17
 
18
18
 
19
19
 
20
20
 
21
- const $c771cd4f2f8ecacb$export$8daab6f91f7ff730 = (ctx, size)=>{
21
+ // declare module 'color-scheme';
22
+
23
+
24
+ const $2fcb7065aeebeb29$export$8daab6f91f7ff730 = (ctx, size)=>{
22
25
  ctx.beginPath();
23
26
  ctx.arc(0, 0, size / 2, 0, Math.PI * 2);
24
27
  };
25
- const $c771cd4f2f8ecacb$export$9340b6a85ea854b9 = (ctx, size)=>{
28
+ const $2fcb7065aeebeb29$export$9340b6a85ea854b9 = (ctx, size)=>{
26
29
  ctx.beginPath();
27
30
  ctx.rect(-size / 2, -size / 2, size, size);
28
31
  };
29
- const $c771cd4f2f8ecacb$export$e6b70c7883316010 = (ctx, size)=>{
32
+ const $2fcb7065aeebeb29$export$e6b70c7883316010 = (ctx, size)=>{
30
33
  ctx.beginPath();
31
34
  ctx.moveTo(0, -size / 2);
32
35
  ctx.lineTo(-size / 2, size / 2);
33
36
  ctx.lineTo(size / 2, size / 2);
34
37
  ctx.closePath();
35
38
  };
36
- const $c771cd4f2f8ecacb$export$252d2895fb67397b = (ctx, size)=>{
39
+ const $2fcb7065aeebeb29$export$252d2895fb67397b = (ctx, size)=>{
37
40
  ctx.beginPath();
38
41
  for(let i = 0; i < 6; i++){
39
42
  const angle = Math.PI / 8 * i;
@@ -44,7 +47,7 @@ const $c771cd4f2f8ecacb$export$252d2895fb67397b = (ctx, size)=>{
44
47
  }
45
48
  ctx.closePath();
46
49
  };
47
- const $c771cd4f2f8ecacb$export$ca57b923902a3c0 = (ctx, size)=>{
50
+ const $2fcb7065aeebeb29$export$ca57b923902a3c0 = (ctx, size)=>{
48
51
  ctx.beginPath();
49
52
  for(let i = 0; i < 10; i++){
50
53
  const angle = Math.PI / 5 + Math.PI / 5 * i * 3;
@@ -56,7 +59,7 @@ const $c771cd4f2f8ecacb$export$ca57b923902a3c0 = (ctx, size)=>{
56
59
  }
57
60
  ctx.closePath();
58
61
  };
59
- const $c771cd4f2f8ecacb$export$cf8f2f05ac4f561f = (ctx, size)=>{
62
+ const $2fcb7065aeebeb29$export$cf8f2f05ac4f561f = (ctx, size)=>{
60
63
  ctx.beginPath();
61
64
  for(let i = 0; i < 10; i++){
62
65
  const angle = Math.PI / 30 + Math.PI / 30 * i * 8;
@@ -68,13 +71,13 @@ const $c771cd4f2f8ecacb$export$cf8f2f05ac4f561f = (ctx, size)=>{
68
71
  }
69
72
  ctx.closePath();
70
73
  };
71
- const $c771cd4f2f8ecacb$export$1ed0c0bc398b6246 = (ctx, size)=>{
74
+ const $2fcb7065aeebeb29$export$1ed0c0bc398b6246 = (ctx, size)=>{
72
75
  ctx.beginPath();
73
76
  ctx.moveTo(0, size / 4);
74
77
  ctx.quadraticCurveTo(size / 2, size / 4, 0, -size / 4);
75
78
  ctx.quadraticCurveTo(-size / 2, size / 4, 0, size / 4);
76
79
  };
77
- const $c771cd4f2f8ecacb$export$57ec12daf141ce6 = (ctx, size)=>{
80
+ const $2fcb7065aeebeb29$export$57ec12daf141ce6 = (ctx, size)=>{
78
81
  ctx.beginPath();
79
82
  ctx.moveTo(0, -size / 2);
80
83
  ctx.lineTo(size / 2, 0);
@@ -82,7 +85,7 @@ const $c771cd4f2f8ecacb$export$57ec12daf141ce6 = (ctx, size)=>{
82
85
  ctx.lineTo(-size / 2, 0);
83
86
  ctx.closePath();
84
87
  };
85
- const $c771cd4f2f8ecacb$export$39f25a4fc5491539 = (ctx, size)=>{
88
+ const $2fcb7065aeebeb29$export$39f25a4fc5491539 = (ctx, size)=>{
86
89
  ctx.beginPath();
87
90
  ctx.moveTo(-size / 2, -size / 2);
88
91
  ctx.lineTo(size / 2, -size / 2);
@@ -90,20 +93,21 @@ const $c771cd4f2f8ecacb$export$39f25a4fc5491539 = (ctx, size)=>{
90
93
  ctx.lineTo(-size / 2, size / 2);
91
94
  ctx.closePath();
92
95
  };
93
- const $c771cd4f2f8ecacb$export$492753207a5258e1 = {
94
- circle: $c771cd4f2f8ecacb$export$8daab6f91f7ff730,
95
- square: $c771cd4f2f8ecacb$export$9340b6a85ea854b9,
96
- triangle: $c771cd4f2f8ecacb$export$e6b70c7883316010,
97
- hexagon: $c771cd4f2f8ecacb$export$252d2895fb67397b,
98
- star: $c771cd4f2f8ecacb$export$ca57b923902a3c0,
99
- "jacked-star": $c771cd4f2f8ecacb$export$cf8f2f05ac4f561f,
100
- heart: $c771cd4f2f8ecacb$export$1ed0c0bc398b6246,
101
- diamond: $c771cd4f2f8ecacb$export$57ec12daf141ce6,
102
- cube: $c771cd4f2f8ecacb$export$39f25a4fc5491539
96
+ const $2fcb7065aeebeb29$export$492753207a5258e1 = {
97
+ circle: $2fcb7065aeebeb29$export$8daab6f91f7ff730,
98
+ square: $2fcb7065aeebeb29$export$9340b6a85ea854b9,
99
+ triangle: $2fcb7065aeebeb29$export$e6b70c7883316010,
100
+ hexagon: $2fcb7065aeebeb29$export$252d2895fb67397b,
101
+ star: $2fcb7065aeebeb29$export$ca57b923902a3c0,
102
+ "jacked-star": $2fcb7065aeebeb29$export$cf8f2f05ac4f561f,
103
+ heart: $2fcb7065aeebeb29$export$1ed0c0bc398b6246,
104
+ diamond: $2fcb7065aeebeb29$export$57ec12daf141ce6,
105
+ cube: $2fcb7065aeebeb29$export$39f25a4fc5491539
103
106
  };
104
107
 
105
108
 
106
- const $d53f79a9c1941d01$export$9265403940be6b4 = {
109
+ // Define interfaces for our configurations
110
+ const $dce148ef39106e4a$export$9265403940be6b4 = {
107
111
  // Standard sizes with different hashes
108
112
  react: {
109
113
  hash: "46192e59d42f741c761cbea79462a8b3815dd905",
@@ -193,7 +197,7 @@ const $d53f79a9c1941d01$export$9265403940be6b4 = {
193
197
  maxShapeSize: 250
194
198
  }
195
199
  };
196
- const $d53f79a9c1941d01$export$3572305709b6b48c = {
200
+ const $dce148ef39106e4a$export$3572305709b6b48c = {
197
201
  strokeStyle: "#000000",
198
202
  fillStyle: "transparent",
199
203
  lineWidth: 1,
@@ -201,12 +205,12 @@ const $d53f79a9c1941d01$export$3572305709b6b48c = {
201
205
  iterations: 1,
202
206
  animate: false
203
207
  };
204
- const $d53f79a9c1941d01$export$a4ca1369b6d2c19e = {
208
+ const $dce148ef39106e4a$export$a4ca1369b6d2c19e = {
205
209
  BASIC: "basic",
206
210
  DETAILED: "detailed",
207
211
  ANIMATED: "animated"
208
212
  };
209
- const $d53f79a9c1941d01$export$bb9e4790bc99ae59 = {
213
+ const $dce148ef39106e4a$export$bb9e4790bc99ae59 = {
210
214
  GOLDEN_RATIO: 1.618034,
211
215
  SQUARE_ROOT_2: Math.sqrt(2),
212
216
  SQUARE_ROOT_3: Math.sqrt(3),
@@ -214,7 +218,7 @@ const $d53f79a9c1941d01$export$bb9e4790bc99ae59 = {
214
218
  PI: Math.PI,
215
219
  PHI: (1 + Math.sqrt(5)) / 2
216
220
  };
217
- const $d53f79a9c1941d01$export$c36defeab44ba3b3 = {
221
+ const $dce148ef39106e4a$export$c36defeab44ba3b3 = {
218
222
  flowerOfLifeMandala: (size)=>[
219
223
  // { type: "flowerOfLife", config: { size } },
220
224
  {
@@ -271,25 +275,25 @@ const $d53f79a9c1941d01$export$c36defeab44ba3b3 = {
271
275
  };
272
276
 
273
277
 
274
- const $42d2a3c4a2119a18$export$e6bfdeff8bfc94f9 = (degrees)=>degrees * Math.PI / 180;
275
- const $42d2a3c4a2119a18$export$e46c5570db033611 = (ctx, size, config)=>{
278
+ const $f015a48f80684faa$export$e6bfdeff8bfc94f9 = (degrees)=>degrees * Math.PI / 180;
279
+ const $f015a48f80684faa$export$e46c5570db033611 = (ctx, size, config)=>{
276
280
  ctx.save();
277
281
  ctx.translate(0, 0);
278
- if (config.rotation) ctx.rotate($42d2a3c4a2119a18$export$e6bfdeff8bfc94f9(config.rotation));
282
+ if (config.rotation) ctx.rotate($f015a48f80684faa$export$e6bfdeff8bfc94f9(config.rotation));
279
283
  ctx.lineWidth = config.lineWidth;
280
284
  ctx.strokeStyle = config.strokeStyle;
281
285
  ctx.fillStyle = config.fillStyle;
282
286
  };
283
- const $42d2a3c4a2119a18$export$68ae68d395d27fd1 = (ctx)=>{
287
+ const $f015a48f80684faa$export$68ae68d395d27fd1 = (ctx)=>{
284
288
  ctx.restore();
285
289
  };
286
- const $42d2a3c4a2119a18$export$70ba51ca253810ef = (type)=>({
290
+ const $f015a48f80684faa$export$70ba51ca253810ef = (type)=>({
287
291
  enabled: false,
288
292
  duration: 1000,
289
293
  easing: "linear",
290
294
  type: type
291
295
  });
292
- const $42d2a3c4a2119a18$export$5627764dc1e1d74a = (cx, cy, radius, segments)=>{
296
+ const $f015a48f80684faa$export$5627764dc1e1d74a = (cx, cy, radius, segments)=>{
293
297
  const points = [];
294
298
  for(let i = 0; i < segments; i++){
295
299
  const angle = i / segments * Math.PI * 2;
@@ -302,7 +306,7 @@ const $42d2a3c4a2119a18$export$5627764dc1e1d74a = (cx, cy, radius, segments)=>{
302
306
  };
303
307
 
304
308
 
305
- const $5c4ee523c150698e$export$90cc629a1c6121c7 = {
309
+ const $01645fc0a37fc26d$export$90cc629a1c6121c7 = {
306
310
  platonic: {
307
311
  tetrahedron: {
308
312
  vertices: 4,
@@ -334,16 +338,16 @@ const $5c4ee523c150698e$export$90cc629a1c6121c7 = {
334
338
  ratio: 1.618034
335
339
  }
336
340
  };
337
- const $5c4ee523c150698e$export$4721fcae39954914 = (ctx, size, type, config = {})=>{
341
+ const $01645fc0a37fc26d$export$4721fcae39954914 = (ctx, size, config = {})=>{
338
342
  const finalConfig = {
339
- ...(0, $d53f79a9c1941d01$export$3572305709b6b48c),
343
+ ...(0, $dce148ef39106e4a$export$3572305709b6b48c),
340
344
  ...config
341
345
  };
342
- (0, $42d2a3c4a2119a18$export$e46c5570db033611)(ctx, size, finalConfig);
343
- const { vertices: vertices } = $5c4ee523c150698e$export$90cc629a1c6121c7.platonic[type];
346
+ (0, $f015a48f80684faa$export$e46c5570db033611)(ctx, size, finalConfig);
347
+ const { vertices: vertices } = $01645fc0a37fc26d$export$90cc629a1c6121c7.platonic[config.type];
344
348
  const radius = size / 2;
345
349
  // Calculate vertices based on platonic solid type
346
- const points = (0, $42d2a3c4a2119a18$export$5627764dc1e1d74a)(0, 0, radius, vertices);
350
+ const points = (0, $f015a48f80684faa$export$5627764dc1e1d74a)(0, 0, radius, vertices);
347
351
  ctx.beginPath();
348
352
  // Draw edges between vertices
349
353
  points.forEach((p1, i)=>{
@@ -354,15 +358,15 @@ const $5c4ee523c150698e$export$4721fcae39954914 = (ctx, size, type, config = {})
354
358
  });
355
359
  if (finalConfig.fillStyle !== "transparent") ctx.fill();
356
360
  ctx.stroke();
357
- (0, $42d2a3c4a2119a18$export$68ae68d395d27fd1)(ctx);
361
+ (0, $f015a48f80684faa$export$68ae68d395d27fd1)(ctx);
358
362
  };
359
- const $5c4ee523c150698e$export$4091fa94ab006097 = (ctx, size, config = {})=>{
363
+ const $01645fc0a37fc26d$export$4091fa94ab006097 = (ctx, size, config = {})=>{
360
364
  const finalConfig = {
361
- ...(0, $d53f79a9c1941d01$export$3572305709b6b48c),
362
- ...$5c4ee523c150698e$export$90cc629a1c6121c7.fibonacci,
365
+ ...(0, $dce148ef39106e4a$export$3572305709b6b48c),
366
+ ...$01645fc0a37fc26d$export$90cc629a1c6121c7.fibonacci,
363
367
  ...config
364
368
  };
365
- (0, $42d2a3c4a2119a18$export$e46c5570db033611)(ctx, size, finalConfig);
369
+ (0, $f015a48f80684faa$export$e46c5570db033611)(ctx, size, finalConfig);
366
370
  let current = 1;
367
371
  let previous = 1;
368
372
  let scale = size / Math.pow(finalConfig.growthFactor, finalConfig.iterations);
@@ -381,14 +385,14 @@ const $5c4ee523c150698e$export$4091fa94ab006097 = (ctx, size, config = {})=>{
381
385
  ctx.rotate(Math.PI / 2);
382
386
  }
383
387
  ctx.stroke();
384
- (0, $42d2a3c4a2119a18$export$68ae68d395d27fd1)(ctx);
388
+ (0, $f015a48f80684faa$export$68ae68d395d27fd1)(ctx);
385
389
  };
386
- const $5c4ee523c150698e$export$c9043b89bcb14ed9 = (ctx, size, config = {})=>{
390
+ const $01645fc0a37fc26d$export$c9043b89bcb14ed9 = (ctx, size, config = {})=>{
387
391
  const finalConfig = {
388
- ...(0, $d53f79a9c1941d01$export$3572305709b6b48c),
392
+ ...(0, $dce148ef39106e4a$export$3572305709b6b48c),
389
393
  ...config
390
394
  };
391
- (0, $42d2a3c4a2119a18$export$e46c5570db033611)(ctx, size, finalConfig);
395
+ (0, $f015a48f80684faa$export$e46c5570db033611)(ctx, size, finalConfig);
392
396
  const gridSize = 8;
393
397
  const unit = size / gridSize;
394
398
  ctx.beginPath();
@@ -399,24 +403,24 @@ const $5c4ee523c150698e$export$c9043b89bcb14ed9 = (ctx, size, config = {})=>{
399
403
  // Draw star pattern at each intersection
400
404
  const radius = unit / 2;
401
405
  for(let k = 0; k < 8; k++){
402
- const angle = k / 8 * Math.PI * 2;
403
- const x1 = x + Math.cos(angle) * radius;
404
- const y1 = y + Math.sin(angle) * radius;
405
- if (k === 0) ctx.moveTo(x1, y1);
406
- else ctx.lineTo(x1, y1);
406
+ const angle = Math.PI / 4 * k;
407
+ const x1 = x + radius * Math.cos(angle);
408
+ const y1 = y + radius * Math.sin(angle);
409
+ const x2 = x + radius * Math.cos(angle + Math.PI / 4);
410
+ const y2 = y + radius * Math.sin(angle + Math.PI / 4);
411
+ ctx.moveTo(x1, y1);
412
+ ctx.lineTo(x2, y2);
407
413
  }
408
- ctx.closePath();
409
414
  }
410
- if (finalConfig.fillStyle !== "transparent") ctx.fill();
411
415
  ctx.stroke();
412
- (0, $42d2a3c4a2119a18$export$68ae68d395d27fd1)(ctx);
416
+ (0, $f015a48f80684faa$export$68ae68d395d27fd1)(ctx);
413
417
  };
414
- const $5c4ee523c150698e$export$16ea6f9310920305 = (ctx, size, config = {})=>{
418
+ const $01645fc0a37fc26d$export$16ea6f9310920305 = (ctx, size, config = {})=>{
415
419
  const finalConfig = {
416
- ...(0, $d53f79a9c1941d01$export$3572305709b6b48c),
420
+ ...(0, $dce148ef39106e4a$export$3572305709b6b48c),
417
421
  ...config
418
422
  };
419
- (0, $42d2a3c4a2119a18$export$e46c5570db033611)(ctx, size, finalConfig);
423
+ (0, $f015a48f80684faa$export$e46c5570db033611)(ctx, size, finalConfig);
420
424
  const gridSize = 4;
421
425
  const unit = size / gridSize;
422
426
  const drawKnotSegment = (x, y, type)=>{
@@ -439,19 +443,19 @@ const $5c4ee523c150698e$export$16ea6f9310920305 = (ctx, size, config = {})=>{
439
443
  const y = (j - gridSize / 2) * unit;
440
444
  drawKnotSegment(x, y, (i + j) % 2 === 0 ? "over" : "under");
441
445
  }
442
- (0, $42d2a3c4a2119a18$export$68ae68d395d27fd1)(ctx);
446
+ (0, $f015a48f80684faa$export$68ae68d395d27fd1)(ctx);
443
447
  };
444
- const $5c4ee523c150698e$export$661ad3ddfb8912ed = (ctx, size, config = {})=>{
448
+ const $01645fc0a37fc26d$export$661ad3ddfb8912ed = (ctx, size, config = {})=>{
445
449
  const finalConfig = {
446
- ...(0, $d53f79a9c1941d01$export$3572305709b6b48c),
450
+ ...(0, $dce148ef39106e4a$export$3572305709b6b48c),
447
451
  ...config
448
452
  };
449
- (0, $42d2a3c4a2119a18$export$e46c5570db033611)(ctx, size, finalConfig);
453
+ (0, $f015a48f80684faa$export$e46c5570db033611)(ctx, size, finalConfig);
450
454
  const radius = size / 2;
451
455
  // Draw two intersecting tetrahedra
452
456
  ctx.beginPath();
453
457
  // First tetrahedron
454
- const points1 = (0, $42d2a3c4a2119a18$export$5627764dc1e1d74a)(0, 0, radius, 3);
458
+ const points1 = (0, $f015a48f80684faa$export$5627764dc1e1d74a)(0, 0, radius, 3);
455
459
  points1.forEach((p1, i)=>{
456
460
  points1.slice(i + 1).forEach((p2)=>{
457
461
  ctx.moveTo(p1.x, p1.y);
@@ -460,7 +464,7 @@ const $5c4ee523c150698e$export$661ad3ddfb8912ed = (ctx, size, config = {})=>{
460
464
  });
461
465
  // Second tetrahedron (rotated)
462
466
  ctx.rotate(Math.PI / 6);
463
- const points2 = (0, $42d2a3c4a2119a18$export$5627764dc1e1d74a)(0, 0, radius, 3);
467
+ const points2 = (0, $f015a48f80684faa$export$5627764dc1e1d74a)(0, 0, radius, 3);
464
468
  points2.forEach((p1, i)=>{
465
469
  points2.slice(i + 1).forEach((p2)=>{
466
470
  ctx.moveTo(p1.x, p1.y);
@@ -469,19 +473,67 @@ const $5c4ee523c150698e$export$661ad3ddfb8912ed = (ctx, size, config = {})=>{
469
473
  });
470
474
  if (finalConfig.fillStyle !== "transparent") ctx.fill();
471
475
  ctx.stroke();
472
- (0, $42d2a3c4a2119a18$export$68ae68d395d27fd1)(ctx);
476
+ (0, $f015a48f80684faa$export$68ae68d395d27fd1)(ctx);
477
+ };
478
+ const $01645fc0a37fc26d$export$97222779ddee1bfe = (ctx, size, config = {})=>{
479
+ const finalConfig = {
480
+ ...(0, $dce148ef39106e4a$export$3572305709b6b48c),
481
+ ...config
482
+ };
483
+ (0, $f015a48f80684faa$export$e46c5570db033611)(ctx, size, finalConfig);
484
+ const numCircles = 8;
485
+ const numPoints = 16;
486
+ const radius = size / 2;
487
+ ctx.beginPath();
488
+ for(let i = 1; i <= numCircles; i++){
489
+ const circleRadius = radius / numCircles * i;
490
+ ctx.moveTo(circleRadius, 0);
491
+ ctx.arc(0, 0, circleRadius, 0, Math.PI * 2);
492
+ for(let j = 0; j < numPoints; j++){
493
+ const angle = Math.PI * 2 * j / numPoints;
494
+ const x = circleRadius * Math.cos(angle);
495
+ const y = circleRadius * Math.sin(angle);
496
+ ctx.moveTo(0, 0);
497
+ ctx.lineTo(x, y);
498
+ }
499
+ }
500
+ ctx.stroke();
501
+ (0, $f015a48f80684faa$export$68ae68d395d27fd1)(ctx);
502
+ };
503
+ const $01645fc0a37fc26d$export$4fab07e71ae4aeeb = (ctx, size, config = {})=>{
504
+ const finalConfig = {
505
+ ...(0, $dce148ef39106e4a$export$3572305709b6b48c),
506
+ ...config,
507
+ iterations: 5
508
+ };
509
+ (0, $f015a48f80684faa$export$e46c5570db033611)(ctx, size, finalConfig);
510
+ const drawBranch = (x, y, length, angle, depth)=>{
511
+ if (depth === 0) return;
512
+ const endX = x + length * Math.cos(angle);
513
+ const endY = y + length * Math.sin(angle);
514
+ ctx.beginPath();
515
+ ctx.moveTo(x, y);
516
+ ctx.lineTo(endX, endY);
517
+ ctx.stroke();
518
+ drawBranch(endX, endY, length * 0.7, angle - Math.PI / 6, depth - 1);
519
+ drawBranch(endX, endY, length * 0.7, angle + Math.PI / 6, depth - 1);
520
+ };
521
+ drawBranch(0, size / 2, size / 4, -Math.PI / 2, finalConfig.iterations);
522
+ (0, $f015a48f80684faa$export$68ae68d395d27fd1)(ctx);
473
523
  };
474
- const $5c4ee523c150698e$export$dbe318a13ce51887 = {
475
- platonicSolid: (ctx, size, type = "tetrahedron", config)=>$5c4ee523c150698e$export$4721fcae39954914(ctx, size, type, config),
476
- fibonacciSpiral: (ctx, size, config)=>$5c4ee523c150698e$export$4091fa94ab006097(ctx, size, config),
477
- islamicPattern: (ctx, size, config)=>$5c4ee523c150698e$export$c9043b89bcb14ed9(ctx, size, config),
478
- celticKnot: (ctx, size, config)=>$5c4ee523c150698e$export$16ea6f9310920305(ctx, size, config),
479
- merkaba: (ctx, size, config)=>$5c4ee523c150698e$export$661ad3ddfb8912ed(ctx, size, config)
524
+ const $01645fc0a37fc26d$export$dbe318a13ce51887 = {
525
+ platonicSolid: $01645fc0a37fc26d$export$4721fcae39954914,
526
+ fibonacciSpiral: $01645fc0a37fc26d$export$4091fa94ab006097,
527
+ islamicPattern: $01645fc0a37fc26d$export$c9043b89bcb14ed9,
528
+ celticKnot: $01645fc0a37fc26d$export$16ea6f9310920305,
529
+ merkaba: $01645fc0a37fc26d$export$661ad3ddfb8912ed,
530
+ mandala: $01645fc0a37fc26d$export$97222779ddee1bfe,
531
+ fractal: $01645fc0a37fc26d$export$4fab07e71ae4aeeb
480
532
  };
481
533
 
482
534
 
483
535
 
484
- const $250b0111f88ffe51$export$3bac12a72d9de58c = (ctx, size)=>{
536
+ const $e7551d1f11f7be1e$export$3bac12a72d9de58c = (ctx, size)=>{
485
537
  const radius = size / 6;
486
538
  const centers = [
487
539
  {
@@ -519,7 +571,7 @@ const $250b0111f88ffe51$export$3bac12a72d9de58c = (ctx, size)=>{
519
571
  ctx.arc(center.x, center.y, radius, 0, Math.PI * 2);
520
572
  });
521
573
  };
522
- const $250b0111f88ffe51$export$639bf214428ceec2 = (ctx, size)=>{
574
+ const $e7551d1f11f7be1e$export$639bf214428ceec2 = (ctx, size)=>{
523
575
  const radius = size / 12;
524
576
  const spacing = radius * 2.5;
525
577
  // Sephirot positions (traditional layout)
@@ -563,7 +615,7 @@ const $250b0111f88ffe51$export$639bf214428ceec2 = (ctx, size)=>{
563
615
  {
564
616
  x: 0,
565
617
  y: spacing * 3
566
- } // Malkuth
618
+ }
567
619
  ];
568
620
  // Draw circles
569
621
  ctx.beginPath();
@@ -580,7 +632,7 @@ const $250b0111f88ffe51$export$639bf214428ceec2 = (ctx, size)=>{
580
632
  });
581
633
  });
582
634
  };
583
- const $250b0111f88ffe51$export$de26673ceb3e04eb = (ctx, size)=>{
635
+ const $e7551d1f11f7be1e$export$de26673ceb3e04eb = (ctx, size)=>{
584
636
  const radius = size / 3;
585
637
  // Create 13 points - one center and 12 vertices of an icosahedron
586
638
  // const phi = (1 + Math.sqrt(5)) / 2; // Golden ratio
@@ -589,8 +641,8 @@ const $250b0111f88ffe51$export$de26673ceb3e04eb = (ctx, size)=>{
589
641
  x: 0,
590
642
  y: 0
591
643
  },
592
- ...(0, $42d2a3c4a2119a18$export$5627764dc1e1d74a)(0, 0, radius, 6),
593
- ...(0, $42d2a3c4a2119a18$export$5627764dc1e1d74a)(0, 0, radius * 1.5, 6) // Outer hexagon
644
+ ...(0, $f015a48f80684faa$export$5627764dc1e1d74a)(0, 0, radius, 6),
645
+ ...(0, $f015a48f80684faa$export$5627764dc1e1d74a)(0, 0, radius * 1.5, 6)
594
646
  ];
595
647
  ctx.beginPath();
596
648
  // Draw all connecting lines
@@ -601,7 +653,7 @@ const $250b0111f88ffe51$export$de26673ceb3e04eb = (ctx, size)=>{
601
653
  });
602
654
  });
603
655
  };
604
- const $250b0111f88ffe51$export$f743702d1590aefb = (ctx, size)=>{
656
+ const $e7551d1f11f7be1e$export$f743702d1590aefb = (ctx, size)=>{
605
657
  const radius = size / 2;
606
658
  ctx.beginPath();
607
659
  // Draw outer triangles
@@ -630,14 +682,37 @@ const $250b0111f88ffe51$export$f743702d1590aefb = (ctx, size)=>{
630
682
  ctx.lineTo(0, 0);
631
683
  }
632
684
  };
633
- const $250b0111f88ffe51$export$980631444e370ab0 = (ctx, size)=>{
634
- const radius = size / 4;
685
+ const $e7551d1f11f7be1e$export$980631444e370ab0 = (ctx, size)=>{
686
+ const radius = size / 6;
635
687
  const centers = [
636
688
  {
637
689
  x: 0,
638
690
  y: 0
639
691
  },
640
- ...(0, $42d2a3c4a2119a18$export$5627764dc1e1d74a)(0, 0, radius * 2, 6)
692
+ {
693
+ x: radius * Math.sqrt(3),
694
+ y: 0
695
+ },
696
+ {
697
+ x: radius * Math.sqrt(3) / 2,
698
+ y: 1.5 * radius
699
+ },
700
+ {
701
+ x: -radius * Math.sqrt(3) / 2,
702
+ y: 1.5 * radius
703
+ },
704
+ {
705
+ x: -radius * Math.sqrt(3),
706
+ y: 0
707
+ },
708
+ {
709
+ x: -radius * Math.sqrt(3) / 2,
710
+ y: -1.5 * radius
711
+ },
712
+ {
713
+ x: radius * Math.sqrt(3) / 2,
714
+ y: -1.5 * radius
715
+ }
641
716
  ];
642
717
  ctx.beginPath();
643
718
  centers.forEach((center)=>{
@@ -645,14 +720,13 @@ const $250b0111f88ffe51$export$980631444e370ab0 = (ctx, size)=>{
645
720
  ctx.arc(center.x, center.y, radius, 0, Math.PI * 2);
646
721
  });
647
722
  };
648
- const $250b0111f88ffe51$export$eeae7765f05012e2 = (ctx, size)=>{
649
- const radius = size / 3;
723
+ const $e7551d1f11f7be1e$export$eeae7765f05012e2 = (ctx, size)=>{
724
+ const radius = size / 4;
650
725
  ctx.beginPath();
651
- // Draw two overlapping circles
652
726
  ctx.arc(-radius / 2, 0, radius, 0, Math.PI * 2);
653
727
  ctx.arc(radius / 2, 0, radius, 0, Math.PI * 2);
654
728
  };
655
- const $250b0111f88ffe51$export$3355220a8108efc3 = (ctx, size)=>{
729
+ const $e7551d1f11f7be1e$export$3355220a8108efc3 = (ctx, size)=>{
656
730
  const outerRadius = size / 2;
657
731
  const innerRadius = size / 4;
658
732
  const steps = 36;
@@ -672,33 +746,72 @@ const $250b0111f88ffe51$export$3355220a8108efc3 = (ctx, size)=>{
672
746
  }
673
747
  }
674
748
  };
675
- const $250b0111f88ffe51$export$c2fc138f94dd4b2a = {
676
- // flowerOfLife: drawFlowerOfLife,
677
- // treeOfLife: drawTreeOfLife,
678
- metatronsCube: $250b0111f88ffe51$export$de26673ceb3e04eb,
679
- sriYantra: $250b0111f88ffe51$export$f743702d1590aefb,
680
- seedOfLife: $250b0111f88ffe51$export$980631444e370ab0,
681
- vesicaPiscis: $250b0111f88ffe51$export$eeae7765f05012e2,
682
- torus: $250b0111f88ffe51$export$3355220a8108efc3
749
+ const $e7551d1f11f7be1e$export$31e39e0544d9b1e8 = (ctx, size)=>{
750
+ const radius = size / 8;
751
+ const centers = [
752
+ {
753
+ x: 0,
754
+ y: 0
755
+ },
756
+ {
757
+ x: radius * 2,
758
+ y: 0
759
+ },
760
+ {
761
+ x: radius,
762
+ y: radius * Math.sqrt(3)
763
+ },
764
+ {
765
+ x: -radius,
766
+ y: radius * Math.sqrt(3)
767
+ },
768
+ {
769
+ x: -radius * 2,
770
+ y: 0
771
+ },
772
+ {
773
+ x: -radius,
774
+ y: -radius * Math.sqrt(3)
775
+ },
776
+ {
777
+ x: radius,
778
+ y: -radius * Math.sqrt(3)
779
+ }
780
+ ];
781
+ ctx.beginPath();
782
+ centers.forEach((center)=>{
783
+ ctx.moveTo(center.x + radius, center.y);
784
+ ctx.arc(center.x, center.y, radius, 0, Math.PI * 2);
785
+ });
786
+ };
787
+ const $e7551d1f11f7be1e$export$c2fc138f94dd4b2a = {
788
+ flowerOfLife: $e7551d1f11f7be1e$export$3bac12a72d9de58c,
789
+ treeOfLife: $e7551d1f11f7be1e$export$639bf214428ceec2,
790
+ metatronsCube: $e7551d1f11f7be1e$export$de26673ceb3e04eb,
791
+ sriYantra: $e7551d1f11f7be1e$export$f743702d1590aefb,
792
+ seedOfLife: $e7551d1f11f7be1e$export$980631444e370ab0,
793
+ vesicaPiscis: $e7551d1f11f7be1e$export$eeae7765f05012e2,
794
+ torus: $e7551d1f11f7be1e$export$3355220a8108efc3,
795
+ eggOfLife: $e7551d1f11f7be1e$export$31e39e0544d9b1e8
683
796
  };
684
797
 
685
798
 
686
- const $299e6c12a93ad3c3$export$4ff7fc6f1af248b5 = {
687
- ...(0, $c771cd4f2f8ecacb$export$492753207a5258e1),
688
- ...(0, $5c4ee523c150698e$export$dbe318a13ce51887),
689
- ...(0, $250b0111f88ffe51$export$c2fc138f94dd4b2a)
799
+ const $c66d34405eec1e19$export$4ff7fc6f1af248b5 = {
800
+ ...(0, $2fcb7065aeebeb29$export$492753207a5258e1),
801
+ ...(0, $01645fc0a37fc26d$export$dbe318a13ce51887),
802
+ ...(0, $e7551d1f11f7be1e$export$c2fc138f94dd4b2a)
690
803
  };
691
804
 
692
805
 
693
- function $f391ca372769b92d$export$39a95c82b20fdf81(gitHash) {
806
+ function $7d6bc9fc27a23abe$export$39a95c82b20fdf81(gitHash) {
694
807
  return parseInt(gitHash.slice(0, 8), 16);
695
808
  }
696
- function $f391ca372769b92d$export$6b193cae730c547a(hash, index, min, max) {
809
+ function $7d6bc9fc27a23abe$export$6b193cae730c547a(hash, index, min, max) {
697
810
  const hexPair = hash.substr(index * 2 % hash.length, 2);
698
811
  const decimal = parseInt(hexPair, 16);
699
812
  return min + decimal / 255 * (max - min);
700
813
  }
701
- const $f391ca372769b92d$export$bb9e4790bc99ae59 = {
814
+ const $7d6bc9fc27a23abe$export$bb9e4790bc99ae59 = {
702
815
  GOLDEN_RATIO: 1.618034,
703
816
  SQUARE_ROOT_2: Math.sqrt(2),
704
817
  SQUARE_ROOT_3: Math.sqrt(3),
@@ -706,7 +819,7 @@ const $f391ca372769b92d$export$bb9e4790bc99ae59 = {
706
819
  PI: Math.PI,
707
820
  PHI: (1 + Math.sqrt(5)) / 2
708
821
  };
709
- class $f391ca372769b92d$export$da2372f11bc66b3f {
822
+ class $7d6bc9fc27a23abe$export$da2372f11bc66b3f {
710
823
  static getProportionalSize(baseSize, proportion) {
711
824
  return baseSize * proportion;
712
825
  }
@@ -717,31 +830,31 @@ class $f391ca372769b92d$export$da2372f11bc66b3f {
717
830
  static layerPatterns(ctx, patterns, config) {
718
831
  const { baseSize: baseSize, baseOpacity: baseOpacity = 0.6, opacityReduction: opacityReduction = 0.1, rotationOffset: rotationOffset = 0, proportionType: proportionType = "GOLDEN_RATIO" } = config;
719
832
  patterns.forEach((pattern, index)=>{
720
- const size = this.getProportionalSize(baseSize, Math.pow($f391ca372769b92d$export$bb9e4790bc99ae59[proportionType], index));
833
+ const size = this.getProportionalSize(baseSize, Math.pow($7d6bc9fc27a23abe$export$bb9e4790bc99ae59[proportionType], index));
721
834
  const opacity = Math.max(0.1, baseOpacity - index * opacityReduction);
722
835
  const rotation = rotationOffset * index;
723
836
  ctx.save();
724
837
  ctx.globalAlpha = opacity;
725
838
  ctx.rotate(rotation * Math.PI / 180);
726
- (0, $299e6c12a93ad3c3$export$4ff7fc6f1af248b5)[pattern.type](ctx, size, pattern.config);
839
+ (0, $c66d34405eec1e19$export$4ff7fc6f1af248b5)[pattern.type](ctx, size, pattern.config);
727
840
  ctx.restore();
728
841
  });
729
842
  }
730
843
  }
731
844
 
732
845
 
733
- function $89ee6ae350f2d46f$export$f116a24fd288e742(gitHash) {
734
- const seed = (0, $f391ca372769b92d$export$39a95c82b20fdf81)(gitHash);
735
- const scheme = new (0, ($parcel$interopDefault($gXNCa$colorscheme)))();
846
+ function $b053edef45a6cc05$export$f116a24fd288e742(gitHash) {
847
+ const seed = (0, $7d6bc9fc27a23abe$export$39a95c82b20fdf81)(gitHash);
848
+ const scheme = new (0, ($parcel$interopDefault($8zHUo$colorscheme)))();
736
849
  scheme.from_hue(seed % 360).scheme("analogic").variation("soft");
737
850
  let colors = scheme.colors().map((hex)=>`#${hex}`);
738
851
  const contrastingHue = (seed + 180) % 360;
739
- const contrastingScheme = new (0, ($parcel$interopDefault($gXNCa$colorscheme)))();
852
+ const contrastingScheme = new (0, ($parcel$interopDefault($8zHUo$colorscheme)))();
740
853
  contrastingScheme.from_hue(contrastingHue).scheme("mono").variation("soft");
741
854
  colors.push(`#${contrastingScheme.colors()[0]}`);
742
855
  return colors;
743
856
  }
744
- class $89ee6ae350f2d46f$export$ab958c550f521376 {
857
+ class $b053edef45a6cc05$export$ab958c550f521376 {
745
858
  constructor(gitHash){
746
859
  this.seed = this.gitHashToSeed(gitHash);
747
860
  this.baseScheme = this.generateBaseScheme();
@@ -752,12 +865,13 @@ class $89ee6ae350f2d46f$export$ab958c550f521376 {
752
865
  return parseInt(hash.slice(0, 8), 16);
753
866
  }
754
867
  generateBaseScheme() {
755
- const scheme = new (0, ($parcel$interopDefault($gXNCa$colorscheme)))();
868
+ const scheme = new (0, ($parcel$interopDefault($8zHUo$colorscheme)))();
869
+ scheme;
756
870
  return scheme.from_hue(this.seed % 360).scheme("analogic").variation("soft").colors().map((hex)=>`#${hex}`);
757
871
  }
758
872
  generateComplementaryScheme() {
759
873
  const complementaryHue = (this.seed + 180) % 360;
760
- const scheme = new (0, ($parcel$interopDefault($gXNCa$colorscheme)))();
874
+ const scheme = new (0, ($parcel$interopDefault($8zHUo$colorscheme)))();
761
875
  return scheme.from_hue(complementaryHue).scheme("mono").variation("soft").colors().map((hex)=>`#${hex}`);
762
876
  }
763
877
  generateMetallicColors() {
@@ -803,20 +917,21 @@ class $89ee6ae350f2d46f$export$ab958c550f521376 {
803
917
 
804
918
 
805
919
 
806
- function $ac20c1c0ccca1e19$export$71b514a25c47df50(ctx, shape, x, y, fillColor, strokeColor, strokeWidth, size, rotation) {
920
+ function $7898cb8c4bee74e1$export$71b514a25c47df50(ctx, shape, x, y, config) {
921
+ const { fillColor: fillColor, strokeColor: strokeColor, strokeWidth: strokeWidth, size: size, rotation: rotation } = config;
807
922
  ctx.save();
808
923
  ctx.translate(x, y);
809
924
  ctx.rotate(rotation * Math.PI / 180);
810
925
  ctx.fillStyle = fillColor;
811
926
  ctx.strokeStyle = strokeColor;
812
927
  ctx.lineWidth = strokeWidth;
813
- const drawFunction = (0, $299e6c12a93ad3c3$export$4ff7fc6f1af248b5)[shape];
928
+ const drawFunction = (0, $c66d34405eec1e19$export$4ff7fc6f1af248b5)[shape];
814
929
  if (drawFunction) drawFunction(ctx, size);
815
930
  ctx.fill();
816
931
  ctx.stroke();
817
932
  ctx.restore();
818
933
  }
819
- function $ac20c1c0ccca1e19$export$bb35a6995ddbf32d(ctx, shape, x, y, config) {
934
+ function $7898cb8c4bee74e1$export$bb35a6995ddbf32d(ctx, shape, x, y, config) {
820
935
  const { fillColor: fillColor, strokeColor: strokeColor, strokeWidth: strokeWidth, size: size, rotation: rotation, patterns: patterns = [], proportionType: proportionType = "GOLDEN_RATIO", baseOpacity: baseOpacity = 0.6, opacityReduction: opacityReduction = 0.1 } = config;
821
936
  ctx.save();
822
937
  ctx.translate(x, y);
@@ -825,10 +940,10 @@ function $ac20c1c0ccca1e19$export$bb35a6995ddbf32d(ctx, shape, x, y, config) {
825
940
  ctx.fillStyle = fillColor;
826
941
  ctx.strokeStyle = strokeColor;
827
942
  ctx.lineWidth = strokeWidth;
828
- const drawFunction = (0, $299e6c12a93ad3c3$export$4ff7fc6f1af248b5)[shape];
943
+ const drawFunction = (0, $c66d34405eec1e19$export$4ff7fc6f1af248b5)[shape];
829
944
  if (drawFunction) drawFunction(ctx, size);
830
945
  // Layer additional patterns if specified
831
- if (patterns.length > 0) (0, $f391ca372769b92d$export$da2372f11bc66b3f).layerPatterns(ctx, patterns, {
946
+ if (patterns.length > 0) (0, $7d6bc9fc27a23abe$export$da2372f11bc66b3f).layerPatterns(ctx, patterns, {
832
947
  baseSize: size,
833
948
  baseOpacity: baseOpacity,
834
949
  opacityReduction: opacityReduction,
@@ -843,22 +958,11 @@ function $ac20c1c0ccca1e19$export$bb35a6995ddbf32d(ctx, shape, x, y, config) {
843
958
 
844
959
 
845
960
  /**
846
- * @typedef {Object} ArtConfig
847
- * @property {number} width - Canvas width in pixels
848
- * @property {number} height - Canvas height in pixels
849
- * @property {number} [gridSize=4] - Number of grid cells (gridSize x gridSize)
850
- * @property {number} [layers=5] - Number of layers to generate
851
- * @property {number} [shapesPerLayer] - Base number of shapes per layer (defaults to grid cells * 1.5)
852
- * @property {number} [minShapeSize=20] - Minimum shape size
853
- * @property {number} [maxShapeSize=180] - Maximum shape size
854
- * @property {number} [baseOpacity=0.6] - Starting opacity for first layer
855
- * @property {number} [opacityReduction=0.1] - How much to reduce opacity per layer
856
- */ /**
857
961
  * Generate an abstract art image from a git hash with custom configuration
858
962
  * @param {string} gitHash - The git hash to use as a seed
859
963
  * @param {ArtConfig} [config={}] - Configuration options
860
964
  * @returns {Buffer} PNG buffer of the generated image
861
- */ function $4fa36e821943b400$export$491525bf12232411(gitHash, config = {}) {
965
+ */ function $882b6d93070905b3$export$491525bf12232411(gitHash, config = {}) {
862
966
  // Default configuration
863
967
  const defaultConfig = {
864
968
  width: 2048,
@@ -868,7 +972,8 @@ function $ac20c1c0ccca1e19$export$bb35a6995ddbf32d(ctx, shape, x, y, config) {
868
972
  minShapeSize: 20,
869
973
  maxShapeSize: 600,
870
974
  baseOpacity: 0.8,
871
- opacityReduction: 0.4
975
+ opacityReduction: 0.4,
976
+ shapesPerLayer: 0
872
977
  };
873
978
  // Merge provided config with defaults
874
979
  const finalConfig = {
@@ -878,9 +983,9 @@ function $ac20c1c0ccca1e19$export$bb35a6995ddbf32d(ctx, shape, x, y, config) {
878
983
  const { width: width, height: height, gridSize: gridSize, layers: layers, minShapeSize: minShapeSize, maxShapeSize: maxShapeSize, baseOpacity: baseOpacity, opacityReduction: opacityReduction } = finalConfig;
879
984
  // Calculate shapes per layer based on grid size if not provided
880
985
  finalConfig.shapesPerLayer = finalConfig.shapesPerLayer || Math.floor(gridSize * gridSize * 1.5);
881
- const canvas = (0, $gXNCa$canvas.createCanvas)(width, height);
986
+ const canvas = (0, $8zHUo$canvas.createCanvas)(width, height);
882
987
  const ctx = canvas.getContext("2d");
883
- const colorScheme = new (0, $89ee6ae350f2d46f$export$ab958c550f521376)(gitHash);
988
+ const colorScheme = new (0, $b053edef45a6cc05$export$ab958c550f521376)(gitHash);
884
989
  const colors = colorScheme.getColorPalette("chakra");
885
990
  // Create a gradient background
886
991
  const gradient = ctx.createLinearGradient(0, 0, width, height);
@@ -888,7 +993,7 @@ function $ac20c1c0ccca1e19$export$bb35a6995ddbf32d(ctx, shape, x, y, config) {
888
993
  gradient.addColorStop(1, colorScheme.baseScheme[1]);
889
994
  ctx.fillStyle = gradient;
890
995
  ctx.fillRect(0, 0, width, height);
891
- const shapeNames = Object.keys((0, $299e6c12a93ad3c3$export$4ff7fc6f1af248b5));
996
+ const shapeNames = Object.keys((0, $c66d34405eec1e19$export$4ff7fc6f1af248b5));
892
997
  const cellWidth = width / gridSize;
893
998
  const cellHeight = height / gridSize;
894
999
  // Scale shape sizes based on canvas dimensions
@@ -896,20 +1001,20 @@ function $ac20c1c0ccca1e19$export$bb35a6995ddbf32d(ctx, shape, x, y, config) {
896
1001
  const adjustedMinSize = minShapeSize * scaleFactor;
897
1002
  const adjustedMaxSize = maxShapeSize * scaleFactor;
898
1003
  for(let layer = 0; layer < layers; layer++){
899
- const numShapes = finalConfig.shapesPerLayer + Math.floor((0, $f391ca372769b92d$export$6b193cae730c547a)(gitHash, layer, 0, finalConfig.shapesPerLayer / 2));
1004
+ const numShapes = finalConfig.shapesPerLayer + Math.floor((0, $7d6bc9fc27a23abe$export$6b193cae730c547a)(gitHash, layer, 0, finalConfig.shapesPerLayer / 2));
900
1005
  const layerOpacity = baseOpacity - layer * opacityReduction;
901
1006
  for(let i = 0; i < numShapes; i++){
902
1007
  const gridX = Math.floor(i / gridSize);
903
1008
  const gridY = i % gridSize;
904
- const cellOffsetX = (0, $f391ca372769b92d$export$6b193cae730c547a)(gitHash, layer * numShapes + i * 2, 0, cellWidth);
905
- const cellOffsetY = (0, $f391ca372769b92d$export$6b193cae730c547a)(gitHash, layer * numShapes + i * 2 + 1, 0, cellHeight);
1009
+ const cellOffsetX = (0, $7d6bc9fc27a23abe$export$6b193cae730c547a)(gitHash, layer * numShapes + i * 2, 0, cellWidth);
1010
+ const cellOffsetY = (0, $7d6bc9fc27a23abe$export$6b193cae730c547a)(gitHash, layer * numShapes + i * 2 + 1, 0, cellHeight);
906
1011
  const x = gridX * cellWidth + cellOffsetX;
907
1012
  const y = gridY * cellHeight + cellOffsetY;
908
- const shape = shapeNames[Math.floor((0, $f391ca372769b92d$export$6b193cae730c547a)(gitHash, layer * numShapes + i * 3, 0, shapeNames.length))];
909
- const size = adjustedMinSize + (0, $f391ca372769b92d$export$6b193cae730c547a)(gitHash, layer * numShapes + i * 4, 0, adjustedMaxSize - adjustedMinSize);
910
- const rotation = (0, $f391ca372769b92d$export$6b193cae730c547a)(gitHash, layer * numShapes + i * 5, 0, 360);
911
- const fillColorIndex = Math.floor((0, $f391ca372769b92d$export$6b193cae730c547a)(gitHash, layer * numShapes + i * 6, 0, colors.length));
912
- const strokeColorIndex = Math.floor((0, $f391ca372769b92d$export$6b193cae730c547a)(gitHash, layer * numShapes + i * 7, 0, colors.length));
1013
+ const shape = shapeNames[Math.floor((0, $7d6bc9fc27a23abe$export$6b193cae730c547a)(gitHash, layer * numShapes + i * 3, 0, shapeNames.length))];
1014
+ const size = adjustedMinSize + (0, $7d6bc9fc27a23abe$export$6b193cae730c547a)(gitHash, layer * numShapes + i * 4, 0, adjustedMaxSize - adjustedMinSize);
1015
+ const rotation = (0, $7d6bc9fc27a23abe$export$6b193cae730c547a)(gitHash, layer * numShapes + i * 5, 0, 360);
1016
+ const fillColorIndex = Math.floor((0, $7d6bc9fc27a23abe$export$6b193cae730c547a)(gitHash, layer * numShapes + i * 6, 0, Object.keys(colors).length));
1017
+ const strokeColorIndex = Math.floor((0, $7d6bc9fc27a23abe$export$6b193cae730c547a)(gitHash, layer * numShapes + i * 7, 0, Object.keys(colors).length));
913
1018
  ctx.globalAlpha = layerOpacity;
914
1019
  // drawShape(
915
1020
  // ctx,
@@ -922,9 +1027,9 @@ function $ac20c1c0ccca1e19$export$bb35a6995ddbf32d(ctx, shape, x, y, config) {
922
1027
  // size,
923
1028
  // rotation
924
1029
  // );
925
- (0, $ac20c1c0ccca1e19$export$bb35a6995ddbf32d)(ctx, shape, x, y, {
926
- fillColor: colors[fillColorIndex],
927
- strokeColor: colors[strokeColorIndex],
1030
+ (0, $7898cb8c4bee74e1$export$bb35a6995ddbf32d)(ctx, shape, x, y, {
1031
+ fillColor: Object.values(colors)[fillColorIndex],
1032
+ strokeColor: Object.values(colors)[strokeColorIndex],
928
1033
  strokeWidth: 1.5 * scaleFactor,
929
1034
  size: size,
930
1035
  rotation: rotation,
@@ -936,14 +1041,14 @@ function $ac20c1c0ccca1e19$export$bb35a6995ddbf32d(ctx, shape, x, y, config) {
936
1041
  }
937
1042
  // Add connecting lines scaled to canvas size
938
1043
  ctx.globalAlpha = 0.2;
939
- ctx.strokeStyle = colors[colors.length - 1];
1044
+ ctx.strokeStyle = Object.values(colors)[Object.keys(colors).length - 1];
940
1045
  ctx.lineWidth = 1 * scaleFactor;
941
1046
  const numLines = Math.floor(15 * (width * height) / 1048576);
942
1047
  for(let i = 0; i < numLines; i++){
943
- const x1 = (0, $f391ca372769b92d$export$6b193cae730c547a)(gitHash, i * 4, 0, width);
944
- const y1 = (0, $f391ca372769b92d$export$6b193cae730c547a)(gitHash, i * 4 + 1, 0, height);
945
- const x2 = (0, $f391ca372769b92d$export$6b193cae730c547a)(gitHash, i * 4 + 2, 0, width);
946
- const y2 = (0, $f391ca372769b92d$export$6b193cae730c547a)(gitHash, i * 4 + 3, 0, height);
1048
+ const x1 = (0, $7d6bc9fc27a23abe$export$6b193cae730c547a)(gitHash, i * 4, 0, width);
1049
+ const y1 = (0, $7d6bc9fc27a23abe$export$6b193cae730c547a)(gitHash, i * 4 + 1, 0, height);
1050
+ const x2 = (0, $7d6bc9fc27a23abe$export$6b193cae730c547a)(gitHash, i * 4 + 2, 0, width);
1051
+ const y2 = (0, $7d6bc9fc27a23abe$export$6b193cae730c547a)(gitHash, i * 4 + 3, 0, height);
947
1052
  ctx.beginPath();
948
1053
  ctx.moveTo(x1, y1);
949
1054
  ctx.lineTo(x2, y2);
@@ -961,13 +1066,13 @@ function $ac20c1c0ccca1e19$export$bb35a6995ddbf32d(ctx, shape, x, y, config) {
961
1066
  * @param {number} width - The width of the generated image
962
1067
  * @param {number} height - The height of the generated image
963
1068
  * @returns {string} Path to the saved image
964
- */ function $4fa36e821943b400$export$ea0bbc160a51089a(imageBuffer, outputDir, gitHash, label = "", width, height) {
965
- if (!(0, ($parcel$interopDefault($gXNCa$fs))).existsSync(outputDir)) (0, ($parcel$interopDefault($gXNCa$fs))).mkdirSync(outputDir, {
1069
+ */ function $882b6d93070905b3$export$ea0bbc160a51089a(imageBuffer, outputDir, gitHash, label = "", width, height) {
1070
+ if (!(0, ($parcel$interopDefault($8zHUo$fs))).existsSync(outputDir)) (0, ($parcel$interopDefault($8zHUo$fs))).mkdirSync(outputDir, {
966
1071
  recursive: true
967
1072
  });
968
1073
  const filename = label ? `${label}-${width}x${height}-${gitHash.slice(0, 8)}.png` : `${gitHash.slice(0, 8)}-${width}x${height}.png`;
969
- const outputPath = (0, ($parcel$interopDefault($gXNCa$path))).join(outputDir, filename);
970
- (0, ($parcel$interopDefault($gXNCa$fs))).writeFileSync(outputPath, imageBuffer);
1074
+ const outputPath = (0, ($parcel$interopDefault($8zHUo$path))).join(outputDir, filename);
1075
+ (0, ($parcel$interopDefault($8zHUo$fs))).writeFileSync(outputPath, imageBuffer);
971
1076
  console.log(`Generated: ${outputPath}`);
972
1077
  return outputPath;
973
1078
  }