Verify Blender connector connectivity
Smaller than it sounds, but it's the prerequisite for everything else.
What I was trying to do
Before I commit to letting Opus drive Blender for the next Halloween project, I needed to know two things actually worked end-to-end: (1) can the model query the current scene and get back an honest summary of what’s in it, and (2) can it render a thumbnail of a specific viewport and see the result. If either of those fails, the rest of the pipeline isn’t worth building.
How Opus helped
Opus wrote the smoke-test harness in about ten minutes — a Python script that calls get_objects_summary, then render_thumbnail_to_path, then loads the resulting PNG and asserts on its dimensions. It caught a missing mathutils import that the wrapper needed (I’d have spent fifteen minutes on that one) and structured the test as a series of independently-debuggable steps with clear failure messages.
What went sideways
The connector was timing out on the first run. Turned out the Blender process was waiting for me to dismiss a “save changes?” dialog from the previous session. Twenty minutes lost staring at terminal output, then I switched to the Blender window and there it was, blinking patiently. Filed a mental note to start every session from a clean file.
Result
Both calls work. Scene summary is accurate (including object types, vertex counts, material references). Thumbnails render to the expected path at the resolution I ask for. Total project time: two evenings, mostly the dialog incident.
Now I can move on to the actual fun thing, which is letting Opus design a procedural rig for the projection-mapped orb.
Files & links
- Source: see repo link above
- Smoke test:
tests/smoke_test.py
The harness is intentionally boring:
summary = client.call("get_objects_summary")
assert summary["object_count"] >= 0
thumb = client.call("render_thumbnail_to_path", path="/tmp/smoke.png")
assert thumb["width"] == 512