# chaos-apps Interactive 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. - `src/double-pendulum/`: double pendulum ([README](src/double-pendulum/README.md)), served at `/double-pendulum/`. - `src/fput-chain/`: FPUT-beta chain ([README](src/fput-chain/README.md)), served at `/fput-chain/`. - `src/beam/`: beam with bending stiffness ([README](src/beam/README.md)), served at `/beam/`. - `src/plate/`: square plate with bending stiffness, simply supported ([README](src/plate/README.md)), served at `/plate/`. - `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. - `src/index.html`: landing page linking the apps. Live site: https://chaos-apps--listening-for-chaos.vault1-sites.magland.org/ (built and deployed by `.github/workflows/pages.yml` on every push to main). The apps were separate repos (`double-pendulum-chaos`, `fput-chain-chaos`) until 2026-10-09; their histories are merged here, each moved into its folder. ```bash npm install npm run dev ``` The 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.