@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.
- package/dist/data/locales/de.json +1 -1
- package/dist/data/locales/en.json +1 -1
- package/dist/data/locales/fr.json +1 -1
- package/dist/data/locales/ja.json +1 -1
- package/dist/data/locales/ko.json +1 -1
- package/dist/data/locales/zh.json +1 -1
- package/dist/services/ColorService.d.ts +228 -1
- package/dist/services/ColorService.d.ts.map +1 -1
- package/dist/services/ColorService.js +364 -0
- package/dist/services/ColorService.js.map +1 -1
- package/dist/services/color/ColorConverter.d.ts +223 -1
- package/dist/services/color/ColorConverter.d.ts.map +1 -1
- package/dist/services/color/ColorConverter.js +456 -0
- package/dist/services/color/ColorConverter.js.map +1 -1
- package/dist/services/color/RybColorMixer.d.ts +5 -8
- package/dist/services/color/RybColorMixer.d.ts.map +1 -1
- package/dist/services/color/RybColorMixer.js +78 -49
- package/dist/services/color/RybColorMixer.js.map +1 -1
- package/dist/services/color/SpectralMixer.d.ts +77 -0
- package/dist/services/color/SpectralMixer.d.ts.map +1 -0
- package/dist/services/color/SpectralMixer.js +133 -0
- package/dist/services/color/SpectralMixer.js.map +1 -0
- package/dist/types/index.d.ts +1 -1
- package/dist/types/index.d.ts.map +1 -1
- package/dist/version.d.ts +1 -1
- package/dist/version.js +1 -1
- package/package.json +3 -2
|
@@ -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":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;GA0BG;AAEH,OAAO,KAAK,EAAE,GAAG,EAAE,GAAG,EAAE,QAAQ,EAAE,UAAU,EAAE,GAAG,EAAE,MAAM,mBAAmB,CAAC;
|
|
1
|
+
{"version":3,"file":"ColorService.d.ts","sourceRoot":"","sources":["../../src/services/ColorService.ts"],"names":[],"mappings":"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"}
|