← Back to essays
1h ago10 min read26 viewsExport Markdown

I Wanted a Break From Prompting, So I Planted Some Trees

by Hrvoje Pavlinovic

AIThree.jsLandProduct DevelopmentUnity

I spend a lot of time prompting about software.

Architecture, infrastructure, product ideas, bugs, deployments, documentation, agents, workflows. Useful work, but after enough hours even the interesting prompts start to feel like the same room.

So I wanted a small break.

I thought I would open the notes for our land in Glavice, figure out which trees make sense there, and maybe make a rough planting plan. Something physical and slow. A few plums, sour cherries, figs, walnuts, poplars, maybe some lavender and rosemary. Trees do not care about release notes.

I opened a new Codex thread and asked it to read everything I already had about the project in Obsidian.

About an hour later, the first interactive version was online.

By the next morning, my relaxing tree exercise had become a responsive 2D and 3D masterplan for 8,615 square metres of land, with the real parcel geometry, a house reconstructed from architectural drawings, a pool, roads, parking for 25 cars, a garden, an orchard, a playground, a workout area, a sports court, a pond, drainage, walking paths and a first-person mode.

No trees were actually planted. I should make that clear. But we got much closer to knowing where they should go.

It started with the land, not the software

The land is in Glavice Gornje, near Sinj. The original parcel is 8,615 square metres. Roughly 3,026 square metres are being separated as the buildable part, while the remaining 5,590 square metres stay agricultural.

The long-term idea is a family and event property for smaller celebrations, birthdays, baptisms, company gatherings and similar events. There is already an architectural concept for a 20.85 by 11.40 metre house and an 8 by 4 metre pool.

The agricultural part is currently an ordinary meadow. It has not been cultivated for a long time, but it is valuable land and I did not want to cover it with random objects just because there was space.

The original question was simple: what should we plant, where should we plant it, and when should we start?

That question immediately exposed all the things I did not know.

Glavice is not coastal Dalmatia. The area has summer heat, but also winter cold, temperature inversions and late frost. The southern part of the parcel was almost completely flooded after the snow melted. The same southern tip looks towards a cemetery, so we want taller trees there for privacy. Poplars like moisture, but their roots should not be placed casually near wastewater pipes or infiltration systems. Figs and rosemary may work, but only in warmer, protected and well-drained positions.

Before deciding on trees, we needed to decide what the land was supposed to do.

The planting plan became a masterplan

I did not want a plantation. I wanted a place that could support family life and events without losing the open character of the land.

We started defining the programme: events for around 60 people, 25 additional parking spaces, a central meadow of about 1,200 square metres, a family garden, a smaller mixed orchard, a children's area, space for exercise, a gazebo, walking paths and a shallow retention pond in the wet southern area.

At first this was text and rough diagrams. Then I asked for an actual visual plan.

The first result was useful, but wrong in exactly the ways generated plans are often wrong. It looked plausible before you compared it carefully with the cadastral geometry, road, neighbouring parcels and architectural documents.

So the work became an iteration loop:

  • Import the real HTRS96/TM parcel coordinates and keep metres as the common unit.
  • Reconstruct the buildable parcel, agricultural parcel, road and neighbouring context.
  • Read the 44-page architectural PDF and model the house, roof, facade openings, covered terrace, BBQ area, pool shell, steps and underground plant room.
  • Keep conceptual zones inside the correct parcel with programmatic boundary checks.
  • Use real photos and Street View to correct the entrances and the dense, irregular vegetation along the road.
  • Move the event parking away from the private pool zone and calculate the actual clearance.
  • Test every revision in 2D, orbiting 3D and first-person view on desktop and mobile.

The result is built with Astro and Three.js. The 2D and 3D modes use the same metric geometry, which matters more than it sounds. A rectangle does not become a different size because the camera changed.

The 2D view has true north, coordinates, a scale, pan and zoom. The 3D view has terrain, shadows, orbit controls and selectable zones. Walk mode places the camera at 1.70 metres, with collision around the parcel, house and pool. On a phone it has a virtual joystick, touch look and a separate control for faster movement.

You can open the current version at glavice.hills-lab.hr.

What ended up in v0.9

The current plan has much more than trees, although the trees still shape most of it.

There is a compact 34 by 18 metre permeable parking module with 25 individual cars, split 13 plus 12. It sits on the agricultural side and is separated from the pool by roughly 17 metres, the house and a separate service route. Six trees, hedges and green edges stop it from looking like a bare gravel field.

The central meadow remains open. That was one of the most important decisions. It is easy to fill an empty plan with attractive objects, but flexible open space is valuable. The meadow can support play, temporary event setups and small football without permanent obstacles in the middle.

Next to it is a children's park and a small calisthenics area, both visible from the house. There is also a multi-use 18.30 by 9.20 metre court with a proper pickleball layout, an adjustable net for pickleball or recreational football tennis, and an outdoor table tennis table.

