1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
//! Runtime helper that bundles a [`WindowRenderState`] with the two
//! frame-lifecycle methods the framework runtime needs.
//!
//! `uzor-framework` instantiates one [`RuntimeBackend`] per window and calls
//! [`begin_frame`](RuntimeBackend::begin_frame) /
//! [`submit_frame`](RuntimeBackend::submit_frame) each tick without knowing
//! which concrete backend variant is active.
//!
//! # Architecture summary (post-refactor)
//!
//! | Item | Location |
//! |------|----------|
//! | [`crate::RenderBackend`] enum | `backend.rs` |
//! | [`WindowRenderState`] flat struct | `factory.rs` — all renderer slots + SurfaceMode |
//! | [`crate::RenderHub`] | `hub.rs` — pool + settings + metrics |
//! | [`submit_frame`](crate::submit_frame) | `submit.rs` — dispatches by `state.active` |
//! | [`SubmitOutcome`] | `submit.rs` — timing + `surface_lost` flag |
use crateRenderHub;
use crate::;
use crate;
/// Per-window backend bundle used by `uzor-framework`.
///
/// Wraps a [`WindowRenderState`] (which owns all GPU resources including the
/// `RenderSurface`) and exposes the two frame-lifecycle methods:
/// [`begin_frame`](Self::begin_frame) and [`submit_frame`](Self::submit_frame).