Skip to content

Add a Path tool action to destructively merge nearby points by distance#2966

Draft
4adex wants to merge 12 commits intomasterfrom
merge_point
Draft

Add a Path tool action to destructively merge nearby points by distance#2966
4adex wants to merge 12 commits intomasterfrom
merge_point

Conversation

@4adex
Copy link
Collaborator

@4adex 4adex commented Aug 1, 2025

  • If there are selected points which are close under certain threshold, then the button becomes active and allows to merge those points into a single point.
  • If vector meshes is enabled, then only two points which are endpoints of paths can be joined into one.
  • If vector meshes is not enabled, then any number of points which are under the threshold can be merged into one.
  • One assumption is that all the points belong to the same layer.
@github-actions github-actions bot temporarily deployed to graphite-dev (Preview) August 1, 2025 13:57 Inactive
@github-actions github-actions bot temporarily deployed to graphite-dev (Preview) August 1, 2025 14:08 Inactive
@github-actions github-actions bot temporarily deployed to graphite-dev (Preview) August 8, 2025 06:37 Inactive
@4adex 4adex marked this pull request as ready for review August 8, 2025 18:25
@github-actions
Copy link

github-actions bot commented Aug 8, 2025

Performance Benchmark Results

🔧 Graph Compilation

compile_demo_art_iai::compile_group::compile_to_proto with_setup_0:load_from_name(isometric-fountain)
Instructions: 27,599,070 (master) → 27,602,243 (HEAD) : $$\color{red}+0.01\%$$

Detailed metrics
Baselines: master| HEAD D1mr 354,763| 354,963 +0.06% D1mw 120,484| 120,374 -0.09% DLmr 36,407| 36,406 -0.00% DLmw 49,482| 49,471 -0.02% Dr 6,694,322| 6,694,688 +0.01% Dw 4,733,899| 4,733,839 -0.00% EstimatedCycles 43,726,589| 43,730,068 +0.01% I1mr 48,840| 48,840 +0.00% ILmr 876| 876 +0.00% Ir 27,599,070| 27,602,243 +0.01% L1hits 38,503,204| 38,506,593 +0.01% LLhits 437,322| 437,424 +0.02% RamHits 86,765| 86,753 -0.01% TotalRW 39,027,291| 39,030,770 +0.01% 

compile_demo_art_iai::compile_group::compile_to_proto with_setup_1:load_from_name(painted-dreams)
Instructions: 14,831,009 (master) → 14,830,833 (HEAD) : $$\color{lime}-0.00\%$$

Detailed metrics
Baselines: master| HEAD D1mr 181,889| 181,924 +0.02% D1mw 62,698| 62,686 -0.02% DLmr 1,494| 1,491 -0.20% DLmw 22,569| 22,565 -0.02% Dr 3,568,434| 3,568,410 -0.00% Dw 2,523,582| 2,523,574 -0.00% EstimatedCycles 22,742,423| 22,742,097 -0.00% I1mr 24,225| 24,225 +0.00% ILmr 742| 742 +0.00% Ir 14,831,009| 14,830,833 -0.00% L1hits 20,654,213| 20,653,982 -0.00% LLhits 244,007| 244,037 +0.01% RamHits 24,805| 24,798 -0.03% TotalRW 20,923,025| 20,922,817 -0.00% 

compile_demo_art_iai::compile_group::compile_to_proto with_setup_2:load_from_name(procedural-string-lights)
Instructions: 3,117,173 (master) → 3,116,618 (HEAD) : $$\color{lime}-0.02\%$$

Detailed metrics
Baselines: master| HEAD D1mr 37,201| 37,196 -0.01% D1mw 11,968| 11,967 -0.01% DLmr 21| 21 +0.00% DLmw 3,286| 3,288 +0.06% Dr 746,734| 746,678 -0.01% Dw 527,185| 527,127 -0.01% EstimatedCycles 4,729,302| 4,728,703 -0.01% I1mr 5,181| 5,182 +0.02% ILmr 720| 721 +0.14% Ir 3,117,173| 3,116,618 -0.02% L1hits 4,336,742| 4,336,078 -0.02% LLhits 50,323| 50,315 -0.02% RamHits 4,027| 4,030 +0.07% TotalRW 4,391,092| 4,390,423 -0.02% 

compile_demo_art_iai::compile_group::compile_to_proto with_setup_3:load_from_name(parametric-dunescape)
Instructions: 14,896,135 (master) → 14,897,500 (HEAD) : $$\color{red}+0.01\%$$

Detailed metrics
Baselines: master| HEAD D1mr 195,110| 194,947 -0.08% D1mw 68,579| 68,574 -0.01% DLmr 157| 157 +0.00% DLmw 17,463| 17,470 +0.04% Dr 3,584,643| 3,584,745 +0.00% Dw 2,558,343| 2,558,390 +0.00% EstimatedCycles 22,729,013| 22,730,099 +0.00% I1mr 20,274| 20,275 +0.00% ILmr 848| 849 +0.12% Ir 14,896,135| 14,897,500 +0.01% L1hits 20,755,158| 20,756,839 +0.01% LLhits 265,495| 265,320 -0.07% RamHits 18,468| 18,476 +0.04% TotalRW 21,039,121| 21,040,635 +0.01% 

compile_demo_art_iai::compile_group::compile_to_proto with_setup_4:load_from_name(red-dress)
Instructions: 33,610,819 (master) → 33,609,339 (HEAD) : $$\color{lime}-0.00\%$$

Detailed metrics
Baselines: master| HEAD D1mr 433,669| 433,478 -0.04% D1mw 143,305| 143,283 -0.02% DLmr 52,357| 52,351 -0.01% DLmw 57,448| 57,442 -0.01% Dr 8,095,898| 8,095,628 -0.00% Dw 5,736,047| 5,735,969 -0.00% EstimatedCycles 53,285,296| 53,282,290 -0.01% I1mr 53,619| 53,620 +0.00% ILmr 867| 868 +0.12% Ir 33,610,819| 33,609,339 -0.00% L1hits 46,812,171| 46,810,555 -0.00% LLhits 519,921| 519,720 -0.04% RamHits 110,672| 110,661 -0.01% TotalRW 47,442,764| 47,440,936 -0.00% 

compile_demo_art_iai::compile_group::compile_to_proto with_setup_5:load_from_name(valley-of-spires)
Instructions: 21,283,951 (master) → 21,284,060 (HEAD) : $$\color{red}+0.00\%$$

Detailed metrics
Baselines: master| HEAD D1mr 266,803| 266,743 -0.02% D1mw 84,804| 84,722 -0.10% DLmr 18,767| 18,763 -0.02% DLmw 42,194| 42,189 -0.01% Dr 5,153,961| 5,154,026 +0.00% Dw 3,641,950| 3,642,005 +0.00% EstimatedCycles 33,484,062| 33,483,487 -0.00% I1mr 36,063| 36,064 +0.00% ILmr 823| 824 +0.12% Ir 21,283,951| 21,284,060 +0.00% L1hits 29,692,192| 29,692,562 +0.00% LLhits 325,886| 325,753 -0.04% RamHits 61,784| 61,776 -0.01% TotalRW 30,079,862| 30,080,091 +0.00% 

🔄 Executor Update

update_executor_iai::update_group::update_executor with_setup_0:setup_update_executor(isometric-fountain)
Instructions: 40,535,967 (master) → 40,561,789 (HEAD) : $$\color{red}+0.06\%$$

