Skip to content

Commit 018040a

Browse files
committed
[update] documentation to point to new demo locations.
1 parent 23ac31d commit 018040a

17 files changed

Lines changed: 137 additions & 120 deletions

README.md

Lines changed: 12 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -134,26 +134,27 @@ Start with the tutorials to build features step by step:
134134

135135
## Examples <a name="examples"></a>
136136

137-
Browse example sources:
137+
Browse runnable demos and example sources:
138138

139-
* Core API examples: [crates/lambda-rs/examples/](./crates/lambda-rs/examples/)
139+
* Demo crates (recommended): [demos/](./demos/)
140+
* Minimal rustdoc examples: [crates/lambda-rs/examples/](./crates/lambda-rs/examples/)
140141
* Logging examples: [crates/lambda-rs-logging/examples/](./crates/lambda-rs-logging/examples/)
141142
* Argument parsing examples: [crates/lambda-rs-args/examples/](./crates/lambda-rs-args/examples/)
142143

143144
### Minimal
144145

145-
A minimal example of an application with a working window using lambda.
146+
A minimal demo of an application with a working window using lambda.
146147

147-
```rust
148-
cargo run --example minimal
148+
```bash
149+
cargo run -p lambda-demos-minimal --bin minimal
149150
```
150151

151152
### Immediates
152153

153154
An example of using shaders with immediates (per-draw data) to render a 3D image.
154155

155-
```rust
156-
cargo run --example immediates
156+
```bash
157+
cargo run -p lambda-demos-render --bin immediates
157158
```
158159

159160
#### Notes
@@ -166,16 +167,16 @@ in either dx11 or dx12.
166167

167168
An example using shaders to render a single triangle.
168169

169-
```rust
170-
cargo run --example triangle
170+
```bash
171+
cargo run -p lambda-demos-render --bin triangle
171172
```
172173

173174
### Triangles
174175

175176
An example using shaders to render multiple triangles and keyboard input to move one of the triangles on screen.
176177

177-
```rust
178-
cargo run --example triangles
178+
```bash
179+
cargo run -p lambda-demos-render --bin triangles
179180
```
180181

181182
## Plans <a name="plans"></a>

docs/specs/audio-devices.md

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -3,13 +3,13 @@ title: "Audio Device Abstraction"
33
document_id: "audio-device-abstraction-2026-01-28"
44
status: "draft"
55
created: "2026-01-28T22:59:00Z"
6-
last_updated: "2026-02-02T22:57:02Z"
7-
version: "0.1.17"
6+
last_updated: "2026-02-05T23:05:40Z"
7+
version: "0.1.18"
88
engine_workspace_version: "2023.1.30"
99
wgpu_version: "26.0.1"
1010
shader_backend_default: "naga"
1111
winit_version: "0.29.10"
12-
repo_commit: "6a5fd409c8097665ffd6e6a4a976206320ae4f80"
12+
repo_commit: "544444652b4dc3639f8b3e297e56c302183a7a0b"
1313
owners: ["lambda-sh"]
1414
reviewers: ["engine", "rendering"]
1515
tags: ["spec", "audio", "lambda-rs", "platform", "cpal"]
@@ -625,7 +625,7 @@ Feature gating requirements
625625
- [x] `docs/features.md` updated with audio feature documentation
626626
(`docs/features.md`)
627627
- [x] Example added demonstrating audible playback (behind `audio-output-device`)
628-
(`crates/lambda-rs/examples/audio_sine_wave.rs`)
628+
(`demos/audio/src/bin/sine_wave.rs`)
629629
- [x] `lambda-rs` audio facade implemented (`crates/lambda-rs/src/audio/mod.rs`)
630630

631631
## Verification and Testing
@@ -634,8 +634,7 @@ Example (lambda-rs facade)
634634

635635
This example is the primary application-facing reference.
636636

