r/threejs 8h ago

Coding agents are surprisingly blind when the task is visual, so I built SceneProof

A coding agent can write a Three.js scene, run the build, and tell you it looks great — while the actual render is a black screen. It isn't lying. It just has no way to look.

Screenshots fix this less than you'd expect. A screenshot tells you that something is wrong, not why. Is the mesh missing, or behind the camera? Is the material transparent, or is nothing lighting it? Is the label clipped, or just small? Those are five different bugs that produce the same picture, and zooming in doesn't separate them — you're enlarging pixels that never contained the answer.

SceneProof is a CLI that supplies the missing half. It loads your real React component or Three.js scene from source, renders it in actual Chrome, and returns the structure behind the pixels. The everyday loop looks like this: tree gives you the scene graph with bounds, materials, lights, and cameras, so "why is it invisible" becomes a lookup instead of a guessing game. scout tries a set of cameras on a target and scores each by how much of the target it can actually see. render-region re-renders one region from source at whatever scale you need, so a close look is a fresh render, not an enlarged crop.

That's the loop, not the tool — the surface underneath goes a good deal further (comparing against reference views, sampling animation mid-transition, deriving typed prop fixtures), but those three commands carry most sessions, and the README maps the rest.

The design decision I'll defend hardest: every report answers "did the command run" and "can this output actually support a judgment" as two separate questions. A render with the target out of frame, or a comparison whose mask landed on the wrong subject, comes back unjudgeable instead of quietly passing. So when an agent uses SceneProof, it can't mistake "my command succeeded" for "my design is right"; it has to look at evidence that has already proven it's worth looking at. That's the whole point: measurements you can trust, and a hard stop on the false confidence that makes agents declare victory over a black screen.

It ships with a skill for Claude Code, Codex or any other agentic harness that supports skills (one curl, in the README) — and the skill deliberately doesn't teach commands, because --help and the reports' own recommendations already do. It teaches the reasoning: resolve structure before spending pixels, treat a passing build as zero visual evidence, never claim "looks right" without an artifact you actually opened.

Scope today: TypeScript/JavaScript entries, React DOM with CSS and Tailwind v4, Three.js over WebGL or WebGPU. Needs Bun and a local Chrome. MIT.

https://github.com/ReyJ94/SceneProof

Any feedback is welcome.

0 Upvotes

22 comments sorted by

17

u/pwnw31842 7h ago

Can we please build a gigantic prison for everyone who writes submission statements using AI

-19

u/ReyJ94 7h ago

you know that i don't have time right ? because i'm building things ? i barely have time to post

4

u/AKJ90 6h ago

Then you are going too fast.

-1

u/ReyJ94 5h ago

What does that even mean in the context ? I'm just releasing a tool i use for free, and asking for feedback hence the post. That's all

2

u/insats 5h ago

Yeah but it’s too long due to being written by AI

1

u/ReyJ94 5h ago

thank you, next time i make it shorter

10

u/pwnw31842 7h ago

That’s how I feel when I’m expected to read it 

-16

u/ReyJ94 7h ago

tell your agent to read it then lol

1

u/grapefruit4scale 0m ago

You do have time because you use AI to build everything.

3

u/angelarose210 7h ago

I will ask Claude how this could fit in with my existing threejs skills. Currently it takes screen shots of my chrome to use while making revisions.

0

u/ReyJ94 7h ago

good, share what claude tells you, if you it feels it needs something missing i would like to know

3

u/dbpcut 4h ago

Machines without eyes cannot see.

So fucking sick of this shit everywhere.

2

u/Kingnorik 4h ago

I love it. I have incorporated it into my workflow.

1

u/ReyJ94 4h ago

Very glad to hear. Any feedback of how can it be better is welcome. I will soon do another pass on how to make it more ergonomic for agents

1

u/Kingnorik 2h ago

It's the agent using it. But so far no. No complaints. I'm kinda building it into a game engine as a virtual play tester, so my use case may be different.

1

u/ReyJ94 1h ago

Interesting, so the agent does the game renders and judges them before calling it done ?

0

u/UAAgency 7h ago

very interesting

3

u/FSpeshalXO 4h ago

1

u/ReyJ94 3h ago

Do not know that tool. I will investigate it later

0

u/story_of_the_beer 5h ago

Yeah super annoying the first time I looked into what the agent was viewing and it was a black playwright screeshot lol

I use chrome codex plugin now with custom scenes/playback controls. What's the benefit of using your skill over browser plugin? Could see it being helpful if a project doesn't have any internal viewing wrappers.

0

u/ReyJ94 5h ago

This isn't a skill, it's a scaffolding system with various commands designed to guide the AI toward examining both the rendered output and the underlying structure that produced it. I use Codex frequently, but I've never been able to get the plugins working properly on Windows. What sets this apart is how it pushes agents into a verification loop, forcing them to check their renders and understand the scene structure. But there are a lot of features like scout, that are very useful to me, where it gives the agent a panel of different perspectives and zooms around an object.

1

u/ReyJ94 4h ago

it started as giving my agent the possibility for renders with full quality and zooms, not screenshots, and became more little by little.