@xivdyetools/core 4.3.0 → 5.1.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +1 -1
- package/dist/blending/blending.d.ts +26 -6
- package/dist/blending/blending.d.ts.map +1 -1
- package/dist/blending/blending.js +79 -32
- package/dist/blending/blending.js.map +1 -1
- package/dist/blending/conversions.d.ts +0 -12
- package/dist/blending/conversions.d.ts.map +1 -1
- package/dist/blending/conversions.js +25 -28
- package/dist/blending/conversions.js.map +1 -1
- package/dist/blending/index.d.ts +4 -1
- package/dist/blending/index.d.ts.map +1 -1
- package/dist/blending/index.js.map +1 -1
- package/dist/blending/types.d.ts +38 -0
- package/dist/blending/types.d.ts.map +1 -1
- package/dist/config/band-vocabulary.d.ts +9 -0
- package/dist/config/band-vocabulary.d.ts.map +1 -1
- package/dist/config/band-vocabulary.js +12 -3
- package/dist/config/band-vocabulary.js.map +1 -1
- package/dist/services/ColorService.d.ts +37 -15
- package/dist/services/ColorService.d.ts.map +1 -1
- package/dist/services/ColorService.js +70 -69
- package/dist/services/ColorService.js.map +1 -1
- package/dist/services/color/ColorConverter.d.ts +28 -35
- package/dist/services/color/ColorConverter.d.ts.map +1 -1
- package/dist/services/color/ColorConverter.js +70 -63
- package/dist/services/color/ColorConverter.js.map +1 -1
- package/dist/services/dye/HarmonyGenerator.d.ts +2 -2
- package/dist/services/dye/HarmonyGenerator.d.ts.map +1 -1
- package/dist/services/dye/HarmonyGenerator.js +28 -4
- package/dist/services/dye/HarmonyGenerator.js.map +1 -1
- package/dist/types/index.d.ts +3 -2
- package/dist/types/index.d.ts.map +1 -1
- package/dist/types/index.js +2 -2
- package/dist/types/index.js.map +1 -1
- package/package.json +1 -1
- package/dist/services/color/RybColorMixer.d.ts +0 -102
- package/dist/services/color/RybColorMixer.d.ts.map +0 -1
- package/dist/services/color/RybColorMixer.js +0 -362
- package/dist/services/color/RybColorMixer.js.map +0 -1
- package/dist/services/color/SpectralMixer.d.ts +0 -43
- package/dist/services/color/SpectralMixer.d.ts.map +0 -1
- package/dist/services/color/SpectralMixer.js +0 -59
- package/dist/services/color/SpectralMixer.js.map +0 -1
|
@@ -28,7 +28,7 @@
|
|
|
28
28
|
import type { RGB, HSV, HexColor, VisionType, LAB, OKLAB, OKLCH, LCH, HSL, CMYK } from '@xivdyetools/types';
|
|
29
29
|
import { type DeltaEFormula } from './color/ColorConverter.js';
|
|
30
30
|
import type { MatchingMethod } from '../types/index.js';
|
|
31
|
-
import {
|
|
31
|
+
import type { RYB, HueMethod } from '../blending/types.js';
|
|
32
32
|
/**
|
|
33
33
|
* Color conversion and manipulation service (Facade)
|
|
34
34
|
* Per R-4: Delegates to focused service classes for better separation of concerns
|
|
@@ -309,8 +309,10 @@ export declare class ColorService {
|
|
|
309
309
|
* Convert CMYK to hex color
|
|
310
310
|
*/
|
|
311
311
|
static cmykToHex(c: number, m: number, y: number, k: number): HexColor;
|
|
312
|
+
/** Re-format a blend result in ColorService's uppercase hex convention. */
|
|
313
|
+
private static fromBlend;
|
|
312
314
|
/**
|
|
313
|
-
* Mix two colors
|
|
315
|
+
* Mix two colors by averaging the sRGB channels.
|
|
314
316
|
*
|
|
315
317
|
* @param hex1 First hex color
|
|
316
318
|
* @param hex2 Second hex color
|
|
@@ -319,7 +321,7 @@ export declare class ColorService {
|
|
|
319
321
|
*/
|
|
320
322
|
static mixColorsRgb(hex1: string, hex2: string, ratio?: number): HexColor;
|
|
321
323
|
/**
|
|
322
|
-
* Mix two colors
|
|
324
|
+
* Mix two colors in CIELAB.
|
|
323
325
|
*
|
|
324
326
|
* @param hex1 First hex color
|
|
325
327
|
* @param hex2 Second hex color
|
|
@@ -328,12 +330,19 @@ export declare class ColorService {
|
|
|
328
330
|
*/
|
|
329
331
|
static mixColorsLab(hex1: string, hex2: string, ratio?: number): HexColor;
|
|
330
332
|
/**
|
|
331
|
-
* Mix two colors
|
|
333
|
+
* Mix two colors on the artist's Red-Yellow-Blue wheel.
|
|
332
334
|
*
|
|
333
|
-
*
|
|
334
|
-
*
|
|
335
|
-
*
|
|
336
|
-
* -
|
|
335
|
+
* Blue + Yellow = Green, Red + Yellow = Orange, Red + Blue = Violet — the
|
|
336
|
+
* subtractive relationships RGB averaging does not reproduce.
|
|
337
|
+
*
|
|
338
|
+
* Until 5.0.0 this ran the Gossett-Chen trilinear paint cube, which maps
|
|
339
|
+
* into the convex hull of its eight corners. Pure green, blue, cyan, magenta
|
|
340
|
+
* and true black sit OUTSIDE that hull, so they had no RYB pre-image and the
|
|
341
|
+
* cube's added Newton-method inverse could not converge for them: mixing
|
|
342
|
+
* such a dye with itself did not return that dye, on 53% of dye pairs and by
|
|
343
|
+
* up to ΔE₀₀ 27.9. That is a defect visible in one drag of a 0-100% slider,
|
|
344
|
+
* and no solver tuning fixes it — ColorAide documents the same limit on the
|
|
345
|
+
* same cube. The chromatic-subtraction space this now uses inverts exactly.
|
|
337
346
|
*
|
|
338
347
|
* @param hex1 First hex color
|
|
339
348
|
* @param hex2 Second hex color
|
|
@@ -346,8 +355,12 @@ export declare class ColorService {
|
|
|
346
355
|
*/
|
|
347
356
|
static mixColorsRyb(hex1: string, hex2: string, ratio?: number): HexColor;
|
|
348
357
|
/**
|
|
349
|
-
* Convert RYB (Red-Yellow-Blue) to RGB
|
|
350
|
-
*
|
|
358
|
+
* Convert RYB (Red-Yellow-Blue) to RGB.
|
|
359
|
+
*
|
|
360
|
+
* ⚠️ The axes changed meaning in 5.0.0. These are coordinates in the
|
|
361
|
+
* chromatic-subtraction space `mixColorsRyb` mixes in, where BLACK is at the
|
|
362
|
+
* origin; the retired Gossett-Chen cube put WHITE there. Stored RYB triples
|
|
363
|
+
* from 4.x do not mean the same thing.
|
|
351
364
|
*
|
|
352
365
|
* @param r Red component (0-255)
|
|
353
366
|
* @param y Yellow component (0-255)
|
|
@@ -356,8 +369,11 @@ export declare class ColorService {
|
|
|
356
369
|
*/
|
|
357
370
|
static rybToRgb(r: number, y: number, b: number): RGB;
|
|
358
371
|
/**
|
|
359
|
-
* Convert RGB to RYB (Red-Yellow-Blue)
|
|
360
|
-
*
|
|
372
|
+
* Convert RGB to RYB (Red-Yellow-Blue).
|
|
373
|
+
*
|
|
374
|
+
* The exact inverse of {@link ColorService.rybToRgb} — see its note on the
|
|
375
|
+
* 5.0.0 change of axis convention. Components are 0-255 and may be
|
|
376
|
+
* fractional; rounding them costs the exactness of the round trip.
|
|
361
377
|
*
|
|
362
378
|
* @param r Red component (0-255)
|
|
363
379
|
* @param g Green component (0-255)
|
|
@@ -367,10 +383,14 @@ export declare class ColorService {
|
|
|
367
383
|
static rgbToRyb(r: number, g: number, b: number): RYB;
|
|
368
384
|
/**
|
|
369
385
|
* Convert hex color to RYB
|
|
386
|
+
*
|
|
387
|
+
* @public
|
|
370
388
|
*/
|
|
371
389
|
static hexToRyb(hex: string): RYB;
|
|
372
390
|
/**
|
|
373
391
|
* Convert RYB to hex color
|
|
392
|
+
*
|
|
393
|
+
* @public
|
|
374
394
|
*/
|
|
375
395
|
static rybToHex(r: number, y: number, b: number): HexColor;
|
|
376
396
|
/**
|
|
@@ -396,8 +416,10 @@ export declare class ColorService {
|
|
|
396
416
|
* - 'longer': Take the longer arc around the hue wheel
|
|
397
417
|
* - 'increasing': Always go clockwise (increasing hue values)
|
|
398
418
|
* - 'decreasing': Always go counter-clockwise (decreasing hue values)
|
|
419
|
+
*
|
|
420
|
+
* @public
|
|
399
421
|
*/
|
|
400
|
-
static interpolateHue(h1: number, h2: number, ratio: number, method?:
|
|
422
|
+
static interpolateHue(h1: number, h2: number, ratio: number, method?: HueMethod): number;
|
|
401
423
|
/**
|
|
402
424
|
* Mix two colors using HSL hue averaging
|
|
403
425
|
*
|
|
@@ -411,7 +433,7 @@ export declare class ColorService {
|
|
|
411
433
|
* @param hueMethod Hue interpolation method ('shorter' | 'longer' | 'increasing' | 'decreasing')
|
|
412
434
|
* @returns Mixed color as hex
|
|
413
435
|
*/
|
|
414
|
-
static mixColorsHsl(hex1: string, hex2: string, ratio?: number, hueMethod?:
|
|
436
|
+
static mixColorsHsl(hex1: string, hex2: string, ratio?: number, hueMethod?: HueMethod): HexColor;
|
|
415
437
|
/**
|
|
416
438
|
* Mix two colors using Kubelka-Munk spectral mixing
|
|
417
439
|
*
|
|
@@ -435,5 +457,5 @@ export declare class ColorService {
|
|
|
435
457
|
*/
|
|
436
458
|
static mixColorsSpectral(hex1: string, hex2: string, ratio?: number): HexColor;
|
|
437
459
|
}
|
|
438
|
-
export type { RYB } from '
|
|
460
|
+
export type { RYB } from '../blending/types.js';
|
|
439
461
|
//# sourceMappingURL=ColorService.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ColorService.d.ts","sourceRoot":"","sources":["../../src/services/ColorService.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;GA0BG;AAEH,OAAO,KAAK,EACV,GAAG,EACH,GAAG,EACH,QAAQ,EACR,UAAU,EACV,GAAG,EACH,KAAK,EACL,KAAK,EACL,GAAG,EACH,GAAG,EACH,IAAI,EACL,MAAM,oBAAoB,CAAC;AAC5B,OAAO,EAAkB,KAAK,aAAa,EAAE,MAAM,2BAA2B,CAAC;AAC/E,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAC;
|
|
1
|
+
{"version":3,"file":"ColorService.d.ts","sourceRoot":"","sources":["../../src/services/ColorService.ts"],"names":[],"mappings":"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"}
|
|
@@ -29,8 +29,8 @@ import { ColorConverter } from './color/ColorConverter.js';
|
|
|
29
29
|
import { ColorblindnessSimulator } from './color/ColorblindnessSimulator.js';
|
|
30
30
|
import { ColorAccessibility } from './color/ColorAccessibility.js';
|
|
31
31
|
import { ColorManipulator } from './color/ColorManipulator.js';
|
|
32
|
-
import {
|
|
33
|
-
import {
|
|
32
|
+
import { blendColors, interpolateHue } from '../blending/blending.js';
|
|
33
|
+
import { rgbToRyb as rgbToRybUnit, rybToRgb as rybToRgbUnit } from '../blending/conversions.js';
|
|
34
34
|
/**
|
|
35
35
|
* Color conversion and manipulation service (Facade)
|
|
36
36
|
* Per R-4: Delegates to focused service classes for better separation of concerns
|
|
@@ -461,10 +461,31 @@ export class ColorService {
|
|
|
461
461
|
return ColorConverter.cmykToHex(c, m, y, k);
|
|
462
462
|
}
|
|
463
463
|
// ============================================================================
|
|
464
|
-
// Color Mixing
|
|
464
|
+
// Color Mixing — every mode delegates to `blending/blendColors`
|
|
465
|
+
//
|
|
466
|
+
// These six were independent re-implementations until 5.0.0. Five of them
|
|
467
|
+
// happened to agree with `blendColors` byte-for-byte; `ryb` was a different
|
|
468
|
+
// ALGORITHM and disagreed by up to ΔE₀₀ 38, so the same dye pair mixed one
|
|
469
|
+
// colour on the web app and another on the Discord bot. Core is the single
|
|
470
|
+
// source of truth for colour computation and a front end is a view onto it —
|
|
471
|
+
// two functions with the same name returning different colours cannot both
|
|
472
|
+
// be that source. `ColorService.blending-parity.test.ts` asserts the hexes
|
|
473
|
+
// are identical, which is what stops them drifting apart again.
|
|
474
|
+
//
|
|
475
|
+
// ⚠️ CASE: the two surfaces have always disagreed on hex CASE — `blendColors`
|
|
476
|
+
// emits lowercase, every `ColorService` method emits uppercase (the long-
|
|
477
|
+
// standing `rgbToHex` delta documented in `conversions.equivalence.test.ts`).
|
|
478
|
+
// Delegating naïvely would have flipped `mixColors*` to lowercase and broken
|
|
479
|
+
// any caller comparing its result against an uppercase `dye.hex`. So the
|
|
480
|
+
// delegation re-formats through `ColorConverter.rgbToHex`: same colour, each
|
|
481
|
+
// surface keeps the case its callers already depend on.
|
|
465
482
|
// ============================================================================
|
|
483
|
+
/** Re-format a blend result in ColorService's uppercase hex convention. */
|
|
484
|
+
static fromBlend(result) {
|
|
485
|
+
return ColorConverter.rgbToHex(result.rgb.r, result.rgb.g, result.rgb.b);
|
|
486
|
+
}
|
|
466
487
|
/**
|
|
467
|
-
* Mix two colors
|
|
488
|
+
* Mix two colors by averaging the sRGB channels.
|
|
468
489
|
*
|
|
469
490
|
* @param hex1 First hex color
|
|
470
491
|
* @param hex2 Second hex color
|
|
@@ -472,15 +493,10 @@ export class ColorService {
|
|
|
472
493
|
* @returns Mixed color as hex
|
|
473
494
|
*/
|
|
474
495
|
static mixColorsRgb(hex1, hex2, ratio = 0.5) {
|
|
475
|
-
|
|
476
|
-
const rgb2 = ColorConverter.hexToRgb(hex2);
|
|
477
|
-
const r = Math.round(rgb1.r + (rgb2.r - rgb1.r) * ratio);
|
|
478
|
-
const g = Math.round(rgb1.g + (rgb2.g - rgb1.g) * ratio);
|
|
479
|
-
const b = Math.round(rgb1.b + (rgb2.b - rgb1.b) * ratio);
|
|
480
|
-
return ColorConverter.rgbToHex(r, g, b);
|
|
496
|
+
return this.fromBlend(blendColors(hex1, hex2, 'rgb', ratio));
|
|
481
497
|
}
|
|
482
498
|
/**
|
|
483
|
-
* Mix two colors
|
|
499
|
+
* Mix two colors in CIELAB.
|
|
484
500
|
*
|
|
485
501
|
* @param hex1 First hex color
|
|
486
502
|
* @param hex2 Second hex color
|
|
@@ -488,23 +504,25 @@ export class ColorService {
|
|
|
488
504
|
* @returns Mixed color as hex
|
|
489
505
|
*/
|
|
490
506
|
static mixColorsLab(hex1, hex2, ratio = 0.5) {
|
|
491
|
-
|
|
492
|
-
const lab2 = ColorConverter.hexToLab(hex2);
|
|
493
|
-
const L = lab1.L + (lab2.L - lab1.L) * ratio;
|
|
494
|
-
const a = lab1.a + (lab2.a - lab1.a) * ratio;
|
|
495
|
-
const b = lab1.b + (lab2.b - lab1.b) * ratio;
|
|
496
|
-
return ColorConverter.labToHex(L, a, b);
|
|
507
|
+
return this.fromBlend(blendColors(hex1, hex2, 'lab', ratio));
|
|
497
508
|
}
|
|
498
509
|
// ============================================================================
|
|
499
|
-
// RYB Color Mixing
|
|
510
|
+
// RYB Color Mixing
|
|
500
511
|
// ============================================================================
|
|
501
512
|
/**
|
|
502
|
-
* Mix two colors
|
|
513
|
+
* Mix two colors on the artist's Red-Yellow-Blue wheel.
|
|
514
|
+
*
|
|
515
|
+
* Blue + Yellow = Green, Red + Yellow = Orange, Red + Blue = Violet — the
|
|
516
|
+
* subtractive relationships RGB averaging does not reproduce.
|
|
503
517
|
*
|
|
504
|
-
*
|
|
505
|
-
*
|
|
506
|
-
*
|
|
507
|
-
* -
|
|
518
|
+
* Until 5.0.0 this ran the Gossett-Chen trilinear paint cube, which maps
|
|
519
|
+
* into the convex hull of its eight corners. Pure green, blue, cyan, magenta
|
|
520
|
+
* and true black sit OUTSIDE that hull, so they had no RYB pre-image and the
|
|
521
|
+
* cube's added Newton-method inverse could not converge for them: mixing
|
|
522
|
+
* such a dye with itself did not return that dye, on 53% of dye pairs and by
|
|
523
|
+
* up to ΔE₀₀ 27.9. That is a defect visible in one drag of a 0-100% slider,
|
|
524
|
+
* and no solver tuning fixes it — ColorAide documents the same limit on the
|
|
525
|
+
* same cube. The chromatic-subtraction space this now uses inverts exactly.
|
|
508
526
|
*
|
|
509
527
|
* @param hex1 First hex color
|
|
510
528
|
* @param hex2 Second hex color
|
|
@@ -516,11 +534,15 @@ export class ColorService {
|
|
|
516
534
|
* ColorService.mixColorsRyb('#0000FF', '#FFFF00') // Returns greenish color
|
|
517
535
|
*/
|
|
518
536
|
static mixColorsRyb(hex1, hex2, ratio = 0.5) {
|
|
519
|
-
return
|
|
537
|
+
return this.fromBlend(blendColors(hex1, hex2, 'ryb', ratio));
|
|
520
538
|
}
|
|
521
539
|
/**
|
|
522
|
-
* Convert RYB (Red-Yellow-Blue) to RGB
|
|
523
|
-
*
|
|
540
|
+
* Convert RYB (Red-Yellow-Blue) to RGB.
|
|
541
|
+
*
|
|
542
|
+
* ⚠️ The axes changed meaning in 5.0.0. These are coordinates in the
|
|
543
|
+
* chromatic-subtraction space `mixColorsRyb` mixes in, where BLACK is at the
|
|
544
|
+
* origin; the retired Gossett-Chen cube put WHITE there. Stored RYB triples
|
|
545
|
+
* from 4.x do not mean the same thing.
|
|
524
546
|
*
|
|
525
547
|
* @param r Red component (0-255)
|
|
526
548
|
* @param y Yellow component (0-255)
|
|
@@ -528,11 +550,14 @@ export class ColorService {
|
|
|
528
550
|
* @returns RGB color
|
|
529
551
|
*/
|
|
530
552
|
static rybToRgb(r, y, b) {
|
|
531
|
-
return
|
|
553
|
+
return rybToRgbUnit({ r: r / 255, y: y / 255, b: b / 255 });
|
|
532
554
|
}
|
|
533
555
|
/**
|
|
534
|
-
* Convert RGB to RYB (Red-Yellow-Blue)
|
|
535
|
-
*
|
|
556
|
+
* Convert RGB to RYB (Red-Yellow-Blue).
|
|
557
|
+
*
|
|
558
|
+
* The exact inverse of {@link ColorService.rybToRgb} — see its note on the
|
|
559
|
+
* 5.0.0 change of axis convention. Components are 0-255 and may be
|
|
560
|
+
* fractional; rounding them costs the exactness of the round trip.
|
|
536
561
|
*
|
|
537
562
|
* @param r Red component (0-255)
|
|
538
563
|
* @param g Green component (0-255)
|
|
@@ -540,19 +565,26 @@ export class ColorService {
|
|
|
540
565
|
* @returns RYB color
|
|
541
566
|
*/
|
|
542
567
|
static rgbToRyb(r, g, b) {
|
|
543
|
-
|
|
568
|
+
const ryb = rgbToRybUnit({ r, g, b });
|
|
569
|
+
return { r: ryb.r * 255, y: ryb.y * 255, b: ryb.b * 255 };
|
|
544
570
|
}
|
|
545
571
|
/**
|
|
546
572
|
* Convert hex color to RYB
|
|
573
|
+
*
|
|
574
|
+
* @public
|
|
547
575
|
*/
|
|
548
576
|
static hexToRyb(hex) {
|
|
549
|
-
|
|
577
|
+
const rgb = ColorConverter.hexToRgb(hex);
|
|
578
|
+
return this.rgbToRyb(rgb.r, rgb.g, rgb.b);
|
|
550
579
|
}
|
|
551
580
|
/**
|
|
552
581
|
* Convert RYB to hex color
|
|
582
|
+
*
|
|
583
|
+
* @public
|
|
553
584
|
*/
|
|
554
585
|
static rybToHex(r, y, b) {
|
|
555
|
-
|
|
586
|
+
const rgb = this.rybToRgb(r, y, b);
|
|
587
|
+
return ColorConverter.rgbToHex(rgb.r, rgb.g, rgb.b);
|
|
556
588
|
}
|
|
557
589
|
// ============================================================================
|
|
558
590
|
// Advanced Color Mixing (OKLAB, OKLCH, LCH, HSL)
|
|
@@ -574,12 +606,7 @@ export class ColorService {
|
|
|
574
606
|
* ColorService.mixColorsOklab('#0000FF', '#FFFF00') // Returns green-ish color
|
|
575
607
|
*/
|
|
576
608
|
static mixColorsOklab(hex1, hex2, ratio = 0.5) {
|
|
577
|
-
|
|
578
|
-
const oklab2 = ColorConverter.hexToOklab(hex2);
|
|
579
|
-
const L = oklab1.L + (oklab2.L - oklab1.L) * ratio;
|
|
580
|
-
const a = oklab1.a + (oklab2.a - oklab1.a) * ratio;
|
|
581
|
-
const b = oklab1.b + (oklab2.b - oklab1.b) * ratio;
|
|
582
|
-
return ColorConverter.oklabToHex(L, a, b);
|
|
609
|
+
return this.fromBlend(blendColors(hex1, hex2, 'oklab', ratio));
|
|
583
610
|
}
|
|
584
611
|
/**
|
|
585
612
|
* Hue interpolation method for cylindrical color spaces
|
|
@@ -587,32 +614,11 @@ export class ColorService {
|
|
|
587
614
|
* - 'longer': Take the longer arc around the hue wheel
|
|
588
615
|
* - 'increasing': Always go clockwise (increasing hue values)
|
|
589
616
|
* - 'decreasing': Always go counter-clockwise (decreasing hue values)
|
|
617
|
+
*
|
|
618
|
+
* @public
|
|
590
619
|
*/
|
|
591
620
|
static interpolateHue(h1, h2, ratio, method = 'shorter') {
|
|
592
|
-
|
|
593
|
-
switch (method) {
|
|
594
|
-
case 'shorter':
|
|
595
|
-
if (diff > 180)
|
|
596
|
-
diff -= 360;
|
|
597
|
-
if (diff < -180)
|
|
598
|
-
diff += 360;
|
|
599
|
-
break;
|
|
600
|
-
case 'longer':
|
|
601
|
-
if (diff > 0 && diff < 180)
|
|
602
|
-
diff -= 360;
|
|
603
|
-
if (diff < 0 && diff > -180)
|
|
604
|
-
diff += 360;
|
|
605
|
-
break;
|
|
606
|
-
case 'increasing':
|
|
607
|
-
if (diff < 0)
|
|
608
|
-
diff += 360;
|
|
609
|
-
break;
|
|
610
|
-
case 'decreasing':
|
|
611
|
-
if (diff > 0)
|
|
612
|
-
diff -= 360;
|
|
613
|
-
break;
|
|
614
|
-
}
|
|
615
|
-
return (((h1 + diff * ratio) % 360) + 360) % 360;
|
|
621
|
+
return interpolateHue(h1, h2, ratio, method);
|
|
616
622
|
}
|
|
617
623
|
/**
|
|
618
624
|
* Mix two colors using HSL hue averaging
|
|
@@ -628,12 +634,7 @@ export class ColorService {
|
|
|
628
634
|
* @returns Mixed color as hex
|
|
629
635
|
*/
|
|
630
636
|
static mixColorsHsl(hex1, hex2, ratio = 0.5, hueMethod = 'shorter') {
|
|
631
|
-
|
|
632
|
-
const hsl2 = ColorConverter.hexToHsl(hex2);
|
|
633
|
-
const h = this.interpolateHue(hsl1.h, hsl2.h, ratio, hueMethod);
|
|
634
|
-
const s = hsl1.s + (hsl2.s - hsl1.s) * ratio;
|
|
635
|
-
const l = hsl1.l + (hsl2.l - hsl1.l) * ratio;
|
|
636
|
-
return ColorConverter.hslToHex(h, s, l);
|
|
637
|
+
return this.fromBlend(blendColors(hex1, hex2, 'hsl', ratio, { hueMethod }));
|
|
637
638
|
}
|
|
638
639
|
// ============================================================================
|
|
639
640
|
// Spectral Mixing (Kubelka-Munk Theory - Realistic Paint Mixing)
|
|
@@ -660,7 +661,7 @@ export class ColorService {
|
|
|
660
661
|
* ColorService.mixColorsSpectral('#0000FF', '#FFFF00')
|
|
661
662
|
*/
|
|
662
663
|
static mixColorsSpectral(hex1, hex2, ratio = 0.5) {
|
|
663
|
-
return
|
|
664
|
+
return this.fromBlend(blendColors(hex1, hex2, 'spectral', ratio));
|
|
664
665
|
}
|
|
665
666
|
}
|
|
666
667
|
//# sourceMappingURL=ColorService.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ColorService.js","sourceRoot":"","sources":["../../src/services/ColorService.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"ColorService.js","sourceRoot":"","sources":["../../src/services/ColorService.ts"],"names":[],"mappings":"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"}
|
|
@@ -288,54 +288,47 @@ export declare class ColorConverter {
|
|
|
288
288
|
*/
|
|
289
289
|
static getDeltaE(hex1: string, hex2: string, formula?: DeltaEFormula): number;
|
|
290
290
|
/**
|
|
291
|
-
* Calculate color difference
|
|
291
|
+
* Calculate color difference in OKLAB as **ΔEOK2** — CSS Color 4 §20.4.
|
|
292
292
|
*
|
|
293
293
|
* OKLAB provides better perceptual uniformity than LAB with simpler math
|
|
294
|
-
* than CIEDE2000
|
|
294
|
+
* than CIEDE2000, and fixes LAB's blue→purple hue shift.
|
|
295
295
|
*
|
|
296
|
-
*
|
|
296
|
+
* ⚠️ `a` and `b` are scaled by 2 before the Euclidean distance. This is not
|
|
297
|
+
* a tweak — it is the metric CSS Color 4 §20.4 defines, and it exists
|
|
298
|
+
* because plain ΔEOK "under-estimates differences in colorfulness compared
|
|
299
|
+
* to differences in lightness". The factor comes from Ottosson's own fits
|
|
300
|
+
* against perceptual datasets (2.016 on COMBVD, 2.045 on OSA-UCS).
|
|
297
301
|
*
|
|
298
|
-
*
|
|
302
|
+
* Measured on this dye set (2,000 random sRGB queries, CIEDE2000 as the
|
|
303
|
+
* reference, asking how often each variant picks a DIFFERENT winning dye):
|
|
299
304
|
*
|
|
300
|
-
*
|
|
301
|
-
*
|
|
302
|
-
*
|
|
305
|
+
* plain ΔEOK (shipped ≤ 5.0.0) 30.4% disagreement
|
|
306
|
+
* ΔEOK2 — a,b × 2 (this) 24.4%
|
|
307
|
+
* cie76, for scale 31.1%
|
|
303
308
|
*
|
|
304
|
-
*
|
|
305
|
-
|
|
306
|
-
|
|
307
|
-
|
|
308
|
-
* Static method: Calculate OKLAB Euclidean distance using default instance
|
|
309
|
-
*/
|
|
310
|
-
static getDeltaE_Oklab(hex1: string, hex2: string): number;
|
|
311
|
-
/**
|
|
312
|
-
* Calculate color difference using OKLCH with customizable L/C/H weights.
|
|
309
|
+
* §20.5 goes further and recommends ΔEOKr2 (ΔEOK2 plus the toe lightness
|
|
310
|
+
* remap). Measured here it is slightly WORSE (24.3% vs 23.9% in the
|
|
311
|
+
* fact-check's own run) for considerably more code, so it is deliberately
|
|
312
|
+
* not taken.
|
|
313
313
|
*
|
|
314
|
-
*
|
|
315
|
-
*
|
|
316
|
-
*
|
|
317
|
-
*
|
|
314
|
+
* ⚠️ SCALE CHANGED in 5.1.0. Values are roughly 1.4–2× their former size, so
|
|
315
|
+
* any threshold compared against this number had to move with it — see
|
|
316
|
+
* `BAND_VOCABULARY`'s oklab rows and `HARMONY_MAX_DISTANCE.oklab`, both
|
|
317
|
+
* recalibrated in the same change. CSS Color 4 §14.2.1 puts one JND at
|
|
318
|
+
* ΔEOK ≈ 0.02 on the PLAIN scale.
|
|
319
|
+
*
|
|
320
|
+
* Reference: Björn Ottosson (2020) - "A perceptual color space for image processing";
|
|
321
|
+
* CSS Color Module Level 4 §20.4.
|
|
318
322
|
*
|
|
319
323
|
* @param hex1 First color in hex format
|
|
320
324
|
* @param hex2 Second color in hex format
|
|
321
|
-
* @
|
|
322
|
-
* @returns Distance value (0 = identical, higher = more different)
|
|
323
|
-
*
|
|
324
|
-
* @example getDeltaE_OklchWeighted("#FF0000", "#FF8000", { kH: 2.0 }) -> prioritizes hue match
|
|
325
|
+
* @returns Distance value (0 = identical)
|
|
325
326
|
*/
|
|
326
|
-
|
|
327
|
-
kL?: number;
|
|
328
|
-
kC?: number;
|
|
329
|
-
kH?: number;
|
|
330
|
-
}): number;
|
|
327
|
+
getDeltaE_Oklab(hex1: string, hex2: string): number;
|
|
331
328
|
/**
|
|
332
|
-
* Static method: Calculate
|
|
329
|
+
* Static method: Calculate OKLAB Euclidean distance using default instance
|
|
333
330
|
*/
|
|
334
|
-
static
|
|
335
|
-
kL?: number;
|
|
336
|
-
kC?: number;
|
|
337
|
-
kH?: number;
|
|
338
|
-
}): number;
|
|
331
|
+
static getDeltaE_Oklab(hex1: string, hex2: string): number;
|
|
339
332
|
/**
|
|
340
333
|
* Convert RGB to OKLAB color space
|
|
341
334
|
*
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ColorConverter.d.ts","sourceRoot":"","sources":["../../../src/services/color/ColorConverter.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,KAAK,EAAE,GAAG,EAAE,GAAG,EAAE,QAAQ,EAAE,GAAG,EAAE,KAAK,EAAE,KAAK,EAAE,GAAG,EAAE,GAAG,EAAE,IAAI,EAAE,MAAM,oBAAoB,CAAC;AAGhG;;;;;;;;;;GAUG;AACH,MAAM,MAAM,aAAa,GAAG,OAAO,GAAG,SAAS,GAAG,WAAW,GAAG,OAAO,CAAC;AAExE;;GAEG;AACH,MAAM,MAAM,sBAAsB,GAAG,OAAO,CAAC,aAAa,EAAE,SAAS,CAAC,CAAC;AAWvE;;;;;;;;GAQG;AACH,wBAAgB,sBAAsB,CAAC,OAAO,EAAE,aAAa,GAAG,sBAAsB,CAErF;AAED;;GAEG;AACH,MAAM,WAAW,oBAAoB;IACnC,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;
|
|
1
|
+
{"version":3,"file":"ColorConverter.d.ts","sourceRoot":"","sources":["../../../src/services/color/ColorConverter.ts"],"names":[],"mappings":"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"}
|