roxlap-gpu 0.8.0

GPU compute-shader renderer for the roxlap voxel engine (WGPU + WGSL DDA marcher). Sibling to roxlap-core's CPU opticast.
Documentation
[package]
name = "roxlap-gpu"
version.workspace = true
edition.workspace = true
license.workspace = true
repository.workspace = true
authors.workspace = true
rust-version.workspace = true
description = "GPU compute-shader renderer for the roxlap voxel engine (WGPU + WGSL DDA marcher). Sibling to roxlap-core's CPU opticast."
documentation = "https://docs.rs/roxlap-gpu"
keywords = ["voxlap", "voxel", "wgpu", "compute-shader", "renderer"]
categories = ["game-development", "graphics", "rendering"]
readme.workspace = true

[dependencies]
# GPU.0 probe deps — WGPU is the cross-platform compute-shader
# backend (Vulkan/Metal/DX12 native + WebGPU in browsers); pollster
# blocks on the async device-request inside `App::resumed`; bytemuck
# casts the hand-built voxel chunk and uniforms to `&[u8]` for
# `Queue::write_buffer`.
wgpu = "22.1"
pollster = "0.3"
bytemuck = { version = "1", features = ["derive"] }
glam = { workspace = true }
# GPU.2: source of `Vxl` chunks for the CPU-side decompressor.
roxlap-formats = { path = "../roxlap-formats", version = "0.8" }
# The renderer is decoupled from any specific windowing library: it
# binds the wgpu surface to whatever `HasWindowHandle`/
# `HasDisplayHandle` provider the host passes (winit, SDL, GLFW, …).
raw-window-handle = "0.6"
# Optional `hud` feature: egui-wgpu paints an egui UI over the marcher's
# frame (LoadOp::Load on the pending surface view). egui supplies the
# tessellation + texture-delta types the host hands in.
egui-wgpu = { version = "0.29", optional = true }
egui = { version = "0.29", optional = true }

[features]
hud = ["dep:egui-wgpu", "dep:egui"]

[dev-dependencies]
# `examples/probe.rs` is a standalone winit host for the GPU.0 FPS
# baseline; the lib itself no longer depends on winit.
winit = "0.30"
# Static WGSL validation in unit tests (no GPU device needed) — same
# front-end + validator wgpu runs at pipeline creation. Pinned to the
# version wgpu 22 vendors so the dialect matches.
naga = { version = "22", features = ["wgsl-in"] }

[lints]
workspace = true