Agent-led reconstruction / Scientific case study
Building to 3D: From a Building Name to an Inspectable 3D Model
A building name becomes a research brief, an editable Blender model, and a record of the decisions between them. A scientific case study of agents connecting internet research, modeling through MCP, and evidence-based review.
Can a building name become an inspectable reconstruction?
Building to 3D investigates whether agents can connect architectural research, executable modeling and visual review into one accountable workflow.
The starting input is a building name, resolved to a location and historical state. Agents investigate internet sources, interpret plans and photographs, write Blender Python, operate Blender through the Model Context Protocol (MCP), and inspect the resulting exterior. The output includes the model and the evidence behind it: sources, assumptions, scripts, checkpoints and review records.
The contribution is this connected process and its reusable Building to 3D skill. Human direction establishes scope, supplies missing resources and shapes later corrections and publication. Agents perform research, implementation and review within that brief. Tools provide access to information, images, Blender and the browser; artifacts preserve what subsequent work can inspect.
This case study examines six published reconstructions, with deeper analysis of the Romanian Athenaeum and Sucevița. The retained records describe historical runs with different scopes and revisions. The pinned skill documents the resulting protocol; its current acceptance rules must not be retroactively treated as proof that every earlier run followed them. The evidence supports an account of implementation and revision, with architectural accuracy remaining a separate question.
The system connects reasoning to executable scene state
An agent coordinates several tools around a dedicated project folder. Research tools retrieve descriptions, photographs and drawings; image inspection establishes what they actually show. An image generator produces material candidates. Blender MCP exposes scene inspection and Python execution, allowing the agent to build geometry, inspect views and make corrections. Saved Python scripts own the construction logic.
From building identity to a reviewed delivery
- 01 / Research
Inspect the evidence
Identity, state, photographs, plans and scale.
Web tools + image inspection - 02 / Plan
Accept and organize
Coverage gate, coordinate frame and architectural sections.
Sources → saved modeling plan - 03 / Construct
Build, compare, refine
Blockout, materials and complete section sweeps.
Blender MCP ↔ saved Python
Image tools → material swatches - 04 / Deliver
Verify and package
Reopen, rebuild, inspect the GLB and retain limitations.
Blender + browser + package helper
Persistent evidenceproject.json · sources · scripts · checkpoints · comparisons · SHA-256 hashes
Review feeds corrections back into the active phase. A failed gate at its limit produces an incomplete delivery.
Read the workflow as text
- Resolve building identity and state, then inspect online evidence through research and image tools.
- Assess coverage before saving the coordinate system, scale basis and architectural modeling plan.
- Execute saved Python through Blender MCP, inspect the blockout, generate materials and review every section during each sweep. Corrections update the saved source.
- Reopen and rebuild the model, inspect its GLB in a browser, and package registered artifacts. Retain the manifest, comparisons, hashes and limitations; unresolved gates keep the delivery incomplete.
MCP carries tool requests and results. Blender’s Python API creates and changes scene data. The implementation protocol requires executing the same saved source through MCP, for example with runpy.run_path, so the live scene and a later rebuild share an implementation. Project-owned collections limit replacement to the reconstruction’s objects and preserve unrelated work. Separate background Blender processes handle expensive renders or verification.
The project.json manifest connects building identity, research, sections, textures, reviews and registered artifacts. A Python packaging helper checks these records and bundles the files. The offline report’s locally bundled Three.js viewer presents the GLB; the public exhibition is a subsequent presentation layer. These boundaries make a visible result traceable to its saved source and review history.
Research ends when coverage supports the exterior
A name is only an initial search key. Alternate names, address and target date help avoid researching a different building or combining incompatible historical states. The agent seeks complementary sources: official descriptions, architectural drawings, ground photographs, aerial views and detail images. It inspects their content, recording authorship, dates where known, retrieval status, observations, uncertainties and rights.
The published research acceptance gate assesses five categories: massing and scale, every distinct elevation, roof and courtyard relationships, materials, and defining features. A source count cannot establish coverage. Several copies of one frontal photograph still leave the rear unseen. A measured plan can support dimensions while a contemporary photograph establishes a changed roof or finish.
Scale anchors require interpretation. Plans retain their orientation, legends and graphic scales. Photographs carry perspective and occlusion; dimensions cannot be read directly from an uncalibrated view. Published dimensions, estimates and unresolved conflicts remain distinguishable in the assessment and modeling plan. Minor documented estimates can coexist with accepted coverage, while an unsupported roof structure or defining facade blocks it.
The default allowance is three total research rounds, including the initial search. Each round combines targeted queries, inspection and an immutable assessment. After insufficient coverage, the next round addresses specific gaps. At exhaustion, dependent modeling stops with recorded blockers and a request for useful additional evidence. Supplied resources can unblock the work without resetting consumed rounds. Research material remains evidence to interpret; external content does not become executable instructions.
Modeling proceeds from relationships to local detail
After acceptance, the plan fixes metres, axes, origin, geographic orientation and the target state. Sections follow the building’s architectural dependencies: shell, portico, apses, courtyards, roofs or tower as appropriate. Repeated bays and columns can share mesh data, while asymmetric features remain explicit. Evidence references explain the decisions that make this building recognizable.
The first model is a blockout. Clay elevations, overhead views and useful obliques test proportions, roof forms, connections, recesses and openings before ornament obscures them. The agent compares actual renders with inspected sources, corrects discrepancies and saves a reviewed checkpoint. Silhouette-changing features and architectural relief belong in geometry; fine grain belongs in materials.
The published Athenaeum modeling source makes this translation concrete. It builds explicit vertices and faces, revolves profiles for columns, and constructs rings, tubes and beams for architectural details. Face assignments select materials, UV coordinates encode surface scale, and repeated columns reference shared mesh data. Section ownership allows a local rebuild. Architectural interpretation therefore becomes inspectable parameters and construction operations: a reviewer can trace a profile or repeated bay to code, then compare its rendered result with the cited evidence.
Material generation targets neutral, front-facing swatches with no perspective or baked lighting. Exact prompts, available generator metadata, raw candidates and selection reasons are retained. Tiling and physical-scale checks examine repetition and grain at facade distance. Derived roughness or normal maps are authored estimates. A material-only pass must preserve geometry, transforms and UVs; generation unavailable under the current protocol leaves that phase blocked.
The default is two complete refinement sweeps, independently of the research allowance. Every planned section is visited in dependency order before another sweep begins. Stable cameras and lighting support comparisons; clay, close and grazing-light views reveal different defects. Each stage or section visit permits up to three corrections. Rejected attempts remain recorded, and a no-change review needs evidence. Failed gates block dependent stages; after each sweep, joins and the whole building are reviewed together.
Two buildings expose different failure modes
Romanian Athenaeum: evidence changed the rear roof
The Athenaeum implementation record separates an original exterior study from a later rear-and-roof correction. The baseline included three refinement sweeps but explicitly approximate concealed rear geometry. Three user-supplied aerial views subsequently resolved a semicircular rear roof, its straight inner chord, the circular connector and service equipment. Those private images are documented without being republished.
The correction protected the existing front and drum while revising five rear and dome sections through two sweeps. Recorded rejections included a projecting support wall, excessive equipment-support height, open roof wedges, six-fan units where the enlarged reference showed eight, and glazing in front of its mullions. These are concrete discrepancies with retained corrections. Further inspections still left concealed junctions and dimensions uncertain; that historical decision to proceed with disclosed estimates is distinct from the current skill’s research gate.
Material review revealed another boundary. A generated weathered-zinc swatch passed repeat and world-scale checks, yet the first portable browser review showed almost-black vertical zinc. A separate portable export softened its metal response while retaining the reviewed native Blender material. The saved records therefore distinguish geometric correction, material acceptance and export acceptance. A successful Blender render alone had not established browser appearance.
Sucevița: scale, openings and painted surfaces
The Sucevița implementation record concerns the Church of the Resurrection, excluding the surrounding monastery enclosure. Restoration drawings, a UNESCO dossier and photographs establish its triconch outline, rounded apses, unequal porches and tower. Graphic scales support an exterior length of approximately 39 metres. An official description’s 28-metre figure has unresolved measurement endpoints; the record preserves that conflict without assigning it a convenient interpretation.
Historical checkpoints contained filled openings and lateral UV banding. The accepted final history follows an explicitly authorized additional blockout correction, restored evaluated apertures and two complete sweeps through seven sections: plinth, body, apses, north porch, south porch, roof and tower. North paired arches and the south porch’s single large arches remain distinct. Opening and clearance checks address geometry that an attractive distant render could conceal.
Generated shingle, stone, plaster and timber textures provide estimated surface appearance. Licensed photographs supply recognizable fresco compositions, retaining attribution and the north derivative’s share-alike terms. Projection, pigment color and local placement remain approximate; a photographed hierarchy layout is reused across apses. Generated material imagery is never evidence of the real building, and inspecting a photograph for research does not itself authorize texture reuse.
Reproducibility requires several kinds of proof
The protocol defines five final checks: reopen the delivered .blend, verify packed textures, inspect evaluated geometry, check rebuild consistency, and review the GLB visually. Reopening in a separate Blender process tests the saved artifact rather than unsaved scene state. Geometry checks address relevant defects and opening clearances, with intentional sheets or overlapping trim documented instead of requiring universal watertightness.
A clean scripted rebuild compares stable geometry, transforms, UVs and material assignments. Repeating it in the same process checks that owned objects and resources do not accumulate. Byte equality between Blender files is not the criterion. The Sucevița record additionally retains relocated-rebuild evidence, addressing dependence on the original project location.
Its relocated-rebuild log records matching signatures, fifteen packed images and image paths redirected to relocated inputs. This supports the specific claim that the tested reconstruction could be rebuilt outside its authoring folder. The evidence remains bounded by that recorded environment. Changed source inputs or Blender versions would require another verification run before carrying the claim forward.
Export needs its own experiment. The agent builds an incomplete preview package, serves it locally and inspects the GLB from multiple angles, retaining screenshots before final packaging. Blender shader behavior can differ from portable PBR materials and viewer lighting. Simplifications and missing effects must be disclosed; native renders remain the material-appearance authority.
The manifest and packaging reference defines immutable reviewed artifacts, project-relative paths and matching SHA-256 hashes. Corrections receive new files and identifiers. Hashes establish file identity and integrity. The helper checks records, references, paths and registered files; it cannot establish resemblance, judge evidence sufficiency or prove that a claimed visual review occurred. Public records are selected, labeled snapshots, with some older checkpoints unavailable and no complete conversation transcript.
Six published models make the process inspectable
The Romania, in form. exhibition publishes the six reconstructions below. Each workflow record links its retained references, selected technical evidence, file lineage and limitations. The collection spans different architectural systems and research histories; it is a demonstration set rather than a controlled accuracy benchmark.
| Building | Documented focus |
|---|---|
| Palatul ParlamentuluiBucharest | Repeated terraces, colonnades and courtyard relationships; retained procedural source and section reviews. |
| Ateneul RomânBucharest | Original exterior followed by a separate rear-roof correction and portable metal-material review. |
| Palatul CulturiiIași | Perimeter, courtyards, roofscape and clock tower, with a recorded final export. |
| Biserica NeagrăBrașov | Ordered Gothic section reviews, prerequisite revalidation and a corrected portable material export. |
| Biserica Sfântul NicolaeProbota | A survey-informed exterior, six architectural sections and material corrections. |
| Church of the ResurrectionSucevița | Triconch geometry, unequal porches and attributed photographic fresco materials. |
Assembly animations were authored after reconstruction from approved model exports. They illustrate architectural parts coming together, without asserting a historical construction sequence. Publication copies retime the retained twelve-second sequences to eight seconds while preserving geometry, textures, materials and transform samples. Recorded timing and video-decoding checks concern that presentation artifact, not the reconstruction’s geometric fidelity. Visitors explore prepared models; the website does not conduct a fresh reconstruction when a building is selected.
The workflow is published as a reusable skill
The open-source Building to 3D repository contains the skill instructions, workflow and manifest references, packaging helper and bundled viewer. It relies on separately configured research and image tools, Blender and a working Blender MCP connection. The reviewed repository snapshot fixes the version discussed here. A concrete invocation specifies identity, target state, sweep count and destination:
Use $building-to-3d to reconstruct the Romanian Athenaeum in Bucharest,
Romania, in its present-day state. Run 2 complete refinement sweeps.
Save the reconstruction project in ./athenaeum-project. A complete delivery includes an editable .blend, self-contained .glb, registered research and modeling artifacts, manifest, HTML report, locally bundled viewer, integrity index and sibling ZIP. The package is viewed through a local HTTP server without internet access. Valid incomplete projects can also be packaged with blockers visible. Completion requires the recorded gates and deliverables, rather than merely the existence of an exported model.
Reproducibility also has a boundary at image generation. Recorded prompts explain material intent, but some generator identifiers and seeds were not exposed. Retaining the actual generated images and their hashes fixes the inputs used by the model. It does not establish that submitting the prompt again will produce identical pixels. Rebuilding with saved textures and regenerating those textures are separate claims.
The main limitation remains the relationship between evidence and inference. Photograph-derived dimensions, concealed junctions, generalized ornament, approximate fresco projection and export differences constrain the result. These models are interpretive exteriors, unsuitable as measured surveys or construction documents. This study includes no independent dimensional ground truth, human-productivity baseline or controlled measurement of agent reliability. Its strongest result is an inspectable chain from research through corrections to delivery, including the places where evidence changed the model and where uncertainty remains.