OpenAI Astra · High reasoningBlender · CyclesIndependent reconstruction

Batatais, rebuilt
from the evidence.

A fresh set of scripts for the church, gardens and surrounding streets. Then a closer look at the details, the materials and the light.

By Daniel Landi with Astra · October 2026 · Explore the interactive model ↗
Cycles render of the Igreja Matriz rising behind the planted garden
From the garden: textured masonry, curved foliage, feathered palms and daylight rendered in Cycles.

From the garden to Raytur

A continuous, one-minute camera flight through the garden, around the church and down to the Raytur travel agency.

00:00 Garden · 00:18 Church orbit · 00:48 Approach to Raytur · 00:58 Storefront finish
60 seconds · 1080p · 24 fps · Silent · Download MP4 (85 MB)

The same brief, a new reconstruction

The starting point was Fable’s published Batatais model and its making-of account. The task for Astra was to build the same place from scratch—including the scripts that infer and generate it.

Astra used a fresh OpenStreetMap snapshot, municipal reference material, internet photographs and retained raw Street View captures. It reused source evidence and third-party texture files, while authoring its own geometry, placement data, signs and generation code. Fable’s model geometry, generators and derived survey data were not imported.

The result covers the church, both praça blocks, 46 frontage lots and approximate surrounding town context. The coordinates are shared so the reconstructions describe the same site.

Look closer. Rebuild. Look again.

The first pass established the streets, building masses and plaza layout. Further passes revisited the church’s portals, columns, inscriptions, dome and stained glass; the garden’s parterres, bandstand, ponds, benches and topiary; and the surrounding shopfronts, including Raytur.

Each correction went into Python. The working loop stayed the same: change a script, rebuild, render and inspect. No geometry was fixed by hand in the viewport.

From a model to a rendered scene

The next request was to move beyond the blocky appearance. Astra created a separate quality scene: nearly four million curved leaves, grass blades, feathered palms, individual roof caps and softened architectural edges. Scanned surface textures supply color, roughness and normal detail; Cycles adds indirect light, reflections and contact shadows.

Rendered stained glass using three photographed window compositions projected onto newly generated geometry
The stained glass uses new UV projections of the credited source photograph. Three compositions are reused across the scene; this is not a window-by-window inventory.

The film uses the same quality scene, with 1,440 rendered frames, a continuous scripted camera path and a slow finish at Raytur. The vegetation and water are static; the camera provides the motion.

Two outputs for two kinds of viewing

Interactive 3DRendered stills and film
15.4 MB Draco-compressed model, grouped into 740 meshes.Separate Cycles scene with detailed foliage, surface shading and photographic artwork.
Move freely with orbit, walk and fly controls.Fixed viewpoints and a 60-second camera tour.
Lightweight geometry and original simplified window artwork.Higher detail and lighting computed in Blender before playback.

Open Astra’s interactive model →

The scripted recipe

The reconstruction lives in astra-batatais/ in the project repository. With that checkout and its declared source assets, the build starts from an empty Blender scene:

blender -b --factory-startup --python-exit-code 1 \
  -P astra-batatais/scripts/build.py -- --stage complete

blender -b --factory-startup --python-exit-code 1 \
  -P astra-batatais/scripts/realism.py -- --rebuild \
  --views hero garden-real portal-real --scale 100 --samples 160

build.py assembles the independent geometry; realism.py builds the detailed Cycles scene; flythrough.py animates and renders the camera route; encode_flythrough.py assembles the film. The lightweight browser export comes from export.py.

What remains an interpretation

This is an exterior reconstruction from photographs taken at different times, not a measured architectural survey. Heights, hidden roofs and property divisions are estimates. Distant buildings and statue anatomy remain simplified, planting positions are approximate, and window compositions are repeated. More realistic rendering improves the presentation without resolving those uncertainties.

Sources and credits