Skip to content

Conversation

@adamgerhant
Copy link
Collaborator

@adamgerhant adamgerhant commented Aug 30, 2024

Closes #1889

The editor requires the footprint (call arguments) for each layer on every frame in order to draw overlays and transform click targets. This is currently done by saving the call arguments in Monitor nodes, but these are skipped when they are cached. This causes click targets to be desynced since the transform from layer space to viewport space is not updated when panning. To solve this, footprint are resolved from the RenderOutput by iterating though the final Graphic Group to add all footprints for each layer to a hashmap.

This method is fundamentally broken with the current rendering method for boolean operations and any node which converts a graphic group to another type. It will be necessary to have a non destructive method of representing vector data as a graphic group + some instruction to convert it to vector data. For example, the boolean operation would create a new spread sheet where the first row is the input spread sheet and the boolean operation.

Artwork Frame time for Rust execution in Demo Artwork currently (no caching) Frame time with caching
Isometric fountain 7.1ms 4.2ms
Spires 6.8ms 5.5ms
Painted dreams 85ms 5.5ms
Red dress 115ms 115ms
String lights 6.2ms 5.8ms

TODO: Fix graph update when duplicating node
Click targets for folders should include all nested click targets
Add cache nodes to artwork

@GraphiteEditor GraphiteEditor deleted a comment from github-actions bot Sep 11, 2024
@Keavon Keavon force-pushed the render-output-clicktargets branch from 6ddbde6 to 46f50f8 Compare September 11, 2024 22:37
@Keavon Keavon marked this pull request as ready for review September 11, 2024 22:37
@Keavon Keavon changed the title Resolve Footprints from Render Output Fix boolean node click targets by resolving footprints from render output Sep 11, 2024
@adamgerhant adamgerhant force-pushed the render-output-clicktargets branch from 46f50f8 to c44246a Compare September 12, 2024 01:20
@adamgerhant adamgerhant marked this pull request as draft September 12, 2024 01:46
@adamgerhant adamgerhant marked this pull request as ready for review September 12, 2024 02:45
@github-actions
Copy link

github-actions bot commented Sep 12, 2024

Performance Benchmark Results

compile_demo_art::compile_group::iai_compile_to_proto with_setup_0:load_from_name(isometric-fountain)
Instructions: 60,583,893 (master) -> 62,018,817 (HEAD) : $$\color{red}+2.37\%$$

Detailed metrics
Baselines:                master|       HEAD
D1mr                     468,575|    484,319          +3.36%
D1mw                     170,064|    181,307          +6.61%
DLmr                      55,709|     59,073          +6.04%
DLmw                      96,686|    108,728         +12.45%
Dr                    14,066,094| 14,380,926          +2.24%
Dw                    10,301,352| 10,558,445          +2.50%
EstimatedCycles       92,768,601| 95,391,132          +2.83%
I1mr                     160,939|    172,200          +7.00%
ILmr                       1,570|      1,587          +1.08%
Ir                    60,583,893| 62,018,817          +2.37%
L1hits                84,151,761| 86,120,362          +2.34%
LLhits                   645,613|    668,438          +3.54%
RamHits                  153,965|    169,388         +10.02%
TotalRW               84,951,339| 86,958,188          +2.36%

compile_demo_art::compile_group::iai_compile_to_proto with_setup_1:load_from_name(painted-dreams)
Instructions: 25,331,720 (master) -> 27,676,516 (HEAD) : $$\color{red}+9.26\%$$

Detailed metrics
Baselines:                master|       HEAD
D1mr                     200,618|    228,900         +14.10%
D1mw                      71,082|     88,621         +24.67%
DLmr                       1,675|      4,052        +141.91%
DLmw                      10,853|     14,515         +33.74%
Dr                     5,877,931|  6,918,815         +17.71%
Dw                     4,256,132|  5,189,931         +21.94%
EstimatedCycles       37,233,143| 41,961,264         +12.70%
I1mr                      65,455|     76,037         +16.17%
ILmr                       1,430|      1,492          +4.34%
Ir                    25,331,720| 27,676,516          +9.26%
L1hits                35,128,628| 39,391,704         +12.14%
LLhits                   323,197|    373,499         +15.56%
RamHits                   13,958|     20,059         +43.71%
TotalRW               35,465,783| 39,785,262         +12.18%

