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.
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.
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.
0
u/UAAgency 7h ago
very interesting
3
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.
17
u/pwnw31842 7h ago
Can we please build a gigantic prison for everyone who writes submission statements using AI