oneshotlm
Compare all models on this prompt →

L-system tree · qwen3.7-plus

Using the pre-provided p5.min.js (global p5), grow a procedural L-system fractal tree that branches recursively and sways gently in the wind.

⛨ sandboxed Open in new tab ↗
transcript · 6 messages
user

Using the pre-provided p5.min.js (global p5), grow a procedural L-system fractal tree that branches recursively and sways gently in the wind.

assistant
thinking
The user wants me to create a single-page web app using p5.js that draws an L-system fractal tree that sways gently in the wind. Let me plan this out:

1. L-system fractal tree:
   - Define a set of rules for an L-system (e.g., F -> FF, or more complex branching rules)
   - Generate the sentence after several iterations
   - Interpret the sentence to draw branches (using turtle graphics: F moves forward drawing, + turns right, - turns left, [ pushes state, ] pops state)

2. Wind swaying:
   - Apply gentle oscillation to branch angles or positions
   - Use sin/cos waves with time-based offset to create organic movement
   - Deeper branches sway more than the trunk

Let me design a nice looking tree:
- Start with axiom: "F"
- Rule: F -> "FF-[-F+F+F]+[+F-F-F]"
- This creates a nice plant/tree fractal
- Angle around 25 degrees
- Start with segment length, decrease with each iteration

For the wind effect:
- I can apply a time-varying angle offset based on the depth of the branch
- Use noise or sin waves to create gentle swaying
- The tip branches sway more than the base

Let me create a visually appealing version with:
- Dark background
- Brown/gradient branches that get thinner
- Leaves/flowers at the tips
- Gentle wind animation

I'll write this all into index.html.
write /workspace/index.html (11031 bytes)
toolResult

Successfully wrote 11031 bytes to /workspace/index.html

assistant
thinking
The file has been created. Let me verify it exists and is well-formed.
bash {"command":"ls -la /workspace/index.html && echo \"---\" && head -5 /workspace/index.html && echo \"...\" && wc -l /workspace/index.html"}
toolResult

-rw-r--r-- 1 node node 11266 Jul 22 17:31 /workspace/index.html --- <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> ... 430 /workspace/index.html

assistant
thinking
The file is created and looks good. Let me verify it's loading p5.min.js correctly and everything is sound.

Done! `index.html` is ready in the current directory. Here's what it includes: ### 🌳 L-System Fractal Tree **L-System Grammar:** - **Axiom:** `F` - **Rule F →** `F[+FF][-FI]F[+F][-FI]` (creates organic branching) - **Rule I →** `II` (leaf markers that grow over iterations) **Procedural Generation:** - Recursively branches using turtle-graphics interpretation of the L-system sentence - Pre-builds all segments on generation for efficient redrawing each frame - Branch depth (2–7 iterations) is adjustable via buttons **Wind Animation:** - Multi-layered sinusoidal wind: base sway + secondary harmonic + random gusts - Displacement scales **quadratically** with depth — trunk barely moves, tips swing freely - Each segment has a unique phase offset for organic, non-uniform movement - Leaves breathe and flutter independently **Visual Details:** - Night sky gradient with twinkling stars - Grass tufts that bend with the wind - Branches colored brown→green with depth, with subtle inner glow - Glowing leaf nodes at branch tips - Cinematic vignette overlay **Interactivity:** - **Buttons:** Adjust branch depth (+/−) or regrow with a new random seed - **Mouse drag:** Tilt the wind direction left/right - **Keyboard:** `+`/`-` for depth, `R` to regrow

TAKE IT TO CODE

A single self-contained HTML file — copy it and open in any browser, or reuse the prompt with your own pi-agent run.

RUN

modelqwen3.7-plus
vendorQwen
harnesspi-agent
generated2026-07-22

EVALUATION

3/5 partial

Static-looking L-system tree with fireflies; no visible sway or growth animation, drag/inputs show negligible change.

Vision grade · anthropic/claude-sonnet-5

MEASUREMENTS

Raw readings from the capture, not a verdict — the grade above is the only judgement. Percentages are how much of the screen changed; the measure under-reports sparse motion on a dark background.

idle motion0.0%
on click0.0%
on drag0.2%
on wheel0.0%
on enter + space0.0%
on arrow keys0.1%
on w/a/s/d0.1%
frame spread8.7 / 255
console errors0
js errors none

METRICS

runtime98.3s
tokens in10k
tokens out5.0k
cached4.2k
cost / run$0.0100