compile_demo_art::compile_group::iai_compile_to_proto with_setup_2:load_from_name(procedural-string-lights)
Instructions: 7,112,028 (master) -> 7,112,388 (HEAD) : $$\color{red}+0.01\%$$

Detailed metrics
Baselines:                master|       HEAD
D1mr                      42,241|     42,219          -0.05%
D1mw                      24,733|     24,699          -0.14%
DLmr                           0|          0          +0.00%
DLmw                       3,542|      3,549          +0.20%
Dr                     1,774,036|  1,774,985          +0.05%
Dw                     1,376,628|  1,377,403          +0.06%
EstimatedCycles       10,713,314| 10,717,896          +0.04%
I1mr                      18,989|     19,617          +3.31%
ILmr                          17|         17          +0.00%
Ir                     7,112,028|  7,112,388          +0.01%
L1hits                10,176,729| 10,178,241          +0.01%
LLhits                    82,404|     82,969          +0.69%
RamHits                    3,559|      3,566          +0.20%
TotalRW               10,262,692| 10,264,776          +0.02%

compile_demo_art::compile_group::iai_compile_to_proto with_setup_3:load_from_name(red-dress)
Instructions: 70,624,266 (master) -> 70,674,020 (HEAD) : $$\color{red}+0.07\%$$

Detailed metrics
Baselines:                master|       HEAD
D1mr                     571,350|    570,800          -0.10%
D1mw                     209,335|    208,442          -0.43%
DLmr                      77,875|     78,048          +0.22%
DLmw                     110,799|    110,697          -0.09%
Dr                    16,422,329| 16,441,386          +0.12%
Dw                    12,029,423| 12,044,847          +0.13%
EstimatedCycles      108,687,026|108,784,781          +0.09%
I1mr                     195,207|    199,340          +2.12%
ILmr                       1,574|      1,595          +1.33%
Ir                    70,624,266| 70,674,020          +0.07%
L1hits                98,100,126| 98,181,671          +0.08%
LLhits                   785,644|    788,242          +0.33%
RamHits                  190,248|    190,340          +0.05%
TotalRW               99,076,018| 99,160,253          +0.09%

compile_demo_art::compile_group::iai_compile_to_proto with_setup_4:load_from_name(valley-of-spires)
Instructions: 49,792,645 (master) -> 49,832,317 (HEAD) : $$\color{red}+0.08\%$$

Detailed metrics
Baselines:                master|       HEAD
D1mr                     373,276|    372,532          -0.20%
D1mw                     144,950|    144,802          -0.10%
DLmr                      32,232|     32,380          +0.46%
DLmw                      57,941|     57,565          -0.65%
Dr                    11,508,358| 11,523,801          +0.13%
Dw                     8,441,024|  8,452,960          +0.14%
EstimatedCycles       75,087,805| 75,158,650          +0.09%
I1mr                     130,761|    134,244          +2.66%
ILmr                       1,488|      1,497          +0.60%
Ir                    49,792,645| 49,832,317          +0.08%
L1hits                69,093,040| 69,157,500          +0.09%
LLhits                   557,326|    560,136          +0.50%
RamHits                   91,661|     91,442          -0.24%
TotalRW               69,742,027| 69,809,078          +0.10%

@github-actions
Copy link

github-actions bot commented Sep 12, 2024

Performance Benchmark Results

compile_demo_art::compile_group::iai_compile_to_proto with_setup_0:load_from_name(isometric-fountain)
Instructions: 60,577,753 (master) -> 62,020,381 (HEAD) : $$\color{red}+2.38\%$$

Detailed metrics
Baselines:                master|       HEAD
D1mr                     468,610|    484,897          +3.48%
D1mw                     169,296|    181,752          +7.36%
DLmr                      55,822|     59,303          +6.24%
DLmw                      96,675|    108,796         +12.54%
Dr                    14,065,609| 14,382,484          +2.25%
Dw                    10,300,408| 10,558,653          +2.51%
EstimatedCycles       92,761,818| 95,407,026          +2.85%
I1mr                     161,096|    172,038          +6.79%
ILmr                       1,571|      1,593          +1.40%
Ir                    60,577,753| 62,020,381          +2.38%
L1hits                84,144,768| 86,122,831          +2.35%
LLhits                   644,934|    668,995          +3.73%
RamHits                  154,068|    169,692         +10.14%
TotalRW               84,943,770| 86,961,518          +2.38%

