Moodboardoffline run · 009fd9b7中文

MOODBOARD

Visual coherence measurement

Designers rarely describe a look in words. They put a handful of references on a wall and say: like this. This page is about measuring “like this”. A style board is built from eight reference paintings. It learns what they share and gives any new image a score for how well it fits. Everything on this page comes from one offline run of the open-source moodboard engine; methods and hashes are printed at the end.

The five sections below are one loop, not five demos: a board defines the look, scoring turns fit into a number with honest uncertainty, an edit is generated and held to exactly the pixels it promised, preference moves only when the system is deliberately retrained, and intent decides which references an edit consults in the first place. References flow out to the generator; judgments flow back into the taste. The loop is the system.

8reference paintings
4effective sources
24scoring candidates
5linked stages

The board

Eight public-domain references define the board: four by Claude Lorrain and four by Vincent van Gogh. The board reduces them to a shared representation of palette, tone, and composition. Several references sit close together in that space, so the board counts an effective 4 sources rather than eight.

ford
ford
pastoral
pastoral
sunrise
sunrise
trojan women
trojan women
cypresses
cypresses
flowering orchard
flowering orchard
olive trees
olive trees
wheat field
wheat field

Scoring new work

Each reference is transformed three ways: kept as is, mirrored, and center-cropped to ninety percent. That gives twenty-four candidates for the board to place. The full ranking is the table below: one row per painting, one column per variant, each cell the rank and score the board assigns. The score is a conformal p-value: how hard the candidate is to tell apart from the board’s own style, where 1.000 means indistinguishable. The bracket is a 90 percent band from leave-one-out resampling.

paintingas ismirroredcropped 90%
cypresses#1 · 1.000
[0.71, 1.00]
#10 · 0.889
[0.50, 0.88]
#18 · 0.778
[0.29, 0.75]
flowering orchard#1 · 1.000
[1.00, 1.00]
#10 · 0.889
[0.79, 0.88]
#18 · 0.778
[0.59, 0.88]
olive trees#1 · 1.000
[0.92, 1.00]
#1 · 1.000
[0.92, 1.00]
#1 · 1.000
[0.88, 1.00]
sunrise#1 · 1.000
[0.84, 1.00]
#10 · 0.889
[0.75, 0.88]
#10 · 0.889
[0.62, 0.88]
wheat field#1 · 1.000
[0.63, 1.00]
#1 · 1.000
[0.84, 1.00]
#1 · 1.000
[0.84, 1.00]
ford#18 · 0.778
[0.34, 0.88]
#18 · 0.778
[0.25, 0.75]
#10 · 0.889
[0.25, 0.88]
pastoral#10 · 0.889
[0.46, 0.88]
#10 · 0.889
[0.42, 0.88]
#10 · 0.889
[0.29, 0.88]
trojan women#23 · 0.111
[0.17, 0.25]
#22 · 0.222
[0.17, 0.25]
#23 · 0.111
[0.12, 0.12]

Derivatives of the Trojan Women score lowest even though the painting itself sits on the board. The score follows the consensus of all eight references, and membership alone does not buy fit.

One region changes, the rest is preserved

Replace only the selected apple tree with a mature lemon tree. Preserve the scene outside the confirmed rectangle, camera geometry, and lighting.

The raw generator output repainted parts of the scene it was told to leave alone. Similarity outside the mask came to 0.175 against a 0.950 threshold, so it was rejected. The pipeline then cut the region, generated only that block, and composited it back. Outside the mask, zero of 432,192 pixels changed.

Source photograph
Source · 1280 × 960 · confirmed rectangle outlined; outside it is the protected region
Raw generator output, rejected
Raw output · red wash = pixels outside the rectangle it changed anyway · SSIM 0.175 · REJECTED
Cutout composite, kept
Cutout composite · green rectangle = only region regenerated; outside untouched, zero of 432,192 pixels changed · KEPT

Generator outputs were captured from Adobe Firefly web. The preserved-outside result is a deterministic property of the compositor, and the artifact records it as that rather than as a claim about the generator.

Preference moves only when retrained

