# modules/gioser/ — Landing WASM (chacana + 4 elementos)

**Propósito.** Sitio personal animado en WASM: chacana 3D con tilt
físico al mouse + 4 tips cardinales (agua/fuego/aire/tierra). Demuestra
el patrón "crates agnósticos + cdylib WASM" del monorepo.

## Crates

| crate                 | tipo    | rol                                              |
| --------------------- | ------- | ------------------------------------------------ |
| `gioser-geom`         | lib     | Geometría puramatemática (chacana, polígonos)    |
| `gioser-physics`      | lib     | Inercia + spring para tilt (puro)                |
| `gioser-palette`      | lib     | Paletas dark/light de los 4 elementos            |
| `gioser-shaders`      | lib     | Shaders WebGL2 (vertex + fragment) como strings  |
| `gioser-canvas-web`   | lib     | Renderer WebGL2: GL context + program + draw     |

## Dependencias

- Los 4 primeros: sin deps web. Reutilizables en cualquier backend.
- `gioser-canvas-web` ← `wasm-bindgen`, `web-sys` (WebGL2RenderingContext).
- App final `apps/gioser-web` es cdylib.

## Estado

LOC 2,535. Landing operativa, deploys con `scripts/build-gioser-web.sh`.
Tests en geom/physics/palette. Estable. Ver `docs/changelog/gioser.md`.
