d1459b9One multi-page Vite site: shared config at the root, landing page, apps at /double-pendulum/ and /fput-chain/Jeremy Magland 1# chaos-apps
3Interactive apps for "Listening for chaos": struck dynamical systems heard as sound while they decay. One Vite multi-page site; each app lives in its own folder with its own README.
5- `src/double-pendulum/`: double pendulum ([README](src/double-pendulum/README.md)), served at `/double-pendulum/`.
6- `src/fput-chain/`: FPUT-beta chain ([README](src/fput-chain/README.md)), served at `/fput-chain/`.
8cbfe83Beam app (step 1): beam with bending, clamped/pinned/cantilever ends, local or Kirchhoff stretching; sped-up note with spectrogram. Note player, mute button, formats and canvas sizing in src/common/Jeremy Magland 7- `src/beam/`: beam with bending stiffness ([README](src/beam/README.md)), served at `/beam/`.
1763884Plate: new app, square simply supported linear plate on a grid (exact sine modes, mallet or kick at a point, height map, sped-up note with spectrogram)Jeremy Magland 8- `src/plate/`: square plate with bending stiffness, simply supported ([README](src/plate/README.md)), served at `/plate/`.
8776c93Beam step 4: ghost and Separation chart; ghost controls shared in src/common/ghost.ts, used by all three appsJeremy Magland 9- `src/common/`: code shared by the apps (help dialogs, chart cursor, WAV export, note player, ghost controls, note render loop, mode bars and mode-energy heat maps, index colors, mute button, number formats, canvas sizing, λ vs E scatter, strip charts, whole-note spectrogram, Lyapunov exponent by the two-trajectory method with a per-app `Shadow`; Poincare section orbits, their worker, the precomputed atlas and the section panel, with a per-app `Section` and panel configuration) and `style.css`, the shared styles. Each app's `main.ts` imports `../common/style.css` and then its own `style.css`, so app rules come after the shared ones in dev and in the build.
d1459b9One multi-page Vite site: shared config at the root, landing page, apps at /double-pendulum/ and /fput-chain/Jeremy Magland 10- `src/index.html`: landing page linking the apps.
12Live site: https://chaos-apps--listening-for-chaos.vault1-sites.magland.org/ (built and deployed by `.github/workflows/pages.yml` on every push to main).
14The apps were separate repos (`double-pendulum-chaos`, `fput-chain-chaos`) until 2026-10-09; their histories are merged here, each moved into its folder.
16```bash
17npm install
18npm run dev
19```
1763884Plate: new app, square simply supported linear plate on a grid (exact sine modes, mallet or kick at a point, height map, sped-up note with spectrogram)Jeremy Magland 21The dev server serves every app (http://localhost:5173/double-pendulum/, http://localhost:5173/fput-chain/, http://localhost:5173/beam/, http://localhost:5173/plate/); edits anywhere under `src/` reload the open pages.