Project: crest-alpha
Route: tree-leaves
Public path: /tree-leaves/
Skill: oneshot-tree-leaves

Goal
- Build a single-file seasonal tree benchmark with an unmistakably visible trunk, visible branching, attached-leaf wind response, autumn shedding, winter bareness, spring regrowth, and ground accumulation.

Chosen preset
- Golden avenue maple
- Tone: warm, luminous, editorial
- Emphasis: dense summer into dramatic autumn shed with satisfying ground build-up

Visual direction
- Poster-like canopy study with a soft boulevard sky, warm mineral panels, copper-and-moss foliage, and restrained glass controls
- Distinctive but practical UI: short labels, strong hierarchy, responsive card layout, and motion that supports the simulation instead of decorating it

Systems list
- One hero tree with a large visible trunk, trunk split, and branching hierarchy
- Spring-like branch flex driven by wind and recoil
- Fixed attached-leaf slots on branch tips so the canopy behaves like one organism
- Detached leaf particles that fall, drift, and settle into a visible ground layer
- Full readable season loop: spring budburst, summer canopy, autumn colour turn and drop, winter bareness with late-season bud return
- Start, help, running, and reset states
- Simple season controls: auto, spring, summer, autumn, winter
- Simple wind controls: calm, breeze, gale, plus a gust trigger
- Pointer and touch drag over the canopy to create local gusts

Season loop
- Late winter to spring: buds reappear on branch tips, then unfurl into light green leaves
- Summer: full canopy density, calmer colour range, broad cohesive sway
- Autumn: warm colour bands sweep through the crown, leaves detach in waves, and the ground fills
- Winter: most leaves are gone, branch motion is clear, a small regrowth cue starts before the loop closes

Interaction notes
- The page starts with the tree visible immediately
- Dragging across the canopy pushes nearby leaves and increases shedding during autumn and winter
- Reset returns the scene to the catalog start state and restarts the seasonal loop
