@xivdyetools/core 1.12.5 → 1.14.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 +3 -2
- 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/index.d.ts +5 -3
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +5 -2
- package/dist/index.js.map +1 -1
- package/dist/services/APIService.d.ts +43 -0
- package/dist/services/APIService.d.ts.map +1 -1
- package/dist/services/APIService.js +86 -87
- package/dist/services/APIService.js.map +1 -1
- package/dist/services/CharacterColorService.d.ts +29 -5
- package/dist/services/CharacterColorService.d.ts.map +1 -1
- package/dist/services/CharacterColorService.js +44 -6
- package/dist/services/CharacterColorService.js.map +1 -1
- package/dist/services/ColorService.d.ts.map +1 -1
- package/dist/services/ColorService.js +1 -1
- package/dist/services/ColorService.js.map +1 -1
- package/dist/services/DyeService.d.ts +21 -6
- package/dist/services/DyeService.d.ts.map +1 -1
- package/dist/services/DyeService.js +21 -8
- package/dist/services/DyeService.js.map +1 -1
- package/dist/services/color/ColorConverter.d.ts +88 -3
- package/dist/services/color/ColorConverter.d.ts.map +1 -1
- package/dist/services/color/ColorConverter.js +147 -19
- package/dist/services/color/ColorConverter.js.map +1 -1
- package/dist/services/color/SpectralMixer.js.map +1 -1
- package/dist/services/dye/DyeDatabase.d.ts.map +1 -1
- package/dist/services/dye/DyeDatabase.js +28 -20
- package/dist/services/dye/DyeDatabase.js.map +1 -1
- package/dist/services/dye/DyeSearch.d.ts +65 -7
- package/dist/services/dye/DyeSearch.d.ts.map +1 -1
- package/dist/services/dye/DyeSearch.js +178 -28
- package/dist/services/dye/DyeSearch.js.map +1 -1
- package/dist/types/index.d.ts +62 -1
- package/dist/types/index.d.ts.map +1 -1
- package/dist/types/index.js +13 -0
- package/dist/types/index.js.map +1 -1
- package/dist/utils/kd-tree.d.ts.map +1 -1
- package/dist/utils/kd-tree.js +6 -4
- package/dist/utils/kd-tree.js.map +1 -1
- package/dist/version.d.ts +1 -1
- package/dist/version.js +1 -1
- package/package.json +4 -4
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"DyeSearch.d.ts","sourceRoot":"","sources":["../../../src/services/dye/DyeSearch.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,KAAK,EAAE,GAAG,EAAE,MAAM,sBAAsB,CAAC;
|
|
1
|
+
{"version":3,"file":"DyeSearch.d.ts","sourceRoot":"","sources":["../../../src/services/dye/DyeSearch.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,KAAK,EAAE,GAAG,EAAE,cAAc,EAAE,YAAY,EAAE,MAAM,sBAAsB,CAAC;AAG9E,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAEpD;;GAEG;AACH,MAAM,WAAW,kBAAkB;IACjC,sCAAsC;IACtC,UAAU,CAAC,EAAE,MAAM,EAAE,CAAC;IACtB,kDAAkD;IAClD,cAAc,CAAC,EAAE,cAAc,CAAC;IAChC,+CAA+C;IAC/C,OAAO,CAAC,EAAE,YAAY,CAAC;CACxB;AAED;;GAEG;AACH,MAAM,WAAW,yBAAyB;IACxC,iCAAiC;IACjC,WAAW,EAAE,MAAM,CAAC;IACpB,0CAA0C;IAC1C,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,4EAA4E;IAC5E,cAAc,CAAC,EAAE,cAAc,CAAC;IAChC,+CAA+C;IAC/C,OAAO,CAAC,EAAE,YAAY,CAAC;CACxB;AAED;;;GAGG;AACH,qBAAa,SAAS;IACR,OAAO,CAAC,QAAQ;gBAAR,QAAQ,EAAE,WAAW;IAEzC;;;;;;;;;OASG;IACH,OAAO,CAAC,iBAAiB;IAyBzB;;;OAGG;IACH,YAAY,CAAC,KAAK,EAAE,MAAM,GAAG,GAAG,EAAE;IAalC;;;OAGG;IACH,gBAAgB,CAAC,QAAQ,EAAE,MAAM,GAAG,GAAG,EAAE;IASzC;;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;IA0BR;;;;;;;;;;;;;;;;;OAiBG;IACH,cAAc,CAAC,GAAG,EAAE,MAAM,EAAE,mBAAmB,GAAE,MAAM,EAAE,GAAG,kBAAuB,GAAG,GAAG,GAAG,IAAI;IA4HhG;;;;;;;;;;;;OAYG;IACH,sBAAsB,CACpB,GAAG,EAAE,MAAM,EACX,oBAAoB,EAAE,MAAM,GAAG,yBAAyB,EACxD,KAAK,CAAC,EAAE,MAAM,GACb,GAAG,EAAE;IAyGR;;OAEG;IACH,yBAAyB,CAAC,SAAS,GAAE,OAAc,GAAG,GAAG,EAAE;IAW3D;;OAEG;IACH,yBAAyB,CAAC,SAAS,GAAE,OAAc,GAAG,GAAG,EAAE;IAW3D;;OAEG;IACH,kBAAkB,CAAC,SAAS,GAAE,OAAc,GAAG,GAAG,EAAE;CAUrD"}
|
|
@@ -12,6 +12,35 @@ export class DyeSearch {
|
|
|
12
12
|
constructor(database) {
|
|
13
13
|
this.database = database;
|
|
14
14
|
}
|
|
15
|
+
/**
|
|
16
|
+
* Calculate color distance using the specified matching method.
|
|
17
|
+
* Per COLOR-MATCH-001: Supports multiple perceptual algorithms.
|
|
18
|
+
*
|
|
19
|
+
* @param hex1 - First color in hex format
|
|
20
|
+
* @param hex2 - Second color in hex format
|
|
21
|
+
* @param method - Matching algorithm to use
|
|
22
|
+
* @param weights - Custom weights for oklch-weighted method
|
|
23
|
+
* @returns Distance value (lower = more similar)
|
|
24
|
+
*/
|
|
25
|
+
calculateDistance(hex1, hex2, method, weights) {
|
|
26
|
+
switch (method) {
|
|
27
|
+
case 'rgb':
|
|
28
|
+
return ColorConverter.getColorDistance(hex1, hex2);
|
|
29
|
+
case 'cie76':
|
|
30
|
+
return ColorConverter.getDeltaE(hex1, hex2, 'cie76');
|
|
31
|
+
case 'ciede2000':
|
|
32
|
+
return ColorConverter.getDeltaE(hex1, hex2, 'cie2000');
|
|
33
|
+
case 'oklab':
|
|
34
|
+
return ColorConverter.getDeltaE_Oklab(hex1, hex2);
|
|
35
|
+
case 'hyab':
|
|
36
|
+
return ColorConverter.getDeltaE_HyAB(hex1, hex2);
|
|
37
|
+
case 'oklch-weighted':
|
|
38
|
+
return ColorConverter.getDeltaE_OklchWeighted(hex1, hex2, weights);
|
|
39
|
+
default:
|
|
40
|
+
// Default to OKLAB for unknown methods
|
|
41
|
+
return ColorConverter.getDeltaE_Oklab(hex1, hex2);
|
|
42
|
+
}
|
|
43
|
+
}
|
|
15
44
|
/**
|
|
16
45
|
* Search dyes by name (case-insensitive, partial match)
|
|
17
46
|
* Per MEM-001: Uses pre-computed nameLower to avoid repeated toLowerCase() calls
|
|
@@ -61,11 +90,30 @@ export class DyeSearch {
|
|
|
61
90
|
return results;
|
|
62
91
|
}
|
|
63
92
|
/**
|
|
64
|
-
* Find closest dye to a given hex color
|
|
65
|
-
*
|
|
93
|
+
* Find closest dye to a given hex color using configurable matching.
|
|
94
|
+
*
|
|
95
|
+
* Per P-7: Uses k-d tree for O(log n) initial candidates, then re-ranks
|
|
96
|
+
* using the specified perceptual distance algorithm.
|
|
97
|
+
*
|
|
98
|
+
* Per COLOR-MATCH-001: Supports multiple matching algorithms:
|
|
99
|
+
* - 'rgb': RGB Euclidean (fastest, least accurate)
|
|
100
|
+
* - 'cie76': CIE76 LAB Euclidean (fast, fair accuracy)
|
|
101
|
+
* - 'ciede2000': CIEDE2000 (industry standard, accurate)
|
|
102
|
+
* - 'oklab': OKLAB Euclidean (recommended, good balance)
|
|
103
|
+
* - 'hyab': HyAB hybrid (best for large color differences)
|
|
104
|
+
* - 'oklch-weighted': OKLCH with custom L/C/H weights
|
|
105
|
+
*
|
|
106
|
+
* @param hex - Target color in hex format
|
|
107
|
+
* @param excludeIdsOrOptions - Either an array of IDs to exclude (legacy) or options object
|
|
108
|
+
* @returns Closest matching dye, or null if none found
|
|
66
109
|
*/
|
|
67
|
-
findClosestDye(hex,
|
|
110
|
+
findClosestDye(hex, excludeIdsOrOptions = []) {
|
|
68
111
|
this.database.ensureLoaded();
|
|
112
|
+
// Support both legacy signature and new options object
|
|
113
|
+
const options = Array.isArray(excludeIdsOrOptions)
|
|
114
|
+
? { excludeIds: excludeIdsOrOptions }
|
|
115
|
+
: excludeIdsOrOptions;
|
|
116
|
+
const { excludeIds = [], matchingMethod = 'oklab', weights } = options;
|
|
69
117
|
try {
|
|
70
118
|
const targetRgb = ColorConverter.hexToRgb(hex);
|
|
71
119
|
const targetPoint = {
|
|
@@ -73,51 +121,117 @@ export class DyeSearch {
|
|
|
73
121
|
y: targetRgb.g,
|
|
74
122
|
z: targetRgb.b,
|
|
75
123
|
};
|
|
124
|
+
const excludeSet = new Set(excludeIds);
|
|
76
125
|
// Per P-7: Use k-d tree if available
|
|
77
126
|
const kdTree = this.database.getKdTree();
|
|
78
127
|
if (kdTree && !kdTree.isEmpty()) {
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
const
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
128
|
+
// For RGB matching, k-d tree result is already optimal
|
|
129
|
+
if (matchingMethod === 'rgb') {
|
|
130
|
+
// CORE-BUG-005: Also exclude Facewear dyes
|
|
131
|
+
const nearest = kdTree.nearestNeighbor(targetPoint, (data) => {
|
|
132
|
+
const dye = data;
|
|
133
|
+
return excludeSet.has(dye.id) || dye.category === 'Facewear';
|
|
134
|
+
});
|
|
135
|
+
if (nearest && nearest.data) {
|
|
136
|
+
return nearest.data;
|
|
137
|
+
}
|
|
138
|
+
}
|
|
139
|
+
else {
|
|
140
|
+
// For perceptual methods: get candidates from k-d tree, then re-rank
|
|
141
|
+
// Use RGB distance threshold to find candidates (generous to catch perceptual matches)
|
|
142
|
+
// 100 RGB units covers most cases where perceptual distance might differ from RGB
|
|
143
|
+
const rgbCandidateThreshold = 100;
|
|
144
|
+
const candidateResults = kdTree.pointsWithinDistance(targetPoint, rgbCandidateThreshold, (data) => {
|
|
145
|
+
const dye = data;
|
|
146
|
+
return excludeSet.has(dye.id) || dye.category === 'Facewear';
|
|
147
|
+
});
|
|
148
|
+
// If we got candidates, re-rank using perceptual distance
|
|
149
|
+
if (candidateResults.length > 0) {
|
|
150
|
+
let bestDye = null;
|
|
151
|
+
let bestDistance = Infinity;
|
|
152
|
+
for (const result of candidateResults) {
|
|
153
|
+
if (!result.point.data)
|
|
154
|
+
continue;
|
|
155
|
+
const dye = result.point.data;
|
|
156
|
+
try {
|
|
157
|
+
const distance = this.calculateDistance(hex, dye.hex, matchingMethod, weights);
|
|
158
|
+
if (distance < bestDistance) {
|
|
159
|
+
bestDistance = distance;
|
|
160
|
+
bestDye = dye;
|
|
161
|
+
}
|
|
162
|
+
}
|
|
163
|
+
catch {
|
|
164
|
+
// CORE-REF-001: Silently skip individual dyes with invalid color data
|
|
165
|
+
// This is intentional - logging per-dye errors would be too noisy for large datasets
|
|
166
|
+
// The dye data is pre-validated at load time, so this rarely occurs
|
|
167
|
+
continue;
|
|
168
|
+
}
|
|
169
|
+
}
|
|
170
|
+
if (bestDye) {
|
|
171
|
+
return bestDye;
|
|
172
|
+
}
|
|
173
|
+
}
|
|
174
|
+
// If no candidates within threshold, fall back to nearest neighbor
|
|
175
|
+
// and use that as our only candidate
|
|
176
|
+
const nearest = kdTree.nearestNeighbor(targetPoint, (data) => {
|
|
177
|
+
const dye = data;
|
|
178
|
+
return excludeSet.has(dye.id) || dye.category === 'Facewear';
|
|
179
|
+
});
|
|
180
|
+
if (nearest && nearest.data) {
|
|
181
|
+
return nearest.data;
|
|
182
|
+
}
|
|
87
183
|
}
|
|
88
184
|
}
|
|
89
185
|
// Fallback to linear search (shouldn't happen if k-d tree is built)
|
|
90
186
|
let closest = null;
|
|
91
187
|
let minDistance = Infinity;
|
|
92
|
-
const excludeSet = new Set(excludeIds);
|
|
93
188
|
const dyes = this.database.getDyesInternal();
|
|
94
189
|
for (const dye of dyes) {
|
|
95
190
|
if (excludeSet.has(dye.id) || dye.category === 'Facewear') {
|
|
96
191
|
continue;
|
|
97
192
|
}
|
|
98
193
|
try {
|
|
99
|
-
const distance =
|
|
194
|
+
const distance = this.calculateDistance(hex, dye.hex, matchingMethod, weights);
|
|
100
195
|
if (distance < minDistance) {
|
|
101
196
|
minDistance = distance;
|
|
102
197
|
closest = dye;
|
|
103
198
|
}
|
|
104
199
|
}
|
|
105
200
|
catch {
|
|
201
|
+
// CORE-REF-001: Silently skip individual dyes with invalid color data
|
|
202
|
+
// See comment above for rationale
|
|
106
203
|
continue;
|
|
107
204
|
}
|
|
108
205
|
}
|
|
109
206
|
return closest;
|
|
110
207
|
}
|
|
111
|
-
catch {
|
|
208
|
+
catch (error) {
|
|
209
|
+
// CORE-REF-001 FIX: Log complete search failures (e.g., invalid input hex)
|
|
210
|
+
// These are unexpected and indicate caller provided bad input
|
|
211
|
+
console.warn(`[DyeSearch.findClosestDye] Search failed for hex "${hex}":`, error instanceof Error ? error.message : 'Unknown error');
|
|
112
212
|
return null;
|
|
113
213
|
}
|
|
114
214
|
}
|
|
115
215
|
/**
|
|
116
|
-
* Find dyes within a color distance threshold
|
|
117
|
-
*
|
|
216
|
+
* Find dyes within a color distance threshold using configurable matching.
|
|
217
|
+
*
|
|
218
|
+
* Per P-7: Uses k-d tree for O(log n) candidate finding, then re-ranks
|
|
219
|
+
* using the specified perceptual distance algorithm.
|
|
220
|
+
*
|
|
221
|
+
* Per COLOR-MATCH-001: Supports multiple matching algorithms.
|
|
222
|
+
*
|
|
223
|
+
* @param hex - Target color in hex format
|
|
224
|
+
* @param maxDistanceOrOptions - Either maxDistance number (legacy) or options object
|
|
225
|
+
* @param limit - Maximum results (legacy parameter, use options.limit instead)
|
|
226
|
+
* @returns Array of dyes within the distance threshold
|
|
118
227
|
*/
|
|
119
|
-
findDyesWithinDistance(hex,
|
|
228
|
+
findDyesWithinDistance(hex, maxDistanceOrOptions, limit) {
|
|
120
229
|
this.database.ensureLoaded();
|
|
230
|
+
// Support both legacy signature and new options object
|
|
231
|
+
const options = typeof maxDistanceOrOptions === 'number'
|
|
232
|
+
? { maxDistance: maxDistanceOrOptions, limit }
|
|
233
|
+
: maxDistanceOrOptions;
|
|
234
|
+
const { maxDistance, limit: resultLimit, matchingMethod = 'rgb', weights } = options;
|
|
121
235
|
try {
|
|
122
236
|
const targetRgb = ColorConverter.hexToRgb(hex);
|
|
123
237
|
const targetPoint = {
|
|
@@ -125,16 +239,47 @@ export class DyeSearch {
|
|
|
125
239
|
y: targetRgb.g,
|
|
126
240
|
z: targetRgb.b,
|
|
127
241
|
};
|
|
128
|
-
// Per P-7: Use k-d tree
|
|
242
|
+
// Per P-7: Use k-d tree for candidate finding
|
|
129
243
|
const kdTree = this.database.getKdTree();
|
|
130
244
|
if (kdTree && !kdTree.isEmpty()) {
|
|
131
|
-
|
|
132
|
-
|
|
133
|
-
|
|
134
|
-
|
|
135
|
-
|
|
245
|
+
// For RGB matching, k-d tree distance is exact
|
|
246
|
+
if (matchingMethod === 'rgb') {
|
|
247
|
+
const kdResults = kdTree.pointsWithinDistance(targetPoint, maxDistance);
|
|
248
|
+
const dyes = kdResults.map((item) => item.point.data);
|
|
249
|
+
if (resultLimit && resultLimit > 0) {
|
|
250
|
+
return dyes.slice(0, resultLimit);
|
|
251
|
+
}
|
|
252
|
+
return dyes;
|
|
253
|
+
}
|
|
254
|
+
// For perceptual methods: get candidates from k-d tree using generous RGB threshold,
|
|
255
|
+
// then filter and re-rank using the specified perceptual distance
|
|
256
|
+
// Use a generous RGB threshold to capture candidates that might be perceptually close
|
|
257
|
+
const rgbCandidateThreshold = Math.max(maxDistance * 2, 150);
|
|
258
|
+
const kdResults = kdTree.pointsWithinDistance(targetPoint, rgbCandidateThreshold);
|
|
259
|
+
// Re-calculate distances using perceptual method and filter
|
|
260
|
+
const results = [];
|
|
261
|
+
for (const item of kdResults) {
|
|
262
|
+
const dye = item.point.data;
|
|
263
|
+
if (dye.category === 'Facewear')
|
|
264
|
+
continue;
|
|
265
|
+
try {
|
|
266
|
+
const distance = this.calculateDistance(hex, dye.hex, matchingMethod, weights);
|
|
267
|
+
if (distance <= maxDistance) {
|
|
268
|
+
results.push({ dye, distance });
|
|
269
|
+
}
|
|
270
|
+
}
|
|
271
|
+
catch {
|
|
272
|
+
// CORE-REF-001: Silently skip individual dyes with invalid color data
|
|
273
|
+
// Logging per-dye errors would be too noisy for large datasets
|
|
274
|
+
continue;
|
|
275
|
+
}
|
|
276
|
+
}
|
|
277
|
+
// Sort by perceptual distance
|
|
278
|
+
results.sort((a, b) => a.distance - b.distance);
|
|
279
|
+
if (resultLimit && resultLimit > 0) {
|
|
280
|
+
return results.slice(0, resultLimit).map((item) => item.dye);
|
|
136
281
|
}
|
|
137
|
-
return
|
|
282
|
+
return results.map((item) => item.dye);
|
|
138
283
|
}
|
|
139
284
|
// Fallback to linear search
|
|
140
285
|
const results = [];
|
|
@@ -144,22 +289,27 @@ export class DyeSearch {
|
|
|
144
289
|
if (dye.category === 'Facewear') {
|
|
145
290
|
continue;
|
|
146
291
|
}
|
|
147
|
-
const distance =
|
|
292
|
+
const distance = this.calculateDistance(hex, dye.hex, matchingMethod, weights);
|
|
148
293
|
if (distance <= maxDistance) {
|
|
149
294
|
results.push({ dye, distance });
|
|
150
295
|
}
|
|
151
296
|
}
|
|
152
297
|
catch {
|
|
298
|
+
// CORE-REF-001: Silently skip individual dyes with invalid color data
|
|
299
|
+
// See comment above for rationale
|
|
153
300
|
continue;
|
|
154
301
|
}
|
|
155
302
|
}
|
|
156
303
|
results.sort((a, b) => a.distance - b.distance);
|
|
157
|
-
if (
|
|
158
|
-
results.splice(
|
|
304
|
+
if (resultLimit) {
|
|
305
|
+
results.splice(resultLimit);
|
|
159
306
|
}
|
|
160
307
|
return results.map((item) => item.dye);
|
|
161
308
|
}
|
|
162
|
-
catch {
|
|
309
|
+
catch (error) {
|
|
310
|
+
// CORE-REF-001 FIX: Log complete search failures (e.g., invalid input hex)
|
|
311
|
+
// These are unexpected and indicate caller provided bad input
|
|
312
|
+
console.warn(`[DyeSearch.findDyesWithinDistance] Search failed for hex "${hex}":`, error instanceof Error ? error.message : 'Unknown error');
|
|
163
313
|
return [];
|
|
164
314
|
}
|
|
165
315
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"DyeSearch.js","sourceRoot":"","sources":["../../../src/services/dye/DyeSearch.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"DyeSearch.js","sourceRoot":"","sources":["../../../src/services/dye/DyeSearch.ts"],"names":[],"mappings":"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"}
|
package/dist/types/index.d.ts
CHANGED
|
@@ -20,7 +20,7 @@ export { NoOpLogger, ConsoleLogger } from '@xivdyetools/logger/library';
|
|
|
20
20
|
/**
|
|
21
21
|
* @deprecated Removed in v2.0.0. Import directly from '@xivdyetools/types' instead.
|
|
22
22
|
*/
|
|
23
|
-
export type { RGB, HSV, LAB, OKLAB, OKLCH, LCH, HSL, HexColor, DyeId, Hue, Saturation } from '@xivdyetools/types';
|
|
23
|
+
export type { RGB, HSV, LAB, OKLAB, OKLCH, LCH, HSL, HexColor, DyeId, Hue, Saturation, } from '@xivdyetools/types';
|
|
24
24
|
/**
|
|
25
25
|
* @deprecated Removed in v2.0.0. Import directly from '@xivdyetools/types' instead.
|
|
26
26
|
*/
|
|
@@ -70,4 +70,65 @@ export type { Result, AsyncResult, Nullable, Optional } from '@xivdyetools/types
|
|
|
70
70
|
* @deprecated Removed in v2.0.0. Import directly from '@xivdyetools/types' instead.
|
|
71
71
|
*/
|
|
72
72
|
export { isOk, isErr } from '@xivdyetools/types';
|
|
73
|
+
/**
|
|
74
|
+
* Available color matching algorithms for finding closest dyes.
|
|
75
|
+
*
|
|
76
|
+
* - rgb: RGB Euclidean distance (fastest, least accurate)
|
|
77
|
+
* - cie76: CIE76 LAB Euclidean (fast, fair accuracy)
|
|
78
|
+
* - ciede2000: CIEDE2000 (industry standard, accurate)
|
|
79
|
+
* - oklab: OKLAB Euclidean (modern, simpler than ciede2000, CSS standard)
|
|
80
|
+
* - hyab: HyAB hybrid (best for large color differences/palette matching)
|
|
81
|
+
* - oklch-weighted: OKLCH with custom L/C/H weights (advanced)
|
|
82
|
+
*/
|
|
83
|
+
export type MatchingMethod = 'rgb' | 'cie76' | 'ciede2000' | 'oklab' | 'hyab' | 'oklch-weighted';
|
|
84
|
+
/**
|
|
85
|
+
* Configuration for OKLCH weighted matching.
|
|
86
|
+
* Allows users to prioritize different color attributes.
|
|
87
|
+
*/
|
|
88
|
+
export interface OklchWeights {
|
|
89
|
+
/** Lightness weight (default 1.0). Higher = prioritize brightness matching */
|
|
90
|
+
kL: number;
|
|
91
|
+
/** Chroma weight (default 1.0). Higher = prioritize saturation matching */
|
|
92
|
+
kC: number;
|
|
93
|
+
/** Hue weight (default 1.0). Higher = prioritize hue matching */
|
|
94
|
+
kH: number;
|
|
95
|
+
}
|
|
96
|
+
/**
|
|
97
|
+
* Color matching configuration options.
|
|
98
|
+
*/
|
|
99
|
+
export interface MatchingConfig {
|
|
100
|
+
/** The matching algorithm to use */
|
|
101
|
+
method: MatchingMethod;
|
|
102
|
+
/** Custom weights for oklch-weighted method (ignored for other methods) */
|
|
103
|
+
weights?: OklchWeights;
|
|
104
|
+
}
|
|
105
|
+
/**
|
|
106
|
+
* Default OKLCH weights for common matching presets.
|
|
107
|
+
*/
|
|
108
|
+
export declare const MATCHING_PRESETS: {
|
|
109
|
+
/** Equal weight to all attributes (default) */
|
|
110
|
+
readonly balanced: {
|
|
111
|
+
readonly kL: 1;
|
|
112
|
+
readonly kC: 1;
|
|
113
|
+
readonly kH: 1;
|
|
114
|
+
};
|
|
115
|
+
/** Prioritize matching the hue (color), tolerate brightness differences */
|
|
116
|
+
readonly matchHue: {
|
|
117
|
+
readonly kL: 0.5;
|
|
118
|
+
readonly kC: 0.8;
|
|
119
|
+
readonly kH: 2;
|
|
120
|
+
};
|
|
121
|
+
/** Prioritize matching brightness (for armor visibility) */
|
|
122
|
+
readonly matchBrightness: {
|
|
123
|
+
readonly kL: 2;
|
|
124
|
+
readonly kC: 1;
|
|
125
|
+
readonly kH: 0.5;
|
|
126
|
+
};
|
|
127
|
+
/** Prioritize matching saturation (find vibrant alternatives) */
|
|
128
|
+
readonly matchSaturation: {
|
|
129
|
+
readonly kL: 0.5;
|
|
130
|
+
readonly kC: 2;
|
|
131
|
+
readonly kH: 0.8;
|
|
132
|
+
};
|
|
133
|
+
};
|
|
73
134
|
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/types/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAEH;;GAEG;AACH,YAAY,EAAE,MAAM,EAAE,MAAM,6BAA6B,CAAC;AAC1D;;GAEG;AACH,OAAO,EAAE,UAAU,EAAE,aAAa,EAAE,MAAM,6BAA6B,CAAC;AAMxE;;GAEG;AACH,YAAY,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/types/index.ts"],"names":[],"mappings":"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"}
|
package/dist/types/index.js
CHANGED
|
@@ -26,4 +26,17 @@ export { ErrorCode, AppError } from '@xivdyetools/types';
|
|
|
26
26
|
* @deprecated Removed in v2.0.0. Import directly from '@xivdyetools/types' instead.
|
|
27
27
|
*/
|
|
28
28
|
export { isOk, isErr } from '@xivdyetools/types';
|
|
29
|
+
/**
|
|
30
|
+
* Default OKLCH weights for common matching presets.
|
|
31
|
+
*/
|
|
32
|
+
export const MATCHING_PRESETS = {
|
|
33
|
+
/** Equal weight to all attributes (default) */
|
|
34
|
+
balanced: { kL: 1.0, kC: 1.0, kH: 1.0 },
|
|
35
|
+
/** Prioritize matching the hue (color), tolerate brightness differences */
|
|
36
|
+
matchHue: { kL: 0.5, kC: 0.8, kH: 2.0 },
|
|
37
|
+
/** Prioritize matching brightness (for armor visibility) */
|
|
38
|
+
matchBrightness: { kL: 2.0, kC: 1.0, kH: 0.5 },
|
|
39
|
+
/** Prioritize matching saturation (find vibrant alternatives) */
|
|
40
|
+
matchSaturation: { kL: 0.5, kC: 2.0, kH: 0.8 },
|
|
41
|
+
};
|
|
29
42
|
//# sourceMappingURL=index.js.map
|
package/dist/types/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/types/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAMH;;GAEG;AACH,OAAO,EAAE,UAAU,EAAE,aAAa,EAAE,MAAM,6BAA6B,CAAC;
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/types/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAMH;;GAEG;AACH,OAAO,EAAE,UAAU,EAAE,aAAa,EAAE,MAAM,6BAA6B,CAAC;AAsBxE;;GAEG;AACH,OAAO,EAAE,cAAc,EAAE,WAAW,EAAE,SAAS,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AAwB9F,OAAO,EAAE,aAAa,EAAE,eAAe,EAAE,qBAAqB,EAAE,MAAM,oBAAoB,CAAC;AA6E3F;;GAEG;AACH,OAAO,EAAE,SAAS,EAAE,QAAQ,EAAE,MAAM,oBAAoB,CAAC;AAUzD;;GAEG;AACH,OAAO,EAAE,IAAI,EAAE,KAAK,EAAE,MAAM,oBAAoB,CAAC;AAyCjD;;GAEG;AACH,MAAM,CAAC,MAAM,gBAAgB,GAAG;IAC9B,+CAA+C;IAC/C,QAAQ,EAAE,EAAE,EAAE,EAAE,GAAG,EAAE,EAAE,EAAE,GAAG,EAAE,EAAE,EAAE,GAAG,EAAE;IACvC,2EAA2E;IAC3E,QAAQ,EAAE,EAAE,EAAE,EAAE,GAAG,EAAE,EAAE,EAAE,GAAG,EAAE,EAAE,EAAE,GAAG,EAAE;IACvC,4DAA4D;IAC5D,eAAe,EAAE,EAAE,EAAE,EAAE,GAAG,EAAE,EAAE,EAAE,GAAG,EAAE,EAAE,EAAE,GAAG,EAAE;IAC9C,iEAAiE;IACjE,eAAe,EAAE,EAAE,EAAE,EAAE,GAAG,EAAE,EAAE,EAAE,GAAG,EAAE,EAAE,EAAE,GAAG,EAAE;CACtC,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"kd-tree.d.ts","sourceRoot":"","sources":["../../src/utils/kd-tree.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH;;GAEG;AACH,MAAM,WAAW,OAAO;IACtB,CAAC,EAAE,MAAM,CAAC;IACV,CAAC,EAAE,MAAM,CAAC;IACV,CAAC,EAAE,MAAM,CAAC;IACV,IAAI,CAAC,EAAE,OAAO,CAAC;CAChB;AAiBD;;;GAGG;AACH,qBAAa,MAAM;IACjB,OAAO,CAAC,IAAI,CAAuB;IACnC,OAAO,CAAC,IAAI,CAAa;IAEzB;;;OAGG;gBACS,MAAM,EAAE,OAAO,EAAE;IAW7B;;;;;;OAMG;IACH,OAAO,CAAC,kBAAkB;IAoC1B;;OAEG;IACH,OAAO,CAAC,QAAQ;IAOhB;;;;;OAKG;IACH,eAAe,CAAC,MAAM,EAAE,OAAO,EAAE,WAAW,CAAC,EAAE,CAAC,IAAI,EAAE,OAAO,KAAK,OAAO,GAAG,OAAO,GAAG,IAAI;IAS1F;;OAEG;IACH,OAAO,CAAC,aAAa;
|
|
1
|
+
{"version":3,"file":"kd-tree.d.ts","sourceRoot":"","sources":["../../src/utils/kd-tree.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH;;GAEG;AACH,MAAM,WAAW,OAAO;IACtB,CAAC,EAAE,MAAM,CAAC;IACV,CAAC,EAAE,MAAM,CAAC;IACV,CAAC,EAAE,MAAM,CAAC;IACV,IAAI,CAAC,EAAE,OAAO,CAAC;CAChB;AAiBD;;;GAGG;AACH,qBAAa,MAAM;IACjB,OAAO,CAAC,IAAI,CAAuB;IACnC,OAAO,CAAC,IAAI,CAAa;IAEzB;;;OAGG;gBACS,MAAM,EAAE,OAAO,EAAE;IAW7B;;;;;;OAMG;IACH,OAAO,CAAC,kBAAkB;IAoC1B;;OAEG;IACH,OAAO,CAAC,QAAQ;IAOhB;;;;;OAKG;IACH,eAAe,CAAC,MAAM,EAAE,OAAO,EAAE,WAAW,CAAC,EAAE,CAAC,IAAI,EAAE,OAAO,KAAK,OAAO,GAAG,OAAO,GAAG,IAAI;IAS1F;;OAEG;IACH,OAAO,CAAC,aAAa;IAgDrB;;;;;;OAMG;IACH,oBAAoB,CAClB,MAAM,EAAE,OAAO,EACf,WAAW,EAAE,MAAM,EACnB,WAAW,CAAC,EAAE,CAAC,IAAI,EAAE,OAAO,KAAK,OAAO,GACvC,KAAK,CAAC;QAAE,KAAK,EAAE,OAAO,CAAC;QAAC,QAAQ,EAAE,MAAM,CAAA;KAAE,CAAC;IAa9C;;OAEG;IACH,OAAO,CAAC,oBAAoB;IA4C5B;;OAEG;IACH,OAAO,IAAI,MAAM;IAIjB;;OAEG;IACH,OAAO,IAAI,OAAO;CAGnB"}
|
package/dist/utils/kd-tree.js
CHANGED
|
@@ -119,11 +119,13 @@ export class KDTree {
|
|
|
119
119
|
if (nearChild) {
|
|
120
120
|
best = this.searchNearest(nearChild, target, depth + 1, best, excludeData);
|
|
121
121
|
}
|
|
122
|
-
// Check if we need to search far side
|
|
122
|
+
// CORE-BUG-003 FIX: Check if we need to search far side
|
|
123
|
+
// Search far side if:
|
|
124
|
+
// 1. best is null (no valid node found yet, far side might have one), OR
|
|
125
|
+
// 2. axis distance is within best.distance (far side might have closer match)
|
|
123
126
|
// Use <= to handle edge case where target is exactly on splitting plane
|
|
124
|
-
if (farChild
|
|
125
|
-
|
|
126
|
-
if (axisDistance <= best.distance) {
|
|
127
|
+
if (farChild) {
|
|
128
|
+
if (!best || Math.abs(targetValue - nodeValue) <= best.distance) {
|
|
127
129
|
best = this.searchNearest(farChild, target, depth + 1, best, excludeData);
|
|
128
130
|
}
|
|
129
131
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"kd-tree.js","sourceRoot":"","sources":["../../src/utils/kd-tree.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAYH;;GAEG;AACH,MAAM,MAAM;IAMV,YAAY,KAAc,EAAE,SAAiB;QAJ7C,SAAI,GAAkB,IAAI,CAAC;QAC3B,UAAK,GAAkB,IAAI,CAAC;QAI1B,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;QACnB,IAAI,CAAC,SAAS,GAAG,SAAS,CAAC;IAC7B,CAAC;CACF;AAED;;;GAGG;AACH,MAAM,OAAO,MAAM;IAIjB;;;OAGG;IACH,YAAY,MAAiB;QAPrB,SAAI,GAAkB,IAAI,CAAC;QAC3B,SAAI,GAAW,CAAC,CAAC;QAOvB,IAAI,MAAM,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACtB,2EAA2E;YAC3E,8EAA8E;YAC9E,gDAAgD;YAChD,MAAM,OAAO,GAAG,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC;YACxC,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC,kBAAkB,CAAC,MAAM,EAAE,OAAO,EAAE,CAAC,CAAC,CAAC;YACxD,IAAI,CAAC,IAAI,GAAG,MAAM,CAAC,MAAM,CAAC;QAC5B,CAAC;IACH,CAAC;IAED;;;;;;OAMG;IACK,kBAAkB,CAAC,MAAiB,EAAE,OAAiB,EAAE,KAAa;QAC5E,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YACzB,OAAO,IAAI,CAAC;QACd,CAAC;QAED,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YACzB,OAAO,IAAI,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,EAAE,KAAK,GAAG,CAAC,CAAC,CAAC;QACnD,CAAC;QAED,mDAAmD;QACnD,MAAM,SAAS,GAAG,KAAK,GAAG,CAAC,CAAC;QAE5B,6FAA6F;QAC7F,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE;YACpB,MAAM,MAAM,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC;YACzB,MAAM,MAAM,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC;YACzB,MAAM,IAAI,GAAG,SAAS,KAAK,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,KAAK,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC;YAChF,MAAM,IAAI,GAAG,SAAS,KAAK,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,KAAK,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC;YAChF,OAAO,IAAI,GAAG,IAAI,CAAC;QACrB,CAAC,CAAC,CAAC;QAEH,cAAc;QACd,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;QAC9C,MAAM,WAAW,GAAG,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC;QAE5C,cAAc;QACd,MAAM,IAAI,GAAG,IAAI,MAAM,CAAC,WAAW,EAAE,SAAS,CAAC,CAAC;QAEhD,+DAA+D;QAC/D,4EAA4E;QAC5E,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC,kBAAkB,CAAC,MAAM,EAAE,OAAO,CAAC,KAAK,CAAC,CAAC,EAAE,MAAM,CAAC,EAAE,KAAK,GAAG,CAAC,CAAC,CAAC;QACjF,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,kBAAkB,CAAC,MAAM,EAAE,OAAO,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC,EAAE,KAAK,GAAG,CAAC,CAAC,CAAC;QAEnF,OAAO,IAAI,CAAC;IACd,CAAC;IAED;;OAEG;IACK,QAAQ,CAAC,EAAW,EAAE,EAAW;QACvC,MAAM,EAAE,GAAG,EAAE,CAAC,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC;QACvB,MAAM,EAAE,GAAG,EAAE,CAAC,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC;QACvB,MAAM,EAAE,GAAG,EAAE,CAAC,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC;QACvB,OAAO,IAAI,CAAC,IAAI,CAAC,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,CAAC,CAAC;IAChD,CAAC;IAED;;;;;OAKG;IACH,eAAe,CAAC,MAAe,EAAE,WAAwC;QACvE,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC;YACf,OAAO,IAAI,CAAC;QACd,CAAC;QAED,MAAM,IAAI,GAAG,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,IAAI,EAAE,MAAM,EAAE,CAAC,EAAE,IAAI,EAAE,WAAW,CAAC,CAAC;QACzE,OAAO,IAAI,EAAE,KAAK,IAAI,IAAI,CAAC;IAC7B,CAAC;IAED;;OAEG;IACK,aAAa,CACnB,IAAmB,EACnB,MAAe,EACf,KAAa,EACb,IAAiD,EACjD,WAAwC;QAExC,IAAI,CAAC,IAAI,EAAE,CAAC;YACV,OAAO,IAAI,CAAC;QACd,CAAC;QAED,MAAM,SAAS,GAAG,IAAI,CAAC,SAAS,CAAC;QACjC,MAAM,SAAS,GACb,SAAS,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC;QACjF,MAAM,WAAW,GAAG,SAAS,KAAK,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,KAAK,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC;QAEvF,kCAAkC;QAClC,IAAI,CAAC,WAAW,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC;YAClD,MAAM,IAAI,GAAG,IAAI,CAAC,QAAQ,CAAC,MAAM,EAAE,IAAI,CAAC,KAAK,CAAC,CAAC;YAC/C,IAAI,CAAC,IAAI,IAAI,IAAI,GAAG,IAAI,CAAC,QAAQ,EAAE,CAAC;gBAClC,IAAI,GAAG,EAAE,KAAK,EAAE,IAAI,CAAC,KAAK,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;YAC/C,CAAC;QACH,CAAC;QAED,uCAAuC;QACvC,MAAM,MAAM,GAAG,WAAW,GAAG,SAAS,CAAC;QACvC,MAAM,SAAS,GAAG,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC;QAClD,MAAM,QAAQ,GAAG,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC;QAEjD,mBAAmB;QACnB,IAAI,SAAS,EAAE,CAAC;YACd,IAAI,GAAG,IAAI,CAAC,aAAa,CAAC,SAAS,EAAE,MAAM,EAAE,KAAK,GAAG,CAAC,EAAE,IAAI,EAAE,WAAW,CAAC,CAAC;QAC7E,CAAC;QAED,
|
|
1
|
+
{"version":3,"file":"kd-tree.js","sourceRoot":"","sources":["../../src/utils/kd-tree.ts"],"names":[],"mappings":"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"}
|
package/dist/version.d.ts
CHANGED
package/dist/version.js
CHANGED
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@xivdyetools/core",
|
|
3
|
-
"version": "1.
|
|
3
|
+
"version": "1.14.0",
|
|
4
4
|
"description": "Core color algorithms and dye database for XIV Dye Tools",
|
|
5
5
|
"main": "dist/index.js",
|
|
6
6
|
"types": "dist/index.d.ts",
|
|
@@ -76,8 +76,8 @@
|
|
|
76
76
|
"node": ">=18.0.0"
|
|
77
77
|
},
|
|
78
78
|
"dependencies": {
|
|
79
|
-
"@xivdyetools/logger": "^1.0
|
|
80
|
-
"@xivdyetools/types": "^1.
|
|
79
|
+
"@xivdyetools/logger": "^1.1.0",
|
|
80
|
+
"@xivdyetools/types": "^1.7.0",
|
|
81
81
|
"spectral.js": "^3.0.0"
|
|
82
82
|
},
|
|
83
83
|
"lint-staged": {
|
|
@@ -86,4 +86,4 @@
|
|
|
86
86
|
"prettier --write"
|
|
87
87
|
]
|
|
88
88
|
}
|
|
89
|
-
}
|
|
89
|
+
}
|