From 61c23877c1ef6b9de0aa76355e7415294586a765 Mon Sep 17 00:00:00 2001 From: Andrey Antukh Date: Wed, 9 Apr 2025 14:42:40 +0200 Subject: [PATCH] :sparkles: Rename handler->point to get-handler-point --- common/src/app/common/types/path/segment.cljc | 6 ++++-- common/test/common_tests/types/path_data_test.cljc | 6 +++--- frontend/src/app/main/data/workspace/path/drawing.cljs | 2 +- frontend/src/app/main/data/workspace/path/edition.cljs | 2 +- frontend/src/app/main/data/workspace/path/helpers.cljs | 4 ++-- .../src/app/main/ui/workspace/shapes/path/editor.cljs | 10 +++++----- 6 files changed, 16 insertions(+), 14 deletions(-) diff --git a/common/src/app/common/types/path/segment.cljc b/common/src/app/common/types/path/segment.cljc index fe9c74673..b9c6f7c28 100644 --- a/common/src/app/common/types/path/segment.cljc +++ b/common/src/app/common/types/path/segment.cljc @@ -102,7 +102,8 @@ (->> (d/enumerate content) (filterv (fn [[_ segment]] (= (helpers/segment->point segment) point))))) -(defn handler->point +(defn get-handler-point + "Given a segment index and prefix, get a handler point" [content index prefix] (when (and (some? index) (some? prefix)) @@ -397,11 +398,12 @@ (assoc :c2x (:x h2)) (assoc :c2y (:y h2)))))))) +;; FIXME: optimize (defn is-curve? [content point] (let [handlers (-> (content->handlers content) (get point)) - handler-points (map #(handler->point content (first %) (second %)) handlers)] + handler-points (map #(get-handler-point content (first %) (second %)) handlers)] (some #(not= point %) handler-points))) (def ^:private xf:mapcat-points diff --git a/common/test/common_tests/types/path_data_test.cljc b/common/test/common_tests/types/path_data_test.cljc index e3ae2b2be..4e6c21da8 100644 --- a/common/test/common_tests/types/path_data_test.cljc +++ b/common/test/common_tests/types/path_data_test.cljc @@ -330,9 +330,9 @@ expect2 (gpt/point 439.0 802.0) expect3 (gpt/point 480.0 839.0) - result4 (path.segment/handler->point content 3 :c1) - result5 (path.segment/handler->point content 1 :c1) - result6 (path.segment/handler->point content 0 :c1)] + result4 (path.segment/get-handler-point content 3 :c1) + result5 (path.segment/get-handler-point content 1 :c1) + result6 (path.segment/get-handler-point content 0 :c1)] (t/is (= result1 expect1)) (t/is (= result2 expect2)) diff --git a/frontend/src/app/main/data/workspace/path/drawing.cljs b/frontend/src/app/main/data/workspace/path/drawing.cljs index 82d049028..191e097b5 100644 --- a/frontend/src/app/main/data/workspace/path/drawing.cljs +++ b/frontend/src/app/main/data/workspace/path/drawing.cljs @@ -78,7 +78,7 @@ prefix (or prefix :c1) position (or position (path.helpers/segment->point (nth content (dec index)))) - old-handler (path.segment/handler->point content index prefix) + old-handler (path.segment/get-handler-point content index prefix) handler-position (cond-> (gpt/point x y) shift? (path.helpers/position-fixed-angle position)) diff --git a/frontend/src/app/main/data/workspace/path/edition.cljs b/frontend/src/app/main/data/workspace/path/edition.cljs index 363736457..fc041582f 100644 --- a/frontend/src/app/main/data/workspace/path/edition.cljs +++ b/frontend/src/app/main/data/workspace/path/edition.cljs @@ -264,7 +264,7 @@ handler (-> content (nth index) (path.segment/get-handler prefix)) [op-idx op-prefix] (path.segment/opposite-index content index prefix) - opposite (path.segment/handler->point content op-idx op-prefix)] + opposite (path.segment/get-handler-point content op-idx op-prefix)] (streams/drag-stream (rx/concat diff --git a/frontend/src/app/main/data/workspace/path/helpers.cljs b/frontend/src/app/main/data/workspace/path/helpers.cljs index a9b3d933c..6c697a87d 100644 --- a/frontend/src/app/main/data/workspace/path/helpers.cljs +++ b/frontend/src/app/main/data/workspace/path/helpers.cljs @@ -79,8 +79,8 @@ [op-idx op-prefix] (path.segment/opposite-index content index prefix) node (path.segment/handler->node content index prefix) - handler (path.segment/handler->point content index prefix) - opposite (path.segment/handler->point content op-idx op-prefix) + handler (path.segment/get-handler-point content index prefix) + opposite (path.segment/get-handler-point content op-idx op-prefix) [ocx ocy] (path.helpers/prefix->coords op-prefix) [odx ody] (calculate-opposite-delta node handler opposite match-angle? match-distance? dx dy) diff --git a/frontend/src/app/main/ui/workspace/shapes/path/editor.cljs b/frontend/src/app/main/ui/workspace/shapes/path/editor.cljs index 360059291..f660d9334 100644 --- a/frontend/src/app/main/ui/workspace/shapes/path/editor.cljs +++ b/frontend/src/app/main/ui/workspace/shapes/path/editor.cljs @@ -245,8 +245,8 @@ (defn- matching-handler? [content node handlers] (when (= 2 (count handlers)) (let [[[i1 p1] [i2 p2]] handlers - p1 (path.segment/handler->point content i1 p1) - p2 (path.segment/handler->point content i2 p2) + p1 (path.segment/get-handler-point content i1 p1) + p2 (path.segment/get-handler-point content i2 p2) v1 (gpt/to-vec node p1) v2 (gpt/to-vec node p2) @@ -360,9 +360,9 @@ show-handler? (fn [[index prefix]] - ;; FIXME: handler->point is executed twice for each + ;; FIXME: get-handler-point is executed twice for each ;; render, this can be optimized - (let [handler-position (path.segment/handler->point content index prefix)] + (let [handler-position (path.segment/get-handler-point content index prefix)] (not= position handler-position))) position-handlers @@ -385,7 +385,7 @@ [:g.path-node {:key (dm/str pos-x "-" pos-y)} [:g.point-handlers {:pointer-events (when (= edit-mode :draw) "none")} (for [[hindex prefix] position-handlers] - (let [handler-position (path.segment/handler->point content hindex prefix) + (let [handler-position (path.segment/get-handler-point content hindex prefix) handler-hover? (contains? hover-handlers [hindex prefix]) moving-handler? (= handler-position moving-handler) matching-handler? (matching-handler? content position position-handlers)]