compile_demo_art::compile_group::iai_compile_to_proto with_setup_1:load_from_name(painted-dreams)
Instructions: 25,332,792 (master) -> 27,684,681 (HEAD) : $$\color{red}+9.28\%$$

Detailed metrics
Baselines:                master|       HEAD
D1mr                     199,654|    229,177         +14.79%
D1mw                      70,910|     89,151         +25.72%
DLmr                       1,640|      3,980        +142.68%
DLmw                      11,158|     25,953        +132.60%
Dr                     5,877,747|  6,919,950         +17.73%
Dw                     4,256,085|  5,190,964         +21.97%
EstimatedCycles       37,237,048| 42,316,749         +13.64%
I1mr                      65,332|     76,198         +16.63%
ILmr                       1,430|      1,502          +5.03%
Ir                    25,332,792| 27,684,681          +9.28%
L1hits                35,130,728| 39,401,069         +12.16%
LLhits                   321,668|    363,091         +12.88%
RamHits                   14,228|     31,435        +120.94%
TotalRW               35,466,624| 39,795,595         +12.21%

compile_demo_art::compile_group::iai_compile_to_proto with_setup_2:load_from_name(procedural-string-lights)
Instructions: 7,108,815 (master) -> 7,116,456 (HEAD) : $$\color{red}+0.11\%$$

Detailed metrics
Baselines:                master|       HEAD
D1mr                      42,512|     42,061          -1.06%
D1mw                      24,741|     24,726          -0.06%
DLmr                           0|          0          +0.00%
DLmw                       3,527|      3,539          +0.34%
Dr                     1,773,466|  1,775,871          +0.14%
Dw                     1,376,045|  1,378,145          +0.15%
EstimatedCycles       10,709,714| 10,722,496          +0.12%
I1mr                      19,014|     19,549          +2.81%
ILmr                          17|         17          +0.00%
Ir                     7,108,815|  7,116,456          +0.11%
L1hits                10,172,059| 10,184,136          +0.12%
LLhits                    82,723|     82,780          +0.07%
RamHits                    3,544|      3,556          +0.34%
TotalRW               10,258,326| 10,270,472          +0.12%

compile_demo_art::compile_group::iai_compile_to_proto with_setup_3:load_from_name(red-dress)
Instructions: 70,608,404 (master) -> 70,660,730 (HEAD) : $$\color{red}+0.07\%$$

Detailed metrics
Baselines:                master|       HEAD
D1mr                     572,627|    569,420          -0.56%
D1mw                     209,657|    208,328          -0.63%
DLmr                      77,955|     77,893          -0.08%
DLmw                     110,666|    110,721          +0.05%
Dr                    16,418,644| 16,437,624          +0.12%
Dw                    12,026,438| 12,042,463          +0.13%
EstimatedCycles      108,669,266|108,755,413          +0.08%
I1mr                     195,221|    199,341          +2.11%
ILmr                       1,571|      1,594          +1.46%
Ir                    70,608,404| 70,660,730          +0.07%
L1hits                98,075,981| 98,163,728          +0.09%
LLhits                   787,313|    786,881          -0.05%
RamHits                  190,192|    190,208          +0.01%
TotalRW               99,053,486| 99,140,817          +0.09%

compile_demo_art::compile_group::iai_compile_to_proto with_setup_4:load_from_name(valley-of-spires)
Instructions: 49,805,793 (master) -> 49,827,810 (HEAD) : $$\color{red}+0.04\%$$

Detailed metrics
Baselines:                master|       HEAD
D1mr                     374,045|    373,418          -0.17%
D1mw                     144,588|    144,333          -0.18%
DLmr                      32,578|     32,528          -0.15%
DLmw                      58,330|     57,971          -0.62%
Dr                    11,511,612| 11,522,772          +0.10%
Dw                     8,442,443|  8,452,407          +0.12%
EstimatedCycles       75,129,112| 75,171,471          +0.06%
I1mr                     130,653|    134,377          +2.85%
ILmr                       1,496|      1,500          +0.27%
Ir                    49,805,793| 49,827,810          +0.04%
L1hits                69,110,562| 69,150,861          +0.06%
LLhits                   556,882|    560,129          +0.58%
RamHits                   92,404|     91,999          -0.44%
TotalRW               69,759,848| 69,802,989          +0.06%

Copy link
Member

@Keavon Keavon left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Yay!

@Keavon Keavon enabled auto-merge (squash) September 16, 2024 01:01
@github-actions
Copy link

