@xivdyetools/core 1.12.1 → 1.12.5

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.
@@ -2,7 +2,7 @@
2
2
  "locale": "de",
3
3
  "meta": {
4
4
  "version": "1.0.0",
5
- "generated": "2026-01-16T05:26:31.607Z",
5
+ "generated": "2026-01-18T04:13:23.935Z",
6
6
  "dyeCount": 125
7
7
  },
8
8
  "labels": {
@@ -2,7 +2,7 @@
2
2
  "locale": "en",
3
3
  "meta": {
4
4
  "version": "1.0.0",
5
- "generated": "2026-01-16T05:26:31.604Z",
5
+ "generated": "2026-01-18T04:13:23.931Z",
6
6
  "dyeCount": 125
7
7
  },
8
8
  "labels": {
@@ -2,7 +2,7 @@
2
2
  "locale": "fr",
3
3
  "meta": {
4
4
  "version": "1.0.0",
5
- "generated": "2026-01-16T05:26:31.608Z",
5
+ "generated": "2026-01-18T04:13:23.936Z",
6
6
  "dyeCount": 125
7
7
  },
8
8
  "labels": {
@@ -2,7 +2,7 @@
2
2
  "locale": "ja",
3
3
  "meta": {
4
4
  "version": "1.0.0",
5
- "generated": "2026-01-16T05:26:31.606Z",
5
+ "generated": "2026-01-18T04:13:23.934Z",
6
6
  "dyeCount": 125
7
7
  },
8
8
  "labels": {
@@ -2,7 +2,7 @@
2
2
  "locale": "ko",
3
3
  "meta": {
4
4
  "version": "1.0.0",
5
- "generated": "2026-01-16T05:26:31.609Z",
5
+ "generated": "2026-01-18T04:13:23.937Z",
6
6
  "dyeCount": 125
7
7
  },
8
8
  "labels": {
@@ -2,7 +2,7 @@
2
2
  "locale": "zh",
3
3
  "meta": {
4
4
  "version": "1.0.0",
5
- "generated": "2026-01-16T05:26:31.610Z",
5
+ "generated": "2026-01-18T04:13:23.937Z",
6
6
  "dyeCount": 125
7
7
  },
8
8
  "labels": {
@@ -25,7 +25,7 @@
25
25
  * const distance = ColorService.getColorDistance('#FF0000', '#00FF00');
26
26
  * ```
27
27
  */
28
- import type { RGB, HSV, HexColor, VisionType, LAB } from '../types/index.js';
28
+ import type { RGB, HSV, HexColor, VisionType, LAB, OKLAB, OKLCH, LCH, HSL } from '../types/index.js';
29
29
  import { type DeltaEFormula } from './color/ColorConverter.js';
30
30
  import { type RYB } from './color/RybColorMixer.js';
31
31
  /**
@@ -172,6 +172,106 @@ export declare class ColorService {
172
172
  * @example labToHex(53.23, 80.11, 67.22) -> "#FF0000"
173
173
  */
174
174
  static labToHex(L: number, a: number, b: number): HexColor;
175
+ /**
176
+ * Convert RGB to OKLAB color space
177
+ *
178
+ * OKLAB is a modern perceptually uniform color space that fixes issues
179
+ * with CIELAB, particularly for blue colors. Blue + Yellow = Green in OKLAB.
180
+ *
181
+ * @example rgbToOklab(255, 0, 0) -> { L: 0.628, a: 0.225, b: 0.126 }
182
+ */
183
+ static rgbToOklab(r: number, g: number, b: number): OKLAB;
184
+ /**
185
+ * Convert hex color to OKLAB
186
+ */
187
+ static hexToOklab(hex: string): OKLAB;
188
+ /**
189
+ * Convert OKLAB to RGB
190
+ */
191
+ static oklabToRgb(L: number, a: number, b: number): RGB;
192
+ /**
193
+ * Convert OKLAB to hex color
194
+ */
195
+ static oklabToHex(L: number, a: number, b: number): HexColor;
196
+ /**
197
+ * Convert RGB to OKLCH (cylindrical OKLAB)
198
+ *
199
+ * OKLCH expresses OKLAB in cylindrical coordinates for intuitive
200
+ * hue manipulation. Ideal for gradient interpolation.
201
+ */
202
+ static rgbToOklch(r: number, g: number, b: number): OKLCH;
203
+ /**
204
+ * Convert hex color to OKLCH
205
+ */
206
+ static hexToOklch(hex: string): OKLCH;
207
+ /**
208
+ * Convert OKLCH to RGB
209
+ */
210
+ static oklchToRgb(L: number, C: number, h: number): RGB;
211
+ /**
212
+ * Convert OKLCH to hex color
213
+ */
214
+ static oklchToHex(L: number, C: number, h: number): HexColor;
215
+ /**
216
+ * Convert CIE LAB to LCH (cylindrical LAB)
217
+ */
218
+ static labToLch(L: number, a: number, b: number): LCH;
219
+ /**
220
+ * Convert LCH to CIE LAB
221
+ */
222
+ static lchToLab(L: number, C: number, h: number): LAB;
223
+ /**
224
+ * Convert RGB to LCH
225
+ */
226
+ static rgbToLch(r: number, g: number, b: number): LCH;
227
+ /**
228
+ * Convert hex color to LCH
229
+ */
230
+ static hexToLch(hex: string): LCH;
231
+ /**
232
+ * Convert LCH to RGB
233
+ */
234
+ static lchToRgb(L: number, C: number, h: number): RGB;
235
+ /**
236
+ * Convert LCH to hex color
237
+ */
238
+ static lchToHex(L: number, C: number, h: number): HexColor;
239
+ /**
240
+ * Convert RGB to HSL
241
+ * @example rgbToHsl(255, 0, 0) -> { h: 0, s: 100, l: 50 }
242
+ */
243
+ static rgbToHsl(r: number, g: number, b: number): HSL;
244
+ /**
245
+ * Convert hex color to HSL
246
+ */
247
+ static hexToHsl(hex: string): HSL;
248
+ /**
249
+ * Convert HSL to RGB
250
+ * @example hslToRgb(0, 100, 50) -> { r: 255, g: 0, b: 0 }
251
+ */
252
+ static hslToRgb(h: number, s: number, l: number): RGB;
253
+ /**
254
+ * Convert HSL to hex color
255
+ */
256
+ static hslToHex(h: number, s: number, l: number): HexColor;
257
+ /**
258
+ * Mix two colors using RGB additive mixing (averaging)
259
+ *
260
+ * @param hex1 First hex color
261
+ * @param hex2 Second hex color
262
+ * @param ratio Mix ratio (0 = all hex1, 0.5 = equal mix, 1 = all hex2). Default: 0.5
263
+ * @returns Mixed color as hex
264
+ */
265
+ static mixColorsRgb(hex1: string, hex2: string, ratio?: number): HexColor;
266
+ /**
267
+ * Mix two colors using LAB perceptually uniform mixing
268
+ *
269
+ * @param hex1 First hex color
270
+ * @param hex2 Second hex color
271
+ * @param ratio Mix ratio (0 = all hex1, 0.5 = equal mix, 1 = all hex2). Default: 0.5
272
+ * @returns Mixed color as hex
273
+ */
274
+ static mixColorsLab(hex1: string, hex2: string, ratio?: number): HexColor;
175
275
  /**
176
276
  * Mix two colors using RYB (Red-Yellow-Blue) subtractive color mixing
177
277
  *
@@ -218,6 +318,133 @@ export declare class ColorService {
218
318
  * Convert RYB to hex color
219
319
  */
220
320
  static rybToHex(r: number, y: number, b: number): HexColor;
321
+ /**
322
+ * Mix two colors using OKLAB perceptually uniform mixing
323
+ *
324
+ * OKLAB produces more intuitive results than LAB for complementary colors:
325
+ * - Blue + Yellow = Green (not pink like LAB)
326
+ * - Smooth, vibrant gradients without muddy midpoints
327
+ *
328
+ * @param hex1 First hex color
329
+ * @param hex2 Second hex color
330
+ * @param ratio Mix ratio (0 = all hex1, 0.5 = equal mix, 1 = all hex2). Default: 0.5
331
+ * @returns Mixed color as hex
332
+ *
333
+ * @example
334
+ * // Mix blue and yellow to get green (not pink like LAB)
335
+ * ColorService.mixColorsOklab('#0000FF', '#FFFF00') // Returns green-ish color
336
+ */
337
+ static mixColorsOklab(hex1: string, hex2: string, ratio?: number): HexColor;
338
+ /**
339
+ * Hue interpolation method for cylindrical color spaces
340
+ * - 'shorter': Take the shorter arc around the hue wheel (default)
341
+ * - 'longer': Take the longer arc around the hue wheel
342
+ * - 'increasing': Always go clockwise (increasing hue values)
343
+ * - 'decreasing': Always go counter-clockwise (decreasing hue values)
344
+ */
345
+ static interpolateHue(h1: number, h2: number, ratio: number, method?: 'shorter' | 'longer' | 'increasing' | 'decreasing'): number;
346
+ /**
347
+ * Mix two colors using OKLCH cylindrical mixing
348
+ *
349
+ * OKLCH provides control over hue interpolation direction,
350
+ * useful for creating gradients that go "through" specific colors.
351
+ *
352
+ * @param hex1 First hex color
353
+ * @param hex2 Second hex color
354
+ * @param ratio Mix ratio (0 = all hex1, 0.5 = equal mix, 1 = all hex2). Default: 0.5
355
+ * @param hueMethod Hue interpolation method ('shorter' | 'longer' | 'increasing' | 'decreasing')
356
+ * @returns Mixed color as hex
357
+ */
358
+ static mixColorsOklch(hex1: string, hex2: string, ratio?: number, hueMethod?: 'shorter' | 'longer' | 'increasing' | 'decreasing'): HexColor;
359
+ /**
360
+ * Mix two colors using LCH cylindrical mixing
361
+ *
362
+ * LCH is the cylindrical form of CIE LAB, providing hue control
363
+ * for perceptual mixing. Note: May produce unexpected hues for
364
+ * blue+yellow due to LAB's red bias (use OKLCH for better results).
365
+ *
366
+ * @param hex1 First hex color
367
+ * @param hex2 Second hex color
368
+ * @param ratio Mix ratio (0 = all hex1, 0.5 = equal mix, 1 = all hex2). Default: 0.5
369
+ * @param hueMethod Hue interpolation method ('shorter' | 'longer' | 'increasing' | 'decreasing')
370
+ * @returns Mixed color as hex
371
+ */
372
+ static mixColorsLch(hex1: string, hex2: string, ratio?: number, hueMethod?: 'shorter' | 'longer' | 'increasing' | 'decreasing'): HexColor;
373
+ /**
374
+ * Mix two colors using HSL hue averaging
375
+ *
376
+ * Simple and intuitive mixing based on hue wheel position.
377
+ * Blue + Yellow = Spring Green (hue ~150°).
378
+ * Results may be over-saturated compared to perceptual methods.
379
+ *
380
+ * @param hex1 First hex color
381
+ * @param hex2 Second hex color
382
+ * @param ratio Mix ratio (0 = all hex1, 0.5 = equal mix, 1 = all hex2). Default: 0.5
383
+ * @param hueMethod Hue interpolation method ('shorter' | 'longer' | 'increasing' | 'decreasing')
384
+ * @returns Mixed color as hex
385
+ */
386
+ static mixColorsHsl(hex1: string, hex2: string, ratio?: number, hueMethod?: 'shorter' | 'longer' | 'increasing' | 'decreasing'): HexColor;
387
+ /**
388
+ * Mix two colors using HSV hue averaging
389
+ *
390
+ * Similar to HSL but uses Value instead of Lightness.
391
+ * Useful when working with existing HSV-based workflows.
392
+ *
393
+ * @param hex1 First hex color
394
+ * @param hex2 Second hex color
395
+ * @param ratio Mix ratio (0 = all hex1, 0.5 = equal mix, 1 = all hex2). Default: 0.5
396
+ * @param hueMethod Hue interpolation method ('shorter' | 'longer' | 'increasing' | 'decreasing')
397
+ * @returns Mixed color as hex
398
+ */
399
+ static mixColorsHsv(hex1: string, hex2: string, ratio?: number, hueMethod?: 'shorter' | 'longer' | 'increasing' | 'decreasing'): HexColor;
400
+ /**
401
+ * Mix two colors using Kubelka-Munk spectral mixing
402
+ *
403
+ * This is the most physically accurate color mixing method available,
404
+ * simulating how real pigments and paints interact with light.
405
+ *
406
+ * Key characteristics:
407
+ * - Based on light absorption and scattering theory
408
+ * - Blue + Yellow = Green (like real paint!)
409
+ * - More realistic tinting and shading
410
+ * - Uses spectral reflectance curves (380-750nm)
411
+ *
412
+ * @param hex1 First hex color
413
+ * @param hex2 Second hex color
414
+ * @param ratio Mix ratio (0 = all hex1, 0.5 = equal mix, 1 = all hex2). Default: 0.5
415
+ * @returns Mixed color as hex
416
+ *
417
+ * @example
418
+ * // Mix blue and yellow to get green (like real paint)
419
+ * ColorService.mixColorsSpectral('#0000FF', '#FFFF00')
420
+ */
421
+ static mixColorsSpectral(hex1: string, hex2: string, ratio?: number): HexColor;
422
+ /**
423
+ * Mix multiple colors using Kubelka-Munk spectral mixing
424
+ *
425
+ * @param colors Array of hex colors to mix
426
+ * @param weights Optional array of weights (defaults to equal weights)
427
+ * @returns Mixed color as hex
428
+ */
429
+ static mixMultipleSpectral(colors: string[], weights?: number[]): HexColor;
430
+ /**
431
+ * Generate a gradient using spectral mixing
432
+ *
433
+ * Creates a series of colors that transition smoothly using
434
+ * Kubelka-Munk theory for realistic blending.
435
+ *
436
+ * @param hex1 Starting color
437
+ * @param hex2 Ending color
438
+ * @param steps Number of colors in the gradient
439
+ * @returns Array of hex colors
440
+ */
441
+ static gradientSpectral(hex1: string, hex2: string, steps: number): HexColor[];
442
+ /**
443
+ * Check if spectral mixing is available
444
+ *
445
+ * @returns true if spectral.js is loaded and functional
446
+ */
447
+ static isSpectralAvailable(): boolean;
221
448
  }
222
449
  export type { RYB } from './color/RybColorMixer.js';
223
450
  //# sourceMappingURL=ColorService.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"ColorService.d.ts","sourceRoot":"","sources":["../../src/services/ColorService.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"ColorService.d.ts","sourceRoot":"","sources":["../../src/services/ColorService.ts"],"names":[],"mappings":"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"}