Files
doux-copy/website
..
2026-01-18 15:39:46 +01:00
2026-01-18 15:39:46 +01:00
2026-01-18 15:39:46 +01:00
2026-01-18 15:49:45 +01:00
2026-01-18 15:39:46 +01:00
2026-01-18 15:39:46 +01:00
2026-01-18 15:39:46 +01:00

Doux Website

Documentation and playground for the Doux synthesizer.

Credits

Doux is a Rust port of Dough, originally written in C by Felix Roos. Dough is part of the TidalCycles ecosystem. Consider supporting the project.

Architecture

  • SvelteKit with static adapter for GitHub Pages deployment
  • mdsvex for markdown-based documentation in src/content/
  • WASM module (static/doux.wasm) — the synthesizer engine
  • COI service worker for Cross-Origin Isolation — browsers require Cross-Origin-Opener-Policy and Cross-Origin-Embedder-Policy headers to enable SharedArrayBuffer, which is needed for audio worklets. Since GitHub Pages doesn't allow custom headers, the service worker injects them client-side.

Directory Structure

src/
├── content/     # Markdown documentation files
├── lib/         # Shared components and utilities
├── routes/
│   ├── native/     # Native build downloads
│   ├── reference/  # API reference pages
│   └── support/    # Support pages
└── app.html     # HTML shell

Development

pnpm install
pnpm dev

Build

pnpm build

Output goes to build/.

Deployment

Automatic via GitHub Actions on push to main. The workflow:

  1. Builds the static site with pnpm build
  2. Deploys to GitHub Pages

See .github/workflows/deploy.yml for details.

License

AGPL-3.0