Crocus Fields Return to the count

Field note / build anatomy

The making of
one gram.

A practical account of how a dawn field, an unforgiving ratio and three draggable crimson lines became an interface about value.

field ratio150flowers / 1 g

The concept

Crocus Fields makes the visitor perform a product story as labour. The page opens before direct sun reaches a saffron field and leads with people bent over the crop, not a jar or sales claim. Field notes, picker names, row numbers, grading codes and recipe counts make beauty credible through evidence.

The premise is tactile: saffron feels expensive only after a thumb counts what one gram requires. Gather 1 flower, remove 3 stigmas, then watch the ledger move by just one hundred-and-fiftieth. That nearly invisible movement is the argument.

01 / fieldPick 1
02 / macroPluck 3
03 / ledgerFill 1/150

The visual machinery

Pick, carry, pluck

makeField() in main.js plants 22 accessible buttons at deterministic points over SVG furrows. pickFlower() parts the petals, sends a CSS bloom toward the macro panel and locks the field. Captured Pointer Events give mouse, pen and touch the same drag path; keyboard activation calls pluckStigma() directly.

completeBloom() applies flowers ÷ 150, updates the ARIA progress value, the cross-panel readout and a 150-notch tally. “Next furrow” replants the field without erasing the session.

Dawn, cloth & thread

Local field.jpg receives indigo veils and a gold horizon line. Holding #lightProof adds .is-daylight, warming and bleaching that same frame to show why the harvest outruns direct sun. The remaining visuals are CSS or inline SVG: macro petals, basket weave, scale pans, fingerprint ridges, glass vials and a crimson timeline.

01 · GPT Image 2 still02 · Higgsfield handoff03 · Kling 3.0 loop

Generated image, local delivery

The establishing frame was created with GPT Image 2 through Higgsfield. The collection’s motion workflow carries the locked still into Kling 3.0 for a matching ambient loop, then stores exports locally beside the site. This room’s supplied /assets/gen/saffron/field.jpg is loaded directly, with declared dimensions and no outside request. Every other visual remains code-generated.

The fraud test

The water button toggles .is-testing on #testBench. CSS plumes make dyed fibre flood quickly while genuine threads release gold slowly and stay red. The timer stops when the page is hidden; prefers-reduced-motion collapses ambient movement.

Palette & type

Indigo is structural cloth. Crocus violet carries petals; dawn rose softens transitions; crimson marks consequential actions; gold belongs to weighing, proof and warm water.

Indigo
#26324e
Crocus
#8a6bb5
Dawn rose
#e3a09d
Thread
#c22e2e
Scale gold
#d5aa50
Instrument SerifDisplay / 400 & italic
MANROPE 700Body / data / controls

Instrument Serif carries agricultural romance in asymmetric italics. Manrope keeps facts, controls and lot codes unambiguous. Both are self-hosted.

Reproduce this

Give an AI agent a material, a real conversion ratio and one bodily action that reveals it. Require a dominant dark field, one botanical colour, one narrow accent and code-built evidence. Name exact responsive widths, accessibility constraints and reduced-motion behaviour before polish.

“Build an editorial field-to-table story around one unforgiving unit of labour. Make the visitor perform the conversion with a tactile, keyboard-accessible interaction. Use one serif for emotion, one sans for evidence, a coded material test, an asymmetric chronology and a progress indicator that tells the truth rather than rewarding quickly.”

Test with pointer and keyboard at phone, tablet and desktop widths. A clean console proves stability; only looking proves composition.