Detailed metrics
Baselines: master| HEAD D1mr 418,155| 420,608 +0.59% D1mw 100,012| 100,115 +0.10% DLmr 15,632| 15,627 -0.03% DLmw 27,742| 28,126 +1.38% Dr 10,260,497| 10,264,205 +0.04% Dw 7,037,402| 7,038,094 +0.01% EstimatedCycles 61,339,566| 61,392,192 +0.09% I1mr 31,198| 31,408 +0.67% ILmr 234| 233 -0.43% Ir 40,535,967| 40,561,789 +0.06% L1hits 57,284,501| 57,311,957 +0.05% LLhits 505,757| 508,145 +0.47% RamHits 43,608| 43,986 +0.87% TotalRW 57,833,866| 57,864,088 +0.05% 

update_executor_iai::update_group::update_executor with_setup_1:setup_update_executor(painted-dreams)
Instructions: 22,419,146 (master) → 22,412,196 (HEAD) : $$\color{lime}-0.03\%$$

Detailed metrics
Baselines: master| HEAD D1mr 217,575| 216,903 -0.31% D1mw 52,776| 52,713 -0.12% DLmr 475| 447 -5.89% DLmw 9,456| 9,483 +0.29% Dr 5,635,138| 5,633,663 -0.03% Dw 3,878,650| 3,876,602 -0.05% EstimatedCycles 33,373,130| 33,361,825 -0.03% I1mr 13,873| 14,400 +3.80% ILmr 179| 180 +0.56% Ir 22,419,146| 22,412,196 -0.03% L1hits 31,648,710| 31,638,445 -0.03% LLhits 274,114| 273,906 -0.08% RamHits 10,110| 10,110 +0.00% TotalRW 31,932,934| 31,922,461 -0.03% 

update_executor_iai::update_group::update_executor with_setup_2:setup_update_executor(procedural-string-lights)
Instructions: 4,853,247 (master) → 4,565,288 (HEAD) : $$\color{lime}-5.93\%$$

Detailed metrics
Baselines: master| HEAD D1mr 48,160| 39,594 -17.79% D1mw 11,979| 11,865 -0.95% DLmr 0| 0 +0.00% DLmw 1,105| 1,099 -0.54% Dr 1,215,264| 1,137,441 -6.40% Dw 831,965| 781,812 -6.03% EstimatedCycles 7,202,662| 6,752,009 -6.26% I1mr 5,800| 5,838 +0.66% ILmr 176| 177 +0.57% Ir 4,853,247| 4,565,288 -5.93% L1hits 6,834,537| 6,427,244 -5.96% LLhits 64,658| 56,021 -13.36% RamHits 1,281| 1,276 -0.39% TotalRW 6,900,476| 6,484,541 -6.03% 

update_executor_iai::update_group::update_executor with_setup_3:setup_update_executor(parametric-dunescape)
Instructions: 18,657,676 (master) → 18,649,516 (HEAD) : $$\color{lime}-0.04\%$$

Detailed metrics
Baselines: master| HEAD D1mr 176,318| 176,100 -0.12% D1mw 46,618| 46,532 -0.18% DLmr 5| 7 +40.00% DLmw 4,120| 4,143 +0.56% Dr 4,678,119| 4,676,264 -0.04% Dw 3,239,698| 3,237,775 -0.06% EstimatedCycles 27,635,207| 27,622,841 -0.04% I1mr 9,705| 9,722 +0.18% ILmr 180| 179 -0.56% Ir 18,657,676| 18,649,516 -0.04% L1hits 26,342,852| 26,331,201 -0.04% LLhits 228,336| 228,025 -0.14% RamHits 4,305| 4,329 +0.56% TotalRW 26,575,493| 26,563,555 -0.04% 

update_executor_iai::update_group::update_executor with_setup_4:setup_update_executor(red-dress)
Instructions: 50,527,694 (master) → 50,507,695 (HEAD) : $$\color{lime}-0.04\%$$

