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
68
69
70
71
72
73
74
75
76
77
78
79
80
81
[]
= "roxlap-render"
= true
= true
= true
= true
= true
= true
= "Unified CPU/GPU renderer facade for the roxlap scene-graph engine — one SceneRenderer over the roxlap-core CPU DDA renderer (softbuffer) and roxlap-gpu (wgpu), with automatic CPU fallback."
= "https://docs.rs/roxlap-render"
= ["voxlap", "voxel", "renderer", "wgpu", "fallback"]
= ["game-development", "graphics", "rendering"]
= true
[]
# Both backends + the scene/world types they consume.
= { = "../roxlap-core", = "0.19" }
= { = "../roxlap-formats", = "0.19" }
= { = "../roxlap-scene", = "0.19" }
= { = "../roxlap-gpu", = "0.19" }
= { = true }
# CPU strip-parallel render thread count (caps the ScratchPool slots).
# Runs on wasm too via wasm-bindgen-rayon (the host inits the pool).
= { = true }
# The facade is decoupled from any specific windowing library: it
# binds the surface to whatever `HasWindowHandle`/`HasDisplayHandle`
# provider the host passes (winit, SDL, GLFW, …). Re-exported from the
# crate root so hosts can name the bounds without their own dep.
= "0.6"
# Optional `hud` feature: egui overlay support. CPU backend needs only
# egui's tessellation types (software-rasterised here); the GPU backend
# delegates to egui-wgpu inside roxlap-gpu (enabled via roxlap-gpu/hud).
= { = "0.34", = true }
# CPU-backend presentation on native: a windowed software framebuffer
# (softbuffer). The GPU backend presents via roxlap-gpu's own wgpu
# surface, and the wasm CPU fallback presents via WebGL2 (see below),
# so softbuffer is native-only.
[]
= "0.4"
# wasm/WebGPU: the GPU backend binds the wgpu surface to the canvas;
# the CPU fallback presents the composited framebuffer through a
# WebGL2 blit (`cpu_blit.rs`). `wasm-bindgen` is pinned to the same
# exact version the web crates use so the workspace lock unifies.
[]
= "=0.2.117"
# Unsafe-free `u32`-framebuffer / `f32`-quad → byte reinterpretation
# for the WebGL2 uploads (the facade is `#![forbid(unsafe_code)]`).
= "1"
= { = "0.3", = [
"HtmlCanvasElement",
"WebGl2RenderingContext",
"WebGlBuffer",
"WebGlProgram",
"WebGlShader",
"WebGlTexture",
"WebGlUniformLocation",
"WebGlVertexArrayObject",
"console",
] }
[]
# Overlay an egui UI on top of the rendered frame (`SceneRenderer::
# paint_egui`). Pulls egui's tessellation types for the CPU
# software-rasteriser and turns on roxlap-gpu's egui-wgpu paint path.
= ["dep:egui", "roxlap-gpu/hud"]
# BB — re-export the animated-GIF → VoxelClip importer (`gif_import`) for
# Doom-style billboard sprites; forwards to roxlap-formats' `gif` feature.
= ["roxlap-formats/gif"]
# BB — re-export the PNG-sequence / APNG importer (`png_import`); forwards to
# roxlap-formats' `png` feature.
= ["roxlap-formats/png"]
[]
# Doctests/examples construct a winit window to drive the facade; the
# library itself no longer depends on winit.
= "0.30"
[]
= true