You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
echo "Nightly build of [${SHA}](https://github.com/${GITHUB_REPOSITORY}/commit/${SHA})."
418
420
echo ""
419
-
echo "Each zip contains the launcher (\`renderide\`), the renderer (\`renderide-renderer\`), and the XR action manifests. Windows and macOS zips also bundle the Khronos OpenXR loader; Linux uses the system OpenXR loader."
421
+
echo "Each zip contains the launcher (\`renderide\`), the renderer (\`renderide-renderer\`), the runtime shader package, and the XR action manifests. Windows and macOS zips also bundle the Khronos OpenXR loader; Linux uses the system OpenXR loader."
Copy file name to clipboardExpand all lines: README.md
+13-12Lines changed: 13 additions & 12 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -62,7 +62,7 @@ The launcher will start the Resonite host and connect Renderide automatically.
62
62
63
63
### macOS
64
64
65
-
Renderide runs the Resonite Host from the Windows depot and renders natively through Metal. The launcher accepts an explicit Resonite install path, so local builds and release zips should not need hand-written symlinks or `dev-fast` path edits.
65
+
Renderide runs the Resonite Host from the Windows depot and renders natively through Metal. The launcher accepts an explicit Resonite install path, so local builds and release zips should not need hand-written symlinks or source edits.
66
66
67
67
1. Install the Windows Resonite depot with SteamCMD:
68
68
@@ -90,7 +90,7 @@ Renderide runs the Resonite Host from the Windows depot and renders natively thr
The macOS release zip contains `renderide`, `renderide-renderer`, `xr`, and the bundled OpenXR loader. If macOS quarantine blocks a downloaded zip, remove the quarantine attribute from the extracted Renderide folder:
93
+
The macOS release zip contains `renderide`, `renderide-renderer`, `shaders`, `xr`, and the bundled OpenXR loader. If macOS quarantine blocks a downloaded zip, remove the quarantine attribute from the extracted Renderide folder:
3.**Scene** - owns the host world mirror: transforms, render spaces, mesh and skinned renderables, lights, cameras, and overrides. Pure data; does not touch wgpu.
128
-
4.**Backend** - owns GPU-facing renderer state: asset pools, material and shader systems, frame resources, draw preparation, render graph assembly, and command recording.
129
-
5.**Runtime** - coordinates frontend, scene, and backend in the fixed per-tick order used by the app driver.
128
+
4.**Assets and materials** - translate host payloads and material properties into resident GPU resources, shader routes, reflected bind groups, and pipeline state.
129
+
5.**Backend, render graph, and GPU** - own device-facing state, frame resources, world-mesh draw preparation, pass registration, transient/history resources, command recording, and presentation helpers.
130
+
6.**Runtime** - coordinates frontend, scene, assets, backend, XR, offscreen tasks, and diagnostics in the fixed per-tick order used by the app driver.
130
131
131
132
Each tick: poll IPC, integrate a budgeted slice of pending assets, drain offscreen camera/reflection-probe tasks, run the optional OpenXR begin step, complete the lock-step exchange with the host, schedule and render views, present or submit the HMD frame, then update HUD and diagnostics state.
132
133
@@ -137,13 +138,13 @@ The workspace lives under `crates/`:
137
138
| Crate | Purpose |
138
139
| --- | --- |
139
140
|[`bootstrapper`](crates/bootstrapper)| Builds the `renderide` launcher. Launches the Resonite host and renderer, owns bootstrap IPC (heartbeats, clipboard, renderer argv), and ties child process lifetimes together. |
140
-
|[`renderide`](crates/renderide)| Builds the `renderide-renderer` process and `roundtrip` helper. Owns winit, wgpu, OpenXR, scene mirroring, render graph, materials, assets, diagnostics, and presentation. |
141
+
|[`renderide`](crates/renderide)| Builds the `renderide-renderer` process and `roundtrip` helper. Owns winit, wgpu, OpenXR, scene mirroring, asset integration, materials, particles, render graph, diagnostics, and presentation. |
|[`interprocess`](crates/interprocess)| Cloudtoid-compatible shared-memory ring queues used by every IPC channel. |
143
144
|[`logger`](crates/logger)| File-first logging used by the bootstrapper, host capture, and renderer. |
144
145
|[`renderide-test`](crates/renderide-test)| Integration test harness that drives the renderer end-to-end. |
145
146
146
-
A C# generator under [`generators/SharedTypeGenerator`](generators/SharedTypeGenerator) emits `crates/renderide-shared/src/shared.rs`. Its test project lives under [`generators/SharedTypeGenerator.Tests`](generators/SharedTypeGenerator.Tests) and uses the `roundtrip` binary to compare C# and Rust packing. [`RenderideMod`](RenderideMod) contains the host-side Resonite mod, and [`third_party/openxr_loader`](third_party/openxr_loader) contains vendored OpenXR loader binaries used by release artifacts on Windows and macOS.
147
+
A C# generator under [`generators/SharedTypeGenerator`](generators/SharedTypeGenerator) emits `crates/renderide-shared/src/shared.rs`. Its test project lives under [`generators/SharedTypeGenerator.Tests`](generators/SharedTypeGenerator.Tests) and uses the `roundtrip` binary to compare C# and Rust packing. [`RenderideMod`](RenderideMod) contains the host-side Resonite mod, [`crates/renderide/assets`](crates/renderide/assets) contains runtime XR bindings and the shipped skybox model, and [`third_party/openxr_loader`](third_party/openxr_loader) contains vendored OpenXR loader binaries used by release artifacts on Windows and macOS.
147
148
148
149
## Feature flags
149
150
@@ -152,15 +153,15 @@ The `renderide` crate exposes opt-in Cargo features for capabilities that depend
152
153
Multiple features can be combined as a single space-separated argument:
CPU and GPU profiling integration. Activates `profiling::scope!` zones, frame marks, and `wgpu-profiler` GPU timestamp queries that stream into the [Tracy](https://github.com/wolfpld/tracy) profiler GUI on port 8086. The Tracy client links statically, so this feature has no system-library prerequisites.
161
162
162
163
```bash
163
-
cargo build --features tracy
164
+
cargo build --release --features tracy
164
165
```
165
166
166
167
See [Profiling](#profiling) for adapter requirements and connection details.
@@ -176,7 +177,7 @@ System dependencies:
176
177
-**Windows**: the official GStreamer MSVC SDK plus a working `pkg-config` (`pkgconf` rather than `pkgconfiglite`).
177
178
178
179
```bash
179
-
cargo build --features video-textures
180
+
cargo build --release --features video-textures
180
181
```
181
182
182
183
## Configuration
@@ -197,7 +198,7 @@ If timestamp queries are unavailable, a warning is logged and Tracy still receiv
197
198
### Building with profiling enabled
198
199
199
200
```bash
200
-
cargo build --profile dev-fast --features tracy
201
+
cargo build --release --features tracy
201
202
```
202
203
203
204
### Connecting Tracy
@@ -218,7 +219,7 @@ Linux, macOS, and Windows are all tier-1 targets and exercised in CI ([`.github/
218
219
219
220
## Contributing
220
221
221
-
Contributions are welcome. The workspace builds with the standard Cargo commands listed above; lints (`cargo clippy --all-targets --all-features`) and formatting (`cargo fmt`, plus `taplo fmt` when editing `Cargo.toml`) are expected to be clean before opening a pull request, and CI runs the same checks across all three platforms.
222
+
Contributions are welcome. The workspace builds with the standard Cargo commands listed above; lints (`cargo clippy --all-targets`, with feature coverage matching CI) and formatting (`cargo fmt`, plus `taplo fmt` when editing `Cargo.toml`) are expected to be clean before opening a pull request, and CI runs the same checks across all three platforms.
222
223
223
224
Read [`CONTRIBUTING.md`](CONTRIBUTING.md) to learn how to get started.
0 commit comments