/ listening-for-chaos / chaos-apps
Sign in
listening-for-chaos / chaos-apps
chaos-apps
Go to fileHistoryFork
.githubOne multi-page Vite site: shared config at the root, landing page, apps at /double-pendulum/ and /fput-chain/
srcPlate: remove membrane tension (did not sound like a drum; drums later); clamped edges stay
.gitignoreOne multi-page Vite site: shared config at the root, landing page, apps at /double-pendulum/ and /fput-chain/
package-lock.jsonOne multi-page Vite site: shared config at the root, landing page, apps at /double-pendulum/ and /fput-chain/
package.jsonOne multi-page Vite site: shared config at the root, landing page, apps at /double-pendulum/ and /fput-chain/
README.mdPlate: 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)
tsconfig.jsonOne multi-page Vite site: shared config at the root, landing page, apps at /double-pendulum/ and /fput-chain/
vite.config.tsPlate: 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)

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/plate/: square plate with bending stiffness, simply supported (README), 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.

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.

↑↓ move↵openescclose