Skip to content

Commit deaf1b9

Browse files
committed
docs: update README, TODO, SPEC; add media guidance; align with current features and CI
1 parent e422bb1 commit deaf1b9

File tree

4 files changed

+80
-54
lines changed

4 files changed

+80
-54
lines changed

README.md

Lines changed: 37 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -7,14 +7,21 @@
77
- Web front-end (WASM) is running with:
88
- 3 voices, spatial audio (Web Audio + PannerNode)
99
- Lush ambient effects: global Convolver reverb and dark feedback Delay bus with per-voice sends and a master bus
10-
- Mouse-driven FX: corner-based saturation (clean ↔ fizz) and opposite-corner delay emphasis; visuals have inertial swirl motion
10+
- Mouse-driven FX: corner-based saturation (clean ↔ fizz) and opposite-corner delay emphasis; visuals have inertial swirl motion and click ripples
1111
- Start overlay to initialize audio (Click Start; canvas-click fallback)
1212
- Drag voices in XZ plane; click to mute, Shift+Click reseed, Alt+Click solo
1313
- Keyboard: R (reseed all), Space (pause), + / - (tempo), M (master mute), O (orbit on/off)
1414
- Starts muted by default; press M to unmute the master bus
15-
- Dynamic hint shows current BPM, paused, and muted state
16-
- Rich visuals: instanced voice markers with emissive pulses, animated orbiting ring particles, subtle vignette, optional analyser-driven spectrum dots
17-
- Native front-end renders and plays basic synthesized audio (parity improving)
15+
- Dynamic hint shows current BPM, paused, muted, and orbit state
16+
- Rich visuals: instanced voice markers with emissive pulses, ambient waves background, post bloom/tonemap/vignette; optional analyser-driven spectrum dots
17+
- Native front-end renders and plays synthesized audio; parity improving:
18+
- Equal-power stereo panning from X position, multiple waveforms (sine/square/saw/triangle)
19+
- Gentle master saturation (arctan curve); hover highlight parity; renderer uses `scene.wgsl`
20+
21+
### Demo
22+
23+
- Local: see Run (Web) below. After `npm run dev:web`, open `http://localhost:8080`.
24+
- Hosted: deploy with Cloudflare Workers (see Deploy). A public demo link can be added here when available.
1825

1926
### Requirements
2027

@@ -23,13 +30,23 @@
2330
- wasm-pack (install: `curl -sSfL https://rustwasm.github.io/wasm-pack/installer/init.sh | sh`)
2431
- Desktop browser with WebGPU enabled
2532

33+
Notes:
34+
35+
- WebGL fallback is intentionally avoided; WebGPU is required.
36+
- If audio does not start, click the Start overlay and press M to unmute the master bus.
37+
2638
### Run (Web)
2739

2840
- Build: `npm run build:web`
2941
- Serve: `node server.js` (serves `crates/app-web` with correct headers)
3042
- Open: visit `http://localhost:8080`
3143
- Dev shortcut: `npm run dev:web` then `npm run open:web`
3244

45+
Quick controls (browser):
46+
47+
- R: reseed all • Space: pause/resume • +/-: tempo • M: master mute • O: orbit on/off
48+
- Click a voice to mute; Alt+Click to solo; Shift+Click to reseed a voice; drag to move in XZ
49+
3350
### Pre-commit Check
3451

3552
- Run all checks and tests locally: `npm run check`
@@ -64,11 +81,27 @@ Headless test:
6481
- On push to `main`, deploys to Cloudflare Workers via Wrangler
6582
- Requires repo secrets: `CLOUDFLARE_API_TOKEN` and `CLOUDFLARE_ACCOUNT_ID`
6683
- Workflow file: `.github/workflows/web-ci.yml`
84+
- CI tolerates missing WebGPU in headless by skipping engine-coupled assertions
6785

6886
### Run (Native)
6987

7088
- Build: `npm run build:native`
7189
- Run: `npm run native`
90+
- Optional: `npm run native:smoke` runs a short smoke test and exits
91+
92+
### Media
93+
94+
- Screenshots/GIFs live in `docs/media/`.
95+
- Place files like:
96+
- `docs/media/screenshot-1.png` – main scene
97+
- `docs/media/screenshot-2.png` – orbit and hint overlay
98+
- `docs/media/loop-1.gif` – waves background with ripples and pulses
99+
100+
Links:
101+
102+
- [Screenshot 1](docs/media/screenshot-1.png)
103+
- [Screenshot 2](docs/media/screenshot-2.png)
104+
- [Loop GIF](docs/media/loop-1.gif)
72105

73106
### Workspace crates
74107

0 commit comments

Comments
 (0)