Entity.ID · working files

Mercury explorations — drafts & scratch index

Every temporary asset behind the Mercury-inspired work: the two shipped pages (v9-mercury, v10-hero-zoom), the photos we auditioned and rejected, the laptop-composite and scroll-zoom probe frames, and the teardown of mercury.com's own hero. One page so nothing is lost.

Last updated 2026-07-08 · assets catalogued · served at entity-review.agent.drhus.com/drafts/mercury/

In-use — assets on the shipped pages

v9 + v10

These are live, not drafts — kept here so the index shows what every scratch file was reaching toward. Open the real pages:

v10 · scene-group.jpg
Chosen hero: pine-forest picnic table, 4 founders (2 women), neutral mix. Laptop composited mid-table.
live
v10 · one.html render
The full mechanic: static Entity.ID dashboard mapped onto the laptop screen, pre-zoom state.
live
v9 · u-hero2.jpg
v9-mercury full-bleed hero photograph.
live
v9 · u-founders.jpg
Founders section photo.
live
v9 · u-laptop-pair.jpg
Two-up working shot.
live
v9 · u-handshake2.jpg
Handshake / partnership beat.
live
v9 · shot-overview.png
Dashboard screenshot baked into the light product bands (also the laptop-screen texture in v10).
live
v9 · shot-fundraising.png
Fundraising view screenshot.
live
v9 · shot-finance.png
Treasury / finance screenshot.
live
v9 · shot-compliance.png
Compliance view screenshot.
live
v9 · shot-wizard.png
Formation wizard screenshot.
live

v10 hero scene — the recast trail

5 auditioned → 1 chosen

The laptop-zoom hero needs a real outdoor photo of a founder group with a mappable open laptop. No single stock frame satisfied every constraint (group · in nature · neutral-European mix · someone standing · a laptop we can composite onto). Below is the full audition trail with why each was cut.

scene-group.jpg
CHOSEN. Sunlit pine forest, picnic table, 4 people incl. 2 women, neutral mix. Laughing woman gestures over the composited MacBook. Tradeoff: nobody standing.
in use
scene-group-alt.jpg
Kept as the fallback alt. Lakeside group — earlier pick, demographic skew flagged; superseded but retained for comparison.
alt / standby
scene-terrace.jpg
First candidate. Two South-Asian people at a terrace — didn't read as "group in nature." Recast.
rejected
scene-terrace-alt.jpg
Terrace variant — same "not nature / pair not group" problem.
rejected
scene-ridge.jpg
Mountain-ridge group — great nature, but no table/laptop surface to zoom into.
rejected
hand-cutout.png
Foreground hand/prop cutout used to re-paste depth over the composited laptop.
scratch part
Open question for you: accept scene-group (no one standing) · switch to scene-group-alt · or commission a real photoshoot / AI image with the exact standing-discussion composition. This page is where new candidates will land when we try again.

Laptop-composite trials

scratch

Fitting a static dashboard screenshot onto the photo's laptop screen with a matrix3d transform — the corner-mapping trials before the quad locked to [[1152,2298],[1636,2286],[1648,2628],[1130,2640]].

c6-laptop.png
Composite candidate 6 — earlier screen-corner mapping.
scratch
c9-laptop.png
Composite candidate 9 — refined perspective / glare.
scratch
c9-laptop2.png
Candidate 9, second pass — screen brightness/contrast tuning.
scratch
one-composite-probe.png
Final one.html render — the composite that shipped.
→ live

Scroll-zoom probe frames

scratch

Playwright captures at fixed scroll offsets while tuning the zoom curve and the pixel-aligned crossfade to full-bleed dashboard (y = desktop scrollY, m = mobile).

zoom-y0.png
Rest state, scrollY 0.
scratch
zoom-y400.png
Mid-zoom, 400px.
scratch
zoom-y900.png
Near lock, 900px.
scratch
zoom-y1800.png
Handoff to full dashboard, 1800px.
scratch
zoom-m0.png
Mobile rest — static fallback.
scratch
zoom-m700.png
Mobile scrolled — "See the dashboard" tap.
scratch

mercury.com hero — teardown reference

source material

The original we reverse-engineered: Mercury's login hero is a scroll-scrubbed pre-rendered MP4 (not CSS), with the dashboard texture baked in. We pulled their actual video and captured the hero at scroll positions. Full write-up: mercury-hero-analysis.md.

hero-scrub-sm.mp4
Mercury's own scrub video (small). The mechanic we studied.
their asset
hero-scrub-lg.mp4
Mercury's scrub video (large / retina).
their asset
mercurycom-scroll-0.png
Their hero at scrollY 0 (live capture).
reference
mercurycom-scroll-500.png
Mid-zoom.
reference
mercurycom-scroll-900.png
Approaching dashboard lock.
reference
mercurycom-scroll-1400.png
White section handoff.
reference
hero_start_frame_xl.jpg
Extracted first frame of their scrub video.
reference
hero_end_frame_xl.jpg
Extracted final frame (full dashboard).
reference
demo-mercury.jpg
demo.mercury.com — reference for Dashboard-UI-Demo.
reference

Plus 12 evenly-spaced frames from their scrub video and the raw DOM/style dumps (dom-dump.json, headline-states.json, scrub-probe.json) in brand/research/mercury-hero/.

Unsplash candidate pool

Everything the photo hunt surfaced for the v10 outdoor-founders hero, grouped by search query. Thumbnails load live from the Unsplash CDN. Source of truth: unsplash-candidate-pool.json.

Generation scripts

provenance

The Playwright / tooling scripts that produced the captures above — kept so any frame is reproducible.

scripts/study-mercury.tsLoads mercury.com, dumps hero DOM + scroll captures.
scripts/mercury-probe.tsProbes the scrub-video element + currentTime↔scroll binding.
scripts/mercury-scrub2.ts · mercury-scrub3.tsPull their scrub MP4 + extract evenly-spaced frames.
scripts/mercury-headline.tsCaptures the headline word-swap states over scroll.
scripts/unsplash-hunt.tsQuery-based Unsplash grid scraper → the candidate pool JSON.
scripts/v9-shots.tsRenders the demo-app dashboard screenshots baked into v9/v10.
scripts/check-zoom.tsFixed-offset zoom-curve capture harness (the zoom-y*/zoom-m* frames).