Skip to content

Commit a365f53

Browse files
committed
[update] spec.
1 parent 86976ec commit a365f53

1 file changed

Lines changed: 9 additions & 1 deletion

File tree

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

Lines changed: 9 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -27,6 +27,7 @@ Summary
2727
single-sample resolve texture.
2828

2929
## Table of Contents
30+
3031
- [Scope](#scope)
3132
- [Terminology](#terminology)
3233
- [Architecture Overview](#architecture-overview)
@@ -85,21 +86,25 @@ Summary
8586
## Architecture Overview
8687

8788
`lambda-rs` exposes two render target concepts:
89+
8890
- `lambda::render::targets::surface::RenderTarget`: trait for acquiring and
8991
presenting frames from a window-backed surface.
9092
- `lambda::render::targets::offscreen::OffscreenTarget`: persistent render-to-
9193
texture resource that owns textures and exposes a sampleable resolve color.
9294

9395
Terminology in this document:
96+
9497
- "Render target" refers to `lambda::render::targets::surface::RenderTarget`.
9598
- The offscreen resource is `OffscreenTarget`.
9699

97100
Implementation notes:
101+
98102
- `RenderTarget`, `RenderTargetBuilder`, and `RenderTargetError` in the offscreen
99103
module are deprecated aliases for `OffscreenTarget`, `OffscreenTargetBuilder`,
100104
and `OffscreenTargetError` and MUST NOT be used in new code.
101105

102106
Data flow (setup → per-frame multipass):
107+
103108
```
104109
RenderPassBuilder::new()
105110
.with_multi_sample(1 | 2 | 4 | 8)
@@ -278,6 +283,7 @@ Per-frame commands:
278283
### Feature-gated validation
279284

280285
Crate: `lambda-rs`
286+
281287
- Granular feature:
282288
- `render-validation-render-targets`
283289
- Validates compatibility between:
@@ -293,15 +299,17 @@ Crate: `lambda-rs`
293299
- Expected runtime cost is low to moderate.
294300

295301
Umbrella composition (crate: `lambda-rs`)
302+
296303
- `render-validation` MUST include `render-validation-render-targets`.
297-
- Umbrella features MUST only compose granular features.
298304

299305
Build-type behavior
306+
300307
- Debug builds (`debug_assertions`) MAY enable offscreen validation.
301308
- Release builds MUST keep offscreen validation disabled by default and enable
302309
it only via `render-validation-render-targets` (or umbrellas that include it).
303310

304311
Gating requirements
312+
305313
- Offscreen validation MUST be gated behind
306314
`cfg(any(debug_assertions, feature = "render-validation-render-targets"))`.
307315
- Offscreen validation MUST NOT be gated behind umbrella feature names.

0 commit comments

Comments
 (0)