Photo3D · Decision Sheet · 2026-07-08
An audit across every Photo3D page, doc, prompt, and script found ten places where the project tells itself two opposite things. Each one below has the conflict in plain English, the ways we could go, and my recommendation. Nothing changes until you rule.
Reply with a number–letter pair per decision, e.g. 1B 2A 3A 4B 5C 6B 7A 8A 9A 10A. Add notes anywhere you want a different flavor. Green rows are my recommendation.
The lab notes declare the score is now multi-angle ("single-angle is gameable by a flat projection"), but every judge actually implemented — the tournament judge, the Matcher page, the cron — scores from one angle only, and the Lab page advertises "85/100 single-angle" as the target.
Single-angle is the score, full stop. Delete the multi-angle pivot note.
Single-angle is today's reward signal; multi-angle becomes the score once we sustain ~70 single-angle. Judge keeps hard caps on flat-projection cheats in the meantime.recommended
Multi-angle now — rebuild the judge to screenshot 3–4 angles per attempt and average, accepting slower rounds and a score reset.
Why B: your stated goal is a scene that holds up when you turn the camera — that's multi-angle by definition. But switching the reward mid-run resets all trajectory data while scores are still low. Cheap anti-cheat caps buy us time; graduate to multi-angle when it starts binding.
Four different targets live in the repo: 85/100 (lab notes, prompts, Vision page), ≥70 mean (the cron's pass/fail bar), ≥50% on 8/10 photos (mission goal + dev plan), and ≥50–55% on 3 photos (the 50%-strategies doc). The routine can "pass" while the mission says we're not close.
85/100 is the one finish line. 50 and 70 become labeled interim milestones on the way, not alternate definitions of done.recommended
70 mean is done (ship-quality bar); 85 stays as a stretch goal.
Redefine done as "indistinguishable" (95+) and treat 85 as a milestone too.
Why A: 85 is the number already advertised on the most pages, and "milestones vs finish line" preserves the useful function of 50/70 without letting them masquerade as done. C is the true north star but too far away to steer by day-to-day.
The canonical definition says a Source Photo is "always a genuine photo, never generated" — but 3 of the 6 photos in the active manifest (photo04–06) are credited "AI-generated (gpt-image-1)". The tournament is training against them right now.
Purge them. Replace photo04–06 with real, attributed photos; the definition stands.recommended
Keep them and amend the definition: generated references are legal when clearly credited.
Keep them in a separate practice tier that never counts toward the finish line.
Why A: the whole premise is "indistinguishable from a real photograph." Training the reward model against synthetic imagery quietly redefines the target. Real construction photos are cheap to source (Wikimedia pipeline already exists).
The player prompt mandates eye-level cameras and explicitly bans drone views — while photo04–06 in the manifest are literally titled "drone view over…". Obeying the mandate forfeits the 30-point composition category on those photos.
Drop the blanket mandate. New rule: match the source photo's actual viewpoint, whatever it is.recommended
Keep the eye-level mandate and restrict the photo set to eye-level shots only.
Why A: "match the photo" is the only camera rule that can never contradict the photo set — and it's what the judge already scores. (If you pick 3A and the drone photos leave anyway, A still future-proofs the rule.)
The genome spec says big ground planes must use procedural noise, never mirrored crops; the cron prompt hard-requires procedural noise; but the same spec's projection section says the strongest ground is neither — it's the real photo projected onto displaced terrain.
Procedural noise is the mandated ground; delete the projection advice.
Projection is the mandated ground; delete the noise mandate.
No mandated technique. Document all three as options with observed scores, and let the self-play loop decide — the reward signal is the referee.recommended
Why C: this is exactly the over-specification you flagged on the Vision page. Mandating technique in the prompts is a human lump inside a loop that's supposed to learn. Constraints should come from the judge (what scores), not the spec (what's allowed).
Three docs ban "the full Source Photo as the scene" (the billboard cheat, judge-capped at 20) — while the genome spec teaches camera-projecting the full photo onto terrain and calls it the strongest ground reconstruction.
Any full-photo projection is a billboard. Ban it everywhere, including the spec's technique.
Projection is legal only onto genuinely displaced 3D terrain — and it must survive from other camera angles. A flat plate wearing the photo stays a capped cheat.recommended
Projection is fully legal; the score is the score.
Why B: the line between "cheat" and "technique" is whether real 3D structure exists underneath. B draws that line mechanically (displacement + off-angle survival), which also dovetails with Decision 1's multi-angle future — a projection that only works from one angle dies on its own.
The genome spec's tactics section recommends "stockpiles = cones with mirrored dirt texture" — while the same file, the prompts, and the lab notes say cone/sphere/box piles are a confirmed dead end and never to mirror crops with ruts or shadows. The mission goal demands zero primitives in a winner; the vision allows them as scaffolding.
Primitives are scaffolding only: legal mid-round, never in a finished winner. Delete the cone-stockpile tip as stale bad advice.recommended
Zero primitives ever, even as scaffolding — model everything from round 1.
Primitives are fine if textured well; remove the zero-primitive completion bar.
Why A: matches the vision's existing scaffolding stance, keeps early rounds cheap, and the judge's texture-realism caps already punish primitive-heavy finals. B makes round 1 needlessly expensive; C walks back a hard-won lesson the lab notes already paid for.
The mission bar says "10/10 Source Photos," scripts hardcode photo01–10, and the System page speaks of "all 10 winning scenes" — but the manifest holds exactly 6 photos, and two docs describe the working set as 3. Done-as-written can't be measured.
Commit to 10 real vetted photos: source 4 more (or 7, if 3A purges the AI ones), refresh the manifest, and make every script read the manifest instead of hardcoding.recommended
Shrink the official set to the current real photos and rewrite the 10-photo language.
Why A: 10 distinct scenes is the right breadth for a skill claim (one scene overfits), the fetch pipeline already exists, and "manifest is the source of truth" fixes the class of bug — not just this instance.
The genome spec allows 300 objects per scene; the player prompt that tells players to read that spec caps them at 120.
One number: 300 is the spec's hard cap; delete the 120 from the prompts (perf advice can say "fewer, better objects" without a second cap).recommended
120 everywhere — tighten the spec to match the prompt.
Why A: two caps means players can't trust the spec — and busy construction sites (fences, rubble, debris fields) legitimately need object count. Let the judge's coherence scoring punish clutter, not an arbitrary second limit.
The 50%-strategies doc directs effort at "the renderer only renders simple primitives" and plans work to unify it — but the genome spec and lab notes confirm GLB models already render in the scored headless pipeline. Following that plan would redo finished work.
Correct the stale claim and mark the doc historical — strategies that survive get folded into the lab notes.recommended
Delete the doc outright.
Why A: the doc contains other still-useful strategy thinking; only the renderer premise is dead. Correcting beats deleting, and marking it historical stops it from being read as current marching orders.
1B 2A 3A 4A 5C 6B 7A 8A 9A 10A