⚡ Drop unused used-names sets from component duplication (#12809)

unames or update-unames! are no longer used after a1a3d09998, and each call to
cfh/get-used-names is a scan across all objects
This commit is contained in:
Luke Lau 2026-11-04 20:00:24 +08:00 committed by GitHub
parent 177c3c6551
commit 2573908315
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
2 changed files with 5 additions and 15 deletions

View File

@ -3122,12 +3122,12 @@
changes))
(defn generate-duplicate-shape-change
([changes objects page unames update-unames! ids ids-map obj delta level-delta libraries library-data file-id]
(generate-duplicate-shape-change changes objects page unames update-unames! ids ids-map obj delta level-delta libraries library-data file-id (:frame-id obj) (:parent-id obj) false false true nil))
([changes objects page unames update-unames! ids ids-map obj delta level-delta libraries library-data file-id variant-props]
(generate-duplicate-shape-change changes objects page unames update-unames! ids ids-map obj delta level-delta libraries library-data file-id (:frame-id obj) (:parent-id obj) false false true variant-props))
([changes objects page ids ids-map obj delta level-delta libraries library-data file-id]
(generate-duplicate-shape-change changes objects page ids ids-map obj delta level-delta libraries library-data file-id (:frame-id obj) (:parent-id obj) false false true nil))
([changes objects page ids ids-map obj delta level-delta libraries library-data file-id variant-props]
(generate-duplicate-shape-change changes objects page ids ids-map obj delta level-delta libraries library-data file-id (:frame-id obj) (:parent-id obj) false false true variant-props))
([changes objects page unames update-unames! ids ids-map obj delta level-delta libraries library-data file-id frame-id parent-id duplicating-component? child? remove-swap-slot? variant-props]
([changes objects page ids ids-map obj delta level-delta libraries library-data file-id frame-id parent-id duplicating-component? child? remove-swap-slot? variant-props]
(cond
(nil? obj)
changes
@ -3240,8 +3240,6 @@
(generate-duplicate-shape-change changes
(:objects page')
page
unames
update-unames!
ids
ids-map
child
@ -3268,8 +3266,6 @@
move to the desired position, and recalculate parents and frames as needed."
[changes all-objects page ids delta libraries library-data file-id & {:keys [variant-props alt-duplication?]}]
(let [shapes (map (d/getf all-objects) ids)
unames (volatile! (cfh/get-used-names (:objects page)))
update-unames! (fn [new-name] (vswap! unames conj new-name))
all-ids (reduce #(into %1 (cons %2 (cfh/get-children-ids all-objects %2))) (d/ordered-set) ids)
;; We need ids-map for remapping the grid layout. But when duplicating the guides
@ -3299,8 +3295,6 @@
(reduce #(generate-duplicate-shape-change %1
all-objects
page
unames
update-unames!
ids
ids-map
%2

View File

@ -324,7 +324,6 @@
delta (gpt/subtract position orig-pos)
objects (:objects page)
unames (volatile! (cfh/get-used-names objects))
component-children
(d/index-by :id (cfh/get-children-with-self objects (:id component-shape)))
@ -353,9 +352,6 @@
(let [new-name (:name new-shape)
root? (ctk/instance-root? original-shape)]
(when root?
(vswap! unames conj new-name))
(vswap! ids-map assoc (:id original-shape) (:id new-shape))
(cond-> new-shape