Detailed metrics
Baselines: master| HEAD D1mr 520,368| 521,164 +0.15% D1mw 128,416| 128,153 -0.20% DLmr 32,543| 32,748 +0.63% DLmw 42,760| 42,346 -0.97% Dr 12,922,780| 12,918,532 -0.03% Dw 8,973,235| 8,965,042 -0.09% EstimatedCycles 77,430,233| 77,392,581 -0.05% I1mr 35,157| 34,866 -0.83% ILmr 389| 392 +0.77% Ir 50,527,694| 50,507,695 -0.04% L1hits 71,739,768| 71,707,086 -0.05% LLhits 608,249| 608,697 +0.07% RamHits 75,692| 75,486 -0.27% TotalRW 72,423,709| 72,391,269 -0.04% 

update_executor_iai::update_group::update_executor with_setup_5:setup_update_executor(valley-of-spires)
Instructions: 32,313,547 (master) → 32,313,320 (HEAD) : $$\color{lime}-0.00\%$$

Detailed metrics
Baselines: master| HEAD D1mr 332,222| 333,354 +0.34% D1mw 81,890| 81,721 -0.21% DLmr 8,132| 8,111 -0.26% DLmw 19,079| 18,451 -3.29% Dr 8,178,513| 8,179,980 +0.02% Dw 5,623,242| 5,626,233 +0.05% EstimatedCycles 48,691,570| 48,680,525 -0.02% I1mr 24,395| 24,518 +0.50% ILmr 197| 192 -2.54% Ir 32,313,547| 32,313,320 -0.00% L1hits 45,676,795| 45,679,940 +0.01% LLhits 411,099| 412,839 +0.42% RamHits 27,408| 26,754 -2.39% TotalRW 46,115,302| 46,119,533 +0.01% 

🚀 Render: Cold Execution

run_once_iai::run_once_group::run_once with_setup_0:setup_run_once(isometric-fountain)
Instructions: 20,732,309 (master) → 20,696,512 (HEAD) : $$\color{lime}-0.17\%$$

Detailed metrics
Baselines: master| HEAD D1mr 233,314| 231,698 -0.69% D1mw 47,674| 48,118 +0.93% DLmr 3,062| 2,967 -3.10% DLmw 11,854| 11,843 -0.09% Dr 5,265,818| 5,260,390 -0.10% Dw 3,546,027| 3,541,808 -0.12% EstimatedCycles 31,729,910| 31,676,290 -0.17% I1mr 117,236| 117,159 -0.07% ILmr 4,846| 4,846 +0.00% Ir 20,732,309| 20,696,512 -0.17% L1hits 29,145,930| 29,101,735 -0.15% LLhits 378,462| 377,319 -0.30% RamHits 19,762| 19,656 -0.54% TotalRW 29,544,154| 29,498,710 -0.15% 

run_once_iai::run_once_group::run_once with_setup_1:setup_run_once(painted-dreams)
Instructions: 235,311,178 (master) → 235,331,501 (HEAD) : $$\color{red}+0.01\%$$

Detailed metrics
Baselines: master| HEAD D1mr 757,613| 757,818 +0.03% D1mw 326,486| 326,256 -0.07% DLmr 7,674| 7,756 +1.07% DLmw 58,041| 58,341 +0.52% Dr 60,100,396| 60,116,351 +0.03% Dw 38,854,166| 38,869,329 +0.04% EstimatedCycles 341,382,220|341,443,391 +0.02% I1mr 149,891| 149,551 -0.23% ILmr 6,969| 6,960 -0.13% Ir 235,311,178|235,331,501 +0.01% L1hits 333,031,750|333,083,556 +0.02% LLhits 1,161,306| 1,160,568 -0.06% RamHits 72,684| 73,057 +0.51% TotalRW 334,265,740|334,317,181 +0.02% 

run_once_iai::run_once_group::run_once with_setup_2:setup_run_once(procedural-string-lights)
Instructions: 9,820,797 (master) → 9,616,598 (HEAD) : $$\color{lime}-2.08\%$$

