@xivdyetools/core 4.3.0 → 5.2.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/NOTICE +26 -0
- package/README.md +3 -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/data/locales/de.json +8 -1
- package/dist/data/locales/en.json +8 -1
- package/dist/data/locales/fr.json +8 -1
- package/dist/data/locales/ja.json +8 -1
- package/dist/data/locales/ko.json +8 -1
- package/dist/data/locales/zh.json +8 -1
- package/dist/data/munsell-hues.json +175 -0
- package/dist/data/oklch-hue-table.json +297 -0
- package/dist/index.d.ts +18 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +9 -0
- package/dist/index.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/DyeService.d.ts +35 -0
- package/dist/services/DyeService.d.ts.map +1 -1
- package/dist/services/DyeService.js +35 -0
- package/dist/services/DyeService.js.map +1 -1
- package/dist/services/LocalizationService.d.ts +5 -1
- package/dist/services/LocalizationService.d.ts.map +1 -1
- package/dist/services/LocalizationService.js +8 -0
- package/dist/services/LocalizationService.js.map +1 -1
- package/dist/services/color/ColorConverter.d.ts +67 -35
- package/dist/services/color/ColorConverter.d.ts.map +1 -1
- package/dist/services/color/ColorConverter.js +236 -85
- package/dist/services/color/ColorConverter.js.map +1 -1
- package/dist/services/dye/HarmonyGenerator.d.ts +22 -2
- package/dist/services/dye/HarmonyGenerator.d.ts.map +1 -1
- package/dist/services/dye/HarmonyGenerator.js +39 -5
- package/dist/services/dye/HarmonyGenerator.js.map +1 -1
- package/dist/services/dye/HarmonySelector.d.ts +15 -1
- package/dist/services/dye/HarmonySelector.d.ts.map +1 -1
- package/dist/services/dye/HarmonySelector.js +20 -8
- package/dist/services/dye/HarmonySelector.js.map +1 -1
- package/dist/services/dye/wheels/ColorWheel.d.ts +29 -0
- package/dist/services/dye/wheels/ColorWheel.d.ts.map +1 -0
- package/dist/services/dye/wheels/ColorWheel.js +63 -0
- package/dist/services/dye/wheels/ColorWheel.js.map +1 -0
- package/dist/services/dye/wheels/hue-warp.d.ts +40 -0
- package/dist/services/dye/wheels/hue-warp.d.ts.map +1 -0
- package/dist/services/dye/wheels/hue-warp.js +144 -0
- package/dist/services/dye/wheels/hue-warp.js.map +1 -0
- package/dist/services/dye/wheels/munsell.d.ts +17 -0
- package/dist/services/dye/wheels/munsell.d.ts.map +1 -0
- package/dist/services/dye/wheels/munsell.js +18 -0
- package/dist/services/dye/wheels/munsell.js.map +1 -0
- package/dist/services/dye/wheels/oklch-hue.d.ts +22 -0
- package/dist/services/dye/wheels/oklch-hue.d.ts.map +1 -0
- package/dist/services/dye/wheels/oklch-hue.js +23 -0
- package/dist/services/dye/wheels/oklch-hue.js.map +1 -0
- package/dist/services/dye/wheels/oklch-lightness.d.ts +24 -0
- package/dist/services/dye/wheels/oklch-lightness.d.ts.map +1 -0
- package/dist/services/dye/wheels/oklch-lightness.js +65 -0
- package/dist/services/dye/wheels/oklch-lightness.js.map +1 -0
- package/dist/services/dye/wheels/rgb-ryb.d.ts +18 -0
- package/dist/services/dye/wheels/rgb-ryb.d.ts.map +1 -0
- package/dist/services/dye/wheels/rgb-ryb.js +47 -0
- package/dist/services/dye/wheels/rgb-ryb.js.map +1 -0
- package/dist/services/dye/wheels/types.d.ts +40 -0
- package/dist/services/dye/wheels/types.d.ts.map +1 -0
- package/dist/services/dye/wheels/types.js +11 -0
- package/dist/services/dye/wheels/types.js.map +1 -0
- package/dist/services/localization/TranslationProvider.d.ts +6 -1
- package/dist/services/localization/TranslationProvider.d.ts.map +1 -1
- package/dist/services/localization/TranslationProvider.js +8 -0
- package/dist/services/localization/TranslationProvider.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 +8 -3
- 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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"}
|
|
@@ -142,6 +142,11 @@ export declare class DyeService {
|
|
|
142
142
|
* Find dyes that form a complementary color pair
|
|
143
143
|
* @param hex Base hex color
|
|
144
144
|
* @param options Matching algorithm options (optional)
|
|
145
|
+
*
|
|
146
|
+
* @deprecated `options.colorSpace` only — the method itself is current.
|
|
147
|
+
* Rotating hue in OKLCH/CIELCH/HSL abandons the base's saturation and value,
|
|
148
|
+
* which is a different answer from the one every surface shows. Pass a
|
|
149
|
+
* colour wheel instead: `generateHarmonySlots(hex, type, dyes, { …, wheel })`.
|
|
145
150
|
*/
|
|
146
151
|
findComplementaryPair(hex: string, options?: HarmonyOptions): Dye | null;
|
|
147
152
|
/**
|
|
@@ -150,30 +155,55 @@ export declare class DyeService {
|
|
|
150
155
|
* @param hex Base hex color
|
|
151
156
|
* @param angle Hue offset in degrees (default: 30)
|
|
152
157
|
* @param options Matching algorithm options (optional)
|
|
158
|
+
*
|
|
159
|
+
* @deprecated `options.colorSpace` only — the method itself is current.
|
|
160
|
+
* Rotating hue in OKLCH/CIELCH/HSL abandons the base's saturation and value,
|
|
161
|
+
* which is a different answer from the one every surface shows. Pass a
|
|
162
|
+
* colour wheel instead: `generateHarmonySlots(hex, type, dyes, { …, wheel })`.
|
|
153
163
|
*/
|
|
154
164
|
findAnalogousDyes(hex: string, angle?: number, options?: HarmonyOptions): Dye[];
|
|
155
165
|
/**
|
|
156
166
|
* Find triadic color scheme (colors 120° apart on color wheel)
|
|
157
167
|
* @param hex Base hex color
|
|
158
168
|
* @param options Matching algorithm options (optional)
|
|
169
|
+
*
|
|
170
|
+
* @deprecated `options.colorSpace` only — the method itself is current.
|
|
171
|
+
* Rotating hue in OKLCH/CIELCH/HSL abandons the base's saturation and value,
|
|
172
|
+
* which is a different answer from the one every surface shows. Pass a
|
|
173
|
+
* colour wheel instead: `generateHarmonySlots(hex, type, dyes, { …, wheel })`.
|
|
159
174
|
*/
|
|
160
175
|
findTriadicDyes(hex: string, options?: HarmonyOptions): Dye[];
|
|
161
176
|
/**
|
|
162
177
|
* Find square color scheme (colors 90° apart on color wheel)
|
|
163
178
|
* @param hex Base hex color
|
|
164
179
|
* @param options Matching algorithm options (optional)
|
|
180
|
+
*
|
|
181
|
+
* @deprecated `options.colorSpace` only — the method itself is current.
|
|
182
|
+
* Rotating hue in OKLCH/CIELCH/HSL abandons the base's saturation and value,
|
|
183
|
+
* which is a different answer from the one every surface shows. Pass a
|
|
184
|
+
* colour wheel instead: `generateHarmonySlots(hex, type, dyes, { …, wheel })`.
|
|
165
185
|
*/
|
|
166
186
|
findSquareDyes(hex: string, options?: HarmonyOptions): Dye[];
|
|
167
187
|
/**
|
|
168
188
|
* Find tetradic color scheme (two complementary pairs)
|
|
169
189
|
* @param hex Base hex color
|
|
170
190
|
* @param options Matching algorithm options (optional)
|
|
191
|
+
*
|
|
192
|
+
* @deprecated `options.colorSpace` only — the method itself is current.
|
|
193
|
+
* Rotating hue in OKLCH/CIELCH/HSL abandons the base's saturation and value,
|
|
194
|
+
* which is a different answer from the one every surface shows. Pass a
|
|
195
|
+
* colour wheel instead: `generateHarmonySlots(hex, type, dyes, { …, wheel })`.
|
|
171
196
|
*/
|
|
172
197
|
findTetradicDyes(hex: string, options?: HarmonyOptions): Dye[];
|
|
173
198
|
/**
|
|
174
199
|
* Find inverted tetradic color scheme (two complementary pairs, mirrored from tetradic)
|
|
175
200
|
* @param hex Base hex color
|
|
176
201
|
* @param options Matching algorithm options (optional)
|
|
202
|
+
*
|
|
203
|
+
* @deprecated `options.colorSpace` only — the method itself is current.
|
|
204
|
+
* Rotating hue in OKLCH/CIELCH/HSL abandons the base's saturation and value,
|
|
205
|
+
* which is a different answer from the one every surface shows. Pass a
|
|
206
|
+
* colour wheel instead: `generateHarmonySlots(hex, type, dyes, { …, wheel })`.
|
|
177
207
|
*/
|
|
178
208
|
findInvertedTetradicDyes(hex: string, options?: HarmonyOptions): Dye[];
|
|
179
209
|
/**
|
|
@@ -187,6 +217,11 @@ export declare class DyeService {
|
|
|
187
217
|
* Find split-complementary harmony (±30° from the complementary hue)
|
|
188
218
|
* @param hex Base hex color
|
|
189
219
|
* @param options Matching algorithm options (optional)
|
|
220
|
+
*
|
|
221
|
+
* @deprecated `options.colorSpace` only — the method itself is current.
|
|
222
|
+
* Rotating hue in OKLCH/CIELCH/HSL abandons the base's saturation and value,
|
|
223
|
+
* which is a different answer from the one every surface shows. Pass a
|
|
224
|
+
* colour wheel instead: `generateHarmonySlots(hex, type, dyes, { …, wheel })`.
|
|
190
225
|
*/
|
|
191
226
|
findSplitComplementaryDyes(hex: string, options?: HarmonyOptions): Dye[];
|
|
192
227
|
/**
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"DyeService.d.ts","sourceRoot":"","sources":["../../src/services/DyeService.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;GAyBG;AAEH,OAAO,KAAK,EAAE,GAAG,EAAE,UAAU,EAAE,MAAM,oBAAoB,CAAC;AAC1D,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,6BAA6B,CAAC;AAG1D,OAAO,KAAK,EAAE,kBAAkB,EAAE,yBAAyB,EAAE,MAAM,oBAAoB,CAAC;AAGxF,YAAY,EAAE,kBAAkB,EAAE,yBAAyB,EAAE,MAAM,oBAAoB,CAAC;AAExF,OAAO,EAAoB,KAAK,cAAc,EAAE,MAAM,2BAA2B,CAAC;AAGlF;;GAEG;AACH,MAAM,WAAW,iBAAiB;IAChC;;OAEG;IACH,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AAED;;;;;;;;;;;;;;;;;GAiBG;AACH,qBAAa,UAAU;IACrB,OAAO,CAAC,QAAQ,CAAc;IAC9B,OAAO,CAAC,MAAM,CAAY;IAC1B,OAAO,CAAC,OAAO,CAAmB;IAElC;;;;OAIG;gBACS,OAAO,CAAC,EAAE,OAAO,EAAE,OAAO,GAAE,iBAAsB;IAe9D;;OAEG;IACH,UAAU,IAAI,GAAG,EAAE;IAInB;;OAEG;IACH,UAAU,CAAC,EAAE,EAAE,MAAM,GAAG,GAAG,GAAG,IAAI;IAIlC;;;;;;;;;;;OAWG;IACH,YAAY,CAAC,OAAO,EAAE,MAAM,GAAG,GAAG,GAAG,IAAI;IAIzC;;OAEG;IACH,cAAc,IAAI,OAAO;IAIzB;;OAEG;IACH,WAAW,IAAI,MAAM;IAIrB;;OAEG;IACH,aAAa,IAAI,MAAM,EAAE;IAQzB;;OAEG;IACH,YAAY,CAAC,KAAK,EAAE,MAAM,GAAG,GAAG,EAAE;IAIlC;;OAEG;IACH,gBAAgB,CAAC,QAAQ,EAAE,MAAM,GAAG,GAAG,EAAE;IAIzC;;OAEG;IACH,UAAU,CACR,MAAM,GAAE;QACN,QAAQ,CAAC,EAAE,MAAM,CAAC;QAClB,UAAU,CAAC,EAAE,MAAM,EAAE,CAAC;QACtB,QAAQ,CAAC,EAAE,MAAM,CAAC;QAClB,QAAQ,CAAC,EAAE,MAAM,CAAC;KACd,GACL,GAAG,EAAE;IAIR;;;;;;;;;OASG;IACH,cAAc,CAAC,GAAG,EAAE,MAAM,EAAE,OAAO,GAAE,kBAAuB,GAAG,GAAG,GAAG,IAAI;IAIzE;;;;;;;;;OASG;IACH,sBAAsB,CAAC,GAAG,EAAE,MAAM,EAAE,OAAO,EAAE,yBAAyB,GAAG,GAAG,EAAE;IAQ9E
|
|
1
|
+
{"version":3,"file":"DyeService.d.ts","sourceRoot":"","sources":["../../src/services/DyeService.ts"],"names":[],"mappings":"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"}
|
|
@@ -167,6 +167,11 @@ export class DyeService {
|
|
|
167
167
|
* Find dyes that form a complementary color pair
|
|
168
168
|
* @param hex Base hex color
|
|
169
169
|
* @param options Matching algorithm options (optional)
|
|
170
|
+
*
|
|
171
|
+
* @deprecated `options.colorSpace` only — the method itself is current.
|
|
172
|
+
* Rotating hue in OKLCH/CIELCH/HSL abandons the base's saturation and value,
|
|
173
|
+
* which is a different answer from the one every surface shows. Pass a
|
|
174
|
+
* colour wheel instead: `generateHarmonySlots(hex, type, dyes, { …, wheel })`.
|
|
170
175
|
*/
|
|
171
176
|
findComplementaryPair(hex, options) {
|
|
172
177
|
return this.harmony.findComplementaryPair(hex, options);
|
|
@@ -177,6 +182,11 @@ export class DyeService {
|
|
|
177
182
|
* @param hex Base hex color
|
|
178
183
|
* @param angle Hue offset in degrees (default: 30)
|
|
179
184
|
* @param options Matching algorithm options (optional)
|
|
185
|
+
*
|
|
186
|
+
* @deprecated `options.colorSpace` only — the method itself is current.
|
|
187
|
+
* Rotating hue in OKLCH/CIELCH/HSL abandons the base's saturation and value,
|
|
188
|
+
* which is a different answer from the one every surface shows. Pass a
|
|
189
|
+
* colour wheel instead: `generateHarmonySlots(hex, type, dyes, { …, wheel })`.
|
|
180
190
|
*/
|
|
181
191
|
findAnalogousDyes(hex, angle = 30, options) {
|
|
182
192
|
return this.harmony.findAnalogousDyes(hex, angle, options);
|
|
@@ -185,6 +195,11 @@ export class DyeService {
|
|
|
185
195
|
* Find triadic color scheme (colors 120° apart on color wheel)
|
|
186
196
|
* @param hex Base hex color
|
|
187
197
|
* @param options Matching algorithm options (optional)
|
|
198
|
+
*
|
|
199
|
+
* @deprecated `options.colorSpace` only — the method itself is current.
|
|
200
|
+
* Rotating hue in OKLCH/CIELCH/HSL abandons the base's saturation and value,
|
|
201
|
+
* which is a different answer from the one every surface shows. Pass a
|
|
202
|
+
* colour wheel instead: `generateHarmonySlots(hex, type, dyes, { …, wheel })`.
|
|
188
203
|
*/
|
|
189
204
|
findTriadicDyes(hex, options) {
|
|
190
205
|
return this.harmony.findTriadicDyes(hex, options);
|
|
@@ -193,6 +208,11 @@ export class DyeService {
|
|
|
193
208
|
* Find square color scheme (colors 90° apart on color wheel)
|
|
194
209
|
* @param hex Base hex color
|
|
195
210
|
* @param options Matching algorithm options (optional)
|
|
211
|
+
*
|
|
212
|
+
* @deprecated `options.colorSpace` only — the method itself is current.
|
|
213
|
+
* Rotating hue in OKLCH/CIELCH/HSL abandons the base's saturation and value,
|
|
214
|
+
* which is a different answer from the one every surface shows. Pass a
|
|
215
|
+
* colour wheel instead: `generateHarmonySlots(hex, type, dyes, { …, wheel })`.
|
|
196
216
|
*/
|
|
197
217
|
findSquareDyes(hex, options) {
|
|
198
218
|
return this.harmony.findSquareDyes(hex, options);
|
|
@@ -201,6 +221,11 @@ export class DyeService {
|
|
|
201
221
|
* Find tetradic color scheme (two complementary pairs)
|
|
202
222
|
* @param hex Base hex color
|
|
203
223
|
* @param options Matching algorithm options (optional)
|
|
224
|
+
*
|
|
225
|
+
* @deprecated `options.colorSpace` only — the method itself is current.
|
|
226
|
+
* Rotating hue in OKLCH/CIELCH/HSL abandons the base's saturation and value,
|
|
227
|
+
* which is a different answer from the one every surface shows. Pass a
|
|
228
|
+
* colour wheel instead: `generateHarmonySlots(hex, type, dyes, { …, wheel })`.
|
|
204
229
|
*/
|
|
205
230
|
findTetradicDyes(hex, options) {
|
|
206
231
|
return this.harmony.findTetradicDyes(hex, options);
|
|
@@ -209,6 +234,11 @@ export class DyeService {
|
|
|
209
234
|
* Find inverted tetradic color scheme (two complementary pairs, mirrored from tetradic)
|
|
210
235
|
* @param hex Base hex color
|
|
211
236
|
* @param options Matching algorithm options (optional)
|
|
237
|
+
*
|
|
238
|
+
* @deprecated `options.colorSpace` only — the method itself is current.
|
|
239
|
+
* Rotating hue in OKLCH/CIELCH/HSL abandons the base's saturation and value,
|
|
240
|
+
* which is a different answer from the one every surface shows. Pass a
|
|
241
|
+
* colour wheel instead: `generateHarmonySlots(hex, type, dyes, { …, wheel })`.
|
|
212
242
|
*/
|
|
213
243
|
findInvertedTetradicDyes(hex, options) {
|
|
214
244
|
return this.harmony.findInvertedTetradicDyes(hex, options);
|
|
@@ -226,6 +256,11 @@ export class DyeService {
|
|
|
226
256
|
* Find split-complementary harmony (±30° from the complementary hue)
|
|
227
257
|
* @param hex Base hex color
|
|
228
258
|
* @param options Matching algorithm options (optional)
|
|
259
|
+
*
|
|
260
|
+
* @deprecated `options.colorSpace` only — the method itself is current.
|
|
261
|
+
* Rotating hue in OKLCH/CIELCH/HSL abandons the base's saturation and value,
|
|
262
|
+
* which is a different answer from the one every surface shows. Pass a
|
|
263
|
+
* colour wheel instead: `generateHarmonySlots(hex, type, dyes, { …, wheel })`.
|
|
229
264
|
*/
|
|
230
265
|
findSplitComplementaryDyes(hex, options) {
|
|
231
266
|
return this.harmony.findSplitComplementaryDyes(hex, options);
|