-
-
Notifications
You must be signed in to change notification settings - Fork 351
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Boolean ops crash in WASM only #1121
Comments
Please refer to this PR georust/geo#1089. There's a new implementation on it's way which returns |
Super exciting to see the new implementation! I am completely swamped with work the next few weeks, but it should be pretty quick for me to then swap over the implementation used here and either confirm many bugs go away or provide new test cases. |
Just out of curiosity: What's your use case in this repo here? |
The main use is in drawing low traffic neighbourhood "cells". If you click on an area in https://play.abstreet.org/0.3.48/ltn.html?system/gb/bristol/maps/east.bin, it's split into colored areas showing what's reachable by car without leaving the area. https://dabreegster.github.io/talks/aiuk_ltn/slides.html#/approximating-with-grids-1 describes how it's calculated -- approximate the area with a grid, floodfill different colors out. The end result needs to be clipped to the polygon of the overall area. That works most of the time, but I've hit a few cases that crash. I think I have some other ideas for using boolean ops in related projects. The way this tool calculates "an area bounded by main roads" is quite brittle and complex, gluing together road edge-lines calculated (very imperfectly) from OpenStreetMap. I'd like to try simpler approaches like
|
We hit georust/geo#976 sometimes in the LTN tool with some boundaries.
geom
in this codebase hasstd::panic::catch_unwind
around it, but this doesn't work in WASM! https://stackoverflow.com/questions/59426545/rust-paniccatch-unwind-no-use-in-webassemblyPossible workarounds listed there
The text was updated successfully, but these errors were encountered: