On the web there is no native library, so every cone runs the Dart query. It had fallen behind ish_query: it cast rays at seams and beside corners a wall runs straight through, kept every collinear outline point, and hashed Offsets and doubles, which is slow once compiled to JavaScript. Port ish_query's events, sector culling and same-edge outline simplification, index vertices once instead of hashing them, remember which vertices are seams until the wall mask changes, and test each tree node's bounds once per ray. A dragged Lotus cone's query drops from 9.3 ms to 1.7 ms (median) in Edge, and from 14.5 ms to 1.8 ms on Breeze. Over 256 Lotus queries the Dart and native cones cast the same rays and draw the same outline. Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
Dara Adedeji committed on 10/5/2026, 10:58:19 PMparentffd7c63
2 files changedLine totals unavailable