637-
- Add `crates/lambda-rs/examples/audio_sine_wave.rs` (feature:
638-
`audio-output-device`, disabled by default) that:
637+
- Add `demos/audio/src/bin/sine_wave.rs` (crate: `lambda-demos-audio`) that:
639638
- Prints `lambda::audio::enumerate_output_devices()` output.
640639
- Builds the default output device via the facade builder and plays a
641640
deterministic 440 Hz tone for at least 2 seconds.
@@ -658,14 +657,15 @@ Manual checks
658657

659658
- Run the `lambda-rs` facade example and confirm audible playback for at least
660659
2 seconds.
661-
- `cargo run -p lambda-rs --example audio_sine_wave --features audio-output-device`
660+
- `cargo run -p lambda-demos-audio --bin sine_wave`
662661

663662
## Compatibility and Migration
664663

665664
- None. No existing audio APIs exist in the workspace.
666665

667666
## Changelog
668667

668+
- 2026-02-05 (v0.1.18) — Update demo and example references for `demos/`.
669669
- 2026-02-02 (v0.1.17) — Align specification file references with the current
670670
`lambda::audio` module layout and feature composition.
671671
- 2026-01-31 (v0.1.15) — Update verification command to include

docs/specs/audio-file-loading.md

Lines changed: 6 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -3,13 +3,13 @@ title: "Audio File Loading (SoundBuffer)"
33
document_id: "audio-file-loading-2026-01-31"
44
status: "draft"
55
created: "2026-01-31T22:07:49Z"
6-
last_updated: "2026-02-02T22:57:02Z"
7-
version: "0.2.2"
6+
last_updated: "2026-02-05T23:05:40Z"
7+
version: "0.2.3"
88
engine_workspace_version: "2023.1.30"
99
wgpu_version: "26.0.1"
1010
shader_backend_default: "naga"
1111
winit_version: "0.29.10"
12-
repo_commit: "6a5fd409c8097665ffd6e6a4a976206320ae4f80"
12+
repo_commit: "544444652b4dc3639f8b3e297e56c302183a7a0b"
1313
owners: ["lambda-sh"]
1414
reviewers: ["engine", "rendering"]
1515
tags: ["spec", "audio", "lambda-rs", "platform", "assets"]
@@ -308,7 +308,7 @@ Recommendations
308308
- [x] `docs/features.md` updated with new features and defaults
309309
(`docs/features.md`)
310310
- [x] Minimal example loads a sound file and prints metadata
311-
(`crates/lambda-rs/examples/sound_buffer_load.rs`)
311+
(`demos/audio/src/bin/sound_buffer.rs`)
312312
- Tests
313313
- [x] Unit tests cover WAV mono and stereo
314314
(`crates/lambda-rs-platform/src/audio/symphonia/mod.rs`)
@@ -341,7 +341,7 @@ Commands
341341

342342
### Example
343343

344-
- Provide `crates/lambda-rs/examples/sound_buffer_load.rs`.
344+
- Provide `demos/audio/src/bin/sound_buffer.rs`.
345345
- The example SHOULD load a file path provided via CLI args and print:
346346
- channels
347347
- sample rate
@@ -356,6 +356,7 @@ Commands
356356

357357
## Changelog
358358

359+
- 2026-02-05 (v0.2.3) — Update example references to demo crates under `demos/`.
359360
- 2026-02-02 (v0.2.2) — Align spec with feature-gated `SoundBuffer` surface and
360361
implemented fixtures.
361362
- 2026-01-31 (v0.2.0) — Center decoding on `symphonia` 0.5.5.

docs/specs/component-event-handling.md