The family garden is around 280 square metres, with eight beds, a greenhouse, compost and water storage. A loose mixed orchard connects it to the rest of the agricultural land. A fragrant garden puts lavender, rosemary, sage and thyme on a dry, well-drained surface instead of the wet southern end.

There is a small grove with hammocks and a bench, a pool deck with loungers and umbrellas, a northwest arrival garden, a walking loop, a service path, a gazebo and a small fire pit.

At the southern tip, a loose group of six poplars and three alders or willows creates a tall screen towards the cemetery. The wet meadow and retention pond are treated as features of the site, not defects that must automatically be drained away.

One later revision added more roadside trees after I marked the exact empty stretch on a screenshot. That was the working rhythm: look, mark, correct, deploy.

How long did it take?

The thread started at 18:57 on Sunday. The first working version was committed and deployed at 19:56, almost exactly one hour later.

The larger rebuild with precise parcel geometry, 2D and 3D views, corrected road context and walk mode happened over the next few hours. The mobile version, architectural house and pool, southern tree screen and corrected parking layout were online before midnight.

After an overnight break, the camera fix and the larger v0.9 landscape revision were finished the next morning. The last commit in that sequence landed at 10:06.

So the honest number is about 15 hours from the first prompt to the last revision, including a long overnight pause. In actual active work, it was roughly one working day. The first useful result took one hour. The version I would confidently use for family discussion took the evening and part of the next morning.

That distinction matters. AI demos often compress time in a way that hides all the correction. The first result was fast. Making it respect the land, the documents and the real photos took most of the work.

The risk for companies that sell this kind of software

I do not think landscape architects, surveyors, agronomists or civil engineers are about to disappear. This model cannot confirm soil bearing capacity, drainage levels, legal use of agricultural land, fire access, structural details or the final position of underground installations. It cannot sign a plan, carry liability or replace a site visit.

But there is real risk for companies whose value is mostly in producing the first visual draft and charging for every revision.

The vulnerable part is the middle of the workflow: turning scattered documents into a usable concept, moving zones around, testing alternatives, creating a client-facing 3D view and making twenty small changes after a meeting. That used to require several handoffs and days of specialist time. Here it happened through a conversation from a phone, with a live version after every meaningful revision.

A client can now arrive with something much better than a sketch. They can bring a georeferenced interactive brief, exact dimensions, photos, a list of open decisions and a record of why each zone moved. That changes what they are willing to pay for.

The weak business model is selling time spent drawing rectangles and exporting renders. The stronger model is selling judgment, verification and responsibility:

  • Which assumptions are unsafe?
  • What is legally possible?
  • How does water really move through the site?
  • Which species will survive the microclimate?
  • What can actually be built and maintained?
  • Who is accountable when the plan becomes concrete, pipes, soil and trees?

Companies working in CAD, landscape planning and property visualisation should treat AI as a compression layer for early design, not as a novelty. The best ones will let clients explore quickly, then charge for the expertise that turns exploration into a buildable plan. The ones that protect slow revisions as their margin have a problem.

Why I want to rebuild it in Unity

The browser version was the right first move. It is fast to change, easy to deploy and simple to share. Anyone in the family can open a link on a phone without installing anything. Astro and Three.js were enough to prove the layout and expose bad assumptions.

Unity is the next step because I want to experience the place, not only inspect it.

The Unity version can have better terrain, vegetation, materials, lighting and first-person movement. More importantly, it can simulate the questions that are difficult to judge from a plan:

  • How dense will the roadside trees feel from the entrance?
  • Can you see the children from the covered terrace?
  • Does the parking disappear enough behind vegetation?
  • Where is the shade in June at 17:00?
  • How does the southern screen look after five, ten or twenty years?
  • Does the property still feel open when all planned content is present?

I would like to add day and season controls, staged tree growth, better walking, weather, realistic shadows and eventually a VR mode. Drone terrain or LiDAR data could replace the current simplified ground once we have it.

I do not want to redraw everything manually in Unity. The browser planner should remain the fast decision tool and the source geometry should be exported into the Unity scene. The web version is for iteration and sharing. Unity is for presence, scale and emotional confidence before we spend real money.

It still will not be an engineering plan. It will be a much better way to discover that something feels wrong while moving a tree costs nothing.

Back to the trees

The funny part is that the original problem remains.

We still need soil analysis, a proper elevation survey, the exact positions of wastewater and drainage infrastructure, confirmation of what can legally sit on the agricultural part, and observations from another wet season. Only then should the permanent trees and orchard be locked.

Software made the thinking faster. It did not make the land less real.

I wanted a break from prompting and ended up prompting about poplar roots, parking geometry, pool steps and Euler rotation order. Somehow it was still a break. The work was attached to a place my family can eventually use, and every correction made the future a little easier to see.

The model took a day.

The trees will take years.