|
All checks were successful
Deploy Pages / deploy (push) Successful in 48s
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> |
||
|---|---|---|
| .forgejo/workflows | ||
| docs | ||
| public | ||
| scripts | ||
| src | ||
| tests | ||
| .gitattributes | ||
| .gitignore | ||
| AGENTS.md | ||
| index.html | ||
| package.json | ||
| pnpm-lock.yaml | ||
| pnpm-workspace.yaml | ||
| PROJECT_MILESTONES.md | ||
| PROJECT_SCOPE.md | ||
| README.md | ||
| tsconfig.json | ||
| vite.config.ts | ||
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.