A game-ified simulator/learning tool for diving nerds.
Find a file
Pedro 3dd512df10
All checks were successful
Deploy Pages / deploy (push) Successful in 48s
Ignore the Reef Runner bank shortcut while paused (#51)
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-31 14:23:16 -05:00
.forgejo/workflows Add D2 identity and Scout tours with gated review preview 2026-10-30 13:55:53 -05:00
docs Integrate bounded transient NDL search (#48) 2026-10-30 23:15:52 -05:00
public Add D2 identity and Scout tours with gated review preview 2026-10-30 13:55:53 -05:00
scripts Use supported pagination for the isolated Pages preview 2026-10-30 13:57:59 -05:00
src Ignore the Reef Runner bank shortcut while paused (#51) 2026-10-31 14:23:16 -05:00
tests Ignore the Reef Runner bank shortcut while paused (#51) 2026-10-31 14:23:16 -05:00
.gitattributes Resolve VPM reference discrepancies and correct phase-entry timing 2026-10-19 22:06:04 -05:00
.gitignore Organize source, tests and documentation [skip ci] 2026-10-29 23:54:10 -05:00
AGENTS.md Give README a logo-led project overview [skip ci] 2026-10-30 00:01:12 -05:00
index.html Add D2 identity and Scout tours with gated review preview 2026-10-30 13:55:53 -05:00
package.json Organize source, tests and documentation [skip ci] 2026-10-29 23:54:10 -05:00
pnpm-lock.yaml updated some files 2026-10-12 00:07:24 -05:00
pnpm-workspace.yaml updated some files 2026-10-12 00:07:24 -05:00
PROJECT_MILESTONES.md Record verified branding deployment and close release [skip ci] 2026-10-30 14:38:40 -05:00
PROJECT_SCOPE.md Record verified branding deployment and close release [skip ci] 2026-10-30 14:38:40 -05:00
README.md Add D2 identity and Scout tours with gated review preview 2026-10-30 13:55:53 -05:00
tsconfig.json Organize source, tests and documentation [skip ci] 2026-10-29 23:54:10 -05:00
vite.config.ts updated some files 2026-10-12 00:07:24 -05:00

DiveSim logo

DiveSim

Explore beneath the surface.
A browser lab for curious divers — and a reef worth playing in.


Make the invisible part of a dive visible

Take a profile deeper. Change the breathing gas. Spend a little longer at the bottom, or add a surface interval before the next descent. DiveSim lets certified divers explore those what-ifs and watch depth, gas supply and tissue loading respond together.

Pause a dive, speed it up, scrub through its history, and compare another version of the same exposure. The aim is to make the relationships behind the numbers easier to see.

An educational sandbox. Do not use DiveSim for real dive planning or execution. Its simulations and model comparisons are not operational validation.

A whole dive to explore

Part of the lab What you can explore
Live simulator Steer the diver, change gases, watch cylinder pressure and follow nitrogen and helium across all 16 tissue compartments. Pause or accelerate time as the picture develops.
Profile planner Sketch a sequence of depths and holds, assign cylinders, compare projected ascents and carry residual loading into a repetitive dive. Save a profile and return to it later.
Model lab Explore ZHL-16C, ZHL-16B and experimental VPM-B, with open-circuit and idealized rebreather simulation. Each model keeps its assumptions and limitations visible.
Import & replay Bring in supported Shearwater, Suunto or UDDF exports. Inspect the recorded profile, compare it with a plan, and replay variations in gas, depth, duration or breathing rate.
Reef Runner Take a detour through the reef: collect coins, dodge hazards, fire the speargun and bank your haul on the ascent. The game has its own session, while your simulator dive waits for you.

Keep your experiments close

Calculations and dive-file parsing run on your device. Save plans in the browser, export them as JSON, or send a shared-plan link to someone exploring the same question. No account is needed.

Once the app has downloaded its offline copy during an online visit, the lab can come with you: simulation, saved plans, imports and replay remain available without a connection. The offline guide explains installation, updates and what browser storage can preserve.

Under the hood

TypeScript and React provide the interface; Vite packages it as a static site. The numerical engines describe exposure and decompression, simulation logic keeps the live dive moving, and calculation workers handle projections and replay away from the interface. Planner, import, replay and game code each have their own home.

The project pairs automated checks with a frozen independent reference corpus. The architecture guide explains how the pieces fit; the development guide covers local setup, commands and the repository map.

Choose your next stop

If you want to… Start here
Get to know the controls and workflows User guide
Understand the math and its boundaries Models & limitations
Run locally or work on the code Development guide
Host a copy or understand updates Deployment · Offline behavior
Download and verify the accepted R1 release R1 download, verification & recovery
Explore the evidence or report a problem Documentation & review records · Issue tracker

R1 is the accepted educational release. Its downloadable archive stays frozen while main receives maintenance; the release record and project scope describe that boundary.


Learn by exploring. One variable, one replay, one dive at a time.