Dara: dragging must feel instant on Windows. Measured at the app's usual cone range, the native query took 1.44 ms per frame, with about 0.3 ms of Dart around it and a 1.9 ms 90th-percentile frame build in a profile build. Native: a persistent thread pool runs the arc rays, event generation and event rays in chunks and the polygon is assembled serially afterwards, so the output is bitwise the same. Workers spin briefly between the runs of a query and sleep between frames; chunk handoff is lock-free and per-chunk counters are cache-line padded. Vertices outside the aperture are culled before any trig. ICARUS_HEIGHT_THREADS overrides the worker count. Query: 1.44 ms to 0.54 ms; single-threaded 1.55 ms. Dart: the wall activity mask is cached per eye height; a native result keeps its packed doubles and the outline path is built from them directly, materialising the point list only on demand. Preview: the drag feedback no longer sits in an Opacity widget. The cone paints at the preview alpha and only the agent icon takes an opacity layer, so the whole preview is not composited offscreen every frame. The receiver clip path is rotated and scaled once per drag and translated on the canvas so the clip path object stays stable across frames. Profile drag: build p90 1.9 ms to 1.07 ms, young GCs 40 to 22 per run. Benchmarks: tool/svg_height_drag_bench_test.dart, tool/svg_height_native_phase_bench_test.dart and two integration_test drives. Gate: all tests pass. Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
Dara Adedeji committed on 9/19/2026, 9:22:58 PMparent3c5f4cb
10 files changedLine totals unavailable