Patrick
Patrick
I think using const logic would still be a bit painful due to being unable to use iterators (so we should probably avoid it for now to avoid potential burnout)....
I'm actually somewhat curious about this issue. Just after filing #379, I'm wondering if I got it backwards. As in, perhaps the surface should only be rendered if the margin...
> Makes sense to me! I wouldn't stress making AO perfect, since it's just an expedient hack, but this seems like a free improvement. > Meh, so long as there's...
It does look like this has immediate benefits as well, mainly because, although edge margins are still needed, they're needed in fewer places. Before:  After:  EDIT: Something odd...
I don't believe the CI failure is related to this PR. I'm willing to look into it a bit more closely, but the PR should still be ready to review...
I ran some very crude benchmarks, and it seems like any performance costs for margin computation is likely insignificant enough that we don't need to put much effort into optimizing...
I looked into the CI failure, and I believe the root cause is https://github.com/rust-lang/jobserver-rs/issues/87, I think that hopefully, once https://github.com/rust-lang/jobserver-rs/pull/88 is deployed (which should be in version 0.1.31), this PR...
My most recent encounter of the bug was caused by `ensure_nearby` being called in the server's `Sim::new` without populating the nodes afterwards, followed by a client connecting before the server...
Currently, I believe the main source of this numerical precision issue is in `Plane`'s [multiplication implementation](https://github.com/Ralith/hypermine/blob/6d061accf30d6e8c4de623aa3ff017f5368651d0/common/src/plane.rs#L49-L56). It runs a `lorentz_normalize`, which is numerically unstable when the plane is far from...
Based on a rough sketch, I believe the radius of the bounding sphere should be twice the distance from the center to a vertex of a particular node (or in...