| .github | |
| src | |
| .gitignore | |
| package-lock.json | |
| package.json | |
| README.md | |
| tsconfig.json | |
| vite.config.ts |
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), served at/double-pendulum/.src/fput-chain/: FPUT-beta chain (README), served at/fput-chain/.src/beam/: beam with bending stiffness (README), served at/beam/.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-appShadow; Poincare section orbits, their worker, the precomputed atlas and the section panel, with a per-appSectionand panel configuration) andstyle.css, the shared styles. Each app'smain.tsimports../common/style.cssand then its ownstyle.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.
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/); edits anywhere under src/ reload the open pages.