fuzzyworld

shadow-zone / commit

Add README

2db5a2216c845b9bb5693b9ad3f2c3d984118627 · Pavel Safronov · 2026-06-11 20:34:10 -0700 · parents dec39be2630a

Add README

Covers what the project does, key features, tech stack, local dev
setup, and icon attribution. Links to the live GitLab Pages demo.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
 README.md | 46 ++++++++++++++++++++++++++++++++++++++++++++++
 1 file changed, 46 insertions(+)

diff --git a/README.md b/README.md
new file mode 100644
index 0000000..6b6257b
--- /dev/null
+++ b/README.md
@@ -0,0 +1,46 @@
+# Seismic Shadow Zone
+
+An interactive browser simulation of seismic wave propagation through
+Earth's interior, showing how the liquid outer core creates regions —
+*shadow zones* — where earthquake waves cannot be directly detected.
+
+**Live demo: https://pavelsafronov.gitlab.io/shadow-zone**
+
+---
+
+## What it shows
+
+When an earthquake occurs, P-waves and S-waves spread outward through
+the planet. The liquid outer core refracts P-waves sharply, leaving a
+~91°–110° band around the globe with no direct arrivals. S-waves cannot
+travel through liquid at all, so they are absent beyond ~105°.
+
+The simulation lets you adjust core size and seismic velocities to see
+how internal structure shapes the shadow zone. Try the presets — *Water
+Core*, *Giant Core*, *Solid Earth* — to explore non-Earth-like scenarios.
+
+## Features
+
+- P/S-wave ray tracing using Bouguer's law on a parameterised Earth model
+- Shadow zone detection: finds angular gaps in ray coverage, merges
+  nearby zones to reduce visual noise
+- Velocity-based layer colouring — equal speed → equal colour
+- Hover over any red arc on the surface to see the exact shadow zone range
+- Collapsible description and Wikipedia reference in the sidebar
+
+## Tech stack
+
+TypeScript · Vite · Canvas 2D API — no runtime dependencies.
+
+## Running locally
+
+```bash
+npm install
+npm run dev
+```
+
+Then open http://localhost:5173/shadow-zone/
+
+## Credits
+
+Earth icon by [Icongeek26](https://www.flaticon.com/authors/icongeek26) on Flaticon.