"location": "Southern/southwestern slopes of Travný ('Pod Travným') in the Moravian-Silesian Beskids, Czech Republic.",
"landmarks": "Travný Summit (north, ~1200 m) and Morávka Valley (southwest) drains toward the Morávka River and reservoir.",
"local_topo_geo": "800m elevation, moderately steep 25 degrees slope, facing the sun to the southwest, inclining north/northeast toward Travný and falling southward into small valleys and ravines. Two small, parallel seasonal streams, one on the left, and one to the right, join into a larger watercourse.",
"general_topo_geo": "Mountainous, forested landscape characterized by rolling to steep hills, deeply incised stream valleys, and a continuous mixed forest canopy. Parallel ridges form shallow bowls and V-shaped valleys, with a broad, concave shape funneling water into narrow gullies. Slopes vary from gentle (10–15°) to steeper (20–30°) where sub-ridges separate creek valleys.",
"species_range": "This elevation and latitude are squarely within the natural range for the Central European montane forest communities dominated by Norway spruce (Picea abies), European beech (Fagus sylvatica), and silver fir (Abies alba). The location is neither an extreme northern nor an extreme high-elevation outlier.",
"forest_composition": "Dominated by Norway spruce and European beech with pockets of silver fir; mixed-age stands (older trees up to 30 m with younger regeneration). Understory includes bilberry, ferns, mosses; canopy gaps may reveal rowan and pioneer species.",
"soil_and_terrain": "The soil is rocky and somewhat acidic —typical of these Beskydy mountain slopes— but it’s also rich in organic matter thanks to decaying leaves and needles. Steep slopes encourage quick runoff, but the concave sections and gullies retain moisture longer, supporting more robust vegetation.",
"max_age": "500-600 years",
"max_height": "up to 60-65m",
"character_traits": "wise, tough, unapologetic",
with gr.Blocks() as demo:
gr.Markdown("# 🌲 **Tree Correspondents Generator**")
gr.Markdown("### 🌱 **Tree Info**")
gr.Textbox(label="Species", value=parameters["biological_context"]["species"], interactive=False)
gr.Textbox(label="Age", value=parameters["biological_context"]["age"], interactive=False)
gr.Textbox(label="Max Age", value=parameters["biological_context"]["max_age"], interactive=False)
gr.Textbox(label="Height", value=parameters["biological_context"]["height"], interactive=False)
gr.Textbox(label="Max Height", value=parameters["biological_context"]["max_height"], interactive=False)
gr.Markdown("### ⛰️ **Physical Context**")
gr.Textbox(label="Location", value=parameters["physical_context"]["location"], interactive=False)
gr.Textbox(label="Landmarks", value=parameters["physical_context"]["landmarks"], interactive=False)
gr.Textbox(label="Local Topography", value=parameters["physical_context"]["local_topo_geo"], interactive=False)
gr.Textbox(label="General Topography", value=parameters["physical_context"]["general_topo_geo"], interactive=False)
gr.Textbox(label="Species Range", value=parameters["physical_context"]["species_range"], interactive=False)
gr.Textbox(label="Forest Composition", value=parameters["physical_context"]["forest_composition"], interactive=False)
gr.Textbox(label="Soil & Terrain", value=parameters["physical_context"]["soil_and_terrain"], interactive=False)
gr.Markdown("### 🧠 **Character Traits**")
gr.Textbox(label="Character Traits", value=parameters["character_traits"], interactive=False)