# Cones: skip seam vertices, close corner roundoff, paint floors in layers · dara/icarus

[View on GitCafe](https://git.cafe/dara/icarus/commit/fbe7bce7881f2fc5c086f24163020ed23c11fe88)

Repository: [dara/icarus](https://git.cafe/dara/icarus)

Visibility: public

Requested revision: fbe7bce7881f2fc5c086f24163020ed23c11fe88

Requested commit: fbe7bce7881f2fc5c086f24163020ed23c11fe88

Commit: fbe7bce7881f2fc5c086f24163020ed23c11fe88

Tree: 6dcbdb7f21637401fb116c0dbe1849831207de5d

Author: Dara Adedeji

Committer: Dara Adedeji

## Message

```
Cones: skip seam vertices, close corner roundoff, paint floors in layers

Three changes to the view-cone runtime, none of which change what a cone
covers:

- A vertex where touching pieces of one stroke meet, with the boundary
  running straight through it, is no visibility event. Skipping it drops
  35-65% of a cone's polygon points and 20-45% of its time (native and Dart
  alike); cone areas match the old ones to 1e-8.
- A ray aimed at an exact corner could land 1e-11 past both adjoining
  edges and run on to the range (9 of 485,570 vertex rays in an all-map
  audit). Endpoint slack is now 1e-10 SVG units along the wall instead of
  1e-12 of the edge, far below the 1e-8 radian rays that must pass a corner.
- Cones that overlook Lotus's and Icebox's measured floors no longer build
  their lit area with ~1,000 sequential path subtractions (160-190 ms per
  cone). The floor pass now returns its shadows as shapes, and painters
  fill each floor and erase them in a layer. The boolean area is kept, built
  only when the sightline report asks for it.

Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>

```

## Parents

- [a0dcea89347c4069f8d82ddb9b83211f812756dc](https://git.cafe/dara/icarus/commit/a0dcea89347c4069f8d82ddb9b83211f812756dc?format=markdown)

[Source at this commit](https://git.cafe/dara/icarus/tree/fbe7bce7881f2fc5c086f24163020ed23c11fe88?format=markdown)
