Hi. Every time a new AI model comes out I like to set a challenge! The challenge is to draw an interactive rainbow scene. Make it as realistic, pretty and interactive as you can. It might have time of day changes, birds, trees, moutains etc. Maybe wind and rain. It needs to be realistic and interactive. Please create in a single HTML page so we can see in the Canvas. Good luck!


Added:
  We've just done with 'low effort', and now I've  changed to 'high effort'  I really want to see what you can do!  do crazy, make it as photo realistic as you can.  feel free to use 3d, rendering, raycasting, raytracing, caustics etc.  plan it first then go town.



---------------------------------------

New prompt from Ops 5.0
Slightly edited for Fable 5.1 (e.g. removed integrated graphics 60fps requirement)


Build a single, self-contained HTML file: an interactive, physically-plausible
outdoor scene featuring a rainbow.

DELIVERABLE CONSTRAINTS
- One .html file. All CSS and JS inline. No external libraries, CDNs, fonts, images, or network requests — it must run offline from a file:// URL.
- Must handle arbitrary viewport sizes and live window resize, and be devicePixelRatio-aware so it isn't blurry on HiDPI screens.
- May run on a reasonable modern graphics card e.g. GTX2080
- Use requestAnimationFrame with delta-time so animation speed is frame-rate independent.

THE RAINBOW PHYSICS — this is the main test, and most attempts fail it
- The bow is centred on the antisolar point: directly opposite the sun from
  the viewer. Its position must follow correctly as the sun moves, and it
  must sink below the horizon when the sun is high.
- Primary bow at ~42° radius, red outside, violet inside.
- Secondary bow at ~51°, colour order reversed, roughly 10x dimmer.
- Alexander's dark band between the two: the sky there is visibly darker
  than outside the secondary or inside the primary.
- Supernumerary arcs just inside the primary's violet edge if you can manage it.
- Colour should be a continuous spectral distribution, not discrete stripes,
  composited additively (it's light, not paint), with alpha falling off at
  the arc edges.
- The bow exists only where there is rain between viewer and antisolar point.
  It fades in and out with the rain; it never toggles instantly.

THE REST OF THE SCENE
- Sky: Rayleigh-style gradient driven by sun altitude. Warm compressed
  horizon at low sun, correct twilight progression, stars and moon at night.
  Sun disc with glow.
- Clouds: evolving shape, lit from the actual sun direction, not flat white.
- Terrain: parallax mountain layers with aerial perspective — distant layers
  desaturated and lower-contrast. Trees, grass, or water as you see fit.
- Weather: rain with wind shear and depth-varying speed, ground darkening
  when wet, optional lightning.
- Birds with simple flocking behaviour.

INTERACTIVITY
- Live controls, no reload: time of day, rain intensity, wind strength,
  cloud cover, view direction.
- Direct manipulation: drag the sky to look around, drag the sun to move it.
- Changes must propagate coherently — raise the wind and the trees bend,
  rain slants, clouds accelerate, birds drift downwind.
- Play/pause for time, keyboard shortcuts, working touch support.
- A small readout showing sun altitude and whether a bow is currently
  geometrically possible.

CRAFT
- Cohesive palette. No default browser-blue UI, no emoji used as scene
  elements, no clip-art shapes. Restrained typography that doesn't compete
  with the scene.
- Easing on every transition.
- Degrade gracefully: cap particle counts and shed effects if frame time rises.

PROCESS
- Ship the entire file. No truncation, no TODOs, no "rest of code omitted".
- Before finishing, self-review against the physics list and fix what's wrong.
- End your reply with a short checklist: which requirements you fully met,
  partially met, or skipped, plus one thing you'd do next.

The above is a floor, not a ceiling. Beyond it, make it beautiful however
you like.

