Blender stage one: our own kit, three properties built, first real pictures
The landscaping Blender work now lives in Urth's own folders and its own private repository, as copies; the 3D session's files are untouched. One command builds a property from its package: the 2024 laser scan for the house, roof, ground and trees; the county for the lot and neighbours; and LaunchPad read live, including the tree points and the "Hedges" area you drew today. Blender runs in the background with no window. Below, each property's Blender pictures sit next to today's site-report pictures so you can judge "stronger" with your own eyes.
What I think, in short
- Stronger already: it is a real 3D property you can walk around (street view, aerial, any hour), in about one second of building plus 5 to 15 seconds per picture. Trees and palms stand at their laser height and spread, and shadows are traced past every roof, palm and hedge at 10 cm squares. Your custom LaunchPad layers show up with no code change. The .glb file opens on a phone or a web page.
- Not stronger yet: the Combined CAD still carries things Blender does not draw yet: measured labels and dimensions, the drawing sheet, and bed names tied to the planting engine. Houses are white boxes with laser roofs (no windows or doors), neighbours are the county's flat-topped blocks, and plant models are stand-ins chosen by size, not by species.
- The sun numbers disagree, and the disagreement matters. At 1140, Blender finds less sun than the report on open ground, and the opposite for the beds. The report calls 74% of the bed area shade; Blender calls 13% shade. They also rank the beds differently. One visit settles it: photograph the front beds (report beds 5, 6 and 9) at 9 am, noon and 3 pm. Details below.
- No purchase needed yet. The free models cover palms by size (royal, Alexander, coconut, Christmas) and broadleaf trees. The kit builds its own fan palm, because no free fan palm is usable. Paid models (botaniq, Maxtree) would matter for close-ups and species, not for this stage.
1140 NE 87th St
No tree points are drawn at 1140 yet, so every tree here comes from the 2024 laser alone. Its beds, lawn and concrete were read live from LaunchPad: they changed since the 3D session copied them on 21 September.