Lines changed: 5 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -3,13 +3,13 @@ title: "Component Event Handling"
33
document_id: "component-event-handling-2026-01-10"
44
status: "draft"
55
created: "2026-01-10T00:00:00Z"
6-
last_updated: "2026-01-16T00:00:00Z"
7-
version: "0.1.1"
6+
last_updated: "2026-02-05T23:05:40Z"
7+
version: "0.1.2"
88
engine_workspace_version: "2023.1.30"
99
wgpu_version: "26.0.1"
1010
shader_backend_default: "naga"
1111
winit_version: "0.29.10"
12-
repo_commit: "9435ad1491b5930054117406abe08dd1c37f2102"
12+
repo_commit: "544444652b4dc3639f8b3e297e56c302183a7a0b"
1313
owners: ["lambda-sh"]
1414
reviewers: ["engine", "rendering"]
1515
tags: ["spec", "events", "components", "runtime"]
@@ -227,7 +227,7 @@ winit event loop
227227
`crates/lambda-rs/src/runtimes/application.rs`)
228228
- Documentation and Examples
229229
- [x] Examples updated to implement `event_mask` and granular handlers (Ref:
230-
`crates/lambda-rs/examples/`)
230+
`demos/render/src/bin/`)
231231
- [x] `docs/features.md` checked for relevance (no new features expected)
232232
(Ref: `docs/features.md`)
233233
- [x] Migration notes added to component documentation (Ref:
@@ -268,5 +268,6 @@ path that demonstrates the implementation.
268268

269269
## Changelog
270270

271+
- 2026-02-05 (v0.1.2) — Update example references to demo crates under `demos/`.
271272
- 2026-01-16 (v0.1.1) — Update checklist references and align docs.
272273
- 2026-01-10 (v0.1.0) — Initial draft.

docs/specs/depth-stencil-msaa.md

Lines changed: 6 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -3,13 +3,13 @@ title: "Depth/Stencil and Multi-Sample Rendering"
33
document_id: "depth-stencil-msaa-2025-11-11"
44
status: "draft"
55
created: "2025-11-11T00:00:00Z"
6-
last_updated: "2025-12-15T00:00:00Z"
7-
version: "0.5.0"
6+
last_updated: "2026-02-05T23:05:40Z"
7+
version: "0.5.1"
88
engine_workspace_version: "2023.1.30"
99
wgpu_version: "26.0.1"
1010
shader_backend_default: "naga"
1111
winit_version: "0.29.10"
12-
repo_commit: "71256389b9efe247a59aabffe9de58147b30669d"
12+
repo_commit: "544444652b4dc3639f8b3e297e56c302183a7a0b"
1313
owners: ["lambda-sh"]
1414
reviewers: ["engine", "rendering"]
1515
tags: ["spec", "rendering", "depth", "stencil", "msaa"]
@@ -248,8 +248,8 @@ Always-on safeguards (release and debug)
248248
and 4; verify occlusion and smoother edges when multi-sampling is enabled.
249249
- Commands: `cargo test --workspace`
250250
- Manual Checks (if necessary)
251-
- Run `cargo run --example minimal` with a toggle for multi-sampling and
252-
observe aliasing reduction with 4x multi-sampling.
251+
- Run `cargo run -p lambda-demos-minimal --bin minimal` with a toggle for
252+
multi-sampling and observe aliasing reduction with 4x multi-sampling.
253253

254254
## Compatibility and Migration
255255

@@ -259,6 +259,7 @@ Always-on safeguards (release and debug)
259259

260260
## Changelog
261261

262+
- 2026-02-05 (v0.5.1) — Update demo run commands for `demos/`.
262263
- 2025-12-15 (v0.5.0) — Update example code to use `render_context.gpu()` and add `surface_format`/`depth_format` parameters to `RenderPassBuilder` and `RenderPipelineBuilder`.
263264
- 2025-11-21 (v0.4.1) — Clarify depth attachment and clear behavior for
264265
stencil-only passes; align specification with engine behavior that preserves

docs/specs/indexed-draws-and-multiple-vertex-buffers.md

Lines changed: 5 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -3,13 +3,13 @@ title: "Indexed Draws and Multiple Vertex Buffers"
33
document_id: "indexed-draws-multiple-vertex-buffers-2025-11-22"
44
status: "draft"
55
created: "2025-11-22T00:00:00Z"
6-
last_updated: "2025-12-15T00:00:00Z"
7-
version: "0.2.0"
6+
last_updated: "2026-02-05T23:05:40Z"
7+
version: "0.2.1"
88
engine_workspace_version: "2023.1.30"
99
wgpu_version: "26.0.1"
1010
shader_backend_default: "naga"
1111
winit_version: "0.29.10"
12-
repo_commit: "71256389b9efe247a59aabffe9de58147b30669d"
12+
repo_commit: "544444652b4dc3639f8b3e297e56c302183a7a0b"
1313
owners: ["lambda-sh"]
1414
reviewers: ["engine", "rendering"]
1515
tags: ["spec", "rendering", "vertex-input", "indexed-draws"]
@@ -271,7 +271,7 @@ let commands = vec![
271271
- Example: an indexed mesh rendered with two vertex buffers (positions and colors) and a 16-bit index buffer.
272272
- Example: fall back to non-indexed draws for simple meshes to ensure both paths remain valid.
273273
- Commands:
274-
- `cargo run -p lambda-rs --example indexed_multi_vertex_buffers`
274+
- `cargo run -p lambda-demos-render --bin indexed_multi_vertex_buffers`
275275
- `cargo test --workspace`
276276
- Manual Checks (optional)
277277
- Render a mesh with and without indexed draws and visually confirm identical geometry.
@@ -285,6 +285,7 @@ let commands = vec![
285285

286286
## Changelog
287287

288+
- 2026-02-05 (v0.2.1) — Update demo and example references for `demos/`.
288289
- 2025-12-15 (v0.2.0) — Update example code to use `render_context.gpu()` and add `surface_format`/`depth_format` parameters to `RenderPipelineBuilder`.
289290
- 2025-11-22 (v0.1.0) — Initial draft specifying indexed draws and multiple vertex buffers, including API surface, behavior, validation hooks, performance guidance, and verification plan.
290291
- 2025-11-22 (v0.1.1) — Added engine-level `IndexFormat`, instance ranges to `Draw`/`DrawIndexed`, encoder-side validation for pipeline and index buffer bindings, and updated requirements checklist.

docs/specs/offscreen-render-targets-and-multipass.md

Lines changed: 6 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -3,13 +3,13 @@ title: "Offscreen Render Targets and Multipass Rendering"
33
document_id: "offscreen-render-targets-2025-11-25"
44
status: "draft"
55
created: "2025-11-25T00:00:00Z"
6-
last_updated: "2025-12-29T00:00:00Z"
7-
version: "0.2.5"
6+
last_updated: "2026-02-05T23:05:40Z"
7+
version: "0.2.6"
88
engine_workspace_version: "2023.1.30"
99
wgpu_version: "26.0.1"
1010
shader_backend_default: "naga"
1111
winit_version: "0.29.10"
12-
repo_commit: "bc191ae9d47e9339390b9c21e47933a36d737987"
12+
repo_commit: "544444652b4dc3639f8b3e297e56c302183a7a0b"
1313
owners: ["lambda-sh"]
1414
reviewers: ["engine", "rendering"]
1515
tags: ["spec", "rendering", "offscreen", "multipass"]
@@ -377,7 +377,7 @@ Gating requirements
377377
- [x] Pass/pipeline/destination compatibility checks implemented.
378378
- [x] `docs/features.md` updated to list the feature, default state, and cost.
379379
- Documentation and Examples
380-
- [x] Minimal render-to-texture example added under `crates/lambda-rs/examples/`.
380+
- [x] Minimal render-to-texture example added under `demos/render/src/bin/offscreen_post.rs`.
381381
- [ ] Rendering guide updated to include an offscreen multipass walkthrough.
382382
- [ ] Migration notes added for consumers adopting destination-based passes.
383383

@@ -397,7 +397,7 @@ Gating requirements
397397
- Render-to-texture example:
398398
- Pass 1: scene → offscreen destination.
399399
- Pass 2: fullscreen quad sampling `offscreen.color_texture()` → surface.
400-
- Commands: `cargo run -p lambda-rs --example offscreen_post`
400+
- Commands: `cargo run -p lambda-demos-render --bin offscreen_post`
401401
- Manual checks
402402
- Visual confirmation that:
403403
- Offscreen-only passes do not produce visible output until sampled.
@@ -420,6 +420,7 @@ Gating requirements
420420

421421
## Changelog
422422

423+
- 2026-02-05 (v0.2.6) — Update demo and example references for `demos/`.
423424
- 2025-12-29 (v0.2.5) — Remove references to `lambda::render::target` and
424425
`lambda::render::render_target` compatibility shims; document
425426
`lambda::render::targets::{surface,offscreen}` as the canonical module

docs/specs/uniform-buffers-and-bind-groups.md

Lines changed: 7 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -3,13 +3,13 @@ title: "Uniform Buffers and Bind Groups"
33
document_id: "ubo-spec-2025-10-11"
44
status: "living"
55
created: "2025-10-11T00:00:00Z"
6-
last_updated: "2025-12-15T00:00:00Z"
7-
version: "0.5.0"
6+
last_updated: "2026-02-05T23:05:40Z"
7+
version: "0.5.1"
88
engine_workspace_version: "2023.1.30"
99
wgpu_version: "26.0.1"
1010
shader_backend_default: "naga"
1111
winit_version: "0.29.10"
12-
repo_commit: "71256389b9efe247a59aabffe9de58147b30669d"
12+
repo_commit: "544444652b4dc3639f8b3e297e56c302183a7a0b"
1313
owners: ["lambda-sh"]
1414
reviewers: ["engine", "rendering"]
1515
tags: ["spec", "rendering", "uniforms", "bind-groups", "wgpu"]
@@ -278,7 +278,7 @@ RC::SetBindGroup { set: 0, group: dyn_group_id, dynamic_offsets: offsets };
278278
- [x] Dynamic offsets example provided — docs/specs/uniform-buffers-and-bind-groups.md
279279
- Documentation and Examples
280280
- [x] Spec updated (this document)
281-
- [x] Example added — crates/lambda-rs/examples/uniform_buffer_triangle.rs
281+
- [x] Example added — demos/render/src/bin/uniform_buffer_triangle.rs
282282

283283
## Verification and Testing
284284

@@ -288,8 +288,8 @@ RC::SetBindGroup { set: 0, group: dyn_group_id, dynamic_offsets: offsets };
288288
- Command encoding satisfies device limits — crates/lambda-rs/src/render/command.rs
289289
- Command: `cargo test --workspace`
290290
- Integration tests and examples
291-
- `uniform_buffer_triangle` exercises the full path — crates/lambda-rs/examples/uniform_buffer_triangle.rs
292-
- Command: `cargo run -p lambda-rs --example uniform_buffer_triangle`
291+
- `uniform_buffer_triangle` exercises the full path — demos/render/src/bin/uniform_buffer_triangle.rs
292+
- Command: `cargo run -p lambda-demos-render --bin uniform_buffer_triangle`
293293
- Manual checks (optional)
294294
- Validate dynamic offsets across multiple objects render correctly (no
295295
misaligned reads) by varying object counts and strides.
@@ -302,6 +302,7 @@ RC::SetBindGroup { set: 0, group: dyn_group_id, dynamic_offsets: offsets };
302302

303303
## Changelog
304304

305+
- 2026-02-05 (v0.5.1) — Update demo and example references for `demos/`.
305306
- 2025-12-15 (v0.5.0) — Update example code to use `rc.gpu()` and add `surface_format`/`depth_format` parameters to `RenderPipelineBuilder`.
306307
- 2025-10-17 (v0.4.0) — Restructure to match spec template: add Summary, Scope,
307308
Terminology, Design (API/Behavior/Validation), Constraints and Rules,

0 commit comments

Comments
 (0)