roxlap-render 0.7.0

Unified CPU/GPU renderer facade for the roxlap scene-graph engine — one SceneRenderer over roxlap-core opticast (softbuffer) and roxlap-gpu (wgpu), with automatic CPU fallback.
Documentation
[package]
name = "roxlap-render"
version.workspace = true
edition.workspace = true
license.workspace = true
repository.workspace = true
authors.workspace = true
rust-version.workspace = true
description = "Unified CPU/GPU renderer facade for the roxlap scene-graph engine — one SceneRenderer over roxlap-core opticast (softbuffer) and roxlap-gpu (wgpu), with automatic CPU fallback."
documentation = "https://docs.rs/roxlap-render"
keywords = ["voxlap", "voxel", "renderer", "wgpu", "fallback"]
categories = ["game-development", "graphics", "rendering"]
readme.workspace = true

[dependencies]
# Both backends + the scene/world types they consume.
roxlap-core = { path = "../roxlap-core", version = "0.7" }
roxlap-formats = { path = "../roxlap-formats", version = "0.7" }
roxlap-scene = { path = "../roxlap-scene", version = "0.7" }
roxlap-gpu = { path = "../roxlap-gpu", version = "0.7" }
glam = { workspace = true }
# CPU strip-parallel render thread count (caps the ScratchPool slots).
rayon = { workspace = true }
# CPU-backend presentation (windowed software framebuffer); the GPU
# backend presents via roxlap-gpu's own wgpu surface.
softbuffer = "0.4"
# 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.
raw-window-handle = "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).
egui = { version = "0.29", optional = true }

[features]
# 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.
hud = ["dep:egui", "roxlap-gpu/hud"]

[dev-dependencies]
# Doctests/examples construct a winit window to drive the facade; the
# library itself no longer depends on winit.
winit = "0.30"

[lints]
workspace = true