Detailed metrics
Baselines: master| HEAD D1mr 43,791| 37,757 -13.78% D1mw 15,607| 15,548 -0.38% DLmr 243| 246 +1.23% DLmw 3,938| 3,957 +0.48% Dr 2,256,783| 2,214,014 -1.90% Dw 1,580,349| 1,557,573 -1.44% EstimatedCycles 14,288,361| 13,995,173 -2.05% I1mr 36,755| 36,822 +0.18% ILmr 4,013| 4,013 +0.00% Ir 9,820,797| 9,616,598 -2.08% L1hits 13,561,776| 13,298,058 -1.94% LLhits 87,959| 81,911 -6.88% RamHits 8,194| 8,216 +0.27% TotalRW 13,657,929| 13,388,185 -1.97% 

run_once_iai::run_once_group::run_once with_setup_3:setup_run_once(parametric-dunescape)
Instructions: 25,473,520 (master) → 25,522,744 (HEAD) : $$\color{red}+0.19\%$$

Detailed metrics
Baselines: master| HEAD D1mr 114,345| 113,703 -0.56% D1mw 46,619| 45,213 -3.02% DLmr 539| 539 +0.00% DLmw 7,836| 7,803 -0.42% Dr 5,735,760| 5,741,701 +0.10% Dw 3,442,267| 3,443,407 +0.03% EstimatedCycles 35,888,555| 35,935,568 +0.13% I1mr 61,303| 61,283 -0.03% ILmr 3,223| 3,222 -0.03% Ir 25,473,520| 25,522,744 +0.19% L1hits 34,429,280| 34,487,653 +0.17% LLhits 210,669| 208,635 -0.97% RamHits 11,598| 11,564 -0.29% TotalRW 34,651,547| 34,707,852 +0.16% 

run_once_iai::run_once_group::run_once with_setup_4:setup_run_once(red-dress)
Instructions: 1,869,472,919 (master) → 1,868,949,005 (HEAD) : $$\color{lime}-0.03\%$$

Detailed metrics
Baselines: master| HEAD D1mr 1,518,946| 1,510,054 -0.59% D1mw 706,586| 700,579 -0.85% DLmr 317,524| 316,937 -0.18% DLmw 434,332| 433,140 -0.27% Dr 436,387,747|435,985,272 -0.09% Dw 279,408,165|279,016,066 -0.14% EstimatedCycles 2,619,161,469|2,617,724,101 -0.05% I1mr 569,715| 567,974 -0.31% ILmr 5,199| 5,234 +0.67% Ir 1,869,472,919|1,868,949,005 -0.03% L1hits 2,582,473,584|2,581,171,736 -0.05% LLhits 2,038,192| 2,023,296 -0.73% RamHits 757,055| 755,311 -0.23% TotalRW 2,585,268,831|2,583,950,343 -0.05% 

run_once_iai::run_once_group::run_once with_setup_5:setup_run_once(valley-of-spires)
Instructions: 18,418,349 (master) → 18,395,769 (HEAD) : $$\color{lime}-0.12\%$$

Detailed metrics
Baselines: master| HEAD D1mr 188,934| 188,510 -0.22% D1mw 41,561| 41,742 +0.44% DLmr 839| 857 +2.15% DLmw 9,532| 9,524 -0.08% Dr 4,574,790| 4,569,472 -0.12% Dw 3,070,469| 3,066,941 -0.11% EstimatedCycles 27,752,096| 27,719,210 -0.12% I1mr 90,827| 90,645 -0.20% ILmr 3,069| 3,067 -0.07% Ir 18,418,349| 18,395,769 -0.12% L1hits 25,742,286| 25,711,285 -0.12% LLhits 307,882| 307,449 -0.14% RamHits 13,440| 13,448 +0.06% TotalRW 26,063,608| 26,032,182 -0.12% 

⚡ Render: Cached Execution

run_cached_iai::run_cached_group::run_cached with_setup_0:setup_run_cached(isometric-fountain)
Instructions: 20,651,314 (master) → 20,656,804 (HEAD) : $$\color{red}+0.03\%$$

