[#18] Give lines provenance #29

Merged
zyxw59 merged 10 commits from 18-line-provenance into main 2025-06-22 17:36:56 +00:00
zyxw59 commented 2025-06-19 22:34:50 +00:00 (Migrated from github.com)

Fixes #18

Refactors the evaluator so that:

  1. All points and lines have an attached PointId or LineId
  2. Any points or lines created as intermediate values in expressions are added to the PointCollection
  3. PointCollection no longer tracks names of points — points are now treated just like any other variable and are stored in the evaluator.
Fixes #18 Refactors the evaluator so that: 1. All points and lines have an attached `PointId` or `LineId` 2. Any points or lines created as intermediate values in expressions are added to the `PointCollection` 3. `PointCollection` no longer tracks names of points — points are now treated just like any other variable and are stored in the evaluator.
zyxw59 (Migrated from github.com) reviewed 2025-06-21 18:04:54 +00:00
zyxw59 (Migrated from github.com) commented 2025-06-21 18:04:54 +00:00

This test was previously broken, because Value::eq_bool would compare two lines as equal if their Option<(PointId, PointId)> were the same. Of course when those were both None, they would compare equal, rendering this test trivial.

This test was previously broken, because `Value::eq_bool` would compare two lines as equal if their `Option<(PointId, PointId)>` were the same. Of course when those were both `None`, they would compare equal, rendering this test trivial.
Sign in to join this conversation.
No description provided.