diff --git a/media/objects/Cards/Credit Card-Back.svg b/media/objects/Cards/Credit Card-Back.svg
index c2eb204f..64eb383e 100644
--- a/media/objects/Cards/Credit Card-Back.svg
+++ b/media/objects/Cards/Credit Card-Back.svg
@@ -31,7 +31,7 @@ Created by potrace 1.16, written by Peter Selinger 2001-2019
transform="matrix(0.1,0,0,-0.1,-162,1530)">
+ d="m 2100,15277 c -231,-69 -402,-245 -461,-475 -19,-74 -19,-161 -19,-4802 0,-4641 0,-4728 19,-4802 60,-233 237,-412 471,-477 l 75,-21 h 7815 7815 l 75,21 c 234,65 411,244 471,477 19,74 19,161 19,4802 0,4641 0,4728 -19,4802 -11,42 -32,100 -47,129 -37,73 -103,161 -125,166 -11,3 -19,11 -19,19 0,17 -89,84 -157,118 -28,14 -84,35 -124,46 l -74,20 -7820,-1 H 2175 Z" />
+ d="m 2115,15176 c -172,-55 -296,-173 -362,-344 -24,-61 -27,-83 -31,-234 l -4,-168 h 8282 8282 l -4,168 c -4,151 -7,173 -31,234 -67,174 -196,294 -371,347 l -68,21 H 9996 l -7811,-1 z" />
+ d="m 1722,8973 3,-3738 27,-67 c 70,-175 197,-294 372,-347 l 68,-21 h 7808 7808 l 68,21 c 175,53 302,172 372,347 l 27,67 3,3738 2,3737 H 10000 1720 Z" />
+ id="defs102" />
Created by potrace 1.16, written by Peter Selinger 2001-2019
@@ -31,169 +31,145 @@ Created by potrace 1.16, written by Peter Selinger 2001-2019
transform="matrix(0.1,0,0,-0.1,-161.925,1020.075)">
+ d="m 3582,10188 c -7,-7 -12,-36 -12,-65 v -53 h -963 c -736,0 -966,-3 -975,-12 -17,-17 -17,-229 0,-246 18,-18 16718,-18 16736,0 17,17 17,229 0,246 -9,9 -233,12 -945,12 h -933 v 53 c 0,29 -5,58 -12,65 -9,9 -94,12 -319,12 -307,0 -308,0 -323,-22 -9,-12 -16,-42 -16,-65 0,-41 -1,-43 -30,-43 -29,0 -30,1 -30,49 0,84 12,81 -339,81 -225,0 -310,-3 -319,-12 -7,-7 -12,-36 -12,-65 v -53 h -35 -35 v 53 c 0,29 -5,58 -12,65 -17,17 -1369,17 -1386,0 -7,-7 -12,-36 -12,-65 v -53 h -40 -40 v 49 c 0,89 126,81 -1270,81 -1398,0 -1269,8 -1271,-83 l -2,-52 -6,51 c -11,91 27,84 -497,84 -525,0 -494,5 -494,-81 v -49 h -100 -100 v 53 c 0,29 -5,58 -12,65 -9,9 -94,12 -319,12 -351,0 -339,3 -339,-81 0,-48 -1,-49 -30,-49 -29,0 -30,1 -30,48 0,90 109,82 -1145,82 -795,0 -1112,-3 -1122,-11 -8,-7 -13,-33 -13,-65 v -54 h -38 c -45,0 -69,28 -52,61 9,16 8,26 -4,45 l -16,24 H 5132 c -1184,0 -1541,-3 -1550,-12 z" />
+ d="m 3700,10085 c 0,-13 45,-15 345,-15 300,0 345,2 345,15 0,13 -45,15 -345,15 -300,0 -345,-2 -345,-15 z" />
+ d="m 4490,10085 c 0,-8 9,-15 20,-15 11,0 20,7 20,15 0,8 -9,15 -20,15 -11,0 -20,-7 -20,-15 z" />
+ d="m 4631,10084 c 0,-11 3,-14 6,-6 3,7 2,16 -1,19 -3,4 -6,-2 -5,-13 z" />
+ d="m 4740,10085 c 0,-13 56,-15 440,-15 384,0 440,2 440,15 0,13 -56,15 -440,15 -384,0 -440,-2 -440,-15 z" />
+ d="m 5790,10085 c 0,-13 52,-15 405,-15 353,0 405,2 405,15 0,13 -52,15 -405,15 -353,0 -405,-2 -405,-15 z" />
+ d="m 6880,10085 c 0,-13 44,-15 335,-15 291,0 335,2 335,15 0,13 -44,15 -335,15 -291,0 -335,-2 -335,-15 z" />
+ d="m 7720,10085 c 0,-13 61,-15 490,-15 429,0 490,2 490,15 0,13 -61,15 -490,15 -429,0 -490,-2 -490,-15 z" />
+ d="m 8800,10085 c 0,-12 16,-15 80,-15 64,0 80,3 80,15 0,12 -16,15 -80,15 -64,0 -80,-3 -80,-15 z" />
+ d="m 9220,10085 c 0,-13 33,-15 235,-15 202,0 235,2 235,15 0,13 -33,15 -235,15 -202,0 -235,-2 -235,-15 z" />
+ d="m 10090,10085 c 0,-13 51,-15 395,-15 344,0 395,2 395,15 0,13 -51,15 -395,15 -344,0 -395,-2 -395,-15 z" />
+ d="m 11090,10085 c 0,-8 9,-15 20,-15 11,0 20,7 20,15 0,8 -9,15 -20,15 -11,0 -20,-7 -20,-15 z" />
+ d="m 11230,10085 c 0,-10 11,-15 35,-15 24,0 35,5 35,15 0,10 -11,15 -35,15 -24,0 -35,-5 -35,-15 z" />
+ d="m 11410,10085 c 0,-13 32,-15 230,-15 198,0 230,2 230,15 0,13 -32,15 -230,15 -198,0 -230,-2 -230,-15 z" />
+ d="m 11970,10085 c 0,-10 10,-15 30,-15 20,0 30,5 30,15 0,10 -10,15 -30,15 -20,0 -30,-5 -30,-15 z" />
+ d="m 12130,10085 c 0,-8 9,-15 20,-15 11,0 20,7 20,15 0,8 -9,15 -20,15 -11,0 -20,-7 -20,-15 z" />
+ d="m 12270,10085 c 0,-8 9,-15 20,-15 11,0 20,7 20,15 0,8 -9,15 -20,15 -11,0 -20,-7 -20,-15 z" />
+ d="m 12450,10085 c 0,-13 61,-15 490,-15 429,0 490,2 490,15 0,13 -61,15 -490,15 -429,0 -490,-2 -490,-15 z" />
+ d="m 13710,10085 c 0,-13 52,-15 409,-15 354,0 410,2 415,15 5,13 -45,15 -409,15 -362,0 -415,-2 -415,-15 z" />
-
-
-
-
-
+ id="path54"
+ d="m 3700,10085 c 0,-13 45,-15 345,-15 300,0 345,2 345,15 0,13 -45,15 -345,15 -300,0 -345,-2 -345,-15 z" />
-
+ id="path60"
+ d="m 4740,10085 c 0,-13 56,-15 440,-15 384,0 440,2 440,15 0,13 -56,15 -440,15 -384,0 -440,-2 -440,-15 z" />
-
+ id="path64"
+ d="m 6880,10085 c 0,-13 44,-15 335,-15 291,0 335,2 335,15 0,13 -44,15 -335,15 -291,0 -335,-2 -335,-15 z" />
-
+ id="path88"
+ d="m 13710,10085 c 0,-13 52,-15 409,-15 354,0 410,2 415,15 5,13 -45,15 -409,15 -362,0 -415,-2 -415,-15 z" />
diff --git a/media/objects/Cards/Credit Card-Front.svg b/media/objects/Cards/Credit Card-Front.svg
index b0e26c19..d6f02a4a 100644
--- a/media/objects/Cards/Credit Card-Front.svg
+++ b/media/objects/Cards/Credit Card-Front.svg
@@ -39,7 +39,7 @@ Created by potrace 1.16, written by Peter Selinger 2001-2019
transform="matrix(0.1,0,0,-0.1,-162,1530)">
+ d="m 2115,15176 c -171,-55 -294,-171 -363,-344 l -27,-67 V 10000 5235 l 27,-67 c 70,-175 197,-294 372,-347 l 68,-21 h 7808 7808 l 68,21 c 175,53 302,172 372,347 l 27,67 v 4765 4765 l -27,67 c -70,175 -197,294 -372,347 l -68,21 H 9996 l -7811,-1 z m 3615,-3395 c 19,-10 44,-34 55,-52 20,-33 20,-52 20,-759 0,-705 -1,-726 -20,-758 -11,-18 -38,-41 -60,-52 -40,-20 -65,-20 -1040,-20 -975,0 -1000,0 -1040,20 -22,11 -49,34 -60,52 -19,32 -20,56 -23,748 l -2,715 22,44 c 45,87 -41,81 1103,81 966,0 1012,-1 1045,-19 z M 4174,9128 c 11,-15 16,-45 16,-93 0,-114 -2,-115 -176,-115 h -144 v -74 -73 l 62,-13 c 87,-17 145,-46 201,-102 56,-56 82,-109 95,-193 42,-265 -176,-469 -452,-425 -74,12 -185,53 -198,73 -4,6 -8,55 -8,107 0,133 14,143 118,90 106,-53 193,-53 256,3 31,26 39,40 42,77 7,61 -21,105 -83,132 -41,18 -58,20 -144,14 -91,-6 -99,-5 -108,13 -7,12 -11,120 -11,295 0,236 2,277 16,290 13,14 51,16 259,16 241,0 244,0 259,-22 z m 730,6 c 12,-11 16,-36 16,-99 0,-116 2,-115 -171,-115 h -139 v -74 -73 l 58,-12 c 85,-17 151,-52 205,-109 73,-79 91,-127 91,-247 1,-88 -2,-107 -25,-156 -55,-117 -155,-189 -290,-210 -90,-14 -201,4 -289,48 l -55,28 -3,92 c -4,143 12,157 123,102 88,-43 165,-49 224,-17 84,45 101,124 40,192 -39,46 -98,61 -200,52 -56,-5 -86,-3 -95,5 -19,16 -21,578 -2,597 9,9 79,12 254,12 207,0 245,-2 258,-16 z m 740,-6 c 11,-15 16,-45 16,-93 0,-114 -2,-115 -176,-115 h -144 v -74 -73 l 62,-13 c 166,-32 272,-137 298,-295 19,-116 -21,-244 -101,-324 -110,-110 -306,-139 -473,-69 -85,35 -86,38 -86,148 0,133 14,144 122,89 110,-56 209,-49 268,17 57,66 31,157 -57,196 -41,18 -58,20 -144,14 -91,-6 -99,-5 -108,13 -7,12 -11,120 -11,292 0,239 2,275 17,291 15,16 36,18 259,18 240,0 243,0 258,-22 z m 727,12 c 17,-9 19,-22 19,-105 0,-83 -2,-96 -19,-105 -11,-5 -81,-10 -155,-10 h -136 v -74 -73 l 58,-12 c 127,-25 216,-91 269,-199 25,-51 28,-68 28,-157 0,-87 -3,-107 -26,-156 -73,-155 -238,-238 -418,-210 -84,13 -176,46 -202,72 -16,16 -19,34 -19,105 0,135 16,147 125,93 87,-43 164,-49 225,-17 84,43 102,134 39,197 -41,42 -96,55 -198,47 -56,-4 -88,-3 -97,5 -11,9 -14,68 -14,300 0,264 1,289 18,298 23,14 477,14 503,1 z m 1153,-12 c 11,-15 16,-45 16,-93 0,-114 -2,-115 -176,-115 h -144 v -74 -73 l 62,-13 c 166,-32 272,-137 298,-295 26,-159 -55,-322 -195,-390 -107,-53 -258,-54 -379,-3 -85,35 -86,38 -86,148 0,133 14,144 122,89 110,-56 209,-49 268,17 57,66 31,157 -57,196 -41,18 -58,20 -144,14 -91,-6 -99,-5 -108,13 -7,12 -11,120 -11,292 0,239 2,275 17,291 15,16 36,18 259,18 240,0 243,0 258,-22 z m 730,6 c 12,-12 16,-37 16,-104 0,-78 -2,-91 -19,-100 -11,-5 -81,-10 -155,-10 h -136 v -74 -73 l 58,-12 c 127,-25 216,-91 269,-199 25,-51 28,-68 28,-157 0,-87 -3,-107 -26,-156 -73,-155 -238,-238 -418,-210 -84,13 -176,46 -202,72 -16,16 -19,34 -19,105 0,135 16,147 125,93 87,-43 164,-49 225,-17 85,44 102,134 38,197 -43,42 -95,55 -197,47 -56,-4 -88,-3 -97,5 -11,9 -14,68 -14,300 0,264 1,289 18,298 10,6 112,11 254,11 202,0 239,-2 252,-16 z m 740,-6 c 11,-16 16,-46 16,-97 0,-111 -1,-111 -177,-111 h -143 v -74 -74 l 59,-10 c 189,-34 303,-169 305,-362 0,-75 -3,-93 -30,-150 -56,-118 -155,-191 -287,-211 -80,-13 -184,1 -261,33 -85,35 -86,38 -86,148 0,133 14,144 122,89 110,-56 209,-49 268,17 61,70 31,163 -65,200 -37,14 -63,16 -134,10 -74,-5 -92,-4 -105,9 -14,14 -16,53 -16,292 0,243 2,279 17,295 15,16 36,18 259,18 240,0 243,0 258,-22 z m 727,12 c 17,-9 19,-22 19,-105 0,-83 -2,-96 -19,-105 -11,-5 -81,-10 -155,-10 h -136 v -74 -73 l 62,-13 c 124,-24 217,-94 267,-199 23,-49 26,-69 26,-156 0,-87 -3,-107 -27,-157 -90,-193 -310,-264 -544,-177 -87,33 -94,44 -94,145 0,134 19,149 127,93 83,-43 162,-49 223,-17 86,44 103,133 39,197 -41,42 -96,55 -198,47 -56,-4 -88,-3 -97,5 -11,9 -14,68 -14,300 0,264 1,289 18,298 23,14 477,14 503,1 z m 1153,-12 c 22,-31 22,-155 0,-186 -14,-21 -22,-22 -160,-22 h -144 v -74 -74 l 59,-10 c 122,-22 229,-99 272,-197 83,-188 10,-404 -165,-490 -108,-53 -258,-54 -380,-3 -85,35 -86,38 -86,148 0,133 14,144 122,89 110,-56 209,-49 268,17 61,70 31,163 -65,200 -37,14 -62,15 -139,10 -88,-7 -95,-6 -105,13 -7,12 -11,119 -11,292 0,239 2,275 17,291 15,16 36,18 259,18 240,0 243,0 258,-22 z m 727,12 c 17,-9 19,-22 19,-105 0,-83 -2,-96 -19,-105 -11,-5 -81,-10 -155,-10 h -136 v -74 -73 l 62,-13 c 124,-24 217,-94 267,-199 23,-49 26,-69 26,-156 0,-87 -3,-107 -27,-157 -90,-193 -310,-264 -544,-177 -87,33 -94,44 -94,145 0,134 19,149 127,93 83,-43 162,-49 223,-17 84,43 102,134 39,197 -41,42 -96,55 -198,47 -56,-4 -88,-3 -97,5 -11,9 -14,68 -14,300 0,264 1,289 18,298 23,14 477,14 503,1 z m 741,-7 c 15,-13 18,-31 18,-96 0,-117 1,-117 -177,-117 h -143 v -74 -75 l 48,-7 c 130,-19 228,-89 284,-201 29,-60 32,-75 33,-157 0,-82 -3,-98 -32,-158 -17,-36 -51,-85 -75,-109 -117,-115 -320,-138 -487,-56 l -66,32 -3,99 c -4,139 11,151 125,95 111,-56 204,-49 263,17 61,70 31,163 -65,200 -37,14 -63,16 -134,10 -74,-5 -92,-4 -105,9 -14,14 -16,53 -16,292 0,243 2,279 17,295 15,16 36,18 256,18 210,0 243,-2 259,-17 z m 729,7 c 17,-9 19,-22 19,-103 0,-59 -4,-97 -12,-105 -8,-8 -57,-12 -155,-12 h -143 v -74 -73 l 62,-13 c 124,-24 210,-87 260,-188 31,-62 33,-74 33,-167 0,-89 -3,-107 -29,-162 -70,-151 -234,-232 -416,-204 -85,14 -197,57 -210,82 -6,10 -10,56 -10,103 0,125 22,140 127,85 83,-43 162,-49 223,-17 86,44 103,133 39,197 -41,42 -96,55 -198,47 -56,-4 -88,-3 -97,5 -11,9 -14,68 -14,300 0,264 1,289 18,298 23,14 477,14 503,1 z m 1151,-7 c 15,-13 18,-31 18,-96 0,-117 1,-117 -177,-117 h -143 v -74 -74 l 62,-11 c 187,-33 301,-170 302,-361 0,-75 -4,-93 -31,-152 -17,-36 -50,-84 -73,-107 -120,-117 -324,-141 -490,-58 l -65,32 -3,99 c -4,139 11,151 125,95 111,-56 204,-49 263,17 61,70 31,163 -65,200 -37,14 -63,16 -134,10 -74,-5 -92,-4 -105,9 -14,14 -16,53 -16,292 0,243 2,279 17,295 15,16 36,18 256,18 210,0 243,-2 259,-17 z m 729,7 c 17,-9 19,-22 19,-105 0,-83 -2,-96 -19,-105 -11,-5 -81,-10 -155,-10 h -136 v -74 -73 l 62,-13 c 124,-24 217,-94 267,-199 23,-49 26,-69 26,-156 0,-87 -3,-107 -27,-157 -90,-193 -310,-264 -544,-177 -87,33 -94,44 -94,145 0,134 19,149 127,93 83,-43 162,-49 223,-17 86,44 103,133 39,197 -41,42 -96,55 -198,47 -56,-4 -88,-3 -97,5 -11,9 -14,68 -14,300 0,264 1,289 18,298 23,14 477,14 503,1 z m 741,-7 c 15,-13 18,-31 18,-96 0,-117 1,-117 -177,-117 h -143 v -74 -75 l 48,-7 c 130,-19 228,-89 284,-202 29,-59 33,-76 33,-152 0,-171 -81,-291 -236,-352 -109,-42 -290,-23 -396,42 l -33,20 v 98 c 0,136 14,146 127,91 111,-56 204,-49 263,17 61,70 31,163 -65,200 -37,14 -63,16 -134,10 -74,-5 -92,-4 -105,9 -24,24 -24,549 0,583 15,22 18,22 256,22 211,0 244,-2 260,-17 z m 736,5 c 8,-8 12,-46 12,-103 0,-57 -4,-95 -12,-103 -8,-8 -57,-12 -155,-12 h -143 v -74 -73 l 62,-13 c 124,-24 210,-87 260,-188 31,-63 33,-73 33,-172 0,-95 -3,-111 -28,-162 -73,-148 -240,-227 -421,-198 -83,13 -193,56 -206,81 -6,10 -10,56 -10,103 0,125 22,140 127,85 83,-43 162,-49 223,-17 86,44 104,138 38,200 -42,39 -97,52 -197,44 -56,-4 -88,-3 -97,5 -11,9 -14,67 -14,295 0,244 2,285 16,298 13,14 51,16 258,16 175,0 245,-3 254,-12 z M 6413,6855 c 108,-19 254,-71 267,-95 17,-31 12,-182 -6,-208 -20,-29 -33,-28 -106,9 -86,43 -133,59 -208,68 -176,22 -322,-49 -389,-189 -35,-75 -37,-200 -3,-275 89,-196 340,-249 588,-125 129,65 144,56 144,-89 0,-110 -6,-117 -125,-160 -202,-73 -406,-69 -575,11 -90,43 -206,159 -249,251 -50,104 -66,203 -53,307 36,271 224,459 497,500 80,12 127,11 218,-5 z m 1965,-11 c 191,-49 347,-202 397,-390 20,-76 20,-222 0,-299 -66,-247 -296,-415 -570,-415 -322,0 -567,223 -582,530 -9,171 45,314 159,428 57,58 153,117 228,141 101,32 254,34 368,5 z m 3426,-3 c 32,-11 73,-32 92,-46 l 34,-26 v -104 c 0,-101 -1,-105 -25,-121 -23,-15 -27,-15 -48,0 -107,79 -164,102 -230,93 -56,-8 -87,-32 -87,-68 0,-41 33,-72 150,-141 52,-31 116,-72 142,-92 198,-152 177,-457 -39,-562 -103,-51 -261,-44 -380,16 -101,51 -103,53 -103,183 0,75 4,117 12,125 24,24 59,13 106,-36 56,-57 109,-84 177,-90 59,-5 98,9 119,40 36,56 -10,113 -165,208 -185,114 -251,201 -252,335 -1,233 245,375 497,286 z m 1312,3 c 144,-37 287,-152 352,-283 87,-173 79,-383 -21,-553 -59,-102 -187,-202 -306,-239 -95,-30 -247,-36 -344,-15 -328,73 -516,399 -416,721 63,204 238,350 463,386 66,10 200,2 272,-17 z m -7859,4 c 18,-23 463,-1032 463,-1050 0,-37 -28,-48 -116,-48 -47,0 -93,4 -103,9 -9,5 -45,73 -80,150 l -64,141 -180,-2 -181,-3 -58,-134 c -31,-73 -63,-139 -69,-147 -18,-22 -186,-19 -211,3 -10,9 -18,22 -18,30 0,21 430,1026 448,1046 12,13 31,17 87,17 46,0 76,-5 82,-12 z m -1425,-25 c 14,-16 84,-101 155,-190 l 130,-161 153,189 152,189 h 92 c 58,0 96,-4 104,-12 9,-9 12,-143 12,-540 0,-610 14,-548 -121,-548 -128,0 -119,-27 -119,363 v 329 l -110,-138 c -61,-77 -119,-145 -130,-152 -42,-30 -70,-9 -190,144 l -115,146 -3,-333 c -2,-300 -4,-335 -19,-346 -26,-20 -187,-17 -207,3 -14,14 -16,76 -16,538 0,393 3,525 12,534 8,8 46,12 103,12 87,0 93,-1 117,-27 z m 3397,8 c 96,-30 158,-83 199,-171 22,-45 26,-69 26,-135 0,-94 -24,-158 -81,-217 l -36,-37 45,-58 c 25,-32 73,-103 108,-158 34,-55 84,-130 111,-167 82,-113 67,-138 -84,-138 -56,0 -107,4 -113,8 -6,4 -48,66 -94,137 -145,225 -192,278 -259,291 l -31,7 v -203 c 0,-249 4,-240 -117,-240 -137,0 -123,-63 -123,548 0,397 3,531 12,540 8,8 66,12 194,12 151,0 193,-3 243,-19 z m 2995,-3 c 8,-13 69,-153 137,-312 93,-217 125,-284 131,-270 5,11 64,150 132,309 l 123,290 106,3 c 103,3 108,2 118,-20 8,-20 -22,-99 -206,-538 -119,-283 -223,-523 -232,-532 -19,-21 -62,-23 -86,-5 -18,13 -457,1027 -457,1056 0,34 21,41 122,41 90,0 99,-2 112,-22 z m 994,10 c 9,-9 12,-143 12,-540 0,-611 14,-548 -124,-548 -64,0 -88,4 -100,16 -14,14 -16,76 -16,538 0,393 3,525 12,534 8,8 47,12 108,12 61,0 100,-4 108,-12 z m 1040,0 c 9,-9 12,-143 12,-540 0,-610 14,-548 -121,-548 -131,0 -119,-55 -119,555 0,392 3,524 12,533 8,8 47,12 108,12 61,0 100,-4 108,-12 z m 1838,-330 299,-342 3,328 c 1,223 6,334 13,343 15,17 190,18 207,1 9,-9 12,-143 12,-540 0,-610 13,-551 -117,-546 l -77,3 -296,340 -295,340 -3,-325 c -3,-384 5,-360 -114,-360 -131,0 -118,-61 -118,548 0,397 3,531 12,540 7,7 43,12 93,12 h 81 z" />
@@ -51,7 +51,7 @@ Created by potrace 1.16, written by Peter Selinger 2001-2019
d="m 4480,8846 v -203 l 79,-5 c 144,-8 235,-75 261,-191 22,-97 -24,-188 -121,-242 -48,-27 -63,-30 -139,-29 -56,0 -98,6 -122,17 -36,15 -38,15 -38,-2 0,-27 97,-55 191,-55 135,1 232,68 266,183 30,105 2,215 -72,279 -49,44 -98,62 -180,69 -38,3 -76,10 -82,16 -18,13 -18,308 -1,325 8,8 57,12 155,12 120,0 143,2 143,15 0,13 -26,15 -170,15 h -170 z" />
+ d="m 5210,8846 v -203 l 83,-5 c 161,-9 267,-101 267,-233 0,-163 -174,-273 -352,-221 -68,19 -68,19 -68,2 0,-39 191,-64 283,-37 60,17 129,77 158,138 33,69 31,170 -5,241 -44,86 -144,142 -257,142 -75,0 -79,8 -79,174 0,185 -9,176 178,176 120,0 142,2 142,15 0,13 -26,15 -175,15 h -175 z" />
@@ -152,7 +152,7 @@ Created by potrace 1.16, written by Peter Selinger 2001-2019
d="m 4480,8846 v -203 l 79,-5 c 144,-8 235,-75 261,-191 22,-97 -24,-188 -121,-242 -48,-27 -63,-30 -139,-29 -56,0 -98,6 -122,17 -36,15 -38,15 -38,-2 0,-27 97,-55 191,-55 135,1 232,68 266,183 30,105 2,215 -72,279 -49,44 -98,62 -180,69 -38,3 -76,10 -82,16 -18,13 -18,308 -1,325 8,8 57,12 155,12 120,0 143,2 143,15 0,13 -26,15 -170,15 h -170 z" />
+ d="m 5210,8846 v -203 l 83,-5 c 161,-9 267,-101 267,-233 0,-163 -174,-273 -352,-221 -68,19 -68,19 -68,2 0,-39 191,-64 283,-37 60,17 129,77 158,138 33,69 31,170 -5,241 -44,86 -144,142 -257,142 -75,0 -79,8 -79,174 0,185 -9,176 178,176 120,0 142,2 142,15 0,13 -26,15 -175,15 h -175 z" />
diff --git a/scripts/process-model.py b/scripts/process-model.py
index d4b93549..820abcde 100644
--- a/scripts/process-model.py
+++ b/scripts/process-model.py
@@ -20,7 +20,7 @@ def combine(base_path, highlight_path, vivid_path, output_path):
with open(output_path, "w", encoding="utf-8") as f:
f.write(vivid_data)
- subprocess.run([INKSCAPE, "--without-gui", "--export-plain-svg=" + output_path, "--export-area-drawing", output_path], shell=False)
+ return subprocess.Popen([INKSCAPE, "--without-gui", "--export-plain-svg=" + output_path, "--export-area-drawing", output_path], shell=False)
configdir = pathlib.Path(__file__).parent
configpath = configdir.joinpath("config.json")
@@ -70,27 +70,39 @@ for data in all_data["forms"]:
input_vivid = sourcedir.joinpath(name + "-" + view_name + "-vivid.bmp").__str__()
input_noline = sourcedir.joinpath(name + "-" + view_name + "-noline.bmp").__str__()
- subprocess.run(["magick", "convert", input, base_lut, "-channel", "RGB", "-clut", "-background", "#FFFFFF", "-flatten", input_base], shell=False)
- subprocess.run(["magick", "convert", input, highlight_lut, "-channel", "RGB", "-clut", "-background", "#FFFFFF", "-flatten", input_highlight], shell=False)
- subprocess.run(["magick", "convert", input, vivid_lut, "-channel", "RGB", "-clut", "-background", "#FFFFFF", "-flatten", input_vivid], shell=False)
+ procs = []
+
+ procs.append(subprocess.Popen(["magick", "convert", input, base_lut, "-channel", "RGB", "-clut", "-background", "#FFFFFF", "-flatten", input_base], shell=False))
+ procs.append(subprocess.Popen(["magick", "convert", input, highlight_lut, "-channel", "RGB", "-clut", "-background", "#FFFFFF", "-flatten", input_highlight], shell=False))
+ procs.append(subprocess.Popen(["magick", "convert", input, vivid_lut, "-channel", "RGB", "-clut", "-background", "#FFFFFF", "-flatten", input_vivid], shell=False))
# to correct for extra height from lines
- subprocess.run(["magick", "convert", input_noline_raw, base_lut, "-channel", "RGB", "-clut", "-background", "#FFFFFF", "-flatten", input_noline], shell=False)
+ procs.append(subprocess.Popen(["magick", "convert", input_noline_raw, base_lut, "-channel", "RGB", "-clut", "-background", "#FFFFFF", "-flatten", input_noline], shell=False))
+ [proc.wait() for proc in procs]
+
output_base = sourcedir.joinpath(name + "-" + view_name + "-base.svg").__str__()
output_highlight = sourcedir.joinpath(name + "-" + view_name + "-highlight.svg").__str__()
output_vivid = sourcedir.joinpath(name + "-" + view_name + "-vivid.svg").__str__()
output_noline = sourcedir.joinpath(name + "-" + view_name + "-noline.svg").__str__()
- subprocess.run([POTRACE, input_base, "-b", "svg", "-o", output_base], shell=False)
- subprocess.run([POTRACE, input_highlight, "-b", "svg", "-C", "#1a1a1a", "-o", output_highlight], shell=False)
- subprocess.run([POTRACE, input_vivid, "-b", "svg", "-C", "#333333", "-o", output_vivid], shell=False)
- subprocess.run([POTRACE, input_noline, "-b", "svg", "-C", "#333333", "-o", output_noline], shell=False)
+ procs = []
+ procs.append(subprocess.Popen([POTRACE, input_base, "-b", "svg", "-o", output_base], shell=False))
+ procs.append(subprocess.Popen([POTRACE, input_highlight, "-b", "svg", "-C", "#1a1a1a", "-o", output_highlight], shell=False))
+ procs.append(subprocess.Popen([POTRACE, input_vivid, "-b", "svg", "-C", "#333333", "-o", output_vivid], shell=False))
+ procs.append(subprocess.Popen([POTRACE, input_noline, "-b", "svg", "-C", "#333333", "-o", output_noline], shell=False))
+
+ [proc.wait() for proc in procs]
- combine(output_base, output_highlight, output_vivid, result)
+ procs = []
noline_result = sourcedir.joinpath(name + "-" + view_name + "-noline_processed.svg").__str__()
+ procs.append(combine(output_base, output_highlight, output_vivid, result))
+ procs.append(combine(output_noline, output_noline, output_noline, noline_result))
+
+ [proc.wait() for proc in procs]
+
# we now learn how much height was added by the lineart!
original_xml = minidom.parse(open(result))
@@ -108,9 +120,6 @@ for data in all_data["forms"]:
view["extra"] = (height - bottom) / (top - bottom)
view["bottom"] = bottom / height
- combine(output_noline, output_noline, output_noline, noline_result)
- # os.unlink(input_base)
- # os.unlink(input_highlight)
# now we add the data