@blazediff/cli 2.0.2 → 2.0.3

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/cli.js CHANGED
@@ -165,112 +165,119 @@ var init_bin = __esm({
165
165
  });
166
166
 
167
167
  // ../core/dist/index.mjs
168
- function g(n2, e, r, t, o2, { threshold: l = 0.1, alpha: s = 0.1, aaColor: a2 = [255, 255, 0], diffColor: c2 = [255, 0, 0], includeAA: G, diffColorAlt: X2, diffMask: B, fastBufferCheck: E3 = true } = {}) {
169
- if (!T(n2) || !T(e) || r && !T(r)) throw new Error("Image data: Uint8Array, Uint8ClampedArray or Buffer expected.");
170
- if (n2.length !== e.length || r && r.length !== n2.length) throw new Error(`Image sizes do not match. Image 1 size: ${n2.length}, image 2 size: ${e.length}`);
171
- if (n2.length !== t * o2 * 4) throw new Error(`Image data size does not match width/height. Expecting ${t * o2 * 4}. Got ${n2.length}`);
172
- if (E3 && typeof Buffer < "u" && Buffer.compare && n2 instanceof Uint8Array && e instanceof Uint8Array && Buffer.compare(n2, e) === 0) {
173
- if (r && !B) for (let i2 = 0; i2 < t * o2; i2++) L(n2, i2 * 4, s, r);
168
+ function g(n2, r, t, e, o2, { threshold: f2 = 0.1, alpha: c2 = 0.1, aaColor: s = [255, 255, 0], diffColor: a2 = [255, 0, 0], includeAA: U3, diffColorAlt: O2, diffMask: b, fastBufferCheck: y = true } = {}) {
169
+ if (!_(n2) || !_(r) || t && !_(t)) throw new Error("Image data: Uint8Array, Uint8ClampedArray or Buffer expected.");
170
+ if (n2.length !== r.length || t && t.length !== n2.length) throw new Error(`Image sizes do not match. Image 1 size: ${n2.length}, image 2 size: ${r.length}`);
171
+ if (n2.length !== e * o2 * 4) throw new Error(`Image data size does not match width/height. Expecting ${e * o2 * 4}. Got ${n2.length}`);
172
+ if (y && typeof Buffer < "u" && Buffer.compare && n2 instanceof Uint8Array && r instanceof Uint8Array && Buffer.compare(n2, r) === 0) {
173
+ if (t && !b) for (let A = 0; A < e * o2; A++) L(n2, A * 4, c2, t);
174
174
  return 0;
175
175
  }
176
- let y = t * o2, b = new Uint32Array(n2.buffer, n2.byteOffset, y), u = new Uint32Array(e.buffer, e.byteOffset, y), f2 = en(t, o2), m = Math.ceil(t / f2), x = Math.ceil(o2 / f2), Y = m * x, d2 = new Uint16Array(Y), A = 35215 * l * l, I2 = 0;
177
- for (let i2 = 0; i2 < x; i2++) for (let R = 0; R < m; R++) {
178
- let k = R * f2, v = i2 * f2, P4 = Math.min(k + f2, t), $ = Math.min(v + f2, o2), q3 = false;
179
- n: for (let U3 = v; U3 < $; U3++) {
180
- let O2 = U3 * t;
181
- for (let z2 = k; z2 < P4; z2++) {
182
- let M = O2 + z2;
183
- if (b[M] === u[M]) continue;
184
- let S3 = M * 4, C3 = H(n2, e, S3, S3, false);
185
- if (Math.abs(C3) > A) {
186
- q3 = true;
176
+ let m = e * o2, u = new Uint32Array(n2.buffer, n2.byteOffset, m), d2 = new Uint32Array(r.buffer, r.byteOffset, m), l = tn(e, o2), i2 = Math.ceil(e / l), I2 = Math.ceil(o2 / l), z2 = i2 * I2, x = new Uint16Array(z2), M = 35215 * f2 * f2, B = 0;
177
+ for (let A = 0; A < I2; A++) for (let R = 0; R < i2; R++) {
178
+ let p2 = R * l, v = A * l, D3 = Math.min(p2 + l, e), P4 = Math.min(v + l, o2), $ = false;
179
+ n: for (let C3 = v; C3 < P4; C3++) {
180
+ let Y = C3 * e;
181
+ for (let G = p2; G < D3; G++) {
182
+ let E3 = Y + G;
183
+ if (u[E3] === d2[E3]) continue;
184
+ let S3 = E3 * 4, X2 = N(n2, r, S3, S3);
185
+ if (Math.abs(X2) > M) {
186
+ $ = true;
187
187
  break n;
188
188
  }
189
189
  }
190
190
  }
191
- if (q3) d2[I2++] = i2 * m + R;
192
- else if (r && !B) for (let U3 = v; U3 < $; U3++) {
193
- let O2 = U3 * t;
194
- for (let z2 = k; z2 < P4; z2++) {
195
- let M = O2 + z2;
196
- L(n2, M * 4, s, r);
191
+ if ($) x[B++] = A * i2 + R;
192
+ else if (t && !b) for (let C3 = v; C3 < P4; C3++) {
193
+ let Y = C3 * e;
194
+ for (let G = p2; G < D3; G++) {
195
+ let E3 = Y + G;
196
+ L(n2, E3 * 4, c2, t);
197
197
  }
198
198
  }
199
199
  }
200
- if (I2 === 0) return 0;
201
- let [_, J, K2] = a2, [Q2, W2, Z2] = c2, [p2, w2, h3] = X2 || c2, N2 = 0;
202
- for (let i2 = 0; i2 < I2; i2++) {
203
- let R = d2[i2], k = R % m, v = R / m | 0, P4 = k * f2, $ = v * f2, q3 = Math.min(P4 + f2, t), U3 = Math.min($ + f2, o2);
204
- for (let O2 = $; O2 < U3; O2++) {
205
- let z2 = O2 * t;
206
- for (let M = P4; M < q3; M++) {
207
- let S3 = z2 + M, C3 = S3 * 4;
208
- if (b[S3] === u[S3]) {
209
- r && !B && L(n2, C3, s, r);
200
+ if (B === 0) return 0;
201
+ let [F2, J, K2] = s, [Q2, W2, Z2] = a2, [k, w2, h3] = O2 || a2, T = 0;
202
+ for (let A = 0; A < B; A++) {
203
+ let R = x[A], p2 = R % i2, v = R / i2 | 0, D3 = p2 * l, P4 = v * l, $ = Math.min(D3 + l, e), C3 = Math.min(P4 + l, o2);
204
+ for (let Y = P4; Y < C3; Y++) {
205
+ let G = Y * e;
206
+ for (let E3 = D3; E3 < $; E3++) {
207
+ let S3 = G + E3, X2 = S3 * 4;
208
+ if (u[S3] === d2[S3]) {
209
+ t && !b && L(n2, X2, c2, t);
210
210
  continue;
211
211
  }
212
- let j2 = H(n2, e, C3, C3, false);
213
- Math.abs(j2) > A ? !G && (F(n2, M, O2, t, o2, b, u) || F(e, M, O2, t, o2, u, b)) ? r && !B && V(r, C3, _, J, K2) : (r && (j2 < 0 ? V(r, C3, p2, w2, h3) : V(r, C3, Q2, W2, Z2)), N2++) : r && !B && L(n2, C3, s, r);
212
+ let H3 = N(n2, r, X2, X2);
213
+ Math.abs(H3) > M ? !U3 && (j(n2, E3, Y, e, o2, u, d2) || j(r, E3, Y, e, o2, d2, u)) ? t && !b && V(t, X2, F2, J, K2) : (t && (H3 < 0 ? V(t, X2, k, w2, h3) : V(t, X2, Q2, W2, Z2)), T++) : t && !b && L(n2, X2, c2, t);
214
214
  }
215
215
  }
216
216
  }
217
- return N2;
217
+ return T;
218
218
  }
219
- function en(n2, e) {
220
- let r = n2 * e, t = Math.sqrt(r) / 100, o2 = 16 * Math.sqrt(t), l = Math.log(o2) * nn;
221
- return 1 << Math.round(l);
222
- }
223
- function T(n2) {
219
+ function _(n2) {
224
220
  return ArrayBuffer.isView(n2) && n2.BYTES_PER_ELEMENT === 1;
225
221
  }
226
- function F(n2, e, r, t, o2, l, s) {
227
- let a2 = Math.max(e - 1, 0), c2 = Math.max(r - 1, 0), G = Math.min(e + 1, t - 1), X2 = Math.min(r + 1, o2 - 1), E3 = (r * t + e) * 4, y = e === a2 || e === G || r === c2 || r === X2 ? 1 : 0, b = 0, u = 0, f2 = 0, m = 0, x = 0, Y = 0;
228
- for (let d2 = a2; d2 <= G; d2++) for (let A = c2; A <= X2; A++) {
229
- if (d2 === e && A === r) continue;
230
- let I2 = H(n2, n2, E3, (A * t + d2) * 4, true);
231
- if (I2 === 0) {
232
- if (y++, y > 2) return false;
233
- } else I2 < b ? (b = I2, f2 = d2, m = A) : I2 > u && (u = I2, x = d2, Y = A);
234
- }
235
- return b === 0 || u === 0 ? false : D(l, f2, m, t, o2) && D(s, f2, m, t, o2) || D(l, x, Y, t, o2) && D(s, x, Y, t, o2);
222
+ function tn(n2, r) {
223
+ let t = n2 * r, e = Math.sqrt(t) / 100, o2 = 16 * Math.sqrt(e), f2 = Math.log(o2) * nn;
224
+ return 1 << Math.round(f2);
225
+ }
226
+ function N(n2, r, t, e) {
227
+ let o2 = n2[t], f2 = n2[t + 1], c2 = n2[t + 2], s = n2[t + 3], a2 = r[e], U3 = r[e + 1], O2 = r[e + 2], b = r[e + 3], y = o2 - a2, m = f2 - U3, u = c2 - O2, d2 = s - b;
228
+ if (!y && !m && !u && !d2) return 0;
229
+ if (s < 255 || b < 255) {
230
+ let x = 48 + 159 * (t % 2), M = 48 + 159 * ((t / 1.618033988749895 | 0) & 1), B = 48 + 159 * ((t / 2.618033988749895 | 0) & 1);
231
+ y = (o2 * s - a2 * b - x * d2) / 255, m = (f2 * s - U3 * b - M * d2) / 255, u = (c2 * s - O2 * b - B * d2) / 255;
232
+ }
233
+ let l = y * 0.29889531 + m * 0.58662247 + u * 0.11448223, i2 = y * 0.59597799 - m * 0.2741761 - u * 0.32180189, I2 = y * 0.21147017 - m * 0.52261711 + u * 0.31114694, z2 = 0.5053 * l * l + 0.299 * i2 * i2 + 0.1957 * I2 * I2;
234
+ return l > 0 ? -z2 : z2;
235
+ }
236
+ function rn(n2, r, t, e) {
237
+ let o2 = n2[t], f2 = n2[t + 1], c2 = n2[t + 2], s = n2[t + 3], a2 = r[e], U3 = r[e + 1], O2 = r[e + 2], b = r[e + 3], y = o2 - a2, m = f2 - U3, u = c2 - O2, d2 = s - b;
238
+ if (!y && !m && !u && !d2) return 0;
239
+ if (s < 255 || b < 255) {
240
+ let i2 = 48 + 159 * (t % 2), I2 = 48 + 159 * ((t / 1.618033988749895 | 0) & 1), z2 = 48 + 159 * ((t / 2.618033988749895 | 0) & 1);
241
+ y = (o2 * s - a2 * b - i2 * d2) / 255, m = (f2 * s - U3 * b - I2 * d2) / 255, u = (c2 * s - O2 * b - z2 * d2) / 255;
242
+ }
243
+ return y * 0.29889531 + m * 0.58662247 + u * 0.11448223;
236
244
  }
237
- function D(n2, e, r, t, o2) {
238
- let l = r * t + e, s = n2[l], a2 = e === 0 || e === t - 1 || r === 0 || r === o2 - 1 ? 1 : 0;
239
- if (r > 0) {
240
- let c2 = l - t;
241
- e > 0 && n2[c2 - 1] === s && a2++, n2[c2] === s && a2++, e < t - 1 && n2[c2 + 1] === s && a2++;
245
+ function j(n2, r, t, e, o2, f2, c2) {
246
+ let s = Math.max(r - 1, 0), a2 = Math.max(t - 1, 0), U3 = Math.min(r + 1, e - 1), O2 = Math.min(t + 1, o2 - 1), y = (t * e + r) * 4, m = r === s || r === U3 || t === a2 || t === O2 ? 1 : 0, u = 0, d2 = 0, l = 0, i2 = 0, I2 = 0, z2 = 0;
247
+ for (let x = s; x <= U3; x++) for (let M = a2; M <= O2; M++) {
248
+ if (x === r && M === t) continue;
249
+ let B = rn(n2, n2, y, (M * e + x) * 4);
250
+ if (B === 0) {
251
+ if (m++, m > 2) return false;
252
+ } else B < u ? (u = B, l = x, i2 = M) : B > d2 && (d2 = B, I2 = x, z2 = M);
253
+ }
254
+ return u === 0 || d2 === 0 ? false : q(f2, l, i2, e, o2) && q(c2, l, i2, e, o2) || q(f2, I2, z2, e, o2) && q(c2, I2, z2, e, o2);
255
+ }
256
+ function q(n2, r, t, e, o2) {
257
+ let f2 = t * e + r, c2 = n2[f2], s = r === 0 || r === e - 1 || t === 0 || t === o2 - 1 ? 1 : 0;
258
+ if (t > 0) {
259
+ let a2 = f2 - e;
260
+ r > 0 && n2[a2 - 1] === c2 && s++, n2[a2] === c2 && s++, r < e - 1 && n2[a2 + 1] === c2 && s++;
242
261
  }
243
- if (e > 0 && n2[l - 1] === s && a2++, e < t - 1 && n2[l + 1] === s && a2++, r < o2 - 1) {
244
- let c2 = l + t;
245
- e > 0 && n2[c2 - 1] === s && a2++, n2[c2] === s && a2++, e < t - 1 && n2[c2 + 1] === s && a2++;
262
+ if (r > 0 && n2[f2 - 1] === c2 && s++, r < e - 1 && n2[f2 + 1] === c2 && s++, t < o2 - 1) {
263
+ let a2 = f2 + e;
264
+ r > 0 && n2[a2 - 1] === c2 && s++, n2[a2] === c2 && s++, r < e - 1 && n2[a2 + 1] === c2 && s++;
246
265
  }
247
- return a2 > 2;
248
- }
249
- function H(n2, e, r, t, o2) {
250
- let l = n2[r], s = n2[r + 1], a2 = n2[r + 2], c2 = n2[r + 3], G = e[t], X2 = e[t + 1], B = e[t + 2], E3 = e[t + 3], y = l - G, b = s - X2, u = a2 - B, f2 = c2 - E3;
251
- if (!y && !b && !u && !f2) return 0;
252
- if (c2 < 255 || E3 < 255) {
253
- let A = 48 + 159 * (r % 2), I2 = 48 + 159 * ((r / 1.618033988749895 | 0) & 1), _ = 48 + 159 * ((r / 2.618033988749895 | 0) & 1);
254
- y = (l * c2 - G * E3 - A * f2) / 255, b = (s * c2 - X2 * E3 - I2 * f2) / 255, u = (a2 * c2 - B * E3 - _ * f2) / 255;
255
- }
256
- let m = y * 0.29889531 + b * 0.58662247 + u * 0.11448223;
257
- if (o2) return m;
258
- let x = y * 0.59597799 - b * 0.2741761 - u * 0.32180189, Y = y * 0.21147017 - b * 0.52261711 + u * 0.31114694, d2 = 0.5053 * m * m + 0.299 * x * x + 0.1957 * Y * Y;
259
- return m > 0 ? -d2 : d2;
266
+ return s > 2;
260
267
  }
261
- function V(n2, e, r, t, o2) {
262
- n2[e + 0] = r, n2[e + 1] = t, n2[e + 2] = o2, n2[e + 3] = 255;
268
+ function L(n2, r, t, e) {
269
+ let o2 = 255 + (n2[r] * 0.29889531 + n2[r + 1] * 0.58662247 + n2[r + 2] * 0.11448223 - 255) * t * n2[r + 3] / 255;
270
+ V(e, r, o2, o2, o2);
263
271
  }
264
- function L(n2, e, r, t) {
265
- let o2 = 255 + (n2[e] * 0.29889531 + n2[e + 1] * 0.58662247 + n2[e + 2] * 0.11448223 - 255) * r * n2[e + 3] / 255;
266
- V(t, e, o2, o2, o2);
272
+ function V(n2, r, t, e, o2) {
273
+ n2[r + 0] = t, n2[r + 1] = e, n2[r + 2] = o2, n2[r + 3] = 255;
267
274
  }
268
- var nn, tn;
275
+ var nn, on;
269
276
  var init_dist = __esm({
270
277
  "../core/dist/index.mjs"() {
271
278
  "use strict";
272
279
  nn = Math.LOG2E;
273
- tn = g;
280
+ on = g;
274
281
  }
275
282
  });
276
283
 
@@ -463,15 +470,15 @@ var require_interlace = __commonJS({
463
470
  let pass = imagePasses[i2];
464
471
  let passWidth = xRepeats * pass.x.length;
465
472
  let passHeight = yRepeats * pass.y.length;
466
- for (let j2 = 0; j2 < pass.x.length; j2++) {
467
- if (pass.x[j2] < xLeftOver) {
473
+ for (let j3 = 0; j3 < pass.x.length; j3++) {
474
+ if (pass.x[j3] < xLeftOver) {
468
475
  passWidth++;
469
476
  } else {
470
477
  break;
471
478
  }
472
479
  }
473
- for (let j2 = 0; j2 < pass.y.length; j2++) {
474
- if (pass.y[j2] < yLeftOver) {
480
+ for (let j3 = 0; j3 < pass.y.length; j3++) {
481
+ if (pass.y[j3] < yLeftOver) {
475
482
  passHeight++;
476
483
  } else {
477
484
  break;
@@ -725,7 +732,7 @@ var require_crc = __commonJS({
725
732
  (function() {
726
733
  for (let i2 = 0; i2 < 256; i2++) {
727
734
  let currentCrc = i2;
728
- for (let j2 = 0; j2 < 8; j2++) {
735
+ for (let j3 = 0; j3 < 8; j3++) {
729
736
  if (currentCrc & 1) {
730
737
  currentCrc = 3988292384 ^ currentCrc >>> 1;
731
738
  } else {
@@ -3703,8 +3710,8 @@ var require_range = __commonJS({
3703
3710
  };
3704
3711
  var replaceTilde = (comp, options) => {
3705
3712
  const r = options.loose ? re[t.TILDELOOSE] : re[t.TILDE];
3706
- return comp.replace(r, (_, M, m, p2, pr) => {
3707
- debug("tilde", comp, _, M, m, p2, pr);
3713
+ return comp.replace(r, (_2, M, m, p2, pr) => {
3714
+ debug("tilde", comp, _2, M, m, p2, pr);
3708
3715
  let ret;
3709
3716
  if (isX(M)) {
3710
3717
  ret = "";
@@ -3729,8 +3736,8 @@ var require_range = __commonJS({
3729
3736
  debug("caret", comp, options);
3730
3737
  const r = options.loose ? re[t.CARETLOOSE] : re[t.CARET];
3731
3738
  const z2 = options.includePrerelease ? "-0" : "";
3732
- return comp.replace(r, (_, M, m, p2, pr) => {
3733
- debug("caret", comp, _, M, m, p2, pr);
3739
+ return comp.replace(r, (_2, M, m, p2, pr) => {
3740
+ debug("caret", comp, _2, M, m, p2, pr);
3734
3741
  let ret;
3735
3742
  if (isX(M)) {
3736
3743
  ret = "";
@@ -6745,22 +6752,22 @@ var require_conversions = __commonJS({
6745
6752
  const hi = Math.floor(h3) % 6;
6746
6753
  const f2 = h3 - Math.floor(h3);
6747
6754
  const p2 = 255 * v * (1 - s);
6748
- const q3 = 255 * v * (1 - s * f2);
6755
+ const q4 = 255 * v * (1 - s * f2);
6749
6756
  const t = 255 * v * (1 - s * (1 - f2));
6750
6757
  v *= 255;
6751
6758
  switch (hi) {
6752
6759
  case 0:
6753
6760
  return [v, t, p2];
6754
6761
  case 1:
6755
- return [q3, v, p2];
6762
+ return [q4, v, p2];
6756
6763
  case 2:
6757
6764
  return [p2, v, t];
6758
6765
  case 3:
6759
- return [p2, q3, v];
6766
+ return [p2, q4, v];
6760
6767
  case 4:
6761
6768
  return [t, p2, v];
6762
6769
  case 5:
6763
- return [v, p2, q3];
6770
+ return [v, p2, q4];
6764
6771
  }
6765
6772
  };
6766
6773
  convert.hsv.hsl = function(hsv) {
@@ -8758,16 +8765,16 @@ var require_utility = __commonJS({
8758
8765
  if (!libvipsVersion.isWasm) {
8759
8766
  try {
8760
8767
  versions = require(`@img/sharp-${runtimePlatform}/versions`);
8761
- } catch (_) {
8768
+ } catch (_2) {
8762
8769
  try {
8763
8770
  versions = require(`@img/sharp-libvips-${runtimePlatform}/versions`);
8764
- } catch (_2) {
8771
+ } catch (_3) {
8765
8772
  }
8766
8773
  }
8767
8774
  } else {
8768
8775
  try {
8769
8776
  versions = require("@img/sharp-wasm32/versions");
8770
- } catch (_) {
8777
+ } catch (_2) {
8771
8778
  }
8772
8779
  }
8773
8780
  }
@@ -9053,7 +9060,7 @@ async function main2() {
9053
9060
  diffMask: options.diffMask
9054
9061
  };
9055
9062
  const startTime = performance.now();
9056
- const diffCount = tn(
9063
+ const diffCount = on(
9057
9064
  img1.data,
9058
9065
  img2.data,
9059
9066
  outputData,
@@ -9124,14 +9131,14 @@ var init_core = __esm({
9124
9131
  });
9125
9132
 
9126
9133
  // ../gmsd/dist/index.mjs
9127
- function D2(e, n2, a2, t, r, o2 = {}) {
9134
+ function D(e, n2, a2, t, r, o2 = {}) {
9128
9135
  let { downsample: s = 0, c: c2 = 170 } = o2;
9129
- if (H2(e, n2)) {
9136
+ if (H(e, n2)) {
9130
9137
  if (a2) for (let y = 0; y < t * r * 4; y += 4) a2[y] = 255, a2[y + 1] = 255, a2[y + 2] = 255, a2[y + 3] = 255;
9131
9138
  return 0;
9132
9139
  }
9133
9140
  let f2 = e.length / (t * r) === 4, l, u, b = t, x = r;
9134
- if (f2) l = new Float32Array(t * r), u = new Float32Array(t * r), q(e, l, t, r), q(n2, u, t, r);
9141
+ if (f2) l = new Float32Array(t * r), u = new Float32Array(t * r), q2(e, l, t, r), q2(n2, u, t, r);
9135
9142
  else {
9136
9143
  l = new Float32Array(t * r), u = new Float32Array(t * r);
9137
9144
  for (let y = 0; y < t * r; y++) l[y] = e[y], u[y] = n2[y];
@@ -9144,10 +9151,10 @@ function D2(e, n2, a2, t, r, o2 = {}) {
9144
9151
  }
9145
9152
  l = M, u = v, b = d2, x = I2;
9146
9153
  }
9147
- let F3 = S(l, b, x), A = S(u, b, x), g2 = U(F3, A, c2, b, x), k = W(g2);
9148
- return a2 && O(a2, F3, A, c2, b, x), k;
9154
+ let F2 = S(l, b, x), A = S(u, b, x), g2 = U(F2, A, c2, b, x), k = W(g2);
9155
+ return a2 && O(a2, F2, A, c2, b, x), k;
9149
9156
  }
9150
- function H2(e, n2) {
9157
+ function H(e, n2) {
9151
9158
  if (e.length !== n2.length) return false;
9152
9159
  for (let a2 = 0; a2 < e.length; a2++) if (e[a2] !== n2[a2]) return false;
9153
9160
  return true;
@@ -9167,11 +9174,11 @@ function P(e, n2, a2) {
9167
9174
  function O(e, n2, a2, t, r, o2) {
9168
9175
  e.fill(0);
9169
9176
  for (let s = 1; s < o2 - 1; s++) for (let c2 = 1; c2 < r - 1; c2++) {
9170
- let m = s * r + c2, f2 = n2[m], l = a2[m], u = 2 * f2 * l + t, b = f2 * f2 + l * l + t, x = u / b, F3 = Math.floor(x * 255), A = m * 4;
9171
- e[A] = F3, e[A + 1] = F3, e[A + 2] = F3, e[A + 3] = 255;
9177
+ let m = s * r + c2, f2 = n2[m], l = a2[m], u = 2 * f2 * l + t, b = f2 * f2 + l * l + t, x = u / b, F2 = Math.floor(x * 255), A = m * 4;
9178
+ e[A] = F2, e[A + 1] = F2, e[A + 2] = F2, e[A + 3] = 255;
9172
9179
  }
9173
9180
  }
9174
- function q(e, n2, a2, t) {
9181
+ function q2(e, n2, a2, t) {
9175
9182
  let r = a2 * t;
9176
9183
  for (let o2 = 0; o2 < r; o2++) {
9177
9184
  let s = o2 * 4, c2 = e[s], m = e[s + 1], f2 = e[s + 2];
@@ -9181,7 +9188,7 @@ function q(e, n2, a2, t) {
9181
9188
  function S(e, n2, a2) {
9182
9189
  let t = new Float32Array(n2 * a2);
9183
9190
  for (let r = 1; r < a2 - 1; r++) for (let o2 = 1; o2 < n2 - 1; o2++) {
9184
- let s = r * n2 + o2, c2 = e[(r - 1) * n2 + (o2 - 1)], m = e[(r - 1) * n2 + o2], f2 = e[(r - 1) * n2 + (o2 + 1)], l = e[r * n2 + (o2 - 1)], u = e[r * n2 + (o2 + 1)], b = e[(r + 1) * n2 + (o2 - 1)], x = e[(r + 1) * n2 + o2], F3 = e[(r + 1) * n2 + (o2 + 1)], A = (c2 + l + b - f2 - u - F3) / 3, g2 = (c2 + m + f2 - b - x - F3) / 3;
9191
+ let s = r * n2 + o2, c2 = e[(r - 1) * n2 + (o2 - 1)], m = e[(r - 1) * n2 + o2], f2 = e[(r - 1) * n2 + (o2 + 1)], l = e[r * n2 + (o2 - 1)], u = e[r * n2 + (o2 + 1)], b = e[(r + 1) * n2 + (o2 - 1)], x = e[(r + 1) * n2 + o2], F2 = e[(r + 1) * n2 + (o2 + 1)], A = (c2 + l + b - f2 - u - F2) / 3, g2 = (c2 + m + f2 - b - x - F2) / 3;
9185
9192
  t[s] = Math.sqrt(A * A + g2 * g2);
9186
9193
  }
9187
9194
  return t;
@@ -9210,7 +9217,7 @@ var C;
9210
9217
  var init_dist4 = __esm({
9211
9218
  "../gmsd/dist/index.mjs"() {
9212
9219
  "use strict";
9213
- C = D2;
9220
+ C = D;
9214
9221
  }
9215
9222
  });
9216
9223
 
@@ -9400,25 +9407,25 @@ function C2(f2, M, l) {
9400
9407
  }
9401
9408
  return r;
9402
9409
  }
9403
- function N(f2, M, l, r, n2, u = {}) {
9410
+ function N2(f2, M, l, r, n2, u = {}) {
9404
9411
  let { windowSize: e = 11, k1: A = 0.01, k2: a2 = 0.03, L: i2 = 255 } = u, c2 = C2(f2, r, n2), s = C2(M, r, n2), o2 = r, t = n2, m = Math.max(1, Math.round(Math.min(r, n2) / 256));
9405
9412
  if (m > 1) {
9406
9413
  let y = Q(c2, s, o2, t, m);
9407
9414
  c2 = y.img1, s = y.img2, o2 = y.width, t = y.height;
9408
9415
  }
9409
- let x = P2(e, 1.5), b = (A * i2) ** 2, B = (a2 * i2) ** 2, R = o2 - e + 1, T2 = t - e + 1, g2 = R * T2, v = new Float32Array(g2), O2 = new Float32Array(g2), G = new Float32Array(g2), H4 = new Float32Array(g2), I2 = new Float32Array(g2), U3 = new Float32Array(o2 * t);
9416
+ let x = P2(e, 1.5), b = (A * i2) ** 2, B = (a2 * i2) ** 2, R = o2 - e + 1, T = t - e + 1, g2 = R * T, v = new Float32Array(g2), O2 = new Float32Array(g2), G = new Float32Array(g2), H3 = new Float32Array(g2), I2 = new Float32Array(g2), U3 = new Float32Array(o2 * t);
9410
9417
  S2(c2, v, U3, o2, t, x, e), S2(s, O2, U3, o2, t, x, e);
9411
9418
  let V3 = c2.length;
9412
9419
  for (let y = 0; y < V3; y++) {
9413
9420
  let p2 = c2[y], d2 = s[y];
9414
9421
  U3[y] = p2 * d2, c2[y] = p2 * p2, s[y] = d2 * d2;
9415
9422
  }
9416
- let q3 = new Float32Array(o2 * t);
9417
- S2(c2, G, q3, o2, t, x, e), S2(s, H4, q3, o2, t, x, e), S2(U3, I2, q3, o2, t, x, e);
9423
+ let q4 = new Float32Array(o2 * t);
9424
+ S2(c2, G, q4, o2, t, x, e), S2(s, H3, q4, o2, t, x, e), S2(U3, I2, q4, o2, t, x, e);
9418
9425
  let w2 = new Float32Array(v.length);
9419
9426
  for (let y = 0; y < v.length; y++) {
9420
- let p2 = v[y], d2 = O2[y], W2 = p2 * p2, X2 = d2 * d2, Y = p2 * d2, $ = G[y] - W2, K2 = H4[y] - X2, _ = I2[y] - Y, j2 = (2 * Y + b) * (2 * _ + B), J = (W2 + X2 + b) * ($ + K2 + B);
9421
- w2[y] = j2 / J;
9427
+ let p2 = v[y], d2 = O2[y], W2 = p2 * p2, X2 = d2 * d2, Y = p2 * d2, $ = G[y] - W2, K2 = H3[y] - X2, _2 = I2[y] - Y, j3 = (2 * Y + b) * (2 * _2 + B), J = (W2 + X2 + b) * ($ + K2 + B);
9428
+ w2[y] = j3 / J;
9422
9429
  }
9423
9430
  if (l) {
9424
9431
  let y = o2 - e + 1, p2 = t - e + 1;
@@ -9429,7 +9436,7 @@ function N(f2, M, l, r, n2, u = {}) {
9429
9436
  return L3 / w2.length;
9430
9437
  }
9431
9438
  function P2(f2, M) {
9432
- let l = `${f2}_${M}`, r = D3.get(l);
9439
+ let l = `${f2}_${M}`, r = D2.get(l);
9433
9440
  if (r) return r;
9434
9441
  let n2 = new Float32Array(f2), u = (f2 - 1) / 2, e = 2 * M * M, A = 0;
9435
9442
  for (let a2 = 0; a2 < f2; a2++) {
@@ -9437,7 +9444,7 @@ function P2(f2, M) {
9437
9444
  n2[a2] = c2, A += c2;
9438
9445
  }
9439
9446
  for (let a2 = 0; a2 < f2; a2++) n2[a2] /= A;
9440
- return D3.set(l, n2), n2;
9447
+ return D2.set(l, n2), n2;
9441
9448
  }
9442
9449
  function S2(f2, M, l, r, n2, u, e) {
9443
9450
  let A = Math.floor(e / 2);
@@ -9445,22 +9452,22 @@ function S2(f2, M, l, r, n2, u, e) {
9445
9452
  let o2 = s * r;
9446
9453
  for (let t = 0; t < A; t++) {
9447
9454
  let m = 0;
9448
- for (let F3 = 0; F3 < e; F3++) {
9449
- let x = t + F3 - A, b = Math.max(0, Math.min(r - 1, x));
9450
- m += f2[o2 + b] * u[F3];
9455
+ for (let F2 = 0; F2 < e; F2++) {
9456
+ let x = t + F2 - A, b = Math.max(0, Math.min(r - 1, x));
9457
+ m += f2[o2 + b] * u[F2];
9451
9458
  }
9452
9459
  l[o2 + t] = m;
9453
9460
  }
9454
9461
  for (let t = A; t < r - A; t++) {
9455
- let m = 0, F3 = o2 + t - A;
9456
- for (let x = 0; x < e; x++) m += f2[F3 + x] * u[x];
9462
+ let m = 0, F2 = o2 + t - A;
9463
+ for (let x = 0; x < e; x++) m += f2[F2 + x] * u[x];
9457
9464
  l[o2 + t] = m;
9458
9465
  }
9459
9466
  for (let t = r - A; t < r; t++) {
9460
9467
  let m = 0;
9461
- for (let F3 = 0; F3 < e; F3++) {
9462
- let x = t + F3 - A, b = Math.max(0, Math.min(r - 1, x));
9463
- m += f2[o2 + b] * u[F3];
9468
+ for (let F2 = 0; F2 < e; F2++) {
9469
+ let x = t + F2 - A, b = Math.max(0, Math.min(r - 1, x));
9470
+ m += f2[o2 + b] * u[F2];
9464
9471
  }
9465
9472
  l[o2 + t] = m;
9466
9473
  }
@@ -9468,9 +9475,9 @@ function S2(f2, M, l, r, n2, u, e) {
9468
9475
  let a2 = r - e + 1, i2 = n2 - e + 1, c2 = 0;
9469
9476
  for (let s = 0; s < i2; s++) for (let o2 = 0; o2 < a2; o2++) {
9470
9477
  let t = 0, m = o2 + A;
9471
- for (let F3 = 0; F3 < e; F3++) {
9472
- let x = s + F3;
9473
- t += l[x * r + m] * u[F3];
9478
+ for (let F2 = 0; F2 < e; F2++) {
9479
+ let x = s + F2;
9480
+ t += l[x * r + m] * u[F2];
9474
9481
  }
9475
9482
  M[c2++] = t;
9476
9483
  }
@@ -9484,8 +9491,8 @@ function Q(f2, M, l, r, n2) {
9484
9491
  E(M, i2, A, l, r, u, n2);
9485
9492
  let c2 = Math.floor(l / n2), s = Math.floor(r / n2), o2 = new Float32Array(c2 * s), t = new Float32Array(c2 * s);
9486
9493
  for (let m = 0; m < s; m++) {
9487
- let F3 = m * n2 * l, x = m * c2;
9488
- for (let b = 0; b < c2; b++) o2[x + b] = a2[F3 + b * n2], t[x + b] = i2[F3 + b * n2];
9494
+ let F2 = m * n2 * l, x = m * c2;
9495
+ for (let b = 0; b < c2; b++) o2[x + b] = a2[F2 + b * n2], t[x + b] = i2[F2 + b * n2];
9489
9496
  }
9490
9497
  return { img1: o2, img2: t, width: c2, height: s };
9491
9498
  }
@@ -9518,12 +9525,12 @@ function Z(f2, M, l, r, n2, u) {
9518
9525
  f2[m] = t, f2[m + 1] = t, f2[m + 2] = t, f2[m + 3] = 255;
9519
9526
  }
9520
9527
  }
9521
- var D3, z;
9528
+ var D2, z;
9522
9529
  var init_ssim = __esm({
9523
9530
  "../ssim/dist/ssim.mjs"() {
9524
9531
  "use strict";
9525
- D3 = /* @__PURE__ */ new Map();
9526
- z = N;
9532
+ D2 = /* @__PURE__ */ new Map();
9533
+ z = N2;
9527
9534
  }
9528
9535
  });
9529
9536
 
@@ -9691,37 +9698,37 @@ function K(a2, f2, n2, r, t, y = {}) {
9691
9698
  l = M.img1, A = M.img2, x = M.width, S3 = M.height;
9692
9699
  }
9693
9700
  }
9694
- if (n2 && C3 && H3(n2, C3, x, S3, r, t), o2 === "product") {
9701
+ if (n2 && C3 && H2(n2, C3, x, S3, r, t), o2 === "product") {
9695
9702
  let i2 = 1;
9696
9703
  for (let b = 0; b < e - 1; b++) i2 *= B[b] ** u[b];
9697
9704
  return i2 *= d2[e - 1] ** u[e - 1], i2;
9698
9705
  } else {
9699
- let i2 = u.map((M) => M / u.reduce((D4, G) => D4 + G, 0)), b = 0;
9706
+ let i2 = u.map((M) => M / u.reduce((D3, G) => D3 + G, 0)), b = 0;
9700
9707
  for (let M = 0; M < e - 1; M++) b += B[M] * i2[M];
9701
9708
  return b += d2[e - 1] * i2[e - 1], b;
9702
9709
  }
9703
9710
  }
9704
9711
  function L2(a2, f2, n2, r, t, y, m, p2) {
9705
9712
  let s = 2 ** p2 - 1, c2 = (y * s) ** 2, e = (m * s) ** 2, u = V2(t, 1.5), o2 = new Float32Array(n2 * r), l = new Float32Array(n2 * r), A = new Float32Array(n2 * r), x = new Float32Array(n2 * r), S3 = new Float32Array(n2 * r), d2 = new Float32Array(n2 * r), B = new Float32Array(n2 * r);
9706
- q2(a2, o2, d2, n2, r, u, t), q2(f2, l, d2, n2, r, u, t);
9713
+ q3(a2, o2, d2, n2, r, u, t), q3(f2, l, d2, n2, r, u, t);
9707
9714
  let C3 = new Float32Array(n2 * r), i2 = new Float32Array(n2 * r), b = new Float32Array(n2 * r), M = a2.length;
9708
- for (let F3 = 0; F3 < M; F3++) {
9709
- let v = a2[F3], U3 = f2[F3];
9710
- C3[F3] = v * v, i2[F3] = U3 * U3, b[F3] = v * U3;
9715
+ for (let F2 = 0; F2 < M; F2++) {
9716
+ let v = a2[F2], U3 = f2[F2];
9717
+ C3[F2] = v * v, i2[F2] = U3 * U3, b[F2] = v * U3;
9711
9718
  }
9712
- q2(C3, A, d2, n2, r, u, t), q2(i2, x, d2, n2, r, u, t), q2(b, S3, B, n2, r, u, t);
9713
- let D4 = 0, G = 0, O2 = new Float32Array(o2.length);
9714
- for (let F3 = 0; F3 < o2.length; F3++) {
9715
- let v = o2[F3], U3 = l[F3], g2 = v * v, w2 = U3 * U3, R = v * U3, Y = A[F3] - g2, _ = x[F3] - w2, $ = S3[F3] - R, k = (2 * R + c2) / (g2 + w2 + c2), T2 = (2 * $ + e) / (Y + _ + e), W2 = k * T2;
9716
- O2[F3] = W2, D4 += W2, G += T2;
9719
+ q3(C3, A, d2, n2, r, u, t), q3(i2, x, d2, n2, r, u, t), q3(b, S3, B, n2, r, u, t);
9720
+ let D3 = 0, G = 0, O2 = new Float32Array(o2.length);
9721
+ for (let F2 = 0; F2 < o2.length; F2++) {
9722
+ let v = o2[F2], U3 = l[F2], g2 = v * v, w2 = U3 * U3, R = v * U3, Y = A[F2] - g2, _2 = x[F2] - w2, $ = S3[F2] - R, k = (2 * R + c2) / (g2 + w2 + c2), T = (2 * $ + e) / (Y + _2 + e), W2 = k * T;
9723
+ O2[F2] = W2, D3 += W2, G += T;
9717
9724
  }
9718
- return { mssim: D4 / o2.length, mcs: G / o2.length, ssimMap: O2 };
9725
+ return { mssim: D3 / o2.length, mcs: G / o2.length, ssimMap: O2 };
9719
9726
  }
9720
9727
  function V2(a2, f2) {
9721
9728
  let n2 = `${a2}_${f2}`, r = X.get(n2);
9722
- return r || (r = j(a2, f2), X.set(n2, r)), r;
9729
+ return r || (r = j2(a2, f2), X.set(n2, r)), r;
9723
9730
  }
9724
- function j(a2, f2) {
9731
+ function j2(a2, f2) {
9725
9732
  let n2 = new Float32Array(a2), r = (a2 - 1) / 2, t = 2 * f2 * f2, y = 0;
9726
9733
  for (let m = 0; m < a2; m++) {
9727
9734
  let p2 = m - r, s = Math.exp(-(p2 * p2) / t);
@@ -9730,7 +9737,7 @@ function j(a2, f2) {
9730
9737
  for (let m = 0; m < a2; m++) n2[m] /= y;
9731
9738
  return n2;
9732
9739
  }
9733
- function q2(a2, f2, n2, r, t, y, m) {
9740
+ function q3(a2, f2, n2, r, t, y, m) {
9734
9741
  let p2 = Math.floor(m / 2);
9735
9742
  for (let s = 0; s < t; s++) {
9736
9743
  let c2 = s * r;
@@ -9754,7 +9761,7 @@ function q2(a2, f2, n2, r, t, y, m) {
9754
9761
  }
9755
9762
  function E2(a2, f2, n2, r) {
9756
9763
  let t = new Float32Array([0.5, 0.5]), y = new Float32Array(n2 * r), m = new Float32Array(n2 * r), p2 = new Float32Array(n2 * r), s = new Float32Array(n2 * r);
9757
- q2(a2, y, p2, n2, r, t, 2), q2(f2, m, s, n2, r, t, 2);
9764
+ q3(a2, y, p2, n2, r, t, 2), q3(f2, m, s, n2, r, t, 2);
9758
9765
  let c2 = Math.floor(n2 / 2), e = Math.floor(r / 2), u = new Float32Array(c2 * e), o2 = new Float32Array(c2 * e);
9759
9766
  for (let l = 0; l < e; l++) for (let A = 0; A < c2; A++) {
9760
9767
  let x = l * 2 * n2 + A * 2, S3 = l * c2 + A;
@@ -9762,7 +9769,7 @@ function E2(a2, f2, n2, r) {
9762
9769
  }
9763
9770
  return { img1: u, img2: o2, width: c2, height: e };
9764
9771
  }
9765
- function H3(a2, f2, n2, r, t, y) {
9772
+ function H2(a2, f2, n2, r, t, y) {
9766
9773
  let m = t / n2, p2 = y / r;
9767
9774
  for (let s = 0; s < y; s++) for (let c2 = 0; c2 < t; c2++) {
9768
9775
  let e = Math.min(Math.floor(c2 / m), n2 - 1), u = Math.min(Math.floor(s / p2), r - 1), o2 = f2[u * n2 + e], l = Math.floor(Math.max(0, Math.min(1, o2)) * 255), A = (s * t + c2) * 4;
@@ -9934,27 +9941,27 @@ function p(o2, a2, c2) {
9934
9941
  return n2;
9935
9942
  }
9936
9943
  function h2(o2, a2, c2, n2, r, s = {}) {
9937
- let { windowSize: t = 11, windowStride: e = t, k1: u = 0.01, k2: i2 = 0.03, L: d2 = 255, covPooling: v = true } = s, g2 = p(o2, n2, r), A = p(a2, n2, r), y = (u * d2) ** 2, O2 = (i2 * d2) ** 2, Y = F2(g2, n2, r), z2 = F2(A, n2, r), P4 = new Float32Array(n2 * r), G = new Float32Array(n2 * r), H4 = new Float32Array(n2 * r);
9944
+ let { windowSize: t = 11, windowStride: e = t, k1: u = 0.01, k2: i2 = 0.03, L: d2 = 255, covPooling: v = true } = s, g2 = p(o2, n2, r), A = p(a2, n2, r), y = (u * d2) ** 2, O2 = (i2 * d2) ** 2, Y = F(g2, n2, r), z2 = F(A, n2, r), P4 = new Float32Array(n2 * r), G = new Float32Array(n2 * r), H3 = new Float32Array(n2 * r);
9938
9945
  for (let l = 0; l < g2.length; l++) {
9939
9946
  let m = g2[l], f2 = A[l];
9940
- P4[l] = m * m, G[l] = f2 * f2, H4[l] = m * f2;
9947
+ P4[l] = m * m, G[l] = f2 * f2, H3[l] = m * f2;
9941
9948
  }
9942
- let D4 = F2(P4, n2, r), V3 = F2(G, n2, r), j2 = F2(H4, n2, r), M = Math.floor((n2 - t) / e) + 1, I2 = Math.floor((r - t) / e) + 1, S3 = new Float32Array(M * I2), x = t * t, E3 = 0;
9949
+ let D3 = F(P4, n2, r), V3 = F(G, n2, r), j3 = F(H3, n2, r), M = Math.floor((n2 - t) / e) + 1, I2 = Math.floor((r - t) / e) + 1, S3 = new Float32Array(M * I2), x = t * t, E3 = 0;
9943
9950
  for (let l = 0; l < I2; l++) {
9944
9951
  let m = l * e, f2 = m + t;
9945
9952
  for (let k = 0; k < M; k++) {
9946
- let b = k * e, q3 = b + t, J = U2(Y, b, m, q3, f2, n2), K2 = U2(z2, b, m, q3, f2, n2), N2 = U2(D4, b, m, q3, f2, n2), Q2 = U2(V3, b, m, q3, f2, n2), R = U2(j2, b, m, q3, f2, n2), C3 = J / x, B = K2 / x, L3 = C3 * C3, T2 = B * B, X2 = C3 * B, W2 = N2 / x - L3, Z2 = Q2 / x - T2, _ = R / x - X2, $ = (2 * X2 + y) * (2 * _ + O2), w2 = (L3 + T2 + y) * (W2 + Z2 + O2);
9953
+ let b = k * e, q4 = b + t, J = U2(Y, b, m, q4, f2, n2), K2 = U2(z2, b, m, q4, f2, n2), N3 = U2(D3, b, m, q4, f2, n2), Q2 = U2(V3, b, m, q4, f2, n2), R = U2(j3, b, m, q4, f2, n2), C3 = J / x, B = K2 / x, L3 = C3 * C3, T = B * B, X2 = C3 * B, W2 = N3 / x - L3, Z2 = Q2 / x - T, _2 = R / x - X2, $ = (2 * X2 + y) * (2 * _2 + O2), w2 = (L3 + T + y) * (W2 + Z2 + O2);
9947
9954
  S3[E3++] = $ / w2;
9948
9955
  }
9949
9956
  }
9950
- if (c2 && on(c2, S3, M, I2, n2, r), v) return nn2(S3);
9957
+ if (c2 && on2(c2, S3, M, I2, n2, r), v) return nn2(S3);
9951
9958
  {
9952
9959
  let l = 0;
9953
9960
  for (let m = 0; m < S3.length; m++) l += S3[m];
9954
9961
  return l / S3.length;
9955
9962
  }
9956
9963
  }
9957
- function F2(o2, a2, c2) {
9964
+ function F(o2, a2, c2) {
9958
9965
  let n2 = a2 + 1, r = c2 + 1, s = new Float64Array(n2 * r);
9959
9966
  for (let t = 1; t <= c2; t++) for (let e = 1; e <= a2; e++) {
9960
9967
  let u = (t - 1) * a2 + (e - 1), i2 = t * n2 + e;
@@ -9977,18 +9984,18 @@ function nn2(o2) {
9977
9984
  let r = n2 / o2.length, s = Math.sqrt(r);
9978
9985
  return 1 - (c2 > 0 ? s / c2 : 0);
9979
9986
  }
9980
- function on(o2, a2, c2, n2, r, s) {
9987
+ function on2(o2, a2, c2, n2, r, s) {
9981
9988
  let t = r / c2, e = s / n2;
9982
9989
  for (let u = 0; u < s; u++) for (let i2 = 0; i2 < r; i2++) {
9983
9990
  let d2 = Math.min(Math.floor(i2 / t), c2 - 1), v = Math.min(Math.floor(u / e), n2 - 1), g2 = a2[v * c2 + d2], A = Math.floor(Math.max(0, Math.min(1, g2)) * 255), y = (u * r + i2) * 4;
9984
9991
  o2[y] = A, o2[y + 1] = A, o2[y + 2] = A, o2[y + 3] = 255;
9985
9992
  }
9986
9993
  }
9987
- var en2;
9994
+ var en;
9988
9995
  var init_hitchhikers_ssim = __esm({
9989
9996
  "../ssim/dist/hitchhikers-ssim.mjs"() {
9990
9997
  "use strict";
9991
- en2 = h2;
9998
+ en = h2;
9992
9999
  }
9993
10000
  });
9994
10001
 
@@ -10119,7 +10126,7 @@ async function main6() {
10119
10126
  ssimOptions.covPooling = options.covPooling;
10120
10127
  }
10121
10128
  const startTime = performance.now();
10122
- const score = en2(
10129
+ const score = en(
10123
10130
  img1.data,
10124
10131
  img2.data,
10125
10132
  outputData,
@@ -223,15 +223,15 @@ var require_interlace = __commonJS({
223
223
  let pass = imagePasses[i2];
224
224
  let passWidth = xRepeats * pass.x.length;
225
225
  let passHeight = yRepeats * pass.y.length;
226
- for (let j = 0; j < pass.x.length; j++) {
227
- if (pass.x[j] < xLeftOver) {
226
+ for (let j2 = 0; j2 < pass.x.length; j2++) {
227
+ if (pass.x[j2] < xLeftOver) {
228
228
  passWidth++;
229
229
  } else {
230
230
  break;
231
231
  }
232
232
  }
233
- for (let j = 0; j < pass.y.length; j++) {
234
- if (pass.y[j] < yLeftOver) {
233
+ for (let j2 = 0; j2 < pass.y.length; j2++) {
234
+ if (pass.y[j2] < yLeftOver) {
235
235
  passHeight++;
236
236
  } else {
237
237
  break;
@@ -485,7 +485,7 @@ var require_crc = __commonJS({
485
485
  (function() {
486
486
  for (let i2 = 0; i2 < 256; i2++) {
487
487
  let currentCrc = i2;
488
- for (let j = 0; j < 8; j++) {
488
+ for (let j2 = 0; j2 < 8; j2++) {
489
489
  if (currentCrc & 1) {
490
490
  currentCrc = 3988292384 ^ currentCrc >>> 1;
491
491
  } else {
@@ -3463,8 +3463,8 @@ var require_range = __commonJS({
3463
3463
  };
3464
3464
  var replaceTilde = (comp, options) => {
3465
3465
  const r = options.loose ? re[t.TILDELOOSE] : re[t.TILDE];
3466
- return comp.replace(r, (_, M, m, p, pr) => {
3467
- debug("tilde", comp, _, M, m, p, pr);
3466
+ return comp.replace(r, (_2, M, m, p, pr) => {
3467
+ debug("tilde", comp, _2, M, m, p, pr);
3468
3468
  let ret;
3469
3469
  if (isX(M)) {
3470
3470
  ret = "";
@@ -3489,8 +3489,8 @@ var require_range = __commonJS({
3489
3489
  debug("caret", comp, options);
3490
3490
  const r = options.loose ? re[t.CARETLOOSE] : re[t.CARET];
3491
3491
  const z = options.includePrerelease ? "-0" : "";
3492
- return comp.replace(r, (_, M, m, p, pr) => {
3493
- debug("caret", comp, _, M, m, p, pr);
3492
+ return comp.replace(r, (_2, M, m, p, pr) => {
3493
+ debug("caret", comp, _2, M, m, p, pr);
3494
3494
  let ret;
3495
3495
  if (isX(M)) {
3496
3496
  ret = "";
@@ -6505,22 +6505,22 @@ var require_conversions = __commonJS({
6505
6505
  const hi = Math.floor(h2) % 6;
6506
6506
  const f2 = h2 - Math.floor(h2);
6507
6507
  const p = 255 * v * (1 - s);
6508
- const q = 255 * v * (1 - s * f2);
6508
+ const q2 = 255 * v * (1 - s * f2);
6509
6509
  const t = 255 * v * (1 - s * (1 - f2));
6510
6510
  v *= 255;
6511
6511
  switch (hi) {
6512
6512
  case 0:
6513
6513
  return [v, t, p];
6514
6514
  case 1:
6515
- return [q, v, p];
6515
+ return [q2, v, p];
6516
6516
  case 2:
6517
6517
  return [p, v, t];
6518
6518
  case 3:
6519
- return [p, q, v];
6519
+ return [p, q2, v];
6520
6520
  case 4:
6521
6521
  return [t, p, v];
6522
6522
  case 5:
6523
- return [v, p, q];
6523
+ return [v, p, q2];
6524
6524
  }
6525
6525
  };
6526
6526
  convert.hsv.hsl = function(hsv) {
@@ -8518,16 +8518,16 @@ var require_utility = __commonJS({
8518
8518
  if (!libvipsVersion.isWasm) {
8519
8519
  try {
8520
8520
  versions = require(`@img/sharp-${runtimePlatform}/versions`);
8521
- } catch (_) {
8521
+ } catch (_2) {
8522
8522
  try {
8523
8523
  versions = require(`@img/sharp-libvips-${runtimePlatform}/versions`);
8524
- } catch (_2) {
8524
+ } catch (_3) {
8525
8525
  }
8526
8526
  }
8527
8527
  } else {
8528
8528
  try {
8529
8529
  versions = require("@img/sharp-wasm32/versions");
8530
- } catch (_) {
8530
+ } catch (_2) {
8531
8531
  }
8532
8532
  }
8533
8533
  }
@@ -8660,108 +8660,115 @@ __export(core_exports, {
8660
8660
  module.exports = __toCommonJS(core_exports);
8661
8661
 
8662
8662
  // ../core/dist/index.mjs
8663
- function g(n2, e, r, t, o2, { threshold: l = 0.1, alpha: s = 0.1, aaColor: a2 = [255, 255, 0], diffColor: c2 = [255, 0, 0], includeAA: G, diffColorAlt: X, diffMask: B, fastBufferCheck: E = true } = {}) {
8664
- if (!T(n2) || !T(e) || r && !T(r)) throw new Error("Image data: Uint8Array, Uint8ClampedArray or Buffer expected.");
8665
- if (n2.length !== e.length || r && r.length !== n2.length) throw new Error(`Image sizes do not match. Image 1 size: ${n2.length}, image 2 size: ${e.length}`);
8666
- if (n2.length !== t * o2 * 4) throw new Error(`Image data size does not match width/height. Expecting ${t * o2 * 4}. Got ${n2.length}`);
8667
- if (E && typeof Buffer < "u" && Buffer.compare && n2 instanceof Uint8Array && e instanceof Uint8Array && Buffer.compare(n2, e) === 0) {
8668
- if (r && !B) for (let i2 = 0; i2 < t * o2; i2++) L(n2, i2 * 4, s, r);
8663
+ function g(n2, r, t, e, o2, { threshold: f2 = 0.1, alpha: c2 = 0.1, aaColor: s = [255, 255, 0], diffColor: a2 = [255, 0, 0], includeAA: U, diffColorAlt: O, diffMask: b, fastBufferCheck: y = true } = {}) {
8664
+ if (!_(n2) || !_(r) || t && !_(t)) throw new Error("Image data: Uint8Array, Uint8ClampedArray or Buffer expected.");
8665
+ if (n2.length !== r.length || t && t.length !== n2.length) throw new Error(`Image sizes do not match. Image 1 size: ${n2.length}, image 2 size: ${r.length}`);
8666
+ if (n2.length !== e * o2 * 4) throw new Error(`Image data size does not match width/height. Expecting ${e * o2 * 4}. Got ${n2.length}`);
8667
+ if (y && typeof Buffer < "u" && Buffer.compare && n2 instanceof Uint8Array && r instanceof Uint8Array && Buffer.compare(n2, r) === 0) {
8668
+ if (t && !b) for (let A = 0; A < e * o2; A++) L(n2, A * 4, c2, t);
8669
8669
  return 0;
8670
8670
  }
8671
- let y = t * o2, b = new Uint32Array(n2.buffer, n2.byteOffset, y), u = new Uint32Array(e.buffer, e.byteOffset, y), f2 = en(t, o2), m = Math.ceil(t / f2), x = Math.ceil(o2 / f2), Y = m * x, d2 = new Uint16Array(Y), A = 35215 * l * l, I = 0;
8672
- for (let i2 = 0; i2 < x; i2++) for (let R = 0; R < m; R++) {
8673
- let k = R * f2, v = i2 * f2, P = Math.min(k + f2, t), $ = Math.min(v + f2, o2), q = false;
8674
- n: for (let U = v; U < $; U++) {
8675
- let O = U * t;
8676
- for (let z = k; z < P; z++) {
8677
- let M = O + z;
8678
- if (b[M] === u[M]) continue;
8679
- let S = M * 4, C = H(n2, e, S, S, false);
8680
- if (Math.abs(C) > A) {
8681
- q = true;
8671
+ let m = e * o2, u = new Uint32Array(n2.buffer, n2.byteOffset, m), d2 = new Uint32Array(r.buffer, r.byteOffset, m), l = tn(e, o2), i2 = Math.ceil(e / l), I = Math.ceil(o2 / l), z = i2 * I, x = new Uint16Array(z), M = 35215 * f2 * f2, B = 0;
8672
+ for (let A = 0; A < I; A++) for (let R = 0; R < i2; R++) {
8673
+ let p = R * l, v = A * l, D = Math.min(p + l, e), P = Math.min(v + l, o2), $ = false;
8674
+ n: for (let C = v; C < P; C++) {
8675
+ let Y = C * e;
8676
+ for (let G = p; G < D; G++) {
8677
+ let E = Y + G;
8678
+ if (u[E] === d2[E]) continue;
8679
+ let S = E * 4, X = N(n2, r, S, S);
8680
+ if (Math.abs(X) > M) {
8681
+ $ = true;
8682
8682
  break n;
8683
8683
  }
8684
8684
  }
8685
8685
  }
8686
- if (q) d2[I++] = i2 * m + R;
8687
- else if (r && !B) for (let U = v; U < $; U++) {
8688
- let O = U * t;
8689
- for (let z = k; z < P; z++) {
8690
- let M = O + z;
8691
- L(n2, M * 4, s, r);
8686
+ if ($) x[B++] = A * i2 + R;
8687
+ else if (t && !b) for (let C = v; C < P; C++) {
8688
+ let Y = C * e;
8689
+ for (let G = p; G < D; G++) {
8690
+ let E = Y + G;
8691
+ L(n2, E * 4, c2, t);
8692
8692
  }
8693
8693
  }
8694
8694
  }
8695
- if (I === 0) return 0;
8696
- let [_, J, K] = a2, [Q, W, Z] = c2, [p, w2, h2] = X || c2, N = 0;
8697
- for (let i2 = 0; i2 < I; i2++) {
8698
- let R = d2[i2], k = R % m, v = R / m | 0, P = k * f2, $ = v * f2, q = Math.min(P + f2, t), U = Math.min($ + f2, o2);
8699
- for (let O = $; O < U; O++) {
8700
- let z = O * t;
8701
- for (let M = P; M < q; M++) {
8702
- let S = z + M, C = S * 4;
8703
- if (b[S] === u[S]) {
8704
- r && !B && L(n2, C, s, r);
8695
+ if (B === 0) return 0;
8696
+ let [F, J, K] = s, [Q, W, Z] = a2, [k, w2, h2] = O || a2, T = 0;
8697
+ for (let A = 0; A < B; A++) {
8698
+ let R = x[A], p = R % i2, v = R / i2 | 0, D = p * l, P = v * l, $ = Math.min(D + l, e), C = Math.min(P + l, o2);
8699
+ for (let Y = P; Y < C; Y++) {
8700
+ let G = Y * e;
8701
+ for (let E = D; E < $; E++) {
8702
+ let S = G + E, X = S * 4;
8703
+ if (u[S] === d2[S]) {
8704
+ t && !b && L(n2, X, c2, t);
8705
8705
  continue;
8706
8706
  }
8707
- let j = H(n2, e, C, C, false);
8708
- Math.abs(j) > A ? !G && (F(n2, M, O, t, o2, b, u) || F(e, M, O, t, o2, u, b)) ? r && !B && V(r, C, _, J, K) : (r && (j < 0 ? V(r, C, p, w2, h2) : V(r, C, Q, W, Z)), N++) : r && !B && L(n2, C, s, r);
8707
+ let H = N(n2, r, X, X);
8708
+ Math.abs(H) > M ? !U && (j(n2, E, Y, e, o2, u, d2) || j(r, E, Y, e, o2, d2, u)) ? t && !b && V(t, X, F, J, K) : (t && (H < 0 ? V(t, X, k, w2, h2) : V(t, X, Q, W, Z)), T++) : t && !b && L(n2, X, c2, t);
8709
8709
  }
8710
8710
  }
8711
8711
  }
8712
- return N;
8712
+ return T;
8713
8713
  }
8714
- var nn = Math.LOG2E;
8715
- function en(n2, e) {
8716
- let r = n2 * e, t = Math.sqrt(r) / 100, o2 = 16 * Math.sqrt(t), l = Math.log(o2) * nn;
8717
- return 1 << Math.round(l);
8718
- }
8719
- function T(n2) {
8714
+ function _(n2) {
8720
8715
  return ArrayBuffer.isView(n2) && n2.BYTES_PER_ELEMENT === 1;
8721
8716
  }
8722
- function F(n2, e, r, t, o2, l, s) {
8723
- let a2 = Math.max(e - 1, 0), c2 = Math.max(r - 1, 0), G = Math.min(e + 1, t - 1), X = Math.min(r + 1, o2 - 1), E = (r * t + e) * 4, y = e === a2 || e === G || r === c2 || r === X ? 1 : 0, b = 0, u = 0, f2 = 0, m = 0, x = 0, Y = 0;
8724
- for (let d2 = a2; d2 <= G; d2++) for (let A = c2; A <= X; A++) {
8725
- if (d2 === e && A === r) continue;
8726
- let I = H(n2, n2, E, (A * t + d2) * 4, true);
8727
- if (I === 0) {
8728
- if (y++, y > 2) return false;
8729
- } else I < b ? (b = I, f2 = d2, m = A) : I > u && (u = I, x = d2, Y = A);
8717
+ var nn = Math.LOG2E;
8718
+ function tn(n2, r) {
8719
+ let t = n2 * r, e = Math.sqrt(t) / 100, o2 = 16 * Math.sqrt(e), f2 = Math.log(o2) * nn;
8720
+ return 1 << Math.round(f2);
8721
+ }
8722
+ function N(n2, r, t, e) {
8723
+ let o2 = n2[t], f2 = n2[t + 1], c2 = n2[t + 2], s = n2[t + 3], a2 = r[e], U = r[e + 1], O = r[e + 2], b = r[e + 3], y = o2 - a2, m = f2 - U, u = c2 - O, d2 = s - b;
8724
+ if (!y && !m && !u && !d2) return 0;
8725
+ if (s < 255 || b < 255) {
8726
+ let x = 48 + 159 * (t % 2), M = 48 + 159 * ((t / 1.618033988749895 | 0) & 1), B = 48 + 159 * ((t / 2.618033988749895 | 0) & 1);
8727
+ y = (o2 * s - a2 * b - x * d2) / 255, m = (f2 * s - U * b - M * d2) / 255, u = (c2 * s - O * b - B * d2) / 255;
8730
8728
  }
8731
- return b === 0 || u === 0 ? false : D(l, f2, m, t, o2) && D(s, f2, m, t, o2) || D(l, x, Y, t, o2) && D(s, x, Y, t, o2);
8729
+ let l = y * 0.29889531 + m * 0.58662247 + u * 0.11448223, i2 = y * 0.59597799 - m * 0.2741761 - u * 0.32180189, I = y * 0.21147017 - m * 0.52261711 + u * 0.31114694, z = 0.5053 * l * l + 0.299 * i2 * i2 + 0.1957 * I * I;
8730
+ return l > 0 ? -z : z;
8732
8731
  }
8733
- function D(n2, e, r, t, o2) {
8734
- let l = r * t + e, s = n2[l], a2 = e === 0 || e === t - 1 || r === 0 || r === o2 - 1 ? 1 : 0;
8735
- if (r > 0) {
8736
- let c2 = l - t;
8737
- e > 0 && n2[c2 - 1] === s && a2++, n2[c2] === s && a2++, e < t - 1 && n2[c2 + 1] === s && a2++;
8732
+ function rn(n2, r, t, e) {
8733
+ let o2 = n2[t], f2 = n2[t + 1], c2 = n2[t + 2], s = n2[t + 3], a2 = r[e], U = r[e + 1], O = r[e + 2], b = r[e + 3], y = o2 - a2, m = f2 - U, u = c2 - O, d2 = s - b;
8734
+ if (!y && !m && !u && !d2) return 0;
8735
+ if (s < 255 || b < 255) {
8736
+ let i2 = 48 + 159 * (t % 2), I = 48 + 159 * ((t / 1.618033988749895 | 0) & 1), z = 48 + 159 * ((t / 2.618033988749895 | 0) & 1);
8737
+ y = (o2 * s - a2 * b - i2 * d2) / 255, m = (f2 * s - U * b - I * d2) / 255, u = (c2 * s - O * b - z * d2) / 255;
8738
8738
  }
8739
- if (e > 0 && n2[l - 1] === s && a2++, e < t - 1 && n2[l + 1] === s && a2++, r < o2 - 1) {
8740
- let c2 = l + t;
8741
- e > 0 && n2[c2 - 1] === s && a2++, n2[c2] === s && a2++, e < t - 1 && n2[c2 + 1] === s && a2++;
8739
+ return y * 0.29889531 + m * 0.58662247 + u * 0.11448223;
8740
+ }
8741
+ function j(n2, r, t, e, o2, f2, c2) {
8742
+ let s = Math.max(r - 1, 0), a2 = Math.max(t - 1, 0), U = Math.min(r + 1, e - 1), O = Math.min(t + 1, o2 - 1), y = (t * e + r) * 4, m = r === s || r === U || t === a2 || t === O ? 1 : 0, u = 0, d2 = 0, l = 0, i2 = 0, I = 0, z = 0;
8743
+ for (let x = s; x <= U; x++) for (let M = a2; M <= O; M++) {
8744
+ if (x === r && M === t) continue;
8745
+ let B = rn(n2, n2, y, (M * e + x) * 4);
8746
+ if (B === 0) {
8747
+ if (m++, m > 2) return false;
8748
+ } else B < u ? (u = B, l = x, i2 = M) : B > d2 && (d2 = B, I = x, z = M);
8742
8749
  }
8743
- return a2 > 2;
8750
+ return u === 0 || d2 === 0 ? false : q(f2, l, i2, e, o2) && q(c2, l, i2, e, o2) || q(f2, I, z, e, o2) && q(c2, I, z, e, o2);
8744
8751
  }
8745
- function H(n2, e, r, t, o2) {
8746
- let l = n2[r], s = n2[r + 1], a2 = n2[r + 2], c2 = n2[r + 3], G = e[t], X = e[t + 1], B = e[t + 2], E = e[t + 3], y = l - G, b = s - X, u = a2 - B, f2 = c2 - E;
8747
- if (!y && !b && !u && !f2) return 0;
8748
- if (c2 < 255 || E < 255) {
8749
- let A = 48 + 159 * (r % 2), I = 48 + 159 * ((r / 1.618033988749895 | 0) & 1), _ = 48 + 159 * ((r / 2.618033988749895 | 0) & 1);
8750
- y = (l * c2 - G * E - A * f2) / 255, b = (s * c2 - X * E - I * f2) / 255, u = (a2 * c2 - B * E - _ * f2) / 255;
8752
+ function q(n2, r, t, e, o2) {
8753
+ let f2 = t * e + r, c2 = n2[f2], s = r === 0 || r === e - 1 || t === 0 || t === o2 - 1 ? 1 : 0;
8754
+ if (t > 0) {
8755
+ let a2 = f2 - e;
8756
+ r > 0 && n2[a2 - 1] === c2 && s++, n2[a2] === c2 && s++, r < e - 1 && n2[a2 + 1] === c2 && s++;
8757
+ }
8758
+ if (r > 0 && n2[f2 - 1] === c2 && s++, r < e - 1 && n2[f2 + 1] === c2 && s++, t < o2 - 1) {
8759
+ let a2 = f2 + e;
8760
+ r > 0 && n2[a2 - 1] === c2 && s++, n2[a2] === c2 && s++, r < e - 1 && n2[a2 + 1] === c2 && s++;
8751
8761
  }
8752
- let m = y * 0.29889531 + b * 0.58662247 + u * 0.11448223;
8753
- if (o2) return m;
8754
- let x = y * 0.59597799 - b * 0.2741761 - u * 0.32180189, Y = y * 0.21147017 - b * 0.52261711 + u * 0.31114694, d2 = 0.5053 * m * m + 0.299 * x * x + 0.1957 * Y * Y;
8755
- return m > 0 ? -d2 : d2;
8762
+ return s > 2;
8756
8763
  }
8757
- function V(n2, e, r, t, o2) {
8758
- n2[e + 0] = r, n2[e + 1] = t, n2[e + 2] = o2, n2[e + 3] = 255;
8764
+ function L(n2, r, t, e) {
8765
+ let o2 = 255 + (n2[r] * 0.29889531 + n2[r + 1] * 0.58662247 + n2[r + 2] * 0.11448223 - 255) * t * n2[r + 3] / 255;
8766
+ V(e, r, o2, o2, o2);
8759
8767
  }
8760
- function L(n2, e, r, t) {
8761
- let o2 = 255 + (n2[e] * 0.29889531 + n2[e + 1] * 0.58662247 + n2[e + 2] * 0.11448223 - 255) * r * n2[e + 3] / 255;
8762
- V(t, e, o2, o2, o2);
8768
+ function V(n2, r, t, e, o2) {
8769
+ n2[r + 0] = t, n2[r + 1] = e, n2[r + 2] = o2, n2[r + 3] = 255;
8763
8770
  }
8764
- var tn = g;
8771
+ var on = g;
8765
8772
 
8766
8773
  // src/commands/core.ts
8767
8774
  function parseRGB(colorStr) {
@@ -8931,7 +8938,7 @@ async function main() {
8931
8938
  diffMask: options.diffMask
8932
8939
  };
8933
8940
  const startTime = performance.now();
8934
- const diffCount = tn(
8941
+ const diffCount = on(
8935
8942
  img1.data,
8936
8943
  img2.data,
8937
8944
  outputData,
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@blazediff/cli",
3
- "version": "2.0.2",
3
+ "version": "2.0.3",
4
4
  "description": "Command-line interface for the blazediff image comparison library",
5
5
  "private": false,
6
6
  "publishConfig": {
@@ -38,7 +38,7 @@
38
38
  "license": "MIT",
39
39
  "dependencies": {
40
40
  "@blazediff/bin": "3.1.0",
41
- "@blazediff/core": "1.8.0",
41
+ "@blazediff/core": "1.9.0",
42
42
  "@blazediff/gmsd": "1.7.0",
43
43
  "@blazediff/pngjs-transformer": "2.0.0",
44
44
  "@blazediff/sharp-transformer": "2.0.0",