legofi · brick audit & build
The photo holds 331 loose bricks. Here is how that number was arrived at, and a scarlet macaw that 178 of them will build — picked for this bin because a macaw’s wing runs red → orange → yellow → blue-violet, which is exactly the colour ladder lying on that carpet.
Carpet and plastic are told apart by texture, not colour: a local standard-deviation map is bright on the carpet’s loop pile and dark on any flat brick face — which is what finds the white, grey and black pieces that have no saturation to key off. Touching bricks are split by colour class first, then by a watershed that leaves rectangular blobs alone, so a white 2x4 is not cut in half down its middle. Moulded two-tone motifs get merged back into the brick that carries them.
Each bar is painted in its own brick colour and labelled, so nothing depends on telling two swatches apart.
Estimated from projected area — good enough to plan a build around, not to order parts from.
| Size | Pieces |
|---|
Hand-checked tile by tile: dense piles over-count a little (a black brick in shadow can fragment), sparse carpet under-counts a little (a grey brick lying flat gets missed). An independent eye count over 45% of the photo came to 145–150 against the algorithm’s 148. Call it 330.
Plain 1x1s and 1x2s cannot make a curved 3D animal — there are no slopes, hinges or plates in this bin. What they are good at is masonry, so the macaw is a one-stud-thick relief laid in running bond: the silhouette does the work slopes normally do, every course rests on the one below, and the weight runs down two paths — feet → branch → trunk on the left, tail on the right, with the body as a shallow arch between them.
The original photo, with one ring for every brick the current course needs. Step through the courses above and the rings move with you.
Numbered left to right, matching the rings and the numbered bricks on the model. @12 is the stud the brick starts on.
The rings come from the automatic count, so read them as a strong hint rather than gospel. Each one marks a detected piece of the right colour whose size was estimated from its outline — a ringed “1x3” can turn out to be a 2x2. If it does, any brick of that colour that fills the run will do. Every physical piece is ringed once across the whole build, so nothing is promised twice.
| Colour | 1x1 | 1x2 | 1x3 | 1x4 | Bricks | Studs |
|---|
153 pieces are left over, and the model asks for nothing the photo does not show. The leftovers skew yellow and black — the bin’s deepest stocks — so there is room to grow the flowering branch or add a second bird.
| Colour | Left | Sizes left |
|---|
R2@12 —
a red 1x2 starting at stud 12 of the base row.analysis/inventory.json, re-run
design/bricks.py, and the parts list and build steps re-derive:
the tiler prefers long bricks, avoids one-stud tails, staggers seams, and will not spend a
scarce size to dodge a single seam.