-
Notifications
You must be signed in to change notification settings - Fork 4
/
notes.html
1963 lines (1920 loc) · 93.5 KB
/
notes.html
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
758
759
760
761
762
763
764
765
766
767
768
769
770
771
772
773
774
775
776
777
778
779
780
781
782
783
784
785
786
787
788
789
790
791
792
793
794
795
796
797
798
799
800
801
802
803
804
805
806
807
808
809
810
811
812
813
814
815
816
817
818
819
820
821
822
823
824
825
826
827
828
829
830
831
832
833
834
835
836
837
838
839
840
841
842
843
844
845
846
847
848
849
850
851
852
853
854
855
856
857
858
859
860
861
862
863
864
865
866
867
868
869
870
871
872
873
874
875
876
877
878
879
880
881
882
883
884
885
886
887
888
889
890
891
892
893
894
895
896
897
898
899
900
901
902
903
904
905
906
907
908
909
910
911
912
913
914
915
916
917
918
919
920
921
922
923
924
925
926
927
928
929
930
931
932
933
934
935
936
937
938
939
940
941
942
943
944
945
946
947
948
949
950
951
952
953
954
955
956
957
958
959
960
961
962
963
964
965
966
967
968
969
970
971
972
973
974
975
976
977
978
979
980
981
982
983
984
985
986
987
988
989
990
991
992
993
994
995
996
997
998
999
1000
<!doctype html>
<html lang="en" data-bs-theme="dark">
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1">
<title>ArmorPaint | 3D PBR Texture Painting</title>
<meta name="description" content="ArmorPaint is a software designed for physically-based texture painting.">
<meta property="og:type" content="website">
<meta property="og:url" content="https://armorpaint.org/">
<meta property="og:title" content="ArmorPaint | 3D PBR Texture Painting">
<meta property="og:description" content="ArmorPaint is a software designed for physically-based texture painting.">
<meta property="og:image" content="https://armorpaint.org/img/x.jpg">
<meta property="twitter:card" content="summary_large_image">
<meta property="twitter:url" content="https://armorpaint.org/">
<meta property="twitter:title" content="ArmorPaint | 3D PBR Texture Painting">
<meta property="twitter:description" content="ArmorPaint is a software designed for physically-based texture painting.">
<meta property="twitter:image" content="https://armorpaint.org/img/x.jpg">
<link href="css/bootstrap.min.css" rel="stylesheet">
<style>
[data-bs-theme=dark] {
--bs-body-bg: #1e2226;
--bs-body-bg-rgb: 30,34,38;
--bs-secondary-bg: #272c31;
--bs-secondary-bg-rgb: 39,44,49;
--bs-tertiary-bg: #272c31;
--bs-tertiary-bg-rgb: 39,44,49;
}
.bg-dark {
background-color: #1e2226 !important;
/* background-color: #171b1f !important;*/
}
.btn-primary {
background-color: #cc334d !important;
border-color: #cc334d !important;
}
header {
position: relative;
background-color: black;
overflow: hidden;
height: 58vh;
display: block;
}
header video {
position: absolute;
top: 50%;
left: 50%;
min-width: 100%;
min-height: 100%;
width: auto;
height: auto;
transform: translateX(-50%) translateY(-50%);
object-fit: cover;
}
</style>
</head>
<body>
<nav class="navbar navbar-expand-lg navbar-dark bg-dark fixed-top">
<div class="container-fluid">
<a href="https://armorpaint.org/"><img src="img/Logo.png" style="width: 50px;" class="rounded" /></a>
<ul class="navbar-nav">
<li class="nav-item dropdown">
<a class="nav-link dropdown-toggle fw-semibold" href="#" data-bs-toggle="dropdown" aria-expanded="false">ARMORPAINT</a>
<ul class="dropdown-menu rounded-3 shadow">
<li><a class="dropdown-item rounded-2" href="https://armorlab.org/"><img src="img/lab.png" style="width: 25px;" class="rounded" /> ARMORLAB</a></li>
</ul>
</li>
</ul>
<button class="navbar-toggler" type="button" data-bs-toggle="collapse" data-bs-target="#mynavbar" aria-expanded="false" aria-label="Toggle">
<span class="navbar-toggler-icon"></span>
</button>
<div class="collapse navbar-collapse justify-content-end" id="mynavbar">
<ul class="navbar-nav">
<li class="nav-item">
<a class="nav-link" href="https://armorpaint.org">HOME</a>
</li>
<li class="nav-item">
<a class="nav-link" href="https://armorpaint.org/news">NEWS</a>
</li>
<li class="nav-item">
<a class="nav-link" href="https://armorpaint.org/manual">MANUAL</a>
</li>
<li class="nav-item">
<a class="nav-link" href="https://armorpaint.org/howto">HOW TO</a>
</li>
<li class="nav-item">
<a class="nav-link" href="https://armorpaint.org/community">COMMUNITY</a>
</li>
<li class="nav-item">
<a class="nav-link" href="https://armorpaint.org/cloud">CLOUD</a>
</li>
<li>
<a href="https://armorpaint.org/download"><button type="button" class="btn btn-primary px-4 me-sm-3">DOWNLOAD</button></a>
</li>
</ul>
</div>
</div>
</nav>
<main>
<header>
<video playsinline='' autoplay='' muted='' loop=''>
<source src="img/cover.mp4" type="video/mp4" />
</video>
<div class="position-relative p-5 mx-auto mx-md-5 my-5">
<div class="p-5 mx-auto mx-md-5 my-5 bg-body-secondary rounded-3" style="--bs-bg-opacity: 0.6; width: 440px;">
<h1 class="display-5 pb-3">Texture Your<br>3D Models<br>in <span class="text-body-emphasis">ArmorPaint</span>.</h1>
<a href="https://armorpaint.org/download"><button type="button" class="btn btn-primary px-4 me-sm-3">v<span id="spanversionhead">...</span></button></a>
</div>
</div>
</header>
<script type="text/javascript">
var req = new XMLHttpRequest();
req.onreadystatechange = function() {
if (req.readyState == XMLHttpRequest.DONE) {
if (req.status == 200) {
var data = JSON.parse(req.responseText);
spanversionhead.innerHTML = "" + data.version_name + "";
}
}
};
req.open("GET", "https://server.armorpaint.org/armorpaint.html", true);
req.send();
</script>
<!------------------------------------->
<div class="col-md-6 p-lg-5 mx-auto my-5 bg-body-tertiary rounded pt-3">
<h1 class="display-3 fw-bold">Release Notes</h1>
<h3 class="fw-normal text-muted mb-3">Check out what's new.</h3>
</div>
<div class="col-md-6 p-lg-5 mx-auto my-5 bg-body-tertiary rounded pt-3">
<h4 class="fw-bold">v1.0 alpha - <i>2024.X</i></h4>
In development - <a href="https://armorpaint.org/news">news</a> - <a href="https://github.com/armory3d/armortools/issues">request features</a>
<div class="list-group">
<div class="list-group-item py-2 d-flex gap-2 w-100"><h6 class="mb-0">
<a href="https://github.com/armory3d/armortools/commits">All commits</a>
</h6></div>
</div>
</div>
<div class="col-md-6 p-lg-5 mx-auto my-5 bg-body-tertiary rounded pt-3">
<h4 class="fw-bold">v0.9 - <i>2023.8</i></h4>
<img class='rounded img-fluid pb-3' src="img/ap09.jpg" />
<p><a href="https://armorpaint.org/download">ArmorPaint 0.9</a> is now available on desktop, iPad and Android!</p>
<p>This release packs a huge set of bug fixes and feature improvements - allowing you to paint your models even faster. You can check the list below or examine the full commit history on GitHub.</p>
<p>ArmorPaint has been in development for quite a while now and it's been a joy to watch whenever it helps you create art. I can not wait to improve it even further - next up, the first ArmorPaint 1.0 alpha builds are incoming. 🔨</p>
<p><a href="https://armorpaint.org/download">Download ArmorPaint</a> | <a href="https://github.com/armory3d/armortools">Build from Source</a></p>
<div class="container text-center">
<div class="row">
<div class="col">
<iframe style="width: 100%; padding: 0" src="https://www.youtube.com/embed/y2slMWkVkOE" frameborder="0" allow="accelerometer; autoplay; encrypted-media; gyroscope; picture-in-picture" allowfullscreen></iframe>
</div>
<div class="col">
<iframe style="width: 100%; padding: 0" src="https://www.youtube.com/embed/wHjLNLrAmZo" frameborder="0" allow="accelerometer; autoplay; encrypted-media; gyroscope; picture-in-picture" allowfullscreen></iframe>
</div>
<div class="col">
<iframe style="width: 100%; padding: 0" src="https://www.youtube.com/embed/EVaQee_oRBU" frameborder="0" allow="accelerometer; autoplay; encrypted-media; gyroscope; picture-in-picture" allowfullscreen></iframe>
</div>
</div>
<div class="row">
<div class="col">
<img class='rounded img-fluid pb-3' src="img/notes/09/0.jpg" />
</div>
<div class="col">
<img class='rounded img-fluid pb-3' src="img/notes/09/1.jpg" />
</div>
<div class="col">
<img class='rounded img-fluid pb-3' src="img/notes/09/2.jpg" />
</div>
</div>
<div class="row">
<div class="col">
<img class='rounded img-fluid pb-3' src="img/notes/09/3.jpg" />
</div>
<div class="col">
<img class='rounded img-fluid pb-3' src="img/notes/09/4.jpg" />
</div>
<div class="col">
<img class='rounded img-fluid pb-3' src="img/notes/09/5.jpg" />
</div>
</div>
</div>
<div class="list-group">
<div class="list-group-item py-2 d-flex gap-2 w-100"><h6 class="mb-0">
Added smudge tool
</h6></div>
<div class="list-group-item py-2 d-flex gap-2 w-100"><h6 class="mb-0">
Added uv unwrapping dialog
</h6></div>
<div class="list-group-item py-2 d-flex gap-2 w-100"><h6 class="mb-0">
Added group masks
</h6></div>
<div class="list-group-item py-2 d-flex gap-2 w-100"><h6 class="mb-0">
Added height and opacity picking
</h6></div>
<div class="list-group-item py-2 d-flex gap-2 w-100"><h6 class="mb-0">
Added new .obj parser (~40% faster, ~20% less memory)
</h6></div>
<div class="list-group-item py-2 d-flex gap-2 w-100"><h6 class="mb-0">
Added gimp color palette import / export
</h6></div>
<div class="list-group-item py-2 d-flex gap-2 w-100"><h6 class="mb-0">
Added 'to mask' button for color id tool
</h6></div>
<div class="list-group-item py-2 d-flex gap-2 w-100"><h6 class="mb-0">
Added support for round ui corners
</h6></div>
<div class="list-group-item py-2 d-flex gap-2 w-100"><h6 class="mb-0">
Added splash screen
</h6></div>
<div class="list-group-item py-2 d-flex gap-2 w-100"><h6 class="mb-0">
Added option to hide tool properties
</h6></div>
<div class="list-group-item py-2 d-flex gap-2 w-100"><h6 class="mb-0">
Added color picking in texture and node preview windows
</h6></div>
<div class="list-group-item py-2 d-flex gap-2 w-100"><h6 class="mb-0">
Added progress bar for raytraced baking
</h6></div>
<div class="list-group-item py-2 d-flex gap-2 w-100"><h6 class="mb-0">
Added texture previews in browser tab (by MathemanFlo)
</h6></div>
<div class="list-group-item py-2 d-flex gap-2 w-100"><h6 class="mb-0">
Added context menu for items in browser tab (by MathemanFlo)
</h6></div>
<div class="list-group-item py-2 d-flex gap-2 w-100"><h6 class="mb-0">
Added layer and material shortcut previews (by MathemanFlo)
</h6></div>
<div class="list-group-item py-2 d-flex gap-2 w-100"><h6 class="mb-0">
Added viewport mode shortcut (by MathemanFlo)
</h6></div>
<div class="list-group-item py-2 d-flex gap-2 w-100"><h6 class="mb-0">
Added new armory bloom (by Moritz Brueckner)
</h6></div>
<div class="list-group-item py-2 d-flex gap-2 w-100"><h6 class="mb-0">
Added option to set default camera controls
</h6></div>
<div class="list-group-item py-2 d-flex gap-2 w-100"><h6 class="mb-0">
Added compact ui mode for sidebar
</h6></div>
<div class="list-group-item py-2 d-flex gap-2 w-100"><h6 class="mb-0">
Added 'touch ui' as a preferences option
</h6></div>
<div class="list-group-item py-2 d-flex gap-2 w-100"><h6 class="mb-0">
Added PBR support for swatches
</h6></div>
<div class="list-group-item py-2 d-flex gap-2 w-100"><h6 class="mb-0">
Added search icon for node seach
</h6></div>
<div class="list-group-item py-2 d-flex gap-2 w-100"><h6 class="mb-0">
Added 'touch' keymap
</h6></div>
<div class="list-group-item py-2 d-flex gap-2 w-100"><h6 class="mb-0">
Added '--export-material' argument
</h6></div>
<div class="list-group-item py-2 d-flex gap-2 w-100"><h6 class="mb-0">
Added tooltips for camera controls (by MathemanFlo)
</h6></div>
<div class="list-group-item py-2 d-flex gap-2 w-100"><h6 class="mb-0">
Added tooltip for light angle and env angle (by MathemanFlo)
</h6></div>
<div class="list-group-item py-2 d-flex gap-2 w-100"><h6 class="mb-0">
Added picked color to swatches (by MathemanFlo)
</h6></div>
<div class="list-group-item py-2 d-flex gap-2 w-100"><h6 class="mb-0">
Added shortcuts to tooltips (by MathemanFlo)
</h6></div>
<div class="list-group-item py-2 d-flex gap-2 w-100"><h6 class="mb-0">
Added 'refresh' button to browser (by MathemanFlo)
</h6></div>
<div class="list-group-item py-2 d-flex gap-2 w-100"><h6 class="mb-0">
Added button for clearing the search in browser (by MathemanFlo)
</h6></div>
<div class="list-group-item py-2 d-flex gap-2 w-100"><h6 class="mb-0">
Added 'contributors' button to 'about' dialog
</h6></div>
<div class="list-group-item py-2 d-flex gap-2 w-100"><h6 class="mb-0">
Added 'noise grain' option to viewport preferences
</h6></div>
<div class="list-group-item py-2 d-flex gap-2 w-100"><h6 class="mb-0">
Fixed using blur tool on masks
</h6></div>
<div class="list-group-item py-2 d-flex gap-2 w-100"><h6 class="mb-0">
Fixed handling of missing uvs for .gltf meshes
</h6></div>
<div class="list-group-item py-2 d-flex gap-2 w-100"><h6 class="mb-0">
Fixed .blend mesh import
</h6></div>
<div class="list-group-item py-2 d-flex gap-2 w-100"><h6 class="mb-0">
Fixed 'split by material' feature in .obj parser
</h6></div>
<div class="list-group-item py-2 d-flex gap-2 w-100"><h6 class="mb-0">
Fixed handling of empty udim tiles
</h6></div>
<div class="list-group-item py-2 d-flex gap-2 w-100"><h6 class="mb-0">
Fixed decal symmetry
</h6></div>
<div class="list-group-item py-2 d-flex gap-2 w-100"><h6 class="mb-0">
Fixed number of triangles in export mesh dialog (by MathemanFlo)
</h6></div>
<div class="list-group-item py-2 d-flex gap-2 w-100"><h6 class="mb-0">
Improved color wheel
</h6></div>
<div class="list-group-item py-2 d-flex gap-2 w-100"><h6 class="mb-0">
Improved color id tool
</h6></div>
<div class="list-group-item py-2 d-flex gap-2 w-100"><h6 class="mb-0">
Improved touch ui
</h6></div>
<div class="list-group-item py-2 d-flex gap-2 w-100"><h6 class="mb-0">
Improved rendering performance
</h6></div>
<div class="list-group-item py-2 d-flex gap-2 w-100"><h6 class="mb-0">
Improved script tab with syntax coloring
</h6></div>
<div class="list-group-item py-2 d-flex gap-2 w-100"><h6 class="mb-0">
Improved idle sleep
</h6></div>
<div class="list-group-item py-2 d-flex gap-2 w-100"><h6 class="mb-0">
Improved display of non-lit modes
</h6></div>
<div class="list-group-item py-2 d-flex gap-2 w-100"><h6 class="mb-0">
Improved position of context menu show ups
</h6></div>
<div class="list-group-item py-2 d-flex gap-2 w-100"><h6 class="mb-0">
Improved drawing of menu lists
</h6></div>
<div class="list-group-item py-2 d-flex gap-2 w-100"><h6 class="mb-0">
Improved text tool
</h6></div>
<div class="list-group-item py-2 d-flex gap-2 w-100"><h6 class="mb-0">
Exposed smooth normal calculation in meshes tab
</h6></div>
<div class="list-group-item py-2 d-flex gap-2 w-100"><h6 class="mb-0">
Connect to best matching socket on link drag
</h6></div>
<div class="list-group-item py-2 d-flex gap-2 w-100"><h6 class="mb-0">
Begin physics support for particle tool
</h6></div>
<div class="list-group-item py-2 d-flex gap-2 w-100"><h6 class="mb-0">
Use .json extension for config file
</h6></div>
<div class="list-group-item py-2 d-flex gap-2 w-100"><h6 class="mb-0">
Show node preview in 2d view
</h6></div>
<div class="list-group-item py-2 d-flex gap-2 w-100"><h6 class="mb-0">
Restore previous tool after color picking
</h6></div>
<div class="list-group-item py-2 d-flex gap-2 w-100"><h6 class="mb-0">
Show brush icon in browser tab
</h6></div>
<div class="list-group-item py-2 d-flex gap-2 w-100"><h6 class="mb-0">
Reorganize ui tabs via drag and drop
</h6></div>
<div class="list-group-item py-2 d-flex gap-2 w-100"><h6 class="mb-0">
Make .obj parser more reliable
</h6></div>
<div class="list-group-item py-2 d-flex gap-2 w-100"><h6 class="mb-0">
Layer reordering fixes
</h6></div>
<div class="list-group-item py-2 d-flex gap-2 w-100"><h6 class="mb-0">
Begin operator search popup
</h6></div>
<div class="list-group-item py-2 d-flex gap-2 w-100"><h6 class="mb-0">
Undo / redo fixes
</h6></div>
<div class="list-group-item py-2 d-flex gap-2 w-100"><h6 class="mb-0">
Tweaked default theme
</h6></div>
<div class="list-group-item py-2 d-flex gap-2 w-100"><h6 class="mb-0">
Update fill layers on resize
</h6></div>
<div class="list-group-item py-2 d-flex gap-2 w-100"><h6 class="mb-0">
Clone tool takes hardness into account
</h6></div>
<div class="list-group-item py-2 d-flex gap-2 w-100"><h6 class="mb-0">
Double click to hide sidebar
</h6></div>
<div class="list-group-item py-2 d-flex gap-2 w-100"><h6 class="mb-0">
Bake workspace is now bake tool
</h6></div>
<div class="list-group-item py-2 d-flex gap-2 w-100"><h6 class="mb-0">
Material workspace is now material tool
</h6></div>
<div class="list-group-item py-2 d-flex gap-2 w-100"><h6 class="mb-0">
Mirror layer props when duplicating a layer
</h6></div>
<div class="list-group-item py-2 d-flex gap-2 w-100"><h6 class="mb-0">
Cleaned up context menu layouts
</h6></div>
<div class="list-group-item py-2 d-flex gap-2 w-100"><h6 class="mb-0">
Drop material at position in 'layers' tab
</h6></div>
<div class="list-group-item py-2 d-flex gap-2 w-100"><h6 class="mb-0">
Tool properties bar can now be collapsed and accessed as a tool context menu
</h6></div>
<div class="list-group-item py-2 d-flex gap-2 w-100"><h6 class="mb-0">
Node view and 2d view is now displayed as a tab
</h6></div>
<div class="list-group-item py-2 d-flex gap-2 w-100"><h6 class="mb-0">
Remember selected tab and size of footer window
</h6></div>
<div class="list-group-item py-2 d-flex gap-2 w-100"><h6 class="mb-0">
Initial support for rearranging tabs via drag and drop
</h6></div>
<div class="list-group-item py-2 d-flex gap-2 w-100"><h6 class="mb-0">
Moved material and layer name to header
</h6></div>
<div class="list-group-item py-2 d-flex gap-2 w-100"><h6 class="mb-0">
UI with horizontal layout can now be scrolled via mouse wheel
</h6></div>
<div class="list-group-item py-2 d-flex gap-2 w-100"><h6 class="mb-0">
Ported 2d drawing code to C for improved performance
</h6></div>
<div class="list-group-item py-2 d-flex gap-2 w-100"><h6 class="mb-0">
Ported .obj loader to C for improved performance
</h6></div>
<div class="list-group-item py-2 d-flex gap-2 w-100"><h6 class="mb-0">
Begin porting ui code to C for improved performance
</h6></div>
<div class="list-group-item py-2 d-flex gap-2 w-100"><h6 class="mb-0">
Updated V8 engine with use of fast api calls
</h6></div>
<div class="list-group-item py-2 d-flex gap-2 w-100"><h6 class="mb-0">
Updated translations (thanks to all contributors)
</h6></div>
<div class="list-group-item py-2 d-flex gap-2 w-100"><h6 class="mb-0">
Wake up from idle sleep on files drop
</h6></div>
<div class="list-group-item py-2 d-flex gap-2 w-100"><h6 class="mb-0">
Use mono space font in console
</h6></div>
<div class="list-group-item py-2 d-flex gap-2 w-100"><h6 class="mb-0">
Drag and drop for swatches (by MathemanFlo)
</h6></div>
<div class="list-group-item py-2 d-flex gap-2 w-100"><h6 class="mb-0">
Separated camera pan, rotation and zoom speed (by MathemanFlo)
</h6></div>
<div class="list-group-item py-2 d-flex gap-2 w-100"><h6 class="mb-0">
Use armory server to check for update info
</h6></div>
<div class="list-group-item py-2 d-flex gap-2 w-100"><h6 class="mb-0">
Use 'delete' key to delete item slot
</h6></div>
<div class="list-group-item py-2 d-flex gap-2 w-100"><h6 class="mb-0">
Reduced memory usage when exporting textures
</h6></div>
<div class="list-group-item py-2 d-flex gap-2 w-100"><h6 class="mb-0">
Up to ~4.3GB .obj files can be imported now
</h6></div>
<div class="list-group-item py-2 d-flex gap-2 w-100"><h6 class="mb-0">
Show version in status bar
</h6></div>
<div class="list-group-item py-2 d-flex gap-2 w-100"><h6 class="mb-0">
New assets added to the ArmorPaint cloud
</h6></div>
<div class="list-group-item py-2 d-flex gap-2 w-100"><h6 class="mb-0">
[Windows] Prevent white screen flicker on start-up
</h6></div>
<div class="list-group-item py-2 d-flex gap-2 w-100"><h6 class="mb-0">
[Windows] Added dark mode support
</h6></div>
<div class="list-group-item py-2 d-flex gap-2 w-100"><h6 class="mb-0">
[Metal] Fixed mask saving
</h6></div>
<div class="list-group-item py-2 d-flex gap-2 w-100"><h6 class="mb-0">
[Metal] Added path-traced viewport mode
</h6></div>
<div class="list-group-item py-2 d-flex gap-2 w-100"><h6 class="mb-0">
[Metal] Added ray-traced baking support
</h6></div>
<div class="list-group-item py-2 d-flex gap-2 w-100"><h6 class="mb-0">
[iOS, Android] Added 'get started' tab
</h6></div>
<div class="list-group-item py-2 d-flex gap-2 w-100"><h6 class="mb-0">
[iOS, Android] Reject painting with finger when using pen
</h6></div>
<div class="list-group-item py-2 d-flex gap-2 w-100"><h6 class="mb-0">
[iOS, Android] Show toast messages to display progress
</h6></div>
<div class="list-group-item py-2 d-flex gap-2 w-100"><h6 class="mb-0">
[iOS, Android] Improved viewport controls
</h6></div>
<div class="list-group-item py-2 d-flex gap-2 w-100"><h6 class="mb-0">
[iOS, Android] Exposed mesh .obj export
</h6></div>
<div class="list-group-item py-2 d-flex gap-2 w-100"><h6 class="mb-0">
[iOS, Android] Smooth pinch to zoom in viewport
</h6></div>
<div class="list-group-item py-2 d-flex gap-2 w-100"><h6 class="mb-0">
[iOS, Android] Smooth zooming in node view and 2d view
</h6></div>
<div class="list-group-item py-2 d-flex gap-2 w-100"><h6 class="mb-0">
[iOS, Android] Exported textures are now visible in gallery / photos app
</h6></div>
<div class="list-group-item py-2 d-flex gap-2 w-100"><h6 class="mb-0">
[iOS, Android] Two-finger tap to undo, three-finger tap to redo
</h6></div>
<div class="list-group-item py-2 d-flex gap-2 w-100"><h6 class="mb-0">
[iOS, Android] Use rotate camera controls by default
</h6></div>
<div class="list-group-item py-2 d-flex gap-2 w-100"><h6 class="mb-0">
[iOS, Android] Zoom in to the finger location in node view
</h6></div>
<div class="list-group-item py-2 d-flex gap-2 w-100"><h6 class="mb-0">
[iOS, Android] Touch and hold to start dragging items
</h6></div>
<div class="list-group-item py-2 d-flex gap-2 w-100"><h6 class="mb-0">
[iOS, Android] Added 'check for updates' button
</h6></div>
<div class="list-group-item py-2 d-flex gap-2 w-100"><h6 class="mb-0">
[iOS] Added apple pencil hover support
</h6></div>
<div class="list-group-item py-2 d-flex gap-2 w-100"><h6 class="mb-0">
[iOS] Fixed touch issues around screen edges
</h6></div>
<div class="list-group-item py-2 d-flex gap-2 w-100"><h6 class="mb-0">
[iOS] Fixed plugin support
</h6></div>
<div class="list-group-item py-2 d-flex gap-2 w-100"><h6 class="mb-0">
[iOS] Fixed roughness rendering
</h6></div>
<div class="list-group-item py-2 d-flex gap-2 w-100"><h6 class="mb-0">
[Android] Make import / export work across all os versions
</h6></div>
<div class="list-group-item py-2 d-flex gap-2 w-100"><h6 class="mb-0">
[Android] Fixed textured decal
</h6></div>
<div class="list-group-item py-2 d-flex gap-2 w-100"><h6 class="mb-0">
[Android] Fixed curvature baking
</h6></div>
<div class="list-group-item py-2 d-flex gap-2 w-100"><h6 class="mb-0">
[Android] Fixed file access issues
</h6></div>
<div class="list-group-item py-2 d-flex gap-2 w-100"><h6 class="mb-0">
[Android] Expose more disk locations in 'browser' tab
</h6></div>
<div class="list-group-item py-2 d-flex gap-2 w-100"><h6 class="mb-0">
<a href="https://armorpaint.org/">New website</a> launched
</h6></div>
<div class="list-group-item py-2 d-flex gap-2 w-100"><h6 class="mb-0">
Reorganized code into a <a href="https://github.com/armory3d/armortools">new repository</a> with major code cleanup
</h6></div>
<div class="list-group-item py-2 d-flex gap-2 w-100"><h6 class="mb-0">
Check out <a href="https://github.com/armory3d/armorpaint_unreal">Unreal plugin</a>
</h6></div>
<div class="list-group-item py-2 d-flex gap-2 w-100"><h6 class="mb-0">
Check out <a href="https://github.com/armory3d/armorpaint_unity">Unity plugin</a>
</h6></div>
<div class="list-group-item py-2 d-flex gap-2 w-100"><h6 class="mb-0">
Check out <a href="https://github.com/armory3d/armorpaint_blender">Blender add-on</a>
</h6></div>
<div class="list-group-item py-2 d-flex gap-2 w-100"><h6 class="mb-0">
Check out <a href="https://github.com/armory3d/armorpaint_godot">Godot plugin</a> (not yet usable)
</h6></div>
<div class="list-group-item py-2 d-flex gap-2 w-100"><h6 class="mb-0">
<a href="https://github.com/armory3d/armortools/commits">All commits</a>
</h6></div>
</div>
</div>
<div class="col-md-6 p-lg-5 mx-auto my-5 bg-body-tertiary rounded pt-3">
<h4 class="fw-bold">v0.8 - <i>2021.10</i></h4>
<button class="btn btn-primary" type="button" data-bs-toggle="collapse" data-bs-target="#collapse08" aria-expanded="false">
Show More
</button>
<div class="collapse" id="collapse08">
<div class="card card-body">
<img class='rounded img-fluid pb-3' src="img/ap08.jpg" />
<p><a href="https://armorpaint.org/download">ArmorPaint 0.8</a> is now available on desktop, iPad and Android!</p>
<p>This release brings the ArmorPaint cloud, ray-traced rendering and baking, refined UI, decal layers, unlimited masking, edge wear materials and many more improvements to the painting experience. You can check the list below or examine the commit history on GitHub.</p>
<p>While many new features are added, the main focus of this release is the stability, bug fixing and even better performance. I have had an amazing time developing ArmorPaint 0.8 and can not wait to continue onto 0.9. Thank you for making the project thrive.</p>
<p><a href="https://armorpaint.org/download">Download ArmorPaint</a> | <a href="https://github.com/armory3d/armortools">Build from Source</a></p>
<div class="container text-center">
<div class="row">
<div class="col">
<iframe style="width: 100%; padding: 0" src="https://www.youtube.com/embed/OWL69vBLRHc" frameborder="0" allow="accelerometer; autoplay; encrypted-media; gyroscope; picture-in-picture" allowfullscreen></iframe>
</div>
<div class="col">
<iframe style="width: 100%; padding: 0" src="https://www.youtube.com/embed/DxvUSOSzkTU" frameborder="0" allow="accelerometer; autoplay; encrypted-media; gyroscope; picture-in-picture" allowfullscreen></iframe>
</div>
<div class="col">
<iframe style="width: 100%; padding: 0" src="https://www.youtube.com/embed/hSJOVDt6HEE" frameborder="0" allow="accelerometer; autoplay; encrypted-media; gyroscope; picture-in-picture" allowfullscreen></iframe>
</div>
</div>
<div class="row">
<div class="col">
<img class='rounded img-fluid pb-3' src="img/notes/0.jpg" />
</div>
<div class="col">
<img class='rounded img-fluid pb-3' src="img/notes/1.jpg" />
</div>
<div class="col">
<img class='rounded img-fluid pb-3' src="img/notes/2.jpg" />
</div>
</div>
<div class="row">
<div class="col">
<img class='rounded img-fluid pb-3' src="img/notes/3.jpg" />
</div>
<div class="col">
<img class='rounded img-fluid pb-3' src="img/notes/4.jpg" />
</div>
<div class="col">
<img class='rounded img-fluid pb-3' src="img/notes/5.jpg" />
</div>
</div>
<div class="row">
<div class="col">
<img class='rounded img-fluid pb-3' src="img/notes/6.jpg" />
</div>
<div class="col">
<img class='rounded img-fluid pb-3' src="img/notes/7.jpg" />
</div>
<div class="col">
<img class='rounded img-fluid pb-3' src="img/notes/8.jpg" />
</div>
</div>
</div>
<div class="list-group">
<div class="list-group-item py-2 d-flex gap-2 w-100"><h6 class="mb-0">
Added ArmorPaint Cloud at 'Browser tab - Cloud' - built-in online asset library
</h6></div>
<div class="list-group-item py-2 d-flex gap-2 w-100"><h6 class="mb-0">
Added iPadOS build to the App Store
</h6></div>
<div class="list-group-item py-2 d-flex gap-2 w-100"><h6 class="mb-0">
Added Android build to Google Play
</h6></div>
<div class="list-group-item py-2 d-flex gap-2 w-100"><h6 class="mb-0">
Added support for unlimited masks per layer
</h6></div>
<div class="list-group-item py-2 d-flex gap-2 w-100"><h6 class="mb-0">
Added support for mask blending
</h6></div>
<div class="list-group-item py-2 d-flex gap-2 w-100"><h6 class="mb-0">
Added 'import_svg' plugin - support for .svg format
</h6></div>
<div class="list-group-item py-2 d-flex gap-2 w-100"><h6 class="mb-0">
Added 'import_usd' plugin - support for .usdc format
</h6></div>
<div class="list-group-item py-2 d-flex gap-2 w-100"><h6 class="mb-0">
Added support for importing and exporting keymaps
</h6></div>
<div class="list-group-item py-2 d-flex gap-2 w-100"><h6 class="mb-0">
Added 'Preferences - Show Asset Names' option
</h6></div>
<div class="list-group-item py-2 d-flex gap-2 w-100"><h6 class="mb-0">
Added 'Preferences - Wrap Mouse' option
</h6></div>
<div class="list-group-item py-2 d-flex gap-2 w-100"><h6 class="mb-0">
Added 'Menu - Camera - Zoom in/out' operators
</h6></div>
<div class="list-group-item py-2 d-flex gap-2 w-100"><h6 class="mb-0">
Added support for grouping layers
</h6></div>
<div class="list-group-item py-2 d-flex gap-2 w-100"><h6 class="mb-0">
Added support for setting group opacity
</h6></div>
<div class="list-group-item py-2 d-flex gap-2 w-100"><h6 class="mb-0">
Added support for node groups
</h6></div>
<div class="list-group-item py-2 d-flex gap-2 w-100"><h6 class="mb-0">
Added support for packing layer textures
</h6></div>
<div class="list-group-item py-2 d-flex gap-2 w-100"><h6 class="mb-0">
Added Browser tab to status bar
</h6></div>
<div class="list-group-item py-2 d-flex gap-2 w-100"><h6 class="mb-0">
Added Script tab to status bar
</h6></div>
<div class="list-group-item py-2 d-flex gap-2 w-100"><h6 class="mb-0">
Added Console tab to status bar
</h6></div>
<div class="list-group-item py-2 d-flex gap-2 w-100"><h6 class="mb-0">
Added Fonts tab to status bar
</h6></div>
<div class="list-group-item py-2 d-flex gap-2 w-100"><h6 class="mb-0">
Added brush radius increase and decrease shortcuts
</h6></div>
<div class="list-group-item py-2 d-flex gap-2 w-100"><h6 class="mb-0">
Added 'Bake tool - Vertex Color' baker
</h6></div>
<div class="list-group-item py-2 d-flex gap-2 w-100"><h6 class="mb-0">
Added stencil mask support via brush nodes
</h6></div>
<div class="list-group-item py-2 d-flex gap-2 w-100"><h6 class="mb-0">
Added lazy mouse support via brush nodes
</h6></div>
<div class="list-group-item py-2 d-flex gap-2 w-100"><h6 class="mb-0">
Added directional brush support via brush nodes
</h6></div>
<div class="list-group-item py-2 d-flex gap-2 w-100"><h6 class="mb-0">
Added 'Random' brush node for creating jitter
</h6></div>
<div class="list-group-item py-2 d-flex gap-2 w-100"><h6 class="mb-0">
Added 'Preferences - Usage - Live Brush Preview' option
</h6></div>
<div class="list-group-item py-2 d-flex gap-2 w-100"><h6 class="mb-0">
Added Theme tab to preferences
</h6></div>
<div class="list-group-item py-2 d-flex gap-2 w-100"><h6 class="mb-0">
Added localization support
</h6></div>
<div class="list-group-item py-2 d-flex gap-2 w-100"><h6 class="mb-0">
Added shortcut for swapping brush and eraser
</h6></div>
<div class="list-group-item py-2 d-flex gap-2 w-100"><h6 class="mb-0">
Added shortcut for hiding stencil
</h6></div>
<div class="list-group-item py-2 d-flex gap-2 w-100"><h6 class="mb-0">
Added 'Preferences - Pen - sensitivity' option
</h6></div>
<div class="list-group-item py-2 d-flex gap-2 w-100"><h6 class="mb-0">
Added 'Preferences - Interface - Camera Speed' option
</h6></div>
<div class="list-group-item py-2 d-flex gap-2 w-100"><h6 class="mb-0">
Added 'Preferences - Interface - Direction to Zoom' option
</h6></div>
<div class="list-group-item py-2 d-flex gap-2 w-100"><h6 class="mb-0">
Added 'Preferences - Interface - Restore - Import...' option for importing config file
</h6></div>
<div class="list-group-item py-2 d-flex gap-2 w-100"><h6 class="mb-0">
Added 'Preferences - Usage - Default Workspace' option
</h6></div>
<div class="list-group-item py-2 d-flex gap-2 w-100"><h6 class="mb-0">
Added 'Preferences - Usage - Dilate' option
</h6></div>
<div class="list-group-item py-2 d-flex gap-2 w-100"><h6 class="mb-0">
Added 'minecraft' and 'unigine' export presets
</h6></div>
<div class="list-group-item py-2 d-flex gap-2 w-100"><h6 class="mb-0">
Added 'Material' workspace for composing and exporting materials
</h6></div>
<div class="list-group-item py-2 d-flex gap-2 w-100"><h6 class="mb-0">
Added 'Bake' workspace for texture baking
</h6></div>
<div class="list-group-item py-2 d-flex gap-2 w-100"><h6 class="mb-0">
Added option to bake material into textures
</h6></div>
<div class="list-group-item py-2 d-flex gap-2 w-100"><h6 class="mb-0">
Added option to export layer mask into file
</h6></div>
<div class="list-group-item py-2 d-flex gap-2 w-100"><h6 class="mb-0">
Added 'Mobile' renderer option to 'Preferences - Viewport'
</h6></div>
<div class="list-group-item py-2 d-flex gap-2 w-100"><h6 class="mb-0">
Added font previews to Fonts tab
</h6></div>
<div class="list-group-item py-2 d-flex gap-2 w-100"><h6 class="mb-0">
Added 'hello_node_brush' plugin - custom brush node
</h6></div>
<div class="list-group-item py-2 d-flex gap-2 w-100"><h6 class="mb-0">
Added 'viewport_celshade' plugin - custom viewport shader
</h6></div>
<div class="list-group-item py-2 d-flex gap-2 w-100"><h6 class="mb-0">
Added 'texture_breakdown' plugin
</h6></div>
<div class="list-group-item py-2 d-flex gap-2 w-100"><h6 class="mb-0">
Added 'tiled' option to 2D view
</h6></div>
<div class="list-group-item py-2 d-flex gap-2 w-100"><h6 class="mb-0">
Added 'rotate_envmap' operator
</h6></div>
<div class="list-group-item py-2 d-flex gap-2 w-100"><h6 class="mb-0">
Added layer and mask clear operators
</h6></div>
<div class="list-group-item py-2 d-flex gap-2 w-100"><h6 class="mb-0">
Added mask invert operator
</h6></div>
<div class="list-group-item py-2 d-flex gap-2 w-100"><h6 class="mb-0">
Added 'File - Open Recent...' list
</h6></div>
<div class="list-group-item py-2 d-flex gap-2 w-100"><h6 class="mb-0">
Added 'File - New Project... - Aspect Ratio' option
</h6></div>
<div class="list-group-item py-2 d-flex gap-2 w-100"><h6 class="mb-0">
Added 'File - Reimport Textures' operator
</h6></div>
<div class="list-group-item py-2 d-flex gap-2 w-100"><h6 class="mb-0">
Added new toolbar icons (courtesy of Sven Möller)
</h6></div>
<div class="list-group-item py-2 d-flex gap-2 w-100"><h6 class="mb-0">
Added 'Material' node - reference other materials inside material
</h6></div>
<div class="list-group-item py-2 d-flex gap-2 w-100"><h6 class="mb-0">
Added 'Curvature Bake' node - access curvature in material nodes
</h6></div>
<div class="list-group-item py-2 d-flex gap-2 w-100"><h6 class="mb-0">
Added support for Vulkan
</h6></div>
<div class="list-group-item py-2 d-flex gap-2 w-100"><h6 class="mb-0">
Added experimental VKRT (Vulkan raytracing) build for Linux
</h6></div>
<div class="list-group-item py-2 d-flex gap-2 w-100"><h6 class="mb-0">
Added live preview of the selected node in node editor
</h6></div>
<div class="list-group-item py-2 d-flex gap-2 w-100"><h6 class="mb-0">
Added fill masks
</h6></div>
<div class="list-group-item py-2 d-flex gap-2 w-100"><h6 class="mb-0">
Added decal layers
</h6></div>
<div class="list-group-item py-2 d-flex gap-2 w-100"><h6 class="mb-0">
Added 'Warp', 'Shader', 'Script' material nodes
</h6></div>
<div class="list-group-item py-2 d-flex gap-2 w-100"><h6 class="mb-0">
Added 'Picker' material node
</h6></div>
<div class="list-group-item py-2 d-flex gap-2 w-100"><h6 class="mb-0">
Added decal mask feature - hold ctrl to use decal as brush mask
</h6></div>
<div class="list-group-item py-2 d-flex gap-2 w-100"><h6 class="mb-0">
Added 'Menu - Viewport - Toggle Fullscreen'
</h6></div>
<div class="list-group-item py-2 d-flex gap-2 w-100"><h6 class="mb-0">
Added 'Atlases' tab to texture export
</h6></div>
<div class="list-group-item py-2 d-flex gap-2 w-100"><h6 class="mb-0">
Added 'Open Containing Directory...' button to textures tab
</h6></div>
<div class="list-group-item py-2 d-flex gap-2 w-100"><h6 class="mb-0">
Added visibility control to Meshes tab
</h6></div>
<div class="list-group-item py-2 d-flex gap-2 w-100"><h6 class="mb-0">
Added option to pack assets into .arm file when exporting materials or brushes
</h6></div>
<div class="list-group-item py-2 d-flex gap-2 w-100"><h6 class="mb-0">
Added Swatches tab
</h6></div>
<div class="list-group-item py-2 d-flex gap-2 w-100"><h6 class="mb-0">
Added 'Meshes tab - Geometry to Origin'
</h6></div>
<div class="list-group-item py-2 d-flex gap-2 w-100"><h6 class="mb-0">
Added normal and height blending for layers
</h6></div>
<div class="list-group-item py-2 d-flex gap-2 w-100"><h6 class="mb-0">
Added 'Preferences - Usage - Default Layer Resolution' option
</h6></div>
<div class="list-group-item py-2 d-flex gap-2 w-100"><h6 class="mb-0">
Added color space option for texture export
</h6></div>
<div class="list-group-item py-2 d-flex gap-2 w-100"><h6 class="mb-0">
Added directional (smudge) option for blur tool
</h6></div>
<div class="list-group-item py-2 d-flex gap-2 w-100"><h6 class="mb-0">
Added 'UV Island' fill mode
</h6></div>
<div class="list-group-item py-2 d-flex gap-2 w-100"><h6 class="mb-0">
Added drag and drop support on iOS and Android
</h6></div>
<div class="list-group-item py-2 d-flex gap-2 w-100"><h6 class="mb-0">
Improved utf8 path handling on Windows
</h6></div>
<div class="list-group-item py-2 d-flex gap-2 w-100"><h6 class="mb-0">
Improved viewing individual layer channels in 2D view
</h6></div>
<div class="list-group-item py-2 d-flex gap-2 w-100"><h6 class="mb-0">
Improved error logging
</h6></div>
<div class="list-group-item py-2 d-flex gap-2 w-100"><h6 class="mb-0">
Improved ray-tracing performance, reduced memory usage
</h6></div>
<div class="list-group-item py-2 d-flex gap-2 w-100"><h6 class="mb-0">
Improved path-traced viewport mode
</h6></div>
<div class="list-group-item py-2 d-flex gap-2 w-100"><h6 class="mb-0">
Improved brush radius scaling using a pen
</h6></div>
<div class="list-group-item py-2 d-flex gap-2 w-100"><h6 class="mb-0">
Improved painting in 2D view
</h6></div>
<div class="list-group-item py-2 d-flex gap-2 w-100"><h6 class="mb-0">
Improved layer management
</h6></div>
<div class="list-group-item py-2 d-flex gap-2 w-100"><h6 class="mb-0">
Improved command line arguments
</h6></div>
<div class="list-group-item py-2 d-flex gap-2 w-100"><h6 class="mb-0">
Improved touch input
</h6></div>
<div class="list-group-item py-2 d-flex gap-2 w-100"><h6 class="mb-0">
Improved color wheel (RGB, HSV, Hex input)
</h6></div>
<div class="list-group-item py-2 d-flex gap-2 w-100"><h6 class="mb-0">
Improved opacity handling for fill layers
</h6></div>
<div class="list-group-item py-2 d-flex gap-2 w-100"><h6 class="mb-0">
Improved 'Blur' material node
</h6></div>
<div class="list-group-item py-2 d-flex gap-2 w-100"><h6 class="mb-0">
Improved paint dilation
</h6></div>
<div class="list-group-item py-2 d-flex gap-2 w-100"><h6 class="mb-0">
Improved 'Parse Transforms' option for .fbx format
</h6></div>
<div class="list-group-item py-2 d-flex gap-2 w-100"><h6 class="mb-0">
Improved .obj exporter
</h6></div>
<div class="list-group-item py-2 d-flex gap-2 w-100"><h6 class="mb-0">
Improved 'Bump' material node
</h6></div>
<div class="list-group-item py-2 d-flex gap-2 w-100"><h6 class="mb-0">
Improved nodes undo
</h6></div>
<div class="list-group-item py-2 d-flex gap-2 w-100"><h6 class="mb-0">
Improved interface layout
</h6></div>
<div class="list-group-item py-2 d-flex gap-2 w-100"><h6 class="mb-0">
Fixed clone tool usage in 2D view
</h6></div>
<div class="list-group-item py-2 d-flex gap-2 w-100"><h6 class="mb-0">
Fixed network path handling on Windows
</h6></div>
<div class="list-group-item py-2 d-flex gap-2 w-100"><h6 class="mb-0">
Fixed running from protected path on Windows
</h6></div>
<div class="list-group-item py-2 d-flex gap-2 w-100"><h6 class="mb-0">
Fixed parsing of input sockets for custom nodes
</h6></div>
<div class="list-group-item py-2 d-flex gap-2 w-100"><h6 class="mb-0">
Fixed 3D cursor positioning when normal map is painted
</h6></div>
<div class="list-group-item py-2 d-flex gap-2 w-100"><h6 class="mb-0">
Fixed per-layer channel visibility
</h6></div>
<div class="list-group-item py-2 d-flex gap-2 w-100"><h6 class="mb-0">
Fixed emission channel export
</h6></div>
<div class="list-group-item py-2 d-flex gap-2 w-100"><h6 class="mb-0">
Fixed decal edge filtering
</h6></div>
<div class="list-group-item py-2 d-flex gap-2 w-100"><h6 class="mb-0">
Fixed setting a mouse cursor on Linux
</h6></div>
<div class="list-group-item py-2 d-flex gap-2 w-100"><h6 class="mb-0">
Fixed saving font assets in project file
</h6></div>
<div class="list-group-item py-2 d-flex gap-2 w-100"><h6 class="mb-0">
Fixed support for non-square decals and stencils
</h6></div>
<div class="list-group-item py-2 d-flex gap-2 w-100"><h6 class="mb-0">
Fixed importing geometry containing concave polygons
</h6></div>
<div class="list-group-item py-2 d-flex gap-2 w-100"><h6 class="mb-0">
Fixed distract-free mode UI align
</h6></div>
<div class="list-group-item py-2 d-flex gap-2 w-100"><h6 class="mb-0">
Fixed color space management for image nodes
</h6></div>
<div class="list-group-item py-2 d-flex gap-2 w-100"><h6 class="mb-0">
'Paint' tab is now '3D View' tab
</h6></div>
<div class="list-group-item py-2 d-flex gap-2 w-100"><h6 class="mb-0">
Use drag and drop to reorder layers
</h6></div>
<div class="list-group-item py-2 d-flex gap-2 w-100"><h6 class="mb-0">
Use vertical tabs in preferences window
</h6></div>
<div class="list-group-item py-2 d-flex gap-2 w-100"><h6 class="mb-0">
Use vertex colors in materials via attribute material node
</h6></div>
<div class="list-group-item py-2 d-flex gap-2 w-100"><h6 class="mb-0">
Import vertex color data via .fbx and .blend formats
</h6></div>
<div class="list-group-item py-2 d-flex gap-2 w-100"><h6 class="mb-0">
Import and export for brushes
</h6></div>
<div class="list-group-item py-2 d-flex gap-2 w-100"><h6 class="mb-0">
Import brush from texture
</h6></div>
<div class="list-group-item py-2 d-flex gap-2 w-100"><h6 class="mb-0">
Draw brush preview icons