🐛 Fix CLJS bounds-map deduplication and update intersect test

In the CLJS branch of resolve-modif-tree-ids, get-parent-seq returns
shape maps, but the js/Set was populated with UUIDs. As a result,
.has and .add were passing full shape maps instead of their :id
values, so parent deduplication never worked in ClojureScript.
Fixed both .has and .add calls to extract (:id %) from the shape map.

Also update the collinear-overlap test in geom-shapes-intersect-test
to expect true now that the ::coplanar keyword fix (commit 847bf51)
makes on-segment? collinear checks actually reachable.
This commit is contained in:
Andrey Antukh 2026-04-14 19:43:36 +00:00
parent d13e464ed1
commit 71904c9ab6

View File

@ -79,10 +79,10 @@
(loop [new-ids
(->> (cfh/get-parent-seq objects cid)
(take-while #(and (cfh/group-like-shape? %)
(not (.has ids %))))
(not (.has ids (:id %)))))
(seq))]
(when (some? new-ids)
(.add ids (first new-ids))
(.add ids (:id (first new-ids)))
(recur (next new-ids))))
(recur (next base-ids)))))
ids)))