BrickNet: Graph-Backed Generative Brick Assembly

Peter Kulits1,2  Cordelia Schmid1
1Inria, École Normale Supérieure, CNRS, PSL Research University   2Max Planck Institute for Intelligent Systems, Tübingen
CVPR 2026
arXiv Code Dataset (released by end of May)
BrickNet teaser mosaic
Figure 1. We finetune an LLM to autoregressively generate LEGO-brick build sequences. To enable this, we introduce a large-scale dataset of LDraw structures composed of parts (samples above), as well as a novel graph-backed parametrization to represent arbitrary objects.

Motivation

BrickGPT samples
(a) BrickGPT Samples
Dragonfly top view
Dragonfly side view
1
5
(b) Human-Designed Sample

To teach a model to autoregressively generate brick structures in a discrete, voxelized domain, it is intuitive to train it to regress 3D coordinates (a), as in BrickGPT (Pun et al., 2025). However, doing so becomes more difficult when dealing with the complexities of real-world objects (b). Starting at the orange hinge plate (1) and placing bricks down to the white stud (5) at the end requires maintaining a high degree of numerical precision across steps.

Connectivity Semantics

Five connector types
(a) Stud (b) Hinge (c) Axle (d) Ball (e) Fixed

We broadly model five types of connectivity between bricks. Stud (a) connections, after defining which stud connects to which hole, have at most one degree of freedom. Hinge (b) connections have a degree of rotational freedom, and often the ability to be flipped (binary). Axle (c) connections inherit the same freedom as hinges, but can also be offset along their principal axis. Ball (d) connections have three degrees of rotational freedom. Fixed (e) connections have no degrees of freedom.

Graph Visualization

Truck object render
(a) Object
Truck path-colored render
(b) Path-Colored
a plate 1x2 | purple
b brick 1x2 | purple
a stud hole b stud b 90
c brick 1x2 | purple
a stud hole a stud b 90
· · ·
z plate 2x2 wheels holder | purple
w stud hole d stud b 90
· · ·
ac wheel rim 6.4x8 | light grey
z axle bar b clip a flip 270 0
· · ·
ah tyre 6 50x8 | black
ac fixed e in b a
(c) Build Sequence

After encoding relative transformations between parts into their connectivity, we arrive at connected graphs. From these graphs, we can sample iterative build instructions (spanning trees), that begin at a root part, add another part, define an edge that connects that part with the existing structure, and on. For example, see the dark red piece at the top of the render in (b). This corresponds to part 0 in the graph, the root node. From that, it has two neighbors, both brick 1x2, which are added to the structure. Each bracketed item corresponds to a discrete placement “action.”

Dataset Statistics

We present BrickNet, a large-scale dataset of brick structures. In contrast to the voxelized BrickGPT (Pun et al., 2025), our samples include thousands of distinct part types. Relative to the Official Model Repository (OMR) data used in Break and Make (Walsman et al., 2022), our set is much broader.

DatasetSamplesPartsColorCaptionsReal
BrickGPT28,2598
OMR1,8145,005
BrickNet-PT320,8089,743
BrickNet-SFT67,1856,457

Unconditional Samples

(b) Ours
Our unconditional samples

Random samples drawn from either BrECS (Ahn et al., 2024) (a) or our model (b).

Text-Conditioned Samples

Samples produced using prompts from the evaluation set. Within each pair, our outputs are above and those of BrickGPT (Pun et al., 2025) are beneath. Click any cell to read its full prompt.

