My first Blender renders turned a red plate pink and mirrored the model. After fixing both bugs, the reconstruction model passed the same two-brick memorization test.
Entry from March 31, 2026, edited retrospectively from my project logbook on October 31, 2026.
Getting the studs into the image
Setup. Keep the red plate and blue brick from the first reconstruction test, but render their geometry instead of their bounding boxes.
The Studio .io file contained both assembly information and detailed geometry. Extracting this two-piece model increased the face count from 12 to 1,372.
The detailed mesh carried different color codes from the assembly. I took shape from model2.ldr and colors from model.ldr.
The software renderer could now draw studs, but sorting faces to draw them back-to-front still left visible artifacts.
A renderer I could run from a script
Studio’s bundled Eyesight renderer produced blank or nearly blank images despite repeated settings and camera fixes. I switched to Blender, exporting the Studio geometry as OBJ:
Studio .io → extracted mesh → OBJ + materials → Blender → four views
Two bugs that looked like rendering choices
Color. Blender interpreted the palette’s sRGB values as linear light, making the colors too bright. Red looked pink; blue looked pale. Converting the values to linear light before assigning them to the shader fixed that mismatch.
I also switched from EEVEE to Cycles and changed the lighting and plastic material. This was not a controlled comparison of the rendering engines.
Coordinates. My first axis conversion put the model upright but also reflected it. Changing one sign gave a rotation without the reflection.
The same test, with different inputs
Test. Render four Cycles views of plate-brick.io, then train the reconstruction model on that one assembly for 2,000 steps on CPU.
Result. The logbook records loss reaching zero around step 200, with brick accuracy and voxel IoU both 1.0: exact recovery of both pieces.
This showed the model could memorize the detailed renders, not reconstruct an unseen assembly or work from photographs.
Could it reconstruct an assembly it had never trained on?
Part of the LEGO project. Source: project logbook entries for March 31, 2026.
Render geometry: LDraw Parts Library, licensed under CC BY 4.0. Part authors, source hashes, Blender settings, and raw-image hashes are in the render record.