Run the web cone query the way the native one does

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>
0adefefe20Dara Adedeji committed on 10/5/2026, 10:58:19 PMparentffd7c63
2 files changedLine totals unavailable