Skip to content

Commit e2d23a2

Browse files
committed
remove diagrams
1 parent 4f66f92 commit e2d23a2

1 file changed

Lines changed: 12 additions & 36 deletions

File tree

README.md

Lines changed: 12 additions & 36 deletions
Original file line numberDiff line numberDiff line change
@@ -172,47 +172,23 @@ engine.play();
172172

173173
### Engine Runtime Selection
174174

175-
```mermaid
176-
flowchart LR
177-
A["new Engine({...})"] --> B{"runtime option"}
178-
B -->|webgpu| C["Initialize WebGPU runtime"]
179-
B -->|cpu| D["Initialize CPU runtime"]
180-
B -->|auto| E["Try WebGPU first"]
181-
E --> F{"WebGPU initialize() succeeds?"}
182-
F -->|yes| C
183-
F -->|no| D
184-
C --> G["Use unified Engine API"]
185-
D --> G
186-
```
175+
Runtime behavior is straightforward:
176+
177+
- `runtime: "webgpu"`: use the WebGPU runtime.
178+
- `runtime: "cpu"`: use the CPU runtime.
179+
- `runtime: "auto"`: try WebGPU first during `initialize()`, then fall back to CPU if WebGPU initialization fails.
187180

188-
- `auto` fallback happens at `initialize()` time.
189-
- After initialization, the same Engine API is used regardless of runtime.
181+
After initialization, you use the same `Engine` API regardless of which runtime is active.
190182

191183
### Module System
192184

193-
```mermaid
194-
flowchart TD
195-
A["Engine frame loop"] --> B["Force modules"]
196-
A --> C["Grid modules"]
197-
A --> D["Render modules"]
198-
199-
B --> B1["state"]
200-
B1 --> B2["apply"]
201-
B2 --> B3["constrain (iterative)"]
202-
B3 --> B4["correct"]
203-
204-
C --> C1["init"]
205-
C1 --> C2["step"]
206-
C2 --> C3["post"]
207-
208-
E["Oscillators"] --> F["Module inputs"]
209-
F --> B
210-
F --> C
211-
F --> D
212-
```
185+
The engine runs modules by role each frame:
186+
187+
- **Force modules** update simulation state using the force lifecycle (`state``apply``constrain``correct`).
188+
- **Render modules** draw the current simulation state.
189+
- **Oscillators** animate module inputs over time, without changing module wiring.
213190

214-
- Force/render/grid modules are all registered once and run each frame according to their role.
215-
- Oscillators update module inputs over time without changing module wiring.
191+
Modules are registered once and then executed each frame according to their role.
216192

217193
### Force System Lifecycle
218194

0 commit comments

Comments
 (0)