Hello — asking before writing PRs, so I don't send you work you don't want.
We build a node-based 3D modeller (Akatela) on re_renderer, and have carried a fork for a while (~23 commits on top of main, plus merges). Some of it is clearly ours and belongs nowhere near upstream; some looks like it fixes things you'd hit too. I'd rather ask which, if any, you want than open a pile of PRs.
Probably useful to you -- portability and build-shape fixes, no behaviour change:
- Browser WGSL strictness (3 small shader fixes): add
return after discard in the mesh picking layer; replace a trailing if/else-return pattern; use var + trailing return in camera_ray_to_world_pos. Some browsers' WGSL front-ends reject the current forms.
- Multi-threaded (atomics) wasm support -- plus making
re_web::fs optional so atomics-wasm builds at all, and silencing dead-code warnings the atomics config produces in the error tracker.
- WebGL2-compatible mesh selection via the Limited device tier, for machines where WebGPU is unavailable or falls back to a software adapter.
re_video/re_byte_size/re_tuid behind feature flags, for consumers that only want the renderer.
- Relaxing the
wasm-bindgen =0.2.108 pin to 0.2.
- Slope-scaled depth bias for overlay lines and points.
Ours, and I'd expect you to say no -- listing for completeness: matcap shading (including an use_matcap == 0 albedo-at-corner-UV path), external depth-texture sharing with premultiplied compositing and depth-only/picking-only mesh modes, per-face element_id picking with a selection SSBO and hover/selection tinting, a wireframe selection cue, and a glam 0.33 bump (you're on 0.30, so that one is a fork artefact, not a proposal).
Questions
- Is any of group 1–6 worth a PR? I'd send them separately and small, each rebased on current
main.
- For the WGSL fixes specifically: would you want them as-is, or do you have a preferred idiom for shaders that must pass every browser front-end?
- If the answer is "none of it", that's a genuinely fine answer and saves us both time -- I'll keep them downstream and stop wondering.
Happy to provide the diffs or a branch for anything you want to look at first.
Hello — asking before writing PRs, so I don't send you work you don't want.
We build a node-based 3D modeller (Akatela) on
re_renderer, and have carried a fork for a while (~23 commits on top ofmain, plus merges). Some of it is clearly ours and belongs nowhere near upstream; some looks like it fixes things you'd hit too. I'd rather ask which, if any, you want than open a pile of PRs.Probably useful to you -- portability and build-shape fixes, no behaviour change:
returnafterdiscardin the mesh picking layer; replace a trailingif/else-return pattern; usevar+ trailing return incamera_ray_to_world_pos. Some browsers' WGSL front-ends reject the current forms.re_web::fsoptional so atomics-wasm builds at all, and silencing dead-code warnings the atomics config produces in the error tracker.re_video/re_byte_size/re_tuidbehind feature flags, for consumers that only want the renderer.wasm-bindgen=0.2.108pin to0.2.Ours, and I'd expect you to say no -- listing for completeness: matcap shading (including an
use_matcap == 0albedo-at-corner-UV path), external depth-texture sharing with premultiplied compositing and depth-only/picking-only mesh modes, per-faceelement_idpicking with a selection SSBO and hover/selection tinting, a wireframe selection cue, and a glam 0.33 bump (you're on 0.30, so that one is a fork artefact, not a proposal).Questions
main.Happy to provide the diffs or a branch for anything you want to look at first.