2.9 KiB
Weighted color similarity v1
weighted-color-similarity-v1 is additive. It does not modify color-similarity-v1.
Palette transport
For weighted palettes A and B, the transport component minimizes:
sum(i,j) flow(i,j) * EuclideanOKLab(colorA_i, colorB_j)
subject to every source color shipping its full weight and every target color receiving its full weight. The implementation uses deterministic exact min-cost flow on the tiny complete bipartite palette graph. It is symmetric, order-independent and zero for identical weighted palettes.
Profile components
The frozen profile prioritizes palette transport and weighted centroid, with smaller spread,
chroma-variation, hue-concentration and dominant-weight modifiers. Each raw component is divided
by its P95 from a fixed 10,000-pair eligible sample and clipped to [0,1]. Optional achromatic hue
is omitted symmetrically and active weights are renormalized.
The exact weights, scales, input hashes and calibration distributions live in
similarity-profiles-v2.json. Search is exact across every weighted-eligible entity; no ANN or
two-stage candidate heuristic is used unless later measurement justifies it.
smk similar KMS8892 --profile weighted-color --limit 10
The final KMS8892 palette, neighbors, comparison with bulk color v1 and measured query performance
are stored in weighted-similarity-summary-v1.json.
Frozen profile and calibration
| Component | Weight | P95 scale |
|---|---|---|
| weighted centroid OKLab | 0.30 | 0.5000 |
| palette transport OKLab | 0.40 | 0.5092 |
| weighted palette spread | 0.12 | 0.6770 |
| weighted chroma variation | 0.08 | 0.7015 |
| weighted hue concentration | 0.05 | 0.2470 |
| dominant-weight difference | 0.05 | 0.8083 |
Transport distance over 10,000 deterministic pairs has median 0.1738, P90 0.3968, P95 0.5092 and P99 0.6614. Exact full-corpus KMS8892 search takes about 12.3 seconds locally. A scalar prefilter is not adopted: only five weighted top-10 results occur in the bulk color top 200, six in the top 500 or 1,000, and one has bulk rank 6,295. Candidate reranking would therefore miss genuine weighted neighbors.
KMS8892
The enrichment palette contains 500 tokens:
| Color | Tokens | Weight |
|---|---|---|
#908d41 |
120 | 0.240 |
#fff1dc |
103 | 0.206 |
#aed7ea |
94 | 0.188 |
#ceeae5 |
89 | 0.178 |
#b7ac3e |
33 | 0.066 |
#888888 |
31 | 0.062 |
#795025 |
26 | 0.052 |
Weighted centroid OKLab is (0.7914, -0.0176, 0.0340). Dominant color is #908d41; entropy is
1.8014, effective palette size 6.0579, spread 0.1549 and hue concentration 0.6577.
Its weighted top 10 are KMS5549, KMS1851, KKS11245/58, KKS5936d, KKS16225a, KKSgb18373, KKSgb8443, KKSgb7517, KKSgb13592 and KMS4209, with distances 0.1060–0.1274. Overlap with the bulk color-v1 top 10 is zero. The ranking change follows the newly informative token-frequency mass and palette transport, rather than a changed corpus or overwritten v1 feature.