Web Ocean — Productivity skill for Claude Code
Real-time WebGPU ocean renderer written from scratch, no engine.
How to install Web Ocean
This entry records only its repository, not the path inside it, so there is no
exact command to give. Open Noniv/web-ocean and copy the folder into
~/.claude/skills/, or the file into ~/.claude/agents/.
What Web Ocean does
Real-time WebGPU ocean renderer written from scratch, no engine. FFT waves, whitecaps, sun glitter, physically based sunset sky with clouds, free camera. Built with Claude Code (Opus 5.5). Opens from a single 61 KB HTML file in Chrome.
Alternatives in Productivity
- Ccplugins — Claude Code Plugins that actually save time 2.7k ★
- Claude Task Viewer — A web-based Kanban board for viewing Claude Code tasks 496 ★
- MCP Webresearch — MCP web research server (give Claude real-time info from the web) 298 ★
README
web-ocean
A real-time ocean renderer written from scratch on WebGPU, with no engine or rendering library. It draws a sunset sea with simulated waves, whitecaps, sun glitter, and a physically based sky with clouds. You fly around it with a free camera.

| 75 degrees off the sun, 2.4 m up | Looking toward the sun from 30 m up |
|---|---|
![]() |
![]() |
Run it
You need a recent Chrome with WebGPU and a reasonably capable GPU. On a laptop, force Chrome onto the dedicated GPU in the Windows graphics settings, or it will fall back to the integrated one.
Open `ocean.html` directly in the browser. `ocean.min.html` is the same page minified (61 KB instead of 102 KB). Both are self-contained and work from `file://`.
To run from source:
npm install
npm start # serves http://localhost:8080/
After editing anything under `js/`, run `npm run build` to regenerate both bundles. The minified build strips WGSL comments and whitespace and minifies the JavaScript with esbuild.
Controls
| Input | Action |
|---|---|
| Click the canvas | Capture the mouse (Esc releases it). Holding the right mouse button also works. |
| Mouse | Look around |
| W A S D | Move |
| Space or E / Q or C | Up / down |
| Shift | 5x speed |
| Mouse wheel | Change base speed |
| H | Settings panel: wind, swell, choppiness, turbidity, foam, sun, haze, clouds, exposure, bloom |
The camera keeps itself above the displaced water surface, so waves never pass through it.
URL parameters are handy for testing. `?w=2560&h=1440` forces the render resolution, `cam=x,y,z,yawDeg,pitchDeg` sets the camera, `fov=deg` sets the field of view, `ui=0` hides the HUD, and any settings key works too, for example `windSpeed=12&swellHs=2&sunElev=8`.
How it works
Waves
The sea is a Tessendorf FFT simulation with six cascades of 256 by 256 samples. The patches range from 1103 m down to 0.26 m, so wav
Related Skills
Unreal 360 Render Skill
Claude Code skill + CLI: add a 360 camera to an Unreal Engine 5 level and render equirectangular stills/video
Long Wind
长风 Long Wind — a real-time wuxia action game in the browser (three.js). Every line of code written by Claude O
NG Sonnet Gateway
NG free gateway - Limited time only. One command wires Claude Opus 5.5 into Claude Code, Codex, Antigravity an
Planetarium
Tauri desktop app (Rust + WebGPU) that renders your repos as 3D constellations and tracks Claude Code agents w
Forgelite
A lean, token-efficient build workflow for Claude Code: shape, plan, build, debug and verify with Opus where i
Opus V Oai
Real-time analysis of engineer reactions to Claude Opus 4.6 and OpenAI Codex 5.3. Powered by Exa.
Related Agents
Part 13: Memory Bridge (Give Coding Agents Your Brain)
When you spawn Codex or Claude Code to build something, they start blind. They don't know your architecture de
Code Master
VibeCraft Code Master. Principal engineer for everything that compiles: TypeScript engine (core, world, sim),
Caveman Compress
Compression engine wrapper — runs the caveman-compress CLI on a body artifact in scratch, returns the compress

