${mu.hex}
${renderStatRow(
[
["α =", scores.total.alpha.toFixed(3)],
["σ =", scores.total.sigma.toFixed(3)],
["Θ =", scores.total.bigTheta.toFixed(3)],
["θ =", scores.total.theta.toFixed(3) + "°"],
["ϕ =", scores.total.phi.toFixed(3) + "°"],
].map(([lbl, val]) => renderStatPair(lbl, val))
)}
${renderStatRow(
[
["δ =", scores.total.delta.toFixed(3)],
["M =", scores.total.manhattan.toFixed(3)],
["Ч =", scores.total.ch.toFixed(3)],
["ℓ =", scores.total.lightnessDiff.toFixed(3)],
].map(([lbl, val]) => renderStatPair(lbl, val))
)}
${renderStatRow(
[
[
"μ =",
`(${mu.vector.map((c) => c.toFixed(2)).join(", ")})`,
"vector",
],
["ν =", `(${nu.map((c) => c.toFixed(2)).join(", ")})`, "vector"],
].map(([lbl, val, cls]) => renderStatPair(lbl, val, cls))
)}
${renderStatRow(
[
["I =", scores.total.inertia.toFixed(2)],
["V =", scores.total.variance.toFixed(2)],
["Φ =", scores.total.muNuAngle.toFixed(2) + "°"],
["N =", size],
["L =", scores.total.lightness.toFixed(2)],
["C =", scores.total.chroma.toFixed(2)],
].map(([lbl, val, cls]) => renderStatPair(lbl, val, cls))
)}
${
bestClusterIndex < 0
? ""
: `
`
}
${renderStatRow([
`${
bestClusterIndex === 0 ? "▼" : ""
}`,
`${
bestClusterIndex === 1 ? "▼" : ""
}`,
`${
bestClusterIndex === 2 ? "▼" : ""
}`,
`${
bestClusterIndex === 3 ? "▼" : ""
}`,
])}
${clusters
.map((c, i) =>
renderPokemonTileCluster(`cls${i + 1}`, c, scores.clusters[i])
)
.join("\n")}