A check that catches a lit face fighting another
The operating lamp's black flicker was two faces in one plane. The fix is now in the modeling kit, with a check that fails any model that does it.
The operating lamp in the Breakout Site no longer flickers black as you walk under it. The first time round I only hid the fault: the game split the lamp’s glass off when it loaded. This time the cause is fixed in the modeling kit, and a new check stops any model from doing it again.
My note, drawn in the game under the lamp, said: “This light is glitching strangely as you move more or less black is visibile”. The lit disc and a cap of the lamp’s housing sat in exactly the same plane, so the graphics card could not decide which one was in front, and it decided differently as the eye moved.

Before: the lit disc from five views, with a black shape inside it that changes each time.

After: the same five views, solid cyan.
How does the check find it?
It reads the exported .glb directly, in plain Python, as part of step 8 of the model pipeline. A material counts as lit if its name has _glow in it, or if it emits light with no emissive texture. The check puts every triangle where it stands in the scene, then fails a lit face if another face of the model has these three things in common with it:
planes within 0.5 mm of each other
normals within about a degree
more than 1 mm2 of overlap, laid flat in that plane
Half a millimetre because things a millimetre apart are drawn apart at a room’s distances. A double-sided material is checked in both directions, because its back draws where the front of the other face does.
I ran it over every installed model before changing anything. It failed 46 of 1780. The lamp and its button cap were 6 of those. Another 24 were cyberpunk cabinets whose display has a dark bar with its foot exactly on the screen’s bottom face. So the lamp was one case of a pattern.
What changed in the kit?
A lit face and the face under it now never share a plane. The kit has one number for it, GLASS, 4 mm. Under a lit vessel the puck that forms its core starts 4 mm in. On the display, a bar whose foot is within a millimetre of the screen’s bottom face is cut short to start 4 mm above it. Every other bar is left alone, so a model without the fault does not change.
The bar fix touched 53 cyberpunk props, and all 53 were rebuilt through every step of the pipeline. The lamp and the button cap, three states each, went to me for the approval step, and I approved all six, and then all 53 of the rebuilt props too. The game’s workaround is deleted, and its test now checks the model itself.
What is left?
The check still finds 16 models: the steampunk chest, and 15 weapons (the cyberpunk arc cleaver in three states, and the great axe in four themes, where the glow inlay is back to back with the blade). I did not fix them in the same change, because each rebuild drops my approval of the model. They are filed as the next item.
The numbers: the pipeline’s self-test passes 157 checks with none failing, and the related suite of lamp, model pipeline, furniture, prop clutter and surgery tests passes 12 tests with none failing.