COLOR STUDY / RESEARCH NOTEBOOKASSIGNMENT 02

RECONSTRUCTING ONE RULE

How does a color
become a category?

Three colors. Three lightness values. One contrast decision.

This model only classifies lightness contrast. It does not identify a season or recommend what looks good on someone.

01 Represent the inputs

Choose colors or enter HEX values. The labels are assigned by you; the model does not detect a face.

Example A loaded. Change a color to experiment.

02 Make the rule visible

The category boundaries

LowΔL* < 25
Medium25 ≤ ΔL* < 50
HighΔL* ≥ 50

These are designer-chosen experimental thresholds, not validated personal color analysis standards. Classification uses unrounded values.

CONTROLLED EXPERIMENT

Three inputs, one changing variable.

Download test data ↓

Only the value labeled “skin” changes. Hair and eye inputs remain fixed. These are synthetic color tests, not photographs of people or simulations of particular lighting conditions.

Recorded runs of the same calculation used above. Select a row’s replay button to reproduce its result.
TestSkin / hair / eyesSkin L*Hair L*Eyes L*ΔL*ResultReplay

WHAT THE RECONSTRUCTION REVEALS

Five observations

  1. The system accepts values, not people. Grayscale inputs labeled “skin” still produce a category. It never verifies that they represent skin.
  2. A single input can change the judgment. With hair and eyes fixed, changing the skin input moves the result from Low to Medium to High.
  3. The middle value disappears from the decision. Eyes are between the darkest and lightest values in all three runs. Only the extremes determine the range.
  4. Categories are a choice added to measurement. The numerical difference is continuous; the chosen boundaries at 25 and 50 divide it into three names.
  5. The result loses context. The calculation cannot tell whether an input changed because of lighting, selection, or appearance. Two decimal places do not establish reliable knowledge about a person.
Method, limitations & credits

Each six-digit HEX value is treated as sRGB. RGB channels are linearized, then converted to relative luminance Y using D65 coefficients. CIELAB L* is calculated from Y. Contrast is defined here as max(L*) − min(L*), not WCAG text contrast. Hue, chroma, facial area, personal taste, cultural context, and camera calibration are excluded.

Concept: the author’s personal color analysis system map. Implementation and synthetic test execution: OpenAI Codex. Built with HTML, CSS, JavaScript, and browser color inputs; no external analysis library. Hosting: OpenAI Sites. Classification thresholds were chosen for this experiment.

Download presentation notes ↓Assignment 2 only · Reconstruction, not a validated assessment