@xivdyetools/core 4.2.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/data/locales/de.json +16 -3
- package/dist/data/locales/en.json +15 -2
- package/dist/data/locales/fr.json +15 -2
- package/dist/data/locales/ja.json +17 -4
- package/dist/data/locales/ko.json +15 -2
- package/dist/data/locales/zh.json +15 -2
- 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/LocalizationService.d.ts +17 -1
- package/dist/services/LocalizationService.d.ts.map +1 -1
- package/dist/services/LocalizationService.js +21 -1
- package/dist/services/LocalizationService.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/services/localization/TranslationProvider.d.ts +10 -0
- package/dist/services/localization/TranslationProvider.d.ts.map +1 -1
- package/dist/services/localization/TranslationProvider.js +26 -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 +3 -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
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
"locale": "en",
|
|
3
3
|
"meta": {
|
|
4
4
|
"version": "1.0.0",
|
|
5
|
-
"generated": "2026-
|
|
5
|
+
"generated": "2026-09-03T12:01:42.830Z",
|
|
6
6
|
"dyeCount": 125
|
|
7
7
|
},
|
|
8
8
|
"labels": {
|
|
@@ -246,5 +246,18 @@
|
|
|
246
246
|
"theLost": "The Lost",
|
|
247
247
|
"rava": "Rava",
|
|
248
248
|
"veena": "Veena"
|
|
249
|
+
},
|
|
250
|
+
"facewearColors": {
|
|
251
|
+
"silver": "Silver",
|
|
252
|
+
"gold": "Gold",
|
|
253
|
+
"black": "Black",
|
|
254
|
+
"white": "White",
|
|
255
|
+
"grey": "Grey",
|
|
256
|
+
"red": "Red",
|
|
257
|
+
"blue": "Blue",
|
|
258
|
+
"green": "Green",
|
|
259
|
+
"brass": "Brass",
|
|
260
|
+
"purple": "Purple",
|
|
261
|
+
"brown": "Brown"
|
|
249
262
|
}
|
|
250
|
-
}
|
|
263
|
+
}
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
"locale": "fr",
|
|
3
3
|
"meta": {
|
|
4
4
|
"version": "1.0.0",
|
|
5
|
-
"generated": "2026-
|
|
5
|
+
"generated": "2026-09-03T12:01:42.835Z",
|
|
6
6
|
"dyeCount": 125
|
|
7
7
|
},
|
|
8
8
|
"labels": {
|
|
@@ -246,5 +246,18 @@
|
|
|
246
246
|
"theLost": "Égaré",
|
|
247
247
|
"rava": "Rava",
|
|
248
248
|
"veena": "Veena"
|
|
249
|
+
},
|
|
250
|
+
"facewearColors": {
|
|
251
|
+
"silver": "Argent",
|
|
252
|
+
"gold": "Or",
|
|
253
|
+
"black": "Noir",
|
|
254
|
+
"white": "Blanc",
|
|
255
|
+
"grey": "Gris",
|
|
256
|
+
"red": "Rouge",
|
|
257
|
+
"blue": "Bleu",
|
|
258
|
+
"green": "Vert",
|
|
259
|
+
"brass": "Laiton",
|
|
260
|
+
"purple": "Violet",
|
|
261
|
+
"brown": "Marron"
|
|
249
262
|
}
|
|
250
|
-
}
|
|
263
|
+
}
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
"locale": "ja",
|
|
3
3
|
"meta": {
|
|
4
4
|
"version": "1.0.0",
|
|
5
|
-
"generated": "2026-
|
|
5
|
+
"generated": "2026-09-03T12:01:42.833Z",
|
|
6
6
|
"dyeCount": 125
|
|
7
7
|
},
|
|
8
8
|
"labels": {
|
|
@@ -142,7 +142,7 @@
|
|
|
142
142
|
"48227": "カーマインレッド"
|
|
143
143
|
},
|
|
144
144
|
"categories": {
|
|
145
|
-
"Neutral": "
|
|
145
|
+
"Neutral": "無彩色系",
|
|
146
146
|
"Reds": "赤系",
|
|
147
147
|
"Blues": "青系",
|
|
148
148
|
"Browns": "茶系",
|
|
@@ -153,7 +153,7 @@
|
|
|
153
153
|
"Facewear": "フェイスウェア"
|
|
154
154
|
},
|
|
155
155
|
"acquisitions": {
|
|
156
|
-
"Dye Vendor": "
|
|
156
|
+
"Dye Vendor": "染色師",
|
|
157
157
|
"Crafting": "製作",
|
|
158
158
|
"Cosmic Exploration": "コスモエクスプローラー",
|
|
159
159
|
"Cosmic Fortunes": "コスモフォーチュン",
|
|
@@ -246,5 +246,18 @@
|
|
|
246
246
|
"theLost": "ロスト",
|
|
247
247
|
"rava": "ラヴァ・ヴィエラ",
|
|
248
248
|
"veena": "ヴィナ・ヴィエラ"
|
|
249
|
+
},
|
|
250
|
+
"facewearColors": {
|
|
251
|
+
"silver": "シルバー",
|
|
252
|
+
"gold": "ゴールド",
|
|
253
|
+
"black": "ブラック",
|
|
254
|
+
"white": "ホワイト",
|
|
255
|
+
"grey": "グレー",
|
|
256
|
+
"red": "レッド",
|
|
257
|
+
"blue": "ブルー",
|
|
258
|
+
"green": "グリーン",
|
|
259
|
+
"brass": "ブラス",
|
|
260
|
+
"purple": "パープル",
|
|
261
|
+
"brown": "ブラウン"
|
|
249
262
|
}
|
|
250
|
-
}
|
|
263
|
+
}
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
"locale": "ko",
|
|
3
3
|
"meta": {
|
|
4
4
|
"version": "1.0.0",
|
|
5
|
-
"generated": "2026-
|
|
5
|
+
"generated": "2026-09-03T12:01:42.836Z",
|
|
6
6
|
"dyeCount": 125
|
|
7
7
|
},
|
|
8
8
|
"labels": {
|
|
@@ -246,5 +246,18 @@
|
|
|
246
246
|
"theLost": "로스트",
|
|
247
247
|
"rava": "라바",
|
|
248
248
|
"veena": "비나"
|
|
249
|
+
},
|
|
250
|
+
"facewearColors": {
|
|
251
|
+
"silver": "은색",
|
|
252
|
+
"gold": "금색",
|
|
253
|
+
"black": "검은색",
|
|
254
|
+
"white": "흰색",
|
|
255
|
+
"grey": "회색",
|
|
256
|
+
"red": "빨간색",
|
|
257
|
+
"blue": "파란색",
|
|
258
|
+
"green": "초록색",
|
|
259
|
+
"brass": "황동색",
|
|
260
|
+
"purple": "보라색",
|
|
261
|
+
"brown": "갈색"
|
|
249
262
|
}
|
|
250
|
-
}
|
|
263
|
+
}
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
"locale": "zh",
|
|
3
3
|
"meta": {
|
|
4
4
|
"version": "1.0.0",
|
|
5
|
-
"generated": "2026-
|
|
5
|
+
"generated": "2026-09-03T12:01:42.837Z",
|
|
6
6
|
"dyeCount": 125
|
|
7
7
|
},
|
|
8
8
|
"labels": {
|
|
@@ -246,5 +246,18 @@
|
|
|
246
246
|
"theLost": "迷失之民",
|
|
247
247
|
"rava": "拉瓦族",
|
|
248
248
|
"veena": "维纳族"
|
|
249
|
+
},
|
|
250
|
+
"facewearColors": {
|
|
251
|
+
"silver": "银色",
|
|
252
|
+
"gold": "金色",
|
|
253
|
+
"black": "黑色",
|
|
254
|
+
"white": "白色",
|
|
255
|
+
"grey": "灰色",
|
|
256
|
+
"red": "红色",
|
|
257
|
+
"blue": "蓝色",
|
|
258
|
+
"green": "绿色",
|
|
259
|
+
"brass": "黄铜色",
|
|
260
|
+
"purple": "紫色",
|
|
261
|
+
"brown": "棕色"
|
|
249
262
|
}
|
|
250
|
-
}
|
|
263
|
+
}
|
|
@@ -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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"}
|