AgentStack
Browse Sign in
Browse Why AgentStack Sell Docs
Sign in
SKILL verified MIT Self-run

Threejs Spectral Ocean

skill-scottstts-threejs-awesome-graphics-agent-skills-threejs-spectral-ocean · by scottstts

Build large procedural oceans in Three.js from directional wave spectra. Use for WebGPU/TSL FFT oceans, multi-cascade wavelength bands, hybrid FFT plus Gerstner clear-water oceans, stylized above/below surface ocean optics, choppy displacement, spectral derivatives, Jacobian whitecaps, temporal foam, analytic sky reflection, underwater absorption, crest scatter, and GPU validation.

No reviews yet
0 installs
39 views
0.0% view→install

Install

$ agentstack add skill-scottstts-threejs-awesome-graphics-agent-skills-threejs-spectral-ocean

✓ scanned · ✓ verified, works with Claude Code, Cursor, and more.

Security review

✓ Passed

No 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.

View the full security report →

Verified badge

Passed review? Show it. Paste this badge into your README, it links to the public security report.

AgentStack Verified badge Links to your public security report.
[![AgentStack Verified](https://agentstack.voostack.com/badges/verified.svg)](https://agentstack.voostack.com/security/report/skill-scottstts-threejs-awesome-graphics-agent-skills-threejs-spectral-ocean)

Reliability & compatibility

Security review passed
0 installs to date
no reviews yet
2mo ago

Declared compatibility

Claude CodeClaude Desktop

Compatibility is declared by the source manifest. End-to-end runtime verification is coming, see below.

Preview Execution monitoring

We're building live execution health for every listing: tool-call success rate, median latency, uptime, and last-checked timestamps, measured, not self-reported. It isn't live yet, so we don't show numbers we can't stand behind.

How agent discovery & health will work →
Are you the author of Threejs Spectral Ocean? Claim this listing to set pricing, connect Stripe payouts, and keep 70% of every sale.
Sign up to claim

About

Spectral Ocean

Treat an ocean as a sampled stochastic wave field with explicit frequency-space ownership. Do not approximate this target with a pile of Gerstner waves, scrolling normal maps, or unrelated foam noise.

Build order

  1. Define the sea-state spectrum and deterministic Gaussian seed.
  2. Partition wavelengths into disjoint cascades.
  3. Validate the inverse FFT independently with analytic inputs.
  4. Generate and conjugate-pack the initial spectrum.
  5. Evolve packed displacement and derivative fields in frequency space.
  6. Inverse-transform every packed field with explicit inter-step barriers.
  7. Assemble displacement, derivatives, and persistent Jacobian foam maps.
  8. Shade from summed cascade displacement and derivatives.
  9. Add sub-grid detail only below the resolved simulation bands.
  10. Expose spectrum, height, slopes, Jacobian, and foam-history diagnostics.

Read [references/spectral-cascade-ocean-system.md](references/spectral-cascade-ocean-system.md) before implementing or auditing a spectral ocean.

Read the [spectral cascade ocean system](examples/spectral-cascade-ocean/ocean-system.js) and its adjacent spectrum, FFT, material, and detail modules for the cascade, FFT, derivative, Jacobian, foam-history, and shading contracts. Its WebGL2 fragment-FFT backend is an explicit compatibility tier; preserve the production WebGPU/TSL architecture described in the reference when the target supports it.

Read the [hybrid clear-water ocean material](examples/hybrid-clear-water-ocean/hybrid-ocean-material.js) when the target needs FFT displacement with authored long swell, clear shallow refraction, animated sand-bed caustics, Beer-Lambert color, shared sky reflection, side-aware above/below surface normals, GGX sun highlights, and foam diagnostics.

Read the [stylized above/below ocean material](examples/stylized-above-below-ocean/stylized-ocean-material.js) when the target needs a stylized FFT ocean that can be inspected from both above and below the surface: height-gradient water color, sun-path glints, crest scatter, Jacobian foam, water-tinted seafloor caustics, and an underwater Beer-Lambert composite driven by scene depth.

Non-negotiable gates

  • Require a power-of-two grid and a passing FFT impulse/frequency test.
  • Keep cascade wavenumber intervals disjoint.
  • Derive normals from transformed derivatives, not a detached normal texture.
  • Detect breaking from the horizontal-displacement Jacobian.
  • Persist foam in simulation state; do not infer all foam anew per frame.
  • Submit FFT stages with the synchronization required by the active backend.
  • Share sun and sky parameters between the visible sky and ocean reflection.
  • Keep a deterministic seed and fixed-camera capture for comparisons.

Route elsewhere

  • Use $threejs-water-optics for bounded water, screen-space refraction, depth thickness, shoreline absorption, and analytic wave surfaces.
  • Add $threejs-procedural-vfx only when crest spray or interaction splashes are required.
  • Add $threejs-visual-validation for cross-seed, temporal, and GPU evidence.

Source & license

This open-source skill is cataloged on AgentStack and links to its original source — we do not rehost the code.

Install and usage instructions live in the source repository linked above.

Reviews

No reviews yet, be the first.

Versions

  • v0.1.0 Imported from the upstream source.