@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
|
@@ -131,7 +131,7 @@ export declare class LocalizationService {
|
|
|
131
131
|
* explicitly to every getter (`getDyeName(id, locale)`), or use the
|
|
132
132
|
* stateless `LocaleLoader`/`LocaleRegistry`/`TranslationProvider` trio.
|
|
133
133
|
*
|
|
134
|
-
* @param locale - Locale code ('en', 'ja', 'de', 'fr')
|
|
134
|
+
* @param locale - Locale code ('en', 'ja', 'de', 'fr', 'ko', 'zh')
|
|
135
135
|
* @throws {AppError} If locale file fails to load
|
|
136
136
|
*
|
|
137
137
|
* @example
|
|
@@ -306,12 +306,28 @@ export declare class LocalizationService {
|
|
|
306
306
|
*
|
|
307
307
|
* @param key - Tool key
|
|
308
308
|
* @returns Localized tool display name
|
|
309
|
+
* @deprecated I18N-003 — covers only the six pre-5.0 tools (the product ships
|
|
310
|
+
* nine) and has no consumer in this monorepo: web-app names tools from its own
|
|
311
|
+
* `tools.*.title` keys, og-worker from `OG_DECK`. Kept as published API; do not
|
|
312
|
+
* build on it. Removal is a core major.
|
|
309
313
|
*/
|
|
310
314
|
getToolName(key: ToolKey, locale?: LocaleCode): string;
|
|
311
315
|
/**
|
|
312
316
|
* Static method: Get localized tool display name using default instance
|
|
317
|
+
* @deprecated I18N-003 — see the instance method.
|
|
313
318
|
*/
|
|
314
319
|
static getToolName(key: ToolKey, locale?: LocaleCode): string;
|
|
320
|
+
/**
|
|
321
|
+
* Get a localized Facewear tint name by its slug (I18N-008).
|
|
322
|
+
*
|
|
323
|
+
* The 11 Facewear colours are not dyes and are keyed by slug, so they do not
|
|
324
|
+
* go through `getDyeName()`.
|
|
325
|
+
*/
|
|
326
|
+
getFacewearColorName(id: string, locale?: LocaleCode): string;
|
|
327
|
+
/**
|
|
328
|
+
* Static method: Get a localized Facewear tint name using default instance
|
|
329
|
+
*/
|
|
330
|
+
static getFacewearColorName(id: string, locale?: LocaleCode): string;
|
|
315
331
|
/**
|
|
316
332
|
* Get localized color-sheet category name
|
|
317
333
|
*
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"LocalizationService.d.ts","sourceRoot":"","sources":["../../src/services/LocalizationService.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,KAAK,EACV,UAAU,EACV,cAAc,EACd,cAAc,EACd,UAAU,EACV,OAAO,EACP,QAAQ,EACR,OAAO,EACP,OAAO,EACP,gBAAgB,EACjB,MAAM,oBAAoB,CAAC;AAC5B,OAAO,EAAE,YAAY,EAAE,MAAM,gCAAgC,CAAC;AAC9D,OAAO,EAAE,cAAc,EAAE,MAAM,kCAAkC,CAAC;AAClE,OAAO,EAAE,mBAAmB,EAAE,MAAM,uCAAuC,CAAC;AAM5E;;GAEG;AACH,eAAO,MAAM,iBAAiB,EAAE,SAAS,UAAU,EAOzC,CAAC;AAEX;;;;;;;;;;;;;GAaG;AACH,wBAAgB,iBAAiB,CAAC,MAAM,EAAE,MAAM,GAAG,UAAU,GAAG,IAAI,CAGnE;AAED;;;;;;;;;;;;;;;;;;;;;;;;;GAyBG;AACH,wBAAgB,2BAA2B,CAAC,UAAU,EAAE,gBAAgB,GAAG,UAAU,CAwBpF;AAMD;;GAEG;AACH,MAAM,WAAW,yBAAyB;IACxC,MAAM,CAAC,EAAE,YAAY,CAAC;IACtB,QAAQ,CAAC,EAAE,cAAc,CAAC;IAC1B,UAAU,CAAC,EAAE,mBAAmB,CAAC;CAClC;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAoCG;AACH,qBAAa,mBAAmB;IAE9B,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAe;IACtC,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAiB;IAC1C,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAsB;IAEjD,OAAO,CAAC,aAAa,CAAoB;IACzC,OAAO,CAAC,aAAa,CAAkB;IAIvC,OAAO,CAAC,MAAM,CAAC,eAAe,CAAkD;IAEhF;;;OAGG;gBACS,MAAM,GAAE,yBAA8B;IAMlD;;;OAGG;IACH,OAAO,CAAC,MAAM,CAAC,UAAU;IAIzB;;;;;;;;;;;;;;;;;;;;;OAqBG;IACG,SAAS,CAAC,MAAM,EAAE,UAAU,GAAG,OAAO,CAAC,IAAI,CAAC;IAgBlD;;OAEG;WACU,SAAS,CAAC,MAAM,EAAE,UAAU,GAAG,OAAO,CAAC,IAAI,CAAC;IAIzD;;;;;OAKG;IACG,kBAAkB,CAAC,MAAM,EAAE,UAAU,GAAG,OAAO,CAAC,IAAI,CAAC;IAS3D;;OAEG;WACU,kBAAkB,CAAC,MAAM,EAAE,UAAU,GAAG,OAAO,CAAC,IAAI,CAAC;IAIlE;;;;;;;;;;;;;;;;;;;OAmBG;IACG,uBAAuB,CAAC,UAAU,EAAE,gBAAgB,GAAG,OAAO,CAAC,IAAI,CAAC;IAK1E;;OAEG;WACU,uBAAuB,CAAC,UAAU,EAAE,gBAAgB,GAAG,OAAO,CAAC,IAAI,CAAC;IAIjF;;;;;;;;;OASG;IACH,gBAAgB,IAAI,UAAU;IAI9B;;OAEG;IACH,MAAM,CAAC,gBAAgB,IAAI,UAAU;IAIrC;;;;;;;;;;;OAWG;IACH,cAAc,CAAC,MAAM,CAAC,EAAE,UAAU,GAAG,OAAO;IAS5C;;OAEG;IACH,MAAM,CAAC,cAAc,CAAC,MAAM,CAAC,EAAE,UAAU,GAAG,OAAO;IAInD;;;;;OAKG;IACH,QAAQ,CAAC,GAAG,EAAE,cAAc,EAAE,MAAM,CAAC,EAAE,UAAU,GAAG,MAAM;IAI1D;;OAEG;IACH,MAAM,CAAC,QAAQ,CAAC,GAAG,EAAE,cAAc,EAAE,MAAM,CAAC,EAAE,UAAU,GAAG,MAAM;IAIjE;;;;;OAKG;IACH,UAAU,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,UAAU,GAAG,MAAM,GAAG,IAAI;IAI9D;;OAEG;IACH,MAAM,CAAC,UAAU,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,UAAU,GAAG,MAAM,GAAG,IAAI;IAIrE;;;;;OAKG;IACH,WAAW,CAAC,QAAQ,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,UAAU,GAAG,MAAM;IAI1D;;OAEG;IACH,MAAM,CAAC,WAAW,CAAC,QAAQ,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,UAAU,GAAG,MAAM;IAIjE;;;;;OAKG;IACH,cAAc,CAAC,WAAW,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,UAAU,GAAG,MAAM;IAIhE;;OAEG;IACH,MAAM,CAAC,cAAc,CAAC,WAAW,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,UAAU,GAAG,MAAM;IAIvE;;;;;OAKG;IACH,WAAW,CAAC,QAAQ,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,UAAU,GAAG,MAAM;IAI1D;;OAEG;IACH,MAAM,CAAC,WAAW,CAAC,QAAQ,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,UAAU,GAAG,MAAM;IAIjE;;;;;OAKG;IACH,cAAc,CAAC,GAAG,EAAE,cAAc,EAAE,MAAM,CAAC,EAAE,UAAU,GAAG,MAAM;IAIhE;;OAEG;IACH,MAAM,CAAC,cAAc,CAAC,GAAG,EAAE,cAAc,EAAE,MAAM,CAAC,EAAE,UAAU,GAAG,MAAM;IAIvE;;;;;OAKG;IACH,aAAa,CAAC,GAAG,EAAE,UAAU,EAAE,MAAM,CAAC,EAAE,UAAU,GAAG,MAAM;IAI3D;;OAEG;IACH,MAAM,CAAC,aAAa,CAAC,GAAG,EAAE,UAAU,EAAE,MAAM,CAAC,EAAE,UAAU,GAAG,MAAM;IAIlE;;;;;OAKG;IACH,cAAc,CAAC,GAAG,EAAE,UAAU,EAAE,MAAM,CAAC,EAAE,UAAU,GAAG,MAAM;IAI5D;;OAEG;IACH,MAAM,CAAC,cAAc,CAAC,GAAG,EAAE,UAAU,EAAE,MAAM,CAAC,EAAE,UAAU,GAAG,MAAM;IAInE
|
|
1
|
+
{"version":3,"file":"LocalizationService.d.ts","sourceRoot":"","sources":["../../src/services/LocalizationService.ts"],"names":[],"mappings":"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"}
|
|
@@ -165,7 +165,7 @@ export class LocalizationService {
|
|
|
165
165
|
* explicitly to every getter (`getDyeName(id, locale)`), or use the
|
|
166
166
|
* stateless `LocaleLoader`/`LocaleRegistry`/`TranslationProvider` trio.
|
|
167
167
|
*
|
|
168
|
-
* @param locale - Locale code ('en', 'ja', 'de', 'fr')
|
|
168
|
+
* @param locale - Locale code ('en', 'ja', 'de', 'fr', 'ko', 'zh')
|
|
169
169
|
* @throws {AppError} If locale file fails to load
|
|
170
170
|
*
|
|
171
171
|
* @example
|
|
@@ -414,16 +414,36 @@ export class LocalizationService {
|
|
|
414
414
|
*
|
|
415
415
|
* @param key - Tool key
|
|
416
416
|
* @returns Localized tool display name
|
|
417
|
+
* @deprecated I18N-003 — covers only the six pre-5.0 tools (the product ships
|
|
418
|
+
* nine) and has no consumer in this monorepo: web-app names tools from its own
|
|
419
|
+
* `tools.*.title` keys, og-worker from `OG_DECK`. Kept as published API; do not
|
|
420
|
+
* build on it. Removal is a core major.
|
|
417
421
|
*/
|
|
418
422
|
getToolName(key, locale) {
|
|
419
423
|
return this.translator.getToolName(key, locale ?? this.currentLocale);
|
|
420
424
|
}
|
|
421
425
|
/**
|
|
422
426
|
* Static method: Get localized tool display name using default instance
|
|
427
|
+
* @deprecated I18N-003 — see the instance method.
|
|
423
428
|
*/
|
|
424
429
|
static getToolName(key, locale) {
|
|
425
430
|
return this.getDefault().getToolName(key, locale);
|
|
426
431
|
}
|
|
432
|
+
/**
|
|
433
|
+
* Get a localized Facewear tint name by its slug (I18N-008).
|
|
434
|
+
*
|
|
435
|
+
* The 11 Facewear colours are not dyes and are keyed by slug, so they do not
|
|
436
|
+
* go through `getDyeName()`.
|
|
437
|
+
*/
|
|
438
|
+
getFacewearColorName(id, locale) {
|
|
439
|
+
return this.translator.getFacewearColorName(id, locale ?? this.currentLocale);
|
|
440
|
+
}
|
|
441
|
+
/**
|
|
442
|
+
* Static method: Get a localized Facewear tint name using default instance
|
|
443
|
+
*/
|
|
444
|
+
static getFacewearColorName(id, locale) {
|
|
445
|
+
return this.getDefault().getFacewearColorName(id, locale);
|
|
446
|
+
}
|
|
427
447
|
/**
|
|
428
448
|
* Get localized color-sheet category name
|
|
429
449
|
*
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"LocalizationService.js","sourceRoot":"","sources":["../../src/services/LocalizationService.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"LocalizationService.js","sourceRoot":"","sources":["../../src/services/LocalizationService.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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"}
|
|
@@ -18,6 +18,34 @@ import { clamp, round, isValidHexColor, isValidRGB, isValidHSV, LRUCache, } from
|
|
|
18
18
|
export function normalizeDeltaEFormula(formula) {
|
|
19
19
|
return formula === 'cie2000' ? 'ciede2000' : formula;
|
|
20
20
|
}
|
|
21
|
+
/**
|
|
22
|
+
* ΔEOK2's chroma scaling (CSS Color 4 §20.4). See `getDeltaE_Oklab`.
|
|
23
|
+
*/
|
|
24
|
+
const OKLAB_AB_SCALE = 2;
|
|
25
|
+
/**
|
|
26
|
+
* The CIELAB companding constants, as the EXACT rationals of CIE 15:2004.
|
|
27
|
+
*
|
|
28
|
+
* This repo carried the pre-2004 decimal approximations (`0.008856` and
|
|
29
|
+
* `903.3`) until 5.1.0. CIE 15:2004 replaced them with these fractions
|
|
30
|
+
* specifically because rounding the two independently leaves the cube-root and
|
|
31
|
+
* linear branches of f(t) **not meeting** at the junction: measured here, the
|
|
32
|
+
* old pair left a step of 2.83e-7 in f (≈3.3e-5 in L*), which also makes f very
|
|
33
|
+
* slightly non-monotonic and therefore non-invertible right at t = ε. With the
|
|
34
|
+
* exact fractions the same measurement gives 2.78e-17 — continuous to floating
|
|
35
|
+
* point.
|
|
36
|
+
*
|
|
37
|
+
* Visually this is nothing: swapping them moved no dye's nearest-neighbour
|
|
38
|
+
* ranking (0 of 125) and changed ΔE00 by at most 7.6e-5. It is corrected
|
|
39
|
+
* because it costs nothing and removes a real discontinuity, not because
|
|
40
|
+
* anyone could see it.
|
|
41
|
+
*
|
|
42
|
+
* ⚠️ The D65 white point and sRGB matrix are deliberately NOT touched. They are
|
|
43
|
+
* the ASTM/Lindbloom pair and are consistent WITH EACH OTHER, which is the
|
|
44
|
+
* property that matters; CSS Color 4's alternative pair differs by ΔE00 ≈ 0.015
|
|
45
|
+
* and swapping one without the other would be the actual bug.
|
|
46
|
+
*/
|
|
47
|
+
const CIE_EPSILON = 216 / 24389; // (6/29)^3 exactly
|
|
48
|
+
const CIE_KAPPA = 24389 / 27; // (29/3)^3 exactly
|
|
21
49
|
/**
|
|
22
50
|
* Color format converter with LRU caching
|
|
23
51
|
* Per R-4: Single Responsibility - format conversions only
|
|
@@ -468,15 +496,16 @@ export class ColorConverter {
|
|
|
468
496
|
let y = xyz.y / refY;
|
|
469
497
|
let z = xyz.z / refZ;
|
|
470
498
|
// Apply LAB transformation (cube root with linear segment for dark colors)
|
|
471
|
-
|
|
472
|
-
|
|
473
|
-
|
|
474
|
-
|
|
475
|
-
|
|
499
|
+
x = x > CIE_EPSILON ? Math.pow(x, 1 / 3) : (CIE_KAPPA * x + 16) / 116;
|
|
500
|
+
y = y > CIE_EPSILON ? Math.pow(y, 1 / 3) : (CIE_KAPPA * y + 16) / 116;
|
|
501
|
+
z = z > CIE_EPSILON ? Math.pow(z, 1 / 3) : (CIE_KAPPA * z + 16) / 116;
|
|
502
|
+
// No rounding. The former `round(…, 4)` here cost ~1e-4 of precision in
|
|
503
|
+
// every downstream ΔE for no benefit — LAB is an intermediate, not a
|
|
504
|
+
// display value, and every caller that shows a number rounds it itself.
|
|
476
505
|
const result = {
|
|
477
|
-
L:
|
|
478
|
-
a:
|
|
479
|
-
b:
|
|
506
|
+
L: 116 * y - 16,
|
|
507
|
+
a: 500 * (x - y),
|
|
508
|
+
b: 200 * (y - z),
|
|
480
509
|
};
|
|
481
510
|
this.rgbToLabCache.set(cacheKey, result);
|
|
482
511
|
return { ...result };
|
|
@@ -535,14 +564,12 @@ export class ColorConverter {
|
|
|
535
564
|
let x = a / 500 + y;
|
|
536
565
|
let z = y - b / 200;
|
|
537
566
|
// Reverse LAB transformation
|
|
538
|
-
const epsilon = 0.008856; // (6/29)^3
|
|
539
|
-
const kappa = 903.3; // (29/3)^3
|
|
540
567
|
const x3 = x * x * x;
|
|
541
568
|
const y3 = y * y * y;
|
|
542
569
|
const z3 = z * z * z;
|
|
543
|
-
x = x3 >
|
|
544
|
-
y = L >
|
|
545
|
-
z = z3 >
|
|
570
|
+
x = x3 > CIE_EPSILON ? x3 : (116 * x - 16) / CIE_KAPPA;
|
|
571
|
+
y = L > CIE_KAPPA * CIE_EPSILON ? y3 : L / CIE_KAPPA;
|
|
572
|
+
z = z3 > CIE_EPSILON ? z3 : (116 * z - 16) / CIE_KAPPA;
|
|
546
573
|
// Apply reference white
|
|
547
574
|
return this.xyzToRgb(x * refX, y * refY, z * refZ);
|
|
548
575
|
}
|
|
@@ -717,27 +744,48 @@ export class ColorConverter {
|
|
|
717
744
|
// OKLAB-based Color Difference Calculations
|
|
718
745
|
// ============================================================================
|
|
719
746
|
/**
|
|
720
|
-
* Calculate color difference
|
|
747
|
+
* Calculate color difference in OKLAB as **ΔEOK2** — CSS Color 4 §20.4.
|
|
721
748
|
*
|
|
722
749
|
* OKLAB provides better perceptual uniformity than LAB with simpler math
|
|
723
|
-
* than CIEDE2000
|
|
750
|
+
* than CIEDE2000, and fixes LAB's blue→purple hue shift.
|
|
751
|
+
*
|
|
752
|
+
* ⚠️ `a` and `b` are scaled by 2 before the Euclidean distance. This is not
|
|
753
|
+
* a tweak — it is the metric CSS Color 4 §20.4 defines, and it exists
|
|
754
|
+
* because plain ΔEOK "under-estimates differences in colorfulness compared
|
|
755
|
+
* to differences in lightness". The factor comes from Ottosson's own fits
|
|
756
|
+
* against perceptual datasets (2.016 on COMBVD, 2.045 on OSA-UCS).
|
|
757
|
+
*
|
|
758
|
+
* Measured on this dye set (2,000 random sRGB queries, CIEDE2000 as the
|
|
759
|
+
* reference, asking how often each variant picks a DIFFERENT winning dye):
|
|
760
|
+
*
|
|
761
|
+
* plain ΔEOK (shipped ≤ 5.0.0) 30.4% disagreement
|
|
762
|
+
* ΔEOK2 — a,b × 2 (this) 24.4%
|
|
763
|
+
* cie76, for scale 31.1%
|
|
724
764
|
*
|
|
725
|
-
*
|
|
765
|
+
* §20.5 goes further and recommends ΔEOKr2 (ΔEOK2 plus the toe lightness
|
|
766
|
+
* remap). Measured here it is slightly WORSE (24.3% vs 23.9% in the
|
|
767
|
+
* fact-check's own run) for considerably more code, so it is deliberately
|
|
768
|
+
* not taken.
|
|
726
769
|
*
|
|
727
|
-
*
|
|
770
|
+
* ⚠️ SCALE CHANGED in 5.1.0. Values are roughly 1.4–2× their former size, so
|
|
771
|
+
* any threshold compared against this number had to move with it — see
|
|
772
|
+
* `BAND_VOCABULARY`'s oklab rows and `HARMONY_MAX_DISTANCE.oklab`, both
|
|
773
|
+
* recalibrated in the same change. CSS Color 4 §14.2.1 puts one JND at
|
|
774
|
+
* ΔEOK ≈ 0.02 on the PLAIN scale.
|
|
775
|
+
*
|
|
776
|
+
* Reference: Björn Ottosson (2020) - "A perceptual color space for image processing";
|
|
777
|
+
* CSS Color Module Level 4 §20.4.
|
|
728
778
|
*
|
|
729
779
|
* @param hex1 First color in hex format
|
|
730
780
|
* @param hex2 Second color in hex format
|
|
731
|
-
* @returns Distance value (0 = identical
|
|
732
|
-
*
|
|
733
|
-
* @example getDeltaE_Oklab("#FF0000", "#00FF00") -> ~0.39
|
|
781
|
+
* @returns Distance value (0 = identical)
|
|
734
782
|
*/
|
|
735
783
|
getDeltaE_Oklab(hex1, hex2) {
|
|
736
784
|
const lab1 = this.hexToOklab(hex1);
|
|
737
785
|
const lab2 = this.hexToOklab(hex2);
|
|
738
786
|
const dL = lab2.L - lab1.L;
|
|
739
|
-
const da = lab2.a - lab1.a;
|
|
740
|
-
const db = lab2.b - lab1.b;
|
|
787
|
+
const da = (lab2.a - lab1.a) * OKLAB_AB_SCALE;
|
|
788
|
+
const db = (lab2.b - lab1.b) * OKLAB_AB_SCALE;
|
|
741
789
|
return Math.sqrt(dL * dL + da * da + db * db);
|
|
742
790
|
}
|
|
743
791
|
/**
|
|
@@ -746,47 +794,6 @@ export class ColorConverter {
|
|
|
746
794
|
static getDeltaE_Oklab(hex1, hex2) {
|
|
747
795
|
return this.getDefault().getDeltaE_Oklab(hex1, hex2);
|
|
748
796
|
}
|
|
749
|
-
/**
|
|
750
|
-
* Calculate color difference using OKLCH with customizable L/C/H weights.
|
|
751
|
-
*
|
|
752
|
-
* Allows users to prioritize different color attributes:
|
|
753
|
-
* - Lightness (L): Brightness/darkness
|
|
754
|
-
* - Chroma (C): Saturation/vividness
|
|
755
|
-
* - Hue (H): The actual color (red, blue, green, etc.)
|
|
756
|
-
*
|
|
757
|
-
* @param hex1 First color in hex format
|
|
758
|
-
* @param hex2 Second color in hex format
|
|
759
|
-
* @param weights Object with kL, kC, kH weights (default 1.0 each)
|
|
760
|
-
* @returns Distance value (0 = identical, higher = more different)
|
|
761
|
-
*
|
|
762
|
-
* @example getDeltaE_OklchWeighted("#FF0000", "#FF8000", { kH: 2.0 }) -> prioritizes hue match
|
|
763
|
-
*/
|
|
764
|
-
getDeltaE_OklchWeighted(hex1, hex2, weights = {}) {
|
|
765
|
-
const { kL = 1.0, kC = 1.0, kH = 1.0 } = weights;
|
|
766
|
-
const lch1 = this.hexToOklch(hex1);
|
|
767
|
-
const lch2 = this.hexToOklch(hex2);
|
|
768
|
-
// Lightness difference
|
|
769
|
-
const dL = (lch2.L - lch1.L) * kL;
|
|
770
|
-
// Chroma difference
|
|
771
|
-
const dC = (lch2.C - lch1.C) * kC;
|
|
772
|
-
// Hue difference with wraparound (circular)
|
|
773
|
-
let dH = lch2.h - lch1.h;
|
|
774
|
-
if (dH > 180)
|
|
775
|
-
dH -= 360;
|
|
776
|
-
if (dH < -180)
|
|
777
|
-
dH += 360;
|
|
778
|
-
// Scale hue by average chroma for perceptual accuracy
|
|
779
|
-
// (hue differences matter less for desaturated colors)
|
|
780
|
-
const avgC = (lch1.C + lch2.C) / 2;
|
|
781
|
-
const dHScaled = (dH / 180) * avgC * kH;
|
|
782
|
-
return Math.sqrt(dL * dL + dC * dC + dHScaled * dHScaled);
|
|
783
|
-
}
|
|
784
|
-
/**
|
|
785
|
-
* Static method: Calculate OKLCH weighted distance using default instance
|
|
786
|
-
*/
|
|
787
|
-
static getDeltaE_OklchWeighted(hex1, hex2, weights = {}) {
|
|
788
|
-
return this.getDefault().getDeltaE_OklchWeighted(hex1, hex2, weights);
|
|
789
|
-
}
|
|
790
797
|
// ============================================================================
|
|
791
798
|
// OKLAB/OKLCH Color Space Conversion (Björn Ottosson, 2020)
|
|
792
799
|
// ============================================================================
|