460 SW 21st Rd
Alan's custom layers from today are in: 4 tree points, and the "Hedges" area (23.6 m²), built as a hedge 4.8 m tall. That height is what the 2024 laser measured inside the area: most returns fall between 2.5 and 5 m, so it is a tall hedge, not a guess. The fence line is drawn as a see-through picket fence 1.5 m tall; that height is assumed, because the county lists an aluminium modular fence but not its height.
330 SW 27th Rd
Alan's custom layer from today is in: 7 tree points. Five of them sit on a tree the 2024 laser measured, so they take its height and crown size. Two have no laser tree under them (planted since 2024, or small), so they are drawn at 3 m.
Sun check at 1140 NE 87th St: Blender's traced sun against the report's numbers
Blender baked 80 pictures in 38 s: 21 June (20 s), 21 December (8 s) and today (9 s), one every 30 minutes from sunrise to sunset plus 9 am, noon and 3 pm, on a grid of 255 × 368 squares of 10 cm. Each picture looks straight down at the ground. Everything else (the house, trees, palms, hedges and neighbours) is hidden from the camera but still casts shadows, so the number is the light on the ground under the canopy, not on the top of the crowns.
The report's numbers are the ones its own server gave for this property today (saved in site-report/1140-ne-87th-st/). The comparison applies the report's own rules to the Blender grid: full sun is 6 or more hours in June, part sun 3 to 6, shade under 3.
| Site report (Google) | Blender | Blender, neighbours cast no shadow (test) | |
|---|---|---|---|
| Open ground, sun hours on a June day | 8.6 h | 7.4 h | 8.1 h |
| Open ground, sun hours on a December day | 5.3 h | 3.8 h | 4.2 h |
| Share of the lot in sun, June 9 am | 66% | 53% | 57% |
| Share of the lot in sun, June 3 pm | 85% | 72% | 74% |
| Share of the lot in sun, December 9 am | 40% | 32% | 40% |
| Share of the lot in sun, December 3 pm | 63% | 37% | 42% |
| Share of the lot shaded at noon in winter | 26% | 43% | 43% |
| Bed area: shade / part sun / full sun (the report's own rule) | 74% / 17% / 9% | 13% / 29% / 58% | 3% / 30% / 67% |
Reading it. On open ground, Blender finds less sun than the report. About half of that gap is the neighbours: the county gives each neighbouring house one height (its highest point), so Blender stands it up as a flat-topped block at ridge height. Take their shadows away and the June figure moves from 7.4 to 8.1 hours, against the report's 8.6. The report's hourly sun comes from Google's 1 m layer, and Google often misses palms, so it should read a little sunny. Both effects are real; neither method is proven right.
The beds are the real disagreement. The report calls three quarters of the bed area shade, mostly from canopy. Blender, with the laser-measured trees, calls 58% of it full sun. The two also rank the beds in a different order: the rank agreement is -0.55 on a scale from −1 to +1, where +1 would mean the same order. The per-bed numbers are in different units: the report gives Google's yearly energy on 0.5 m squares and Blender gives hours. So only the order can be compared.
| Report bed | Report: yearly sun energy (Google, 0.5 m squares) | Report: % counted full sun | Blender: sun hours, 21 June | Blender: sun hours, 21 December |
|---|---|---|---|---|
| Bed 2 | 1461 kWh per m² | 69% | 8.3 h | 0.9 h |
| Bed 3 | 1354 kWh per m² | 50% | 5.3 h | 5.5 h |
| Bed 4 | 1519 kWh per m² | 67% | 7.5 h | 0.0 h |
| Bed 5 | 1052 kWh per m² | 0% | 8.8 h | 4.9 h |
| Bed 6 | 1074 kWh per m² | 14% | 8.6 h | 5.2 h |
| Bed 9 | 1050 kWh per m² | 0% | 8.8 h | 4.3 h |
| Bed 10 | 1041 kWh per m² | 18% | 4.7 h | 3.7 h |
| Bed 11 | 1491 kWh per m² | 80% | 4.5 h | 1.5 h |
What I checked on the Blender side before trusting it. The first run drew some broadleaf models wider than the laser crowns: a few were 2 to 5 times too big in area, mostly on neighbours' lots. I fixed it, so the crown now follows the laser even if the model looks a little stretched, and re-ran everything. Under the trees, only 4 to 29% of the light gets through, in line with the Brain's own table for dense trees (0.05 to 0.15). So the models are not leaking light. The remaining differences come from the inputs (laser trees against Google's canopy) and from the neighbours' blocks.
Speed (measured today on the MacBook, Apple M5 Max graphics chip)
| Property | Build the scene | Aerial | Street | Plan noon | Plan 4 pm | 3D file | Whole run, wall clock |
|---|---|---|---|---|---|---|---|
| 1140 NE 87th St | 0.9 s | 14 s | 13 s | 11 s | 12 s | 0.6 s | 91 s (with the sun bake) |
| 460 SW 21st Rd | 0.9 s | 14 s | 6 s | 8 s | 6 s | 0.6 s | 37 s |
| 330 SW 27th Rd | 1.0 s | 13 s | 15 s | 12 s | 10 s | 0.7 s | 54 s |
Free plant models
Downloaded today: 61 Poly Haven models (2.39 GB). They are free of any credit line (CC0), and Poly Haven needs no account. They include every plant, tree, ground-cover, grass and flower model worth having, plus a few landscape boulders. 12 were skipped on purpose: temperate firs, a garden hose, and root or deadwood debris. The reason for each is in the list. The 24 models the 3D session downloaded from Sketchfab on 22 September were copied in too; most owe a credit line (CC-BY). Not downloaded, because each needs a sign-up (your call): Maxtree free Vol 60, Quixel Megaplants, Sketchfab CC0 / CC-BY (more single models), BlenderKit free tier. Everything is in downloaded-models.csv: file, source, licence, size, whether an account was needed, and whether the kit uses it.

How a tree point becomes a model. The kit reads the laser tree under the point for height and crown width. Then it guesses palm or tree from where the leaves sit: a palm has its leaves only near the top, above a bare trunk. This guess is a first cut, not yet tested against the site. Palms are swapped by size: 10 m and up is a royal palm; 6.5 to 10 m is an Alexander or a coconut palm; under 6.5 m is a Christmas palm. If you name a LaunchPad layer "Palms" or "Fan palms", the name wins over the guess, and "Fan palms" uses the fan palm shape. Fan palms and feather palms are never swapped for each other.
The kit and where things live
- Repository (private): aharveyrianhard-stack/urth-blender. It holds scripts, the README, small data files and the list of large files. Models, scenes, pictures and laser data stay on the MacBook and are listed with their fingerprints in
MANIFEST-large-files.csv. - On the MacBook:
workspaces/urth/blender/.kit/holds the scripts;library/the plant models and the library file;properties/<address>/each property's package, scene, pictures, 3D file and sun bake;imported/the copies from the 3D session (withPROVENANCE-copies.csv: 337 files, every fingerprint matches its source). - One command rebuilds all three:
kit/run_stage1.sh. For any other property you only need its LaunchPad id and a site bundle. - Every object in a scene records where it came from: the laser, the county, a named LaunchPad layer, or an assumption.
What is not done, and known issues
- Houses have no windows, doors or roof material of their own: the roof takes its colour from the aerial photo. Some roofs show small spikes near their edges where the laser caught an overhanging tree.
- Neighbours are the county's flat-topped blocks at their highest point. They over-shade (see the sun check).
- Plant models are stand-ins by size. Species needs capture: a photo pin or a named layer.
- Beds are shown as mulch: what is planted in them is not known yet, so nothing is invented.
- The sun bake was run at 1140 only, for 21 June, 21 December and today. It has not been checked against the site: that visit is the next test.
- Nothing is on the live app. Putting the 3D files on the property page needs a storage decision; the bridge spec from 22 September flags this as a stored-data change for you to decide.
- The street view at 330 is crowded by the street's own trees. They are real, measured by the laser, but the camera spot could be picked better.























