The 3D Model Creation Pipeline, End to End

Flur Team5 min read
Flur's four-stage studio wizard — Configuration, 3D Geometry, Realism, Panorama — with Configuration active

"AI generates a 3D room" describes an outcome, not a process — and the process is where the actual decisions get made. A floor plan doesn't become a photoreal, walkable tour in one step. It passes through a sequence of named stages, each one handing a specific artifact to the next, and understanding that sequence is what tells you where a result can go wrong, and where you can step in and change it.

Stage 1: plan image → parsed geometry

The pipeline starts with a floor plan image. The first stage reads it and extracts structure: wall positions and thickness, door and window openings, room boundaries, and zone labels (bedroom, bathroom, closet). The output isn't a picture — it's structured geometry, walls and openings placed at the actual dimensions on the drawing, ready to be built in 3D.

This is also the stage most exposed to input quality. A clean, clearly-dimensioned plan parses cleanly; a low-resolution scan or an ambiguous drawing produces geometry worth reviewing before moving on. That's exactly why this stage's output is inspectable on its own, before anything gets furnished.

Stage 2: parsed geometry → furnished scene graph

Once the walls and openings exist as 3D geometry, furniture placement runs room by room: reading each zone's function from its label, then placing catalog furniture at true scale with the correct facing — a bed against the right wall, a door with clearance to swing. The result is a scene graph, not a flat model: every wall, every piece of furniture is still a distinct, addressable object.

That distinction matters more than it sounds like it should. A scene graph is what lets you ask for "move the sofa" and get a scene edit instead of a rebuild. Collapse the same room into a single exported mesh and that request becomes a re-model from scratch, because there's no longer a "sofa" for anything to act on.

Flur's 3D Geometry step viewed at an angle, showing walls and furniture as separate objects in the scene graph

Stage 3: furnished scene → realism pass

Correct geometry with catalog furniture in the right places is a working room, not necessarily a finished-looking one. The realism pass runs on top of it: generic catalog pieces get swapped for higher-fidelity furniture, walls and floors receive zone-aware materials — the right finish in a bathroom, a different one in a bedroom — and lighting and small decor fill in the gaps a purely functional layout leaves. This stage changes how the room looks without touching where anything is; the geometry underneath stays exactly as placed in stage 2.

Stage 4: styled scene → equirectangular render → published tour

The final stage renders the finished scene from chosen viewpoints as true equirectangular panoramas — path-traced, not a screenshot — and publishes them as a walkable tour. This is the only stage that produces a flat image at all, and even then, it's a rendered view of the scene, not a replacement for it; the scene graph underneath the tour stays editable, so a later change means re-rendering an updated view, not starting over.

Why the scene never collapses into a mesh

Every stage above hands off a structured artifact to the next — geometry, then a scene graph, then a styled scene graph — right up until the final render, which is a view of the scene rather than the scene itself. That's a deliberate constraint, not an accident of implementation. The moment any stage flattens the room into a single mesh or a single image, every stage after it loses the ability to address individual pieces. "Change the headboard" stops being a furniture-catalog swap and becomes a request to redo the affected part of the model by hand.

Keeping the pipeline as artifact hand-offs instead of one opaque generation step also means each stage is independently reviewable. You can catch a misread wall at the geometry stage before it gets furnished, catch a wrong material choice at the realism stage before it gets rendered, and catch a bad camera angle at the panorama stage before it gets published — rather than discovering any of it only in a finished render.

It also means the stages compose in a specific order for a reason: geometry has to be correct before furniture placement can trust it, furniture has to be placed before a realism pass has anything to style, and the scene has to be finished before a render is worth publishing. Skipping ahead — styling a room before its geometry is verified, say — just moves the same correction downstream, where it costs more to fix because more work now depends on the mistake.

Where a human intervenes at each stage

  • Geometry — review wall and opening placement against the source plan; this is the cheapest point to correct a misread.
  • Scene graph — swap or reposition individual furniture pieces before styling runs.
  • Realism — adjust material or furniture choices the automated pass made.
  • Panorama — pick which viewpoints get captured and published.

None of these require restarting the pipeline from the beginning — each is a targeted edit to the artifact that stage produced.

Getting started

If you're trying to understand what actually happens between "upload a plan" and "get a tour," this is the full sequence. For the entry-level version of stage 1 — what a floor plan encodes and what a 3D room needs beyond it — see how to turn a 2D floor plan into a 3D room. For a deeper look at stage 4's projection format, see equirectangular panorama capture, explained. And for what specifically separates a "correct" room from a "finished-looking" one at stage 3, see what makes a 3D interior stop looking like a game.

See how it works or request early access to run your own floor plan through the pipeline.