1This is a LEGO model of a stylized, light-green bamboo stalk with leaves...
2This LEGO model depicts a small, gray stone shrine or altar...
3This is a LEGO model of a white and grey handheld device...
4This is a LEGO model of a traditional black and gold rickshaw...
1. This is a LEGO model of a stylized, light-green bamboo stalk with leaves, constructed from cylindrical bricks and leaf elements, mounted on a circular white base.
2. This LEGO model depicts a small, gray stone shrine or altar, featuring an archway topped with two torches, a central pedestal holding a red gem, and various accessories including a green plant, a white urn, and a black fixture.
3. This is a LEGO model of a white and grey handheld device, possibly a scanner or medical tool, featuring a blue transparent element and a silver cylindrical piece at its front.
4. This is a LEGO model of a traditional black and gold rickshaw, featuring two large spoked wheels, a covered passenger seat with beige upholstery, and long pulling handles at the front.
5This is a LEGO model of a rectangular, dark red gift box...
6This LEGO minifigure features vibrant red hair...
7This is a blue LEGO sports car model...
8This is a detailed LEGO model of a black espresso machine...
5. This is a LEGO model of a rectangular, dark red gift box, decorated with a lighter red ribbon and bow on top, and featuring a black winding key on its side, indicating it is a music box.
6. This LEGO minifigure features vibrant red hair, a white torso printed with a silver scale-mail vest, and solid blue legs.
7. This is a blue LEGO sports car model, featuring a prominent rear spoiler, grey wheels, and transparent windows, shown from multiple angles.
8. This is a detailed LEGO model of a black espresso machine, featuring a transparent bean hopper on top, a side-mounted water reservoir, a front-facing portafilter and steam wand, and a pressure gauge.
9This LEGO model features a minifigure in a red torso and Santa hat...
10This LEGO model is a rectangular patch of dark green grass...
11This is a LEGO model of a large, cylindrical purple container or barrel...
12This is a simple, abstract LEGO vehicle constructed from primary-colored bricks...
9. This LEGO model features a minifigure in a red torso and Santa hat, holding a large, stylized green Christmas tree made of stacked, angled pieces.
10. This LEGO model is a rectangular patch of dark green grass, constructed from numerous plant stem pieces on a black plate with a brown base, featuring a black Technic axle protruding from one end for connection.
11. This is a LEGO model of a large, cylindrical purple container or barrel, reinforced with tan bands and featuring various grey mechanical attachments, including handles, levers, and what appear to be nozzles or connectors.
12. This is a simple, abstract LEGO vehicle constructed from primary-colored bricks—blue, red, yellow, and black—and equipped with four red wheels.
13This LEGO model is a colorful, low-profile bed...
14This is a 3D digital model of a stylized, blocky LEGO vehicle...
15This is a LEGO model of a black squirrel...
16This LEGO model depicts a dilapidated, single-room shelter or bunker...
13. This LEGO model is a colorful, low-profile bed constructed from a yellow base and a top layer of multicolored rectangular bricks, featuring a light blue wedge piece at one end to serve as a headboard.
14. This is a 3D digital model of a stylized, blocky LEGO vehicle, resembling a futuristic truck or armored van, shown from multiple angles to display its gray, white, and light blue construction with prominent black wheels.
15. This is a LEGO model of a black squirrel, constructed with dark grey and light grey bricks, featuring a large bushy tail, prominent white eyes, and holding two small, round objects in its paws.
16. This LEGO model depicts a dilapidated, single-room shelter or bunker with crumbling brown and tan walls, containing a simple bed, a rifle, a sack, and a small cache of money.

Paper

Paper thumbnail

Abstract

We train a language model to generate LEGO®-brick build sequences. While prior work has been restricted to discrete, voxel-like towers, we consider a much broader set of pieces, encompassing thousands of part types with diverse connection semantics. To enable this, we first collect a large-scale dataset of over 100,000 human-designed LDraw brick objects and scenes. The complexity of our setting makes it challenging to autoregressively assemble structures that satisfy physical constraints. When predicting block pose directly, build sequences quickly become invalid after a small number of steps. Although pieces are placed in 3D space, it is the spatial relationships of the parts which define the whole. With this in mind, we design a graph-based program representation that parametrizes structure through connectivity, improving the physical grounding of generated sequences. To enable future applications, we make our dataset and models available for research purposes.

BibTeX

@inproceedings{kulits2026bricknet,
  title     = {{BrickNet}: Graph-Backed Generative Brick Assembly},
  author    = {Kulits, Peter and Schmid, Cordelia},
  booktitle = {CVPR},
  month     = {June},
  year      = {2026},
}