research(050): auto-detected procedural relief presets from one photo - #136
Merged
Merged
Conversation
Preset bank (6 categories x <=3 knobs, tileable, grounded in the generator's own relief families) + one-photo auto-detector (VLM multiple-choice category + classical/VLM knob bins + T-pseudo-normal), synthetic holdout validation, real corpus board, and an end-to-end three.js A/B (GT vs procedural preset vs off). Honest finding: from one photo the coarse relief character is only weakly detectable (holdout fine ~0.50-0.58, coarse ~0.50-0.67, stochastic; only smooth+ripple reliable across runs) and the fine sub-label + numeric knobs are not; a bigger model (sonnet) is worse, so it is single-photo ambiguity, not capacity. The A/B shows the bank's preset for the right coarse group ties with GT perceptually. Recommend shipping the coarse path (flat/directional/textured default) + T-blend on streaky, not a fragile 6-way + knob pick. Raw renders/assets gitignored (deterministically regenerable); boards + JSON committed. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Deploying vitrai with
|
| Latest commit: |
4c0dd3e
|
| Status: | ✅ Deploy successful! |
| Preview URL: | https://35e1641a.vitrai.pages.dev |
| Branch Preview URL: | https://research-delighting-050-auto.vitrai.pages.dev |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
What
Makes the glass preview's surface-relief effect (kept as a presentation-layer effect per 047's decision) driven by a preset picked automatically from one user photo, per the CTO's hard requirement (no trying 8 settings).
Delivers:
render050/relief_presets.py) — 6 categories × ≤3 knobs (smooth, hammered, granite, seedy, ripple, rolling_wave), procedural, deterministic, tileable (band-limited Fourier noise + wrapped seed-stamps). Taxonomy grounded 1:1 in the generator's owngenerate_relief_heightfamilies + real corpus classes. Board:results/050/board_preset_bank.jpg.render050/detect_relief.py) — VLM multiple-choice category (claudeCLI, haiku, direction-first prompt — the validated classifier pattern) + classical and VLM knob bins (compared) + a T-derived pseudo-normal blend component.gen050_*,score050.py) — front-lit volumetric-slab "user photos" of recipes with known authored relief; scored with holdout discipline (seed 6001 tune / 7001-7002 holdout).board_real.py) — corpus/wild sheets + the CTO's difficult photo.results/050/board_real_detection.jpg.model050.html,drive050_ab.py) — the 047 scene in real three.jsMeshPhysicalMaterial: GT normal | procedural preset | off.results/050/board_ab_normal.jpg.Honest finding (negative-ish, characterized)
From one photo, the coarse relief character is only weakly detectable and the fine sub-label + numeric knobs are not:
smoothandrippleare reliable across both runs.Recommendation
Ship auto-detection for the axis one photo supports (flat? directional/streaky?), default the rest to a single
texturedpreset (hammered, medium knobs) + T-blend on streaky. Satisfies "no 8 settings" while being honest about the fine limit. Full details inreports/050-auto-relief-presets.md.Raw renders/assets gitignored (deterministically regenerable); boards + JSON committed. Do not merge — for lab-lead review.
🤖 Generated with Claude Code