github-actions bot commented Sep 16, 2024

Performance Benchmark Results

compile_demo_art::compile_group::iai_compile_to_proto with_setup_0:load_from_name(isometric-fountain)
Instructions: 61,321,549 (master) -> 62,744,200 (HEAD) : $$\color{red}+2.32\%$$

Detailed metrics
Baselines:                master|       HEAD
D1mr                     470,452|    484,457          +2.98%
D1mw                     170,425|    181,276          +6.37%
DLmr                      55,872|     59,306          +6.15%
DLmw                      96,584|    108,969         +12.82%
Dr                    14,233,711| 14,546,648          +2.20%
Dw                    10,429,226| 10,685,157          +2.45%
EstimatedCycles       93,790,314| 96,406,715          +2.79%
I1mr                     155,400|    168,062          +8.15%
ILmr                       1,568|      1,576          +0.51%
Ir                    61,321,549| 62,744,200          +2.32%
L1hits                85,188,209| 87,142,210          +2.29%
LLhits                   642,253|    663,944          +3.38%
RamHits                  154,024|    169,851         +10.28%
TotalRW               85,984,486| 87,976,005          +2.32%

compile_demo_art::compile_group::iai_compile_to_proto with_setup_1:load_from_name(painted-dreams)
Instructions: 25,549,965 (master) -> 27,897,927 (HEAD) : $$\color{red}+9.19\%$$

Detailed metrics
Baselines:                master|       HEAD
D1mr                     201,935|    228,948         +13.38%
D1mw                      71,049|     88,472         +24.52%
DLmr                       1,596|      3,991        +150.06%
DLmw                      10,962|     14,696         +34.06%
Dr                     5,927,143|  6,968,859         +17.58%
Dw                     4,294,068|  5,228,332         +21.76%
EstimatedCycles       37,530,154| 42,269,222         +12.63%
I1mr                      61,753|     74,756         +21.06%
ILmr                       1,443|      1,493          +3.47%
Ir                    25,549,965| 27,897,927          +9.19%
L1hits                35,436,439| 39,702,942         +12.04%
LLhits                   320,736|    371,996         +15.98%
RamHits                   14,001|     20,180         +44.13%
TotalRW               35,771,176| 40,095,118         +12.09%

compile_demo_art::compile_group::iai_compile_to_proto with_setup_2:load_from_name(procedural-string-lights)
Instructions: 7,178,963 (master) -> 7,184,035 (HEAD) : $$\color{red}+0.07\%$$

Detailed metrics
Baselines:                master|       HEAD
D1mr                      42,560|     42,041          -1.22%
D1mw                      24,798|     24,763          -0.14%
DLmr                           0|          0          +0.00%
DLmw                       3,532|      3,542          +0.28%
Dr                     1,789,349|  1,791,052          +0.10%
Dw                     1,388,278|  1,389,772          +0.11%
EstimatedCycles       10,805,552| 10,815,515          +0.09%
I1mr                      18,280|     19,175          +4.90%
ILmr                          15|         16          +6.67%
Ir                     7,178,963|  7,184,035          +0.07%
L1hits                10,270,952| 10,278,880          +0.08%
LLhits                    82,091|     82,421          +0.40%
RamHits                    3,547|      3,558          +0.31%
TotalRW               10,356,590| 10,364,859          +0.08%

compile_demo_art::compile_group::iai_compile_to_proto with_setup_3:load_from_name(red-dress)
Instructions: 71,589,700 (master) -> 71,641,254 (HEAD) : $$\color{red}+0.07\%$$

Detailed metrics
Baselines:                master|       HEAD
D1mr                     575,865|    570,282          -0.97%
D1mw                     210,627|    208,374          -1.07%
DLmr                      77,887|     77,668          -0.28%
DLmw                     110,609|    110,720          +0.10%
Dr                    16,641,108| 16,660,397          +0.12%
Dw                    12,195,701| 12,212,457          +0.14%
EstimatedCycles      110,020,631|110,112,808          +0.08%
I1mr                     186,491|    196,199          +5.21%
ILmr                       1,577|      1,588          +0.70%
Ir                    71,589,700| 71,641,254          +0.07%
L1hits                99,453,526| 99,539,253          +0.09%
LLhits                   782,910|    784,879          +0.25%
RamHits                  190,073|    189,976          -0.05%
TotalRW              100,426,509|100,514,108          +0.09%

