Keyboard shortcuts

Press or to navigate between chapters

Press S or / to search in the book

Press ? to show this help

Press Esc to hide this help

Scoring Model

The score is a weighted sum of five well-defined metrics. Contrast density and contrast intensity combine into a single contrast term because strong contrast requires both; the remaining terms are linear for clarity.

What goes in

  • Metrics — Average Brightness, Contrast Density, Contrast Intensity, Scintillation Score, Compactness, and Shannon Entropy. Each is compared to the Hearts & Arrows reference; values above 1.0 mean “better than the reference”.
  • Weights — The six sliders (averageBrightness, contrastDensity, contrastIntensity, scintillationScore, compactness, shannonEntropy). Weights are always treated as zero or higher.

How the score is built

  1. Normalize the metrics
    Everything is turned into a ratio vs the reference. If a metric is better than the reference, we keep it above 1.0 but gently squash it so runaway values don’t dominate.

  2. Make contrast a single value
    Contrast density and intensity are blended with a geometric mix (think “both must be good, one can’t carry the other”). If both contrast sliders are equal, this behaves like the square root of (density × intensity). If one slider is higher, that side is favored—but a weak partner still drags the contrast term down.

  3. Set the overall weights
    The two contrast sliders also decide how important contrast is overall: their average becomes the contrast weight. Brightness, scintillation, compactness, and contrast weights are then scaled so they always sum to 1 (extras are included the same way).

  4. Take the weighted sum
    Final score = brightness part + contrast part + scintillation part + compactness part. Higher numbers mean closer to, or better than, the reference cut.

Notes

  • The contest verifier, optimizer, and UI all share this exact formula, so what you see is what gets verified.