Install
$ agentstack add skill-scottstts-threejs-awesome-graphics-agent-skills-threejs-water-optics ✓ scanned · ✓ verified — works with Claude Code, Cursor, and more.
Security review
✓ PassedNo issues found. Passed automated security review. · v0.1.0 How review works →
- ✓ Prompt-injection patterns
- ✓ Secret / credential exfiltration
- ✓ Dangerous shell & filesystem operations
- ✓ Untrusted network calls
- ✓ Known-malicious package signatures
What it can access
- ✓ Network access No
- ✓ Filesystem access No
- ✓ Shell / process execution No
- ✓ Environment & secrets No
- ✓ Dynamic code execution No
From automated source analysis of v0.1.0. “Used” means the capability is present in the source — more access means more to trust, not that it’s unsafe.
About
Water Optics
Treat water as geometry motion, surface orientation, and a participating optical layer. A blue transparent material is not a water system.
For large stochastic seas driven by directional spectra and GPU FFTs, use $threejs-spectral-ocean instead.
Analytic surface build order
- Define wave bands and evaluate displacement.
- Derive the normal analytically from the same waves.
- Choose displaced geometry or explicitly normal-only water.
- Establish scene-color ownership for heuristic refraction.
- Declare whether absorption uses true depth or a fallback path-length estimate.
- Blend analytic reflection/refraction through side-aware Fresnel.
- Derive foam and glints from the shared wave response.
- Filter unresolved normal bands from derivatives.
Read [references/water-surface-system.md](references/water-surface-system.md) for the exact five-wave displaced ocean, six-band normal-only water, optical hierarchy, and the limits that distinguish both from the spectral-ocean skill.
Read the [analytic wave optics implementation](examples/analytic-wave-optics/water-system.js) for shared displacement/normals, derivative filtering, reflection, screen-space refraction, absorption, Fresnel, and crest-linked foam diagnostics.
Read the [interactive pool volume implementation](examples/interactive-pool-volume/water-volume-system.js) for bounded RGBA height/velocity/normal simulation, local drops, moving-sphere displacement suitable for draggable objects, differential-area caustics, and shadered pool/water/sphere ray tracing against the pool bounds and sphere.
Failure conditions
- normal texture motion does not agree with displaced crests;
- heuristic refraction can sample foreground objects but the limitation is undisclosed;
- fallback path length is presented as reconstructed scene thickness;
- bounded pool caustics are a decorative projection detached from simulated
height normals;
- micro-waves alias into sparkling noise;
- foam is a scrolling texture unrelated to the shared crest metric;
- Fresnel is replaced by constant opacity;
- reflection, refraction, and transparency are all added without energy control.
Routing boundary
Use $threejs-spectral-ocean for stochastic directional spectra, FFT cascades, Jacobian breaking, and persistent ocean foam. This skill owns authored analytic waves, bounded heightfield simulation, ray-traced pool-volume optics, and bounded-water optics.
Source & license
This open-source skill is cataloged on AgentStack and links to its original source — we do not rehost the code.
- Author: scottstts
- Source: scottstts/Threejs-Awesome-Graphics-Agent-Skills
- License: MIT
Install and usage instructions live in the source repository linked above.
Reviews
No reviews yet — be the first.
Write a review
Versions
- v0.1.0 Imported from the upstream source.