1a0ccd8b17
Splits RenderBackend's per-voxel face-visibility extraction and tile shading out as GPU-offloadable steps (wgpu compute shaders), while keeping greedy-mesh merge/compaction CPU-only per the plan's "partial GPU rendering" design. RENDER_BACKEND=cpu|gpu|hybrid selects the strategy, falling back to cpu automatically (logged) if no compatible GPU adapter is found. Verified against a real GPU: all tests pass, including ones asserting byte-identical output between the cpu and gpu backends; a new benchmark example honestly shows cpu currently outperforming gpu/hybrid at realistic batch sizes since each call is its own dispatch/readback round trip rather than batched across a whole render batch (documented as a follow-up optimization). Also fixes two real, pre-existing gaps found while validating the worker's actual `docker build`: a missing .dockerignore was sending the local multi-GB target/ dir into the build context, and the Dockerfile's rust:1.80 pin was already too old for current transitive dependency MSRVs (bumped to rust:1.97). Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_015tKdPZt78zbPUZMXWzKEKt
23 lines
601 B
TOML
23 lines
601 B
TOML
[package]
|
|
name = "mcmapper-worker"
|
|
version = "0.1.0"
|
|
edition = "2021"
|
|
|
|
[dependencies]
|
|
tokio = { version = "1", features = ["full"] }
|
|
redis = { version = "0.27", features = ["tokio-comp"] }
|
|
rayon = "1.10"
|
|
anyhow = "1"
|
|
sqlx = { version = "0.8", features = ["runtime-tokio", "tls-rustls", "postgres", "uuid"] }
|
|
uuid = { version = "1", features = ["serde"] }
|
|
image = { version = "0.25", default-features = false, features = ["png"] }
|
|
aws-sdk-s3 = "1"
|
|
aws-config = "1"
|
|
aws-credential-types = "1"
|
|
base64 = "0.22"
|
|
wgpu = "23"
|
|
bytemuck = { version = "1", features = ["derive"] }
|
|
|
|
[profile.release]
|
|
lto = true
|