compile_demo_art::compile_group::iai_compile_to_proto with_setup_4:load_from_name(valley-of-spires)
Instructions: 50,324,624 (master) -> 50,444,574 (HEAD) : $$\color{red}+0.24\%$$

Detailed metrics
Baselines:                master|       HEAD
D1mr                     370,892|    373,363          +0.67%
D1mw                     145,504|    144,081          -0.98%
DLmr                      32,397|     32,464          +0.21%
DLmw                      57,521|     57,882          +0.63%
Dr                    11,624,773| 11,663,139          +0.33%
Dw                     8,534,902|  8,560,030          +0.29%
EstimatedCycles       75,795,901| 76,023,023          +0.30%
I1mr                     125,922|    132,516          +5.24%
ILmr                       1,493|      1,502          +0.60%
Ir                    50,324,624| 50,444,574          +0.24%
L1hits                69,841,981| 70,017,783          +0.25%
LLhits                   550,907|    558,112          +1.31%
RamHits                   91,411|     91,848          +0.48%
TotalRW               70,484,299| 70,667,743          +0.26%

@github-actions
Copy link

Performance Benchmark Results

compile_demo_art::compile_group::iai_compile_to_proto with_setup_0:load_from_name(isometric-fountain)
Instructions: 61,317,225 (master) -> 62,751,863 (HEAD) : $$\color{red}+2.34\%$$

Detailed metrics
Baselines:                master|       HEAD
D1mr                     470,416|    484,853          +3.07%
D1mw                     169,881|    180,898          +6.49%
DLmr                      55,689|     59,122          +6.16%
DLmw                      96,427|    109,049         +13.09%
Dr                    14,233,381| 14,548,694          +2.22%
Dw                    10,429,151| 10,686,494          +2.47%
EstimatedCycles       93,773,253| 96,414,735          +2.82%
I1mr                     155,387|    168,045          +8.15%
ILmr                       1,576|      1,579          +0.19%
Ir                    61,317,225| 62,751,863          +2.34%
L1hits                85,184,073| 87,153,255          +2.31%
LLhits                   641,992|    664,046          +3.44%
RamHits                  153,692|    169,750         +10.45%
TotalRW               85,979,757| 87,987,051          +2.33%

compile_demo_art::compile_group::iai_compile_to_proto with_setup_1:load_from_name(painted-dreams)
Instructions: 25,551,265 (master) -> 27,902,206 (HEAD) : $$\color{red}+9.20\%$$

Detailed metrics
Baselines:                master|       HEAD
D1mr                     200,267|    229,392         +14.54%
D1mw                      71,225|     88,914         +24.84%
DLmr                       1,611|      4,111        +155.18%
DLmw                      10,951|     26,605        +142.95%
Dr                     5,927,744|  6,969,391         +17.57%
Dw                     4,294,404|  5,228,939         +21.76%
EstimatedCycles       37,526,303| 42,640,248         +13.63%
I1mr                      61,693|     74,972         +21.52%
ILmr                       1,443|      1,504          +4.23%
Ir                    25,551,265| 27,902,206          +9.20%
L1hits                35,440,228| 39,707,258         +12.04%
LLhits                   319,180|    361,058         +13.12%
RamHits                   14,005|     32,220        +130.06%
TotalRW               35,773,413| 40,100,536         +12.10%

compile_demo_art::compile_group::iai_compile_to_proto with_setup_2:load_from_name(procedural-string-lights)
Instructions: 7,174,910 (master) -> 7,180,658 (HEAD) : $$\color{red}+0.08\%$$

Detailed metrics
Baselines:                master|       HEAD
D1mr                      42,763|     42,327          -1.02%
D1mw                      24,754|     24,694          -0.24%
DLmr                           0|          0          +0.00%
DLmw                       3,555|      3,525          -0.84%
Dr                     1,788,435|  1,790,360          +0.11%
Dw                     1,387,616|  1,389,336          +0.12%
EstimatedCycles       10,801,169| 10,811,520          +0.10%
I1mr                      18,260|     19,213          +5.22%
ILmr                          15|         16          +6.67%
Ir                     7,174,910|  7,180,658          +0.08%
L1hits                10,265,184| 10,274,120          +0.09%
LLhits                    82,207|     82,693          +0.59%
RamHits                    3,570|      3,541          -0.81%
TotalRW               10,350,961| 10,360,354          +0.09%