Detailed metrics
Baselines: master| HEAD D1mr 251,534| 252,566 +0.41% D1mw 43,813| 43,742 -0.16% DLmr 2,882| 2,967 +2.95% DLmw 782| 815 +4.22% Dr 5,309,546| 5,310,695 +0.02% Dw 3,544,304| 3,545,795 +0.04% EstimatedCycles 31,263,324| 31,278,270 +0.05% I1mr 115,723| 115,581 -0.12% ILmr 132| 132 +0.00% Ir 20,651,314| 20,656,804 +0.03% L1hits 29,094,094| 29,101,405 +0.03% LLhits 407,274| 407,975 +0.17% RamHits 3,796| 3,914 +3.11% TotalRW 29,505,164| 29,513,294 +0.03% 

run_cached_iai::run_cached_group::run_cached with_setup_1:setup_run_cached(painted-dreams)
Instructions: 25,677,218 (master) → 25,706,518 (HEAD) : $$\color{red}+0.11\%$$

Detailed metrics
Baselines: master| HEAD D1mr 214,691| 216,766 +0.97% D1mw 52,646| 53,013 +0.70% DLmr 5,822| 6,045 +3.83% DLmw 1,707| 2,315 +35.62% Dr 6,389,531| 6,410,132 +0.32% Dw 4,429,992| 4,450,930 +0.47% EstimatedCycles 38,054,159| 38,159,744 +0.28% I1mr 64,455| 64,482 +0.04% ILmr 146| 144 -1.37% Ir 25,677,218| 25,706,518 +0.11% L1hits 36,164,949| 36,233,319 +0.19% LLhits 324,117| 325,757 +0.51% RamHits 7,675| 8,504 +10.80% TotalRW 36,496,741| 36,567,580 +0.19% 

run_cached_iai::run_cached_group::run_cached with_setup_2:setup_run_cached(procedural-string-lights)
Instructions: 9,231,637 (master) → 9,308,309 (HEAD) : $$\color{red}+0.83\%$$

Detailed metrics
Baselines: master| HEAD D1mr 46,060| 47,940 +4.08% D1mw 14,177| 14,305 +0.90% DLmr 5| 5 +0.00% DLmw 242| 203 -16.12% Dr 2,178,800| 2,200,650 +1.00% Dw 1,545,236| 1,558,624 +0.87% EstimatedCycles 13,345,247| 13,463,207 +0.88% I1mr 34,389| 34,186 -0.59% ILmr 122| 122 +0.00% Ir 9,231,637| 9,308,309 +0.83% L1hits 12,861,047| 12,971,152 +0.86% LLhits 94,257| 96,101 +1.96% RamHits 369| 330 -10.57% TotalRW 12,955,673| 13,067,583 +0.86% 

run_cached_iai::run_cached_group::run_cached with_setup_3:setup_run_cached(parametric-dunescape)
Instructions: 15,381,583 (master) → 15,365,348 (HEAD) : $$\color{lime}-0.11\%$$

Detailed metrics
Baselines: master| HEAD D1mr 99,414| 99,900 +0.49% D1mw 32,224| 33,631 +4.37% DLmr 13| 18 +38.46% DLmw 673| 657 -2.38% Dr 3,570,294| 3,548,573 -0.61% Dw 2,409,247| 2,386,973 -0.92% EstimatedCycles 22,009,280| 21,956,620 -0.24% I1mr 24,461| 24,558 +0.40% ILmr 106| 104 -1.89% Ir 15,381,583| 15,365,348 -0.11% L1hits 21,205,025| 21,142,805 -0.29% LLhits 155,307| 157,310 +1.29% RamHits 792| 779 -1.64% TotalRW 21,361,124| 21,300,894 -0.28% 

