# Webgl Caustic Pool

> A self-contained WebGL2 hero: animated water caustics woven from domain-warped ripples; click the…

A self-contained WebGL2 hero: animated water caustics woven from domain-warped ripples; click the water to drop a ripple. No meshes, no textures.

- Page: https://ss33.ai/skills/nexu-io/webgl-caustic-pool-90842458259
- Publisher: nexu-io
- Category: [Creative & Media](https://ss33.ai/skills/category/creative-and-media-0j3x01) › [Image & design](https://ss33.ai/skills/category/creative-and-media-0j3x01/image-and-design-nlbt3d)
- License: Apache-2.0
- Source: https://github.com/nexu-io/open-design/blob/78d5637cb49da07e81314d1544b5fc6d37c95084/plugins/_official/examples/webgl-caustic-pool/SKILL.md

## Skill

SKILL.md: https://ss33.ai/api/v1/ss33/download/nexu-io/webgl-caustic-pool-90842458259

# Caustic Pool

Produce a single self-contained `index.html` — A self-contained WebGL2 hero: animated water caustics woven from domain-warped ripples; click the water to drop a ripple. No meshes, no textures.

## Why this is a powered artifact

OpenDesign detects `getContext('webgl2')` / heavy WebGL and renders this file in **powered preview** (a cross-origin-isolated iframe). The full GPU + scroll pipeline runs; no opaque-sandbox workarounds are needed.

## Resource map

```
webgl-caustic-pool/
├── SKILL.md          ← you're reading this
├── example.html      ← the complete, working artifact (READ FIRST)
└── (assets, if any)
```

## Credits / attribution

- Original, self-contained (no third-party assets).

Keep any bundled LICENSE and on-screen credit intact. Replace imagery only with license-clean assets (original / AI, Lummi.ai, Unsplash/Pexels — never scraped imagery).