compile_demo_art::compile_group::iai_compile_to_proto with_setup_3:load_from_name(red-dress)
Instructions: 71,574,582 (master) -> 71,633,284 (HEAD) : $$\color{red}+0.08\%$$

Detailed metrics
Baselines:                master|       HEAD
D1mr                     575,215|    570,279          -0.86%
D1mw                     210,510|    208,925          -0.75%
DLmr                      77,862|     78,071          +0.27%
DLmw                     110,586|    110,783          +0.18%
Dr                    16,637,607| 16,659,131          +0.13%
Dw                    12,194,051| 12,211,882          +0.15%
EstimatedCycles      109,995,936|110,118,893          +0.11%
I1mr                     186,489|    196,145          +5.18%
ILmr                       1,580|      1,586          +0.38%
Ir                    71,574,582| 71,633,284          +0.08%
L1hits                99,434,026| 99,528,948          +0.10%
LLhits                   782,186|    784,909          +0.35%
RamHits                  190,028|    190,440          +0.22%
TotalRW              100,406,240|100,504,297          +0.10%

compile_demo_art::compile_group::iai_compile_to_proto with_setup_4:load_from_name(valley-of-spires)
Instructions: 50,429,616 (master) -> 50,459,950 (HEAD) : $$\color{red}+0.06\%$$

Detailed metrics
Baselines:                master|       HEAD
D1mr                     376,191|    372,701          -0.93%
D1mw                     145,131|    144,725          -0.28%
DLmr                      32,423|     32,398          -0.08%
DLmw                      57,880|     57,840          -0.07%
Dr                    11,653,410| 11,667,425          +0.12%
Dw                     8,550,624|  8,561,871          +0.13%
EstimatedCycles       75,976,258| 76,041,796          +0.09%
I1mr                     125,905|    132,684          +5.38%
ILmr                       1,487|      1,499          +0.81%
Ir                    50,429,616| 50,459,950          +0.06%
L1hits                69,986,423| 70,039,136          +0.08%
LLhits                   555,437|    558,373          +0.53%
RamHits                   91,790|     91,737          -0.06%
TotalRW               70,633,650| 70,689,246          +0.08%

@github-actions
Copy link

Found Clippy warnings

Clippy Warnings/Errors

warning: large size difference between variants
   --> node-graph/graph-craft/src/document/value.rs:26:3
    |
26  | /         pub enum TaggedValue {
27  | |             None,
28  | |             $( $(#[$meta] ) *$identifier( $ty ), )*
    | |                              ------------------ the largest variant contains at least 696 bytes
29  | |             RenderOutput(RenderOutput),
    | |             -------------------------- the second-largest variant contains at least 216 bytes
...   |
32  | |             EditorApi(Arc<WasmEditorApi>)
33  | |         }
    | |_________^ the entire enum is at least 0 bytes
...
115 | / tagged_value! {
116 | |     String(String),
117 | |     U32(u32),
118 | |     U64(u64),
...   |
181 | |     FontCache(Arc<graphene_core::text::FontCache>),
182 | | }
    | |_- in this macro invocation
    |
    = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#large_enum_variant
    = note: `-W clippy::large-enum-variant` implied by `-W clippy::all`
    = help: to override `-W clippy::all` add `#[allow(clippy::large_enum_variant)]`
    = note: this warning originates in the macro `tagged_value` (in Nightly builds, run with -Z macro-backtrace for more info)
help: consider boxing the large fields to reduce the total size of the enum
    |
178 |     VectorModification(Box<graphene_core::vector::VectorModification>),
    |                        ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

warning: `graph-craft` (lib) generated 1 warning
warning: `graph-craft` (lib) generated 1 warning (1 duplicate)
warning: `graph-craft` (lib test) generated 1 warning (1 duplicate)
    Finished `dev` profile [optimized + debuginfo] target(s) in 5m 05s

@Keavon Keavon merged commit ca0d102 into master Sep 16, 2024
@Keavon Keavon deleted the render-output-clicktargets branch September 16, 2024 01:27
Keavon added a commit that referenced this pull request Sep 26, 2024
* Fix text tool

* Implement buffering to fix freehand tool

* Fix tools

* Fix clippy lints

* Small fixes

* Move vector modify back to Monitor nodes

* Code review

* Fix abort

* Fix svg import

---------

Co-authored-by: Keavon Chambers <[email protected]>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Click targets get offset after paint with the boolean operation node

4 participants