The board’s ranking model is a small pairwise model over frozen embeddings. Snapshot A trains on 64 recorded judgments and is published immutably at event 112. Then 96 judgments under a different labeling policy are appended, and snapshot B is retrained and published separately at event 208. A’s predictions do not change.

Three of the eight recorded disagreement pairs. In each pair the two policies chose opposite winners; the number is the model’s probability for the policy-B choice, before and after the retrain.

ford
ford
policy B’s choice
wheat field · crop
wheat field · crop
policy A’s choice
p(policy-B choice) 1.93e-32 → 0.5023
sunrise
sunrise
policy A’s choice
cypresses · crop
cypresses · crop
policy B’s choice
p(policy-B choice) 0 → 0.5021
flowering orchard
flowering orchard
policy A’s choice
olive trees · mirror
olive trees · mirror
policy B’s choice
p(policy-B choice) 0.00198 → 0.5003

On 8 held-out pairs where the two policies disagree, the model’s probability for the policy-B choice moves from 0.02 percent to 50.1 percent. The judgment labels are simulated policy rules and the artifact discloses that. The claim is only that measured taste moved, and that it moved through an explicit retrain rather than a silent update.

Intent decides what an edit consults

Retrieval is the step that starts every edit. The stated intent is parsed into a retrieval namespace with a hard collection filter, and candidates are ranked by exact cosine similarity of visual embeddings within that collection. The top-ranked references are the context images the generator consults. Both intents below operate on the same source photograph and draw from the same library; their retrieved top-three sets share zero images.

Source photograph
Source photograph · the same image for both intents
Replace only the selected apple tree with a mature lemon tree. Preserve the scene outside the confirmed rectangle, camera geometry, and lighting.

filter: collection fruit-lemon · exact cosine over visual embeddings · 4 references consulted

fruit_lemon_santa_clara
fruit_lemon_santa_clara
score 0.8433 · rank 4
fruit_lemon_detail
fruit_lemon_detail
score 0.7921 · rank 5
fruit_lemon_menton
fruit_lemon_menton
score 0.7569 · rank 6
fruit_lemon_argos
fruit_lemon_argos
score 0.7482 · rank 7
Restyle the complete scene as a luminous Claude Lorrain pastoral painting while preserving the source composition and subject relationships.

filter: collection style-claude-lorrain · exact cosine over visual embeddings · 4 references consulted

style_claude_sunrise
style_claude_sunrise
score 0.7711 · rank 3
style_claude_pastoral
style_claude_pastoral
score 0.7630 · rank 4
style_claude_ford
style_claude_ford
score 0.7551 · rank 5
style_claude_trojan_women
style_claude_trojan_women
score 0.6123 · rank 8

The same restyle intent was then generated twice, and the two prompts are reproduced verbatim below. Without references, the prompt compensates with a paragraph of hand-written style vocabulary. With the three top-ranked retrieved references attached as context images, the prompt is one sentence — the references carry the style. The pixel cosine measures closeness to the source photograph only; it is a composition check, not a style score. Both runs are recorded with their provenance.

Restyle, prompt only, no references attached
Prompt only · no reference images attached · pixel cosine to source 0.899
prompt — Transform the entire photograph into a luminous 17th-century classical pastoral oil painting in the spirit of Claude Lorrain. Preserve the exact apple tree silhouette, trunk position, lake shoreline, birch trees, horizon, camera viewpoint, and 4:3 composition. Change only the visual medium: warm golden-hour atmosphere, layered glazing, soft sfumato distance, restrained earth pigments, subtle canvas texture, and museum-quality oil brushwork. No frame, no text, no people, no added buildings or animals.
Restyle conditioned on the three retrieved references
With retrieved references · top-3 Lorrain references attached as context · pixel cosine to source 0.831
prompt — Restyle the complete scene as a luminous Claude Lorrain pastoral painting while preserving the source composition and subject relationships.

The reference-conditioned output sits further from the source pixels precisely because it commits to the retrieved look — the golden atmosphere comes from the references, not from the prompt. Descriptive diagnostics, not acceptance gates. Routing here is a structural check; it makes no claim about learned retrieval quality.