run_cached_iai::run_cached_group::run_cached with_setup_4:setup_run_cached(red-dress)
Instructions: 265,064,683 (master) → 265,157,315 (HEAD) : $$\color{red}+0.03\%$$

Detailed metrics
Baselines: master| HEAD D1mr 1,408,100| 1,410,946 +0.20% D1mw 461,310| 460,128 -0.26% DLmr 473,120| 471,865 -0.27% DLmw 213,985| 212,682 -0.61% Dr 67,283,719| 67,291,698 +0.01% Dw 49,310,357| 49,315,158 +0.01% EstimatedCycles 411,862,147|411,899,437 +0.01% I1mr 498,577| 498,955 +0.08% ILmr 3,943| 3,958 +0.38% Ir 265,064,683|265,157,315 +0.03% L1hits 379,290,772|379,394,142 +0.03% LLhits 1,676,939| 1,681,524 +0.27% RamHits 691,048| 688,505 -0.37% TotalRW 381,658,759|381,764,171 +0.03% 

run_cached_iai::run_cached_group::run_cached with_setup_5:setup_run_cached(valley-of-spires)
Instructions: 18,742,563 (master) → 18,758,207 (HEAD) : $$\color{red}+0.08\%$$

Detailed metrics
Baselines: master| HEAD D1mr 204,710| 203,075 -0.80% D1mw 39,001| 39,167 +0.43% DLmr 491| 552 +12.42% DLmw 998| 887 -11.12% Dr 4,712,759| 4,718,162 +0.11% Dw 3,133,821| 3,138,034 +0.13% EstimatedCycles 27,985,549| 28,003,047 +0.06% I1mr 93,308| 93,219 -0.10% ILmr 122| 121 -0.82% Ir 18,742,563| 18,758,207 +0.08% L1hits 26,252,124| 26,278,942 +0.10% LLhits 335,408| 333,901 -0.45% RamHits 1,611| 1,560 -3.17% TotalRW 26,589,143| 26,614,403 +0.10% 
@github-actions github-actions bot temporarily deployed to graphite-dev (Preview) August 8, 2025 18:43 Inactive
@github-actions github-actions bot temporarily deployed to graphite-dev (Preview) August 10, 2025 20:12 Inactive
@github-actions github-actions bot temporarily deployed to graphite-dev (Preview) August 28, 2025 05:20 Inactive
@github-actions github-actions bot temporarily deployed to graphite-dev (Preview) August 31, 2025 04:19 Inactive
@Keavon Keavon changed the title Feat: Merge selected near points with path tool Add a Path tool action to destructively merge nearby points by distance Aug 31, 2025
@Keavon
Copy link
Member

Keavon commented Aug 31, 2025

Marking as draft while awaiting:

  • Add to "Action" menu (to be initially added in a separate PR to be merged first)
  • Fix case where a loop from a single segment is merged when its two segment anchors become one
  • Make it work on all selected points but only merge (any number of separate) clumps of those which are mutually nearby one another
@Keavon Keavon marked this pull request as draft August 31, 2025 07:01
@Keavon
Copy link
Member

Keavon commented Dec 20, 2025

@4adex these three todo items never got completed, right? Is there anything we could still salvage from this PR?

@4adex
Copy link
Collaborator Author

4adex commented Dec 20, 2025

Yes we can still have this completed, sorry I got busy in my acads after my semester started. But I will surely be free this winter to work on the actions panel and integrate the blender inspired actions that I previously implemented.

@Keavon
Copy link
Member

Keavon commented Dec 20, 2025

It will be great to have you back! Anything we can complete this month will likely make it into the beta launch that's scheduled for January to help Graphite make a better impression on its many soon-to-be new users with each refinement we can merge before then. Thanks!

@4adex
Copy link
Collaborator Author

4adex commented Dec 20, 2025

Yes I will be working on this, will send an update by Monday.

@4adex
Copy link
Collaborator Author

4adex commented Dec 20, 2025

#3038 will also be salvaged after this is done.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

2 participants