diff --git a/src/art/artJS.js b/src/art/artJS.js
index 38305afb7398a1dda553722a14a0f616840ae41d..019cd3b5a05fb62f7852ca04a0f39ab6eaf46424 100644
--- a/src/art/artJS.js
+++ b/src/art/artJS.js
@@ -191,37 +191,37 @@ window.skinColorCatcher = function (artSlave) {
 		labiaColor: "#d76b93",
 		lipsColor: "#ff69b4"
 	};
-	if (artSlave.skin == "camouflage patterned") {
+	if (artSlave.skin === "camouflage patterned") {
 		colorSlave.skinColor = "#78875a";
 		colorSlave.areolaColor = "#939F7A";
 		colorSlave.labiaColor = "#F977A3";
 		colorSlave.lipsColor = "#708050";
-	} else if (artSlave.skin == "dyed red") {
+	} else if (artSlave.skin === "dyed red") {
 		colorSlave.skinColor = "#bc4949";
 		colorSlave.areolaColor = "#C96D6D";
 		colorSlave.labiaColor = "#F977A3";
 		colorSlave.lipsColor = "#b04040";
-	} else if (artSlave.skin == "dyed green") {
+	} else if (artSlave.skin === "dyed green") {
 		colorSlave.skinColor = "#A6C373";
 		colorSlave.areolaColor = "#B7CF8F";
 		colorSlave.labiaColor = "#F977A3";
 		colorSlave.lipsColor = "#A0C070";
-	} else if (artSlave.skin == "dyed blue") {
+	} else if (artSlave.skin === "dyed blue") {
 		colorSlave.skinColor = "#5b8eb7";
 		colorSlave.areolaColor = "#7BA4C5";
 		colorSlave.labiaColor = "#F977A3";
 		colorSlave.lipsColor = "#5080b0";
-	} else if (artSlave.skin == "dyed pink") {
+	} else if (artSlave.skin === "dyed pink") {
 		colorSlave.skinColor = "#fe62b0";
 		colorSlave.areolaColor = "#fc45a1";
 		colorSlave.labiaColor = "#fba2c0";
 		colorSlave.lipsColor = "#ff4291";
-	} else if (artSlave.skin == "dyed gray") {
+	} else if (artSlave.skin === "dyed gray") {
 		colorSlave.skinColor = "#bdbdbd";
 		colorSlave.areolaColor = "#666666";
 		colorSlave.labiaColor = "#8C8C8C";
 		colorSlave.lipsColor = "#171717";
-	} else if (artSlave.skin == "tiger striped") {
+	} else if (artSlave.skin === "tiger striped") {
 		colorSlave.skinColor = "#e2d75d";
 		colorSlave.areolaColor = "#E7DF7D";
 		colorSlave.labiaColor = "#F977A3";
diff --git a/src/art/artWidgets.tw b/src/art/artWidgets.tw
index 3c6bf94f054e24b10ca37705f7602c0070f2406b..b0bf63b04dde8f301e8808873843dfe5d28c7105 100644
--- a/src/art/artWidgets.tw
+++ b/src/art/artWidgets.tw
@@ -31,25 +31,12 @@ $args[2]: icon UI Display for vector art, 1 for on.
 
 <<elseif $imageChoice == 1>> /* VECTOR ART BY NOX*/
 
-<<if ndef $seeVectorArtHighlights>>
-	<<set $seeVectorArtHighlights = 1>>
-<</if>>
 <<set _artSlave = $args[0] >>
-<<silently>>
 /* prepare HTML color codes for slave display */
 /* note: latex clothing is mostly emulated by rubber color for skin (and shoes) */
 /* TODO: consistently use American "color" instead of "colour" for all identifiers */
-<<include Art_Vector_Set_Colour_Outfit_>>
-<<include Art_Vector_Set_Colour_Skin_>>
-<<include Art_Vector_Set_Colour_Hair_>>
-<<include Art_Vector_Set_Colour_Shoe_>>
-<</silently>>
+<<run ArtVectorColor(_artSlave)>>
 <<include Art_Vector_Generate_Stylesheet_>>
-/*
-each passage adds one layer of vector art
-vector art added later is drawn over previously added art
-(what is listed on the bottom in the code appears on the top of the image)
-*/
 <<= VectorArt(_artSlave)>>
 
 <<elseif $imageChoice == 2>> /* VECTOR ART BY NOX - Pregmod Legacy Version */
diff --git a/src/art/vector/ArtVectorColor.js b/src/art/vector/ArtVectorColor.js
new file mode 100644
index 0000000000000000000000000000000000000000..f7613a449ef38fa1d2cff96cc6c26ed98244da16
--- /dev/null
+++ b/src/art/vector/ArtVectorColor.js
@@ -0,0 +1,387 @@
+window.ArtVectorColor = function(slave) {
+	const T = State.temporary;
+	let outfitBaseColour;
+	
+	/* 
+		WARNING: Some of these temporary variables are used in wardrobeUse.tw or salon.tw 
+	 	Known examples are _outfitBaseColour, _glassesColor, and _shoeColour
+	*/
+	setOutfitColor();	
+	setSkinColor();
+	setHairColor();
+	setShoeColor();
+
+	function setOutfitColor() {
+		/* TODO: rewrite all textual descriptions not to explicitly mention the latex being of black color. */
+		if (slave.clothes === "a Fuckdoll suit" || slave.clothes === "restrictive latex" || slave.clothes === "a latex catsuit" || slave.clothes === "a cybersuit")
+			outfitBaseColour = slave.clothingBaseColor || "#515351"; /* use custom color, or use default latex color */
+		else if (slave.clothes == "a comfortable bodysuit")
+			outfitBaseColour = slave.clothingBaseColor || "#464646"; /* use custom color, or use default bodysuit color */
+
+		/* head addons */
+		if (slave.collar === "porcelain mask")
+			T.glassesColor = slave.glassesColor || "#FFFFFF"; /* use custom color or white */
+		else
+			T.glassesColor = slave.glassesColor || "#010101"; /* use custom color or default */
+
+		T.eyeColor = extractColor(slave.eyeColor, 1);
+		T.outfitBaseColour = outfitBaseColour;
+	}
+
+	function setSkinColor() {
+		let colorSlave = skinColorCatcher(slave);
+
+		/* setting default values */
+		T.areolaStyle = colorSlave.areolaColor;
+		T.bellybuttonStyle = colorSlave.areolaColor;
+		T.labiaStyle = colorSlave.labiaColor;
+		T.skinColour = colorSlave.skinColor;
+		/* todo: introduce fleshStyle */
+		/* these need to be declared so they can be set conditionally */
+		T.headSkinStyle = undefined;
+		T.torsoSkinStyle = undefined;
+		T.boobSkinStyle = undefined;
+		T.penisSkinStyle = undefined;
+		T.scrotumSkinStyle = undefined;
+		T.bellySkinStyle = undefined;
+
+		/* BEGIN SKIN COLOR OVERRIDES FOR LATEX CLOTHING EMULATION */
+		if (slave.clothes === "a Fuckdoll suit") {
+			/* slave is a fuckdoll - display all skin as if it was black rubber */
+			T.skinColour = outfitBaseColour;
+			T.areolaStyle = "fill:rgba(81,83,81,1);";
+			T.labiaStyle = T.areolaStyle;
+			T.bellybuttonStyle = T.areolaStyle;
+		} else if (slave.clothes === "restrictive latex") { /* slave wears restrictive latex - display most skin as if it was rubber */
+			/* nice latex does not cover any privates. */
+			T.boobSkinStyle = "fill:"+T.skinColour+";";
+			T.penisSkinStyle = "fill:"+T.skinColour+";";
+			T.scrotumSkinStyle = "fill:"+T.skinColour+";";
+			T.torsoSkinStyle = "fill:"+T.skinColour+";";
+			/* rest of body is covered in latex */
+			T.skinColour = outfitBaseColour;
+			T.bellybuttonStyle = outfitBaseColour;
+		} else if (slave.clothes === "a latex catsuit") {
+			/* nice latex does not cover head. */
+			T.headSkinStyle = "fill:"+T.skinColour+";";
+			/* rest of body is covered in latex */
+			T.skinColour = outfitBaseColour;
+			/* catsuit covers areolae and crotch, too */
+			T.bellybuttonStyle = outfitBaseColour;
+		} else if (slave.clothes === "a cybersuit") {
+			/* rest of body is covered in latex */
+			T.skinColour = outfitBaseColour;
+			T.bellybuttonStyle = outfitBaseColour;
+		} else if (slave.clothes === "a comfortable bodysuit") {
+			/* nice bodysuit does not cover head. */
+			T.headSkinStyle = "fill:"+T.skinColour+";";
+			/* rest of body is covered in bodysuit */
+			T.skinColour = outfitBaseColour;
+			T.bellySkinStyle = outfitBaseColour;
+			T.bellybuttonStyle = outfitBaseColour;
+		}
+		/* END SKIN COLOR OVERRIDES FOR LATEX CLOTHING EMULATION */
+
+		/* outfit dick coloring to match outfit rgba in svg */
+		switch (slave.clothes) {
+			case "a cheerleader outfit":
+				T.scrotumSkinStyle = "fill:rgba(250,186,0,1);";
+				T.bellySkinStyle = "fill:rgba(95,110,160,1);";
+				break;
+			case "cutoffs and a t-shirt":
+				T.scrotumSkinStyle = "fill:rgba(81,124,211,1);";
+				break;
+			case "a halter top dress":
+				T.scrotumSkinStyle = "fill:rgba(94,51,124,1);";
+				T.bellySkinStyle = "fill:rgba(94,51,124,1);";
+				break;
+			case "a burqa":
+			case "a hijab and abaya":
+			case "a niqab and abaya":
+				T.scrotumSkinStyle = "fill:rgba(51,51,51,1);";
+				T.bellySkinStyle = "fill:rgba(51,51,51,1);";
+				break;
+			case "a hijab and blouse":
+				T.scrotumSkinStyle = "fill:rgba(85,0,34,1);";
+				T.bellySkinStyle = "fill:rgba(85,0,34,1);";
+				break;
+			case "a burkini":
+				T.scrotumSkinStyle = "fill:rgba(0,97,158,1);";
+				T.bellySkinStyle = "fill:rgba(0,97,158,1);";
+				break;
+			case "a klan robe":
+				T.scrotumSkinStyle = "fill:rgba(236,236,236,1);";
+				T.bellySkinStyle = "fill:rgba(236,236,236,1);";
+				break;
+			case "a nice maid outfit":
+			case "a slutty maid outfit":
+				T.scrotumSkinStyle = "fill:rgba(225,225,225,1);";
+				T.bellySkinStyle = "fill:rgba(225,225,225,1);";
+				break;
+			case "a leotard":
+				T.scrotumSkinStyle = "fill:rgba(120,15,55,1);";
+				T.bellySkinStyle = "fill:rgba(120,15,55,1);";
+				break;
+			case "a military uniform":
+				T.scrotumSkinStyle = "fill:rgba(34,42,18,1);";
+				T.bellySkinStyle = "fill:rgba(34,42,18,1);";
+				break;
+			case "a mini dress":
+				T.scrotumSkinStyle = "fill:rgba(26,26,26,1);";
+				T.bellySkinStyle = "fill:rgba(26,26,26,1);";
+				break;
+			case "a nice nurse outfit":
+				T.scrotumSkinStyle = "fill:rgba(0,128,128,1);";
+				T.bellySkinStyle = "fill:rgba(0,128,128,1);";
+				break;
+			case "a slutty nurse outfit":
+				T.scrotumSkinStyle = "fill:rgba(255,255,255,1);";
+				break;
+			case "a scalemail bikini":
+				T.scrotumSkinStyle = "fill:rgba(133,146,158,1);";
+				break;
+			case "striped panties":
+				T.scrotumSkinStyle = "fill:rgba(255,255,255,1);";
+				break;
+			case "a schoolgirl outfit":
+				T.scrotumSkinStyle = "fill:rgba(28,31,36,1);";
+				T.bellySkinStyle = "fill:rgba(28,31,36,1);";
+				break;
+			case "a ball gown":
+				T.scrotumSkinStyle = "fill:rgba(128,0,0,1);";
+				T.bellySkinStyle = "fill:rgba(128,0,0,1);";
+				break;
+			case "battledress":
+				T.scrotumSkinStyle = "fill:rgba(34,42,18,1);";
+				T.bellySkinStyle = "fill:rgba(34,42,18,1);";
+				break;
+			case "a slave gown":
+				T.scrotumSkinStyle = "fill:rgba(200,200,200,1);";
+				T.bellySkinStyle = "fill:rgba(200,200,200,1);";
+				break;
+			case "a slutty outfit":
+				T.scrotumSkinStyle = "fill:rgba(63,126,181,1);";
+				break;
+			case "spats and a tank top":
+				T.scrotumSkinStyle = "fill:rgba(51,51,51,1);";
+				break;
+			case "a succubus outfit":
+				T.scrotumSkinStyle = "fill:rgba(128,0,0,1);";
+				T.bellySkinStyle = "fill:rgba(128,0,0,1);";
+				break;
+			case "nice business attire":
+				T.scrotumSkinStyle = "fill:rgba(51,51,51,1);";
+				T.bellySkinStyle = "fill:rgba(51,51,51,1);";
+				break;
+			case "slutty business attire":
+				T.scrotumSkinStyle = "fill:rgba(51,51,51,1);";
+				break;
+			case "attractive lingerie for a pregnant woman":
+				T.scrotumSkinStyle = "fill:rgba(153,153,153,1);";
+				break;
+			case "a bunny outfit":
+				T.scrotumSkinStyle = "fill:rgba(51,51,51,1);";
+				T.bellySkinStyle = "fill:rgba(51,51,51,1);";
+				break;
+			case "conservative clothing":
+				T.scrotumSkinStyle = "fill:rgba(51,51,51,1);";
+				T.bellySkinStyle = "fill:rgba(51,51,51,1);";
+				break;
+			case "harem gauze":
+				T.scrotumSkinStyle = "fill:rgba(0,168,131,1);";
+				break;
+			case "a huipil":
+				T.scrotumSkinStyle = "fill:rgba(200,200,200,1);";
+				T.bellySkinStyle = "fill:rgba(200,200,200,1);";
+				break;
+			case "a kimono":
+				T.scrotumSkinStyle = "fill:rgba(0,91,150,1);";
+				T.bellySkinStyle = "fill:rgba(0,91,150,1);";
+				break;
+			case "a maternity dress":
+				T.scrotumSkinStyle = "fill:rgba(48,54,72,1);";
+				T.bellySkinStyle = "fill:rgba(48,54,72,1);";
+				break;
+			case "a slutty qipao":
+				T.scrotumSkinStyle = "fill:rgba(204,177,68,1);";
+				T.bellySkinStyle = "fill:rgba(204,177,68,1);";
+				break;
+			case "stretch pants and a crop-top":
+				T.scrotumSkinStyle = "fill:rgba(51,51,51,1);";
+				break;
+			case "a toga":
+				T.scrotumSkinStyle = "fill:rgba(200,200,200,1);";
+				T.bellySkinStyle = "fill:rgba(200,200,200,1);";
+				break;
+			case "a penitent nuns habit":
+				T.scrotumSkinStyle = "fill:rgba(114,93,73,1);";
+				break;
+			case "a fallen nuns habit":
+				T.bellySkinStyle = "fill:rgba(51,51,51,1);";
+				break;
+			case "a chattel habit":
+				T.scrotumSkinStyle = "fill:rgba(200,200,200,1);";
+				break;
+			case "a monokini":
+				T.scrotumSkinStyle = "fill:rgba(33,47,61,1);";
+				break;
+			case "a schutzstaffel uniform":
+			case "a slutty schutzstaffel uniform":
+				T.scrotumSkinStyle = "fill:rgba(51,51,51,1);";
+				T.bellySkinStyle = "fill:rgba(51,51,51,1);";
+				break;
+			case "a red army uniform":
+				T.scrotumSkinStyle = "fill:rgba(114,93,73,1);";
+				T.bellySkinStyle = "fill:rgba(114,93,73,1);";
+				break;
+			case "an apron":
+				T.scrotumSkinStyle = "fill:rgba(255,105,180,1);";
+				T.bellySkinStyle = "fill:rgba(255,105,180,1);";
+				break;
+			case "a dirndl":
+				T.scrotumSkinStyle = "fill:rgba(128,0,51,1);";
+				T.bellySkinStyle = "fill:rgba(128,0,51,1);";
+				break;
+			case "lederhosen":
+				T.scrotumSkinStyle = "fill:rgba(93,83,108,1);";
+				break;
+			case "a long qipao":
+				T.scrotumSkinStyle = "fill:rgba(0,128,0,1);";
+				break;
+			case "a mounty outfit":
+				T.scrotumSkinStyle = "fill:rgba(51,51,51,1);";
+				T.bellySkinStyle = "fill:rgba(128,0,0,1);";
+				break;
+			case "battlearmor":
+				T.scrotumSkinStyle = "fill:rgba(200,200,200,1);";
+				break;
+			case "striped underwear":
+				T.scrotumSkinStyle = "fill:rgba(255,255,255,1);";
+				break;
+			case "panties":
+				T.scrotumSkinStyle = "fill:rgba(255,170,238,1);";
+				break;
+			case "a thong":
+				T.scrotumSkinStyle = "fill:rgba(34,28,36,1);";
+				break;
+			case "a button-up shirt and panties":
+			case "a t-shirt and panties":
+				T.scrotumSkinStyle = "fill:rgba(255,255,255,1);";
+				T.bellySkinStyle = "fill:rgba(255,255,255,1);";
+				break;
+			case "a slutty klan robe":
+				T.scrotumSkinStyle = "fill:rgba(128,0,0,1);";
+				break;
+			case "cutoffs":
+				T.scrotumSkinStyle = "fill:rgba(81,124,211,1);";
+				break;
+			case "sport shorts":
+			case "sport shorts and a sports bra":
+				T.scrotumSkinStyle = "fill:rgba(51,51,51,1);";
+				break;
+			case "a t-shirt and thong":
+				T.scrotumSkinStyle = "fill:rgba(200,55,171,1);";
+				T.bellySkinStyle = "fill:rgba(200,55,171,1);";
+				break;
+			case "jeans":
+				T.scrotumSkinStyle = "fill:rgba(81,124,211,1);";
+				break;
+			case "leather pants":
+			case "leather pants and a tube top":
+				T.scrotumSkinStyle = "fill:rgba(26,26,26,1);";
+				break;
+			case "leather pants and pasties":
+				T.scrotumSkinStyle = "fill:rgba(85,0,0,1);";
+				break;
+			case "a t-shirt and jeans":
+				T.scrotumSkinStyle = "fill:rgba(81,124,211,1);";
+				T.bellySkinStyle = "fill:rgba(255,255,255,1);";
+				break;
+			case "a tank-top and panties":
+				T.scrotumSkinStyle = "fill:rgba(26,26,26,1);";
+				T.bellySkinStyle = "fill:rgba(26,26,26,1);";
+				break;
+			case "a tank-top":
+				T.bellySkinStyle = "fill:rgba(255,255,255,1);";
+				break;
+			case "a tube top and thong":
+				T.scrotumSkinStyle = "fill:rgba(34,28,36,1);";
+				break;
+			case "boyshorts":
+				T.scrotumSkinStyle = "fill:rgba(26,26,26,1);";
+				break;
+			case "an oversized t-shirt and boyshorts":
+				T.bellySkinStyle = "fill:rgba(255,255,255,1);";
+				break;
+			case "a sweater and panties":
+				T.scrotumSkinStyle = "fill:rgba(26,26,26,1);";
+				T.bellySkinStyle = "fill:rgba(212,170,0,1);";
+				break;
+			case "a sweater and cutoffs":
+				T.scrotumSkinStyle = "fill:rgba(77,77,77,1);";
+				T.bellySkinStyle = "fill:rgba(85,0,0,1);";
+				break;
+			case "a police uniform":
+				T.scrotumSkinStyle = "fill:rgba(11,23,40,1);";
+				T.bellySkinStyle = "fill:rgba(11,23,40,1);";
+				break;
+			case "a one-piece swimsuit":
+				T.scrotumSkinStyle = "fill:rgba(22,45,80,1);";
+				T.bellySkinStyle = "fill:rgba(22,45,80,1);";
+				break;
+			case "a skimpy loincloth":
+				T.scrotumSkinStyle = "fill:rgba(145,124,111,1);";
+				break;
+			case "kitty lingerie":
+				T.scrotumSkinStyle = "fill:rgba(255,170,238,1);";
+				break;
+			case "an oversized t-shirt":
+				T.bellySkinStyle = "fill:rgba(255,255,255,1);";
+				break;
+			case "a hanbok":
+				T.bellySkinStyle = "fill:rgba(255,109,182,1);";
+				break;
+			case "a gothic lolita dress":
+				T.bellySkinStyle = "fill:rgba(26,26,26,1);";
+				break;
+			case "a sweater":
+				T.bellySkinStyle = "fill:rgba(85,0,0,1);";
+				break;
+			case "sport shorts and a t-shirt":
+				T.scrotumSkinStyle = "fill:rgba(200,55,171,1);";
+				T.bellySkinStyle = "fill:rgba(200,55,171,1);";
+				break;
+			case "a biyelgee costume":
+				T.scrotumSkinStyle = "fill:rgba(33,68,120,1);";
+		}
+	}
+
+	function setHairColor() {
+		T.hairColour = extractColor(slave.hColor);
+		T.pubicHairColour = extractColor(slave.pubicHColor);
+		T.underarmHairColour = extractColor(slave.underArmHColor);
+		T.eyebrowHairColour = extractColor(slave.eyebrowHColor);
+		T.sclerae = extractColor(slave.sclerae);
+	}
+
+	function setShoeColor() {
+		/* BEWARE: _shoeColour is read by Wardrobe Use */
+
+		/* note: only heels use this shadow */
+		T.shoeShadowColour = "#616a6b";
+
+		if (slave.shoes === "none")
+			T.shoeColour = "#595959";
+		else
+			T.shoeColour = "#80808080";
+
+		/* override color in case of full body latex outfit, or custom color*/
+		if (slave.clothes === "a Fuckdoll suit" || slave.clothes === "restrictive latex") {
+			T.shoeColour = T.skinColour;
+			T.shoeShadowColour = T.shoeColour+";opacity: 0.5"; /* TODO: do not abuse "color" variable for style definitions. do not rely on dark background for shadow effect either. */
+		} else if (slave.shoeColor !== undefined) {
+			T.shoeColour = slave.shoeColor+";opacity: 0.4"; /* shoe color selected by user */
+			T.shoeShadowColour = T.shoeColour+";opacity: 0.5"; /* TODO: do not abuse "color" variable for style definitions. do not rely on dark background for shadow effect either. */
+		}
+	}
+};
diff --git a/src/art/vector/Set_Colour_Hair.tw b/src/art/vector/Set_Colour_Hair.tw
deleted file mode 100644
index 3e7470c2836db883493a87b5cb8d3aa53d03a506..0000000000000000000000000000000000000000
--- a/src/art/vector/Set_Colour_Hair.tw
+++ /dev/null
@@ -1,13 +0,0 @@
-:: Art_Vector_Set_Colour_Hair_ [nobr]
-
-/*
-"Free-Cities Dyes (taken from Cosmetic Rules Assistant Settings)"-
-to-"HTML Color"-Map
-courtesy of Nov-X
-*/
-
-<<set _hairColour = extractColor(_artSlave.hColor) >>
-<<set _pubicHairColour = extractColor(_artSlave.pubicHColor) >>
-<<set _underarmHairColour = extractColor(_artSlave.underArmHColor) >>
-<<set _eyebrowHairColour = extractColor(_artSlave.eyebrowHColor) >>
-<<set _sclerae = extractColor(_artSlave.sclerae) >>
\ No newline at end of file
diff --git a/src/art/vector/Set_Colour_Outfit.js b/src/art/vector/Set_Colour_Outfit.js
deleted file mode 100644
index b48d35a8078bce83a423d3ed7f5671209b02cdd3..0000000000000000000000000000000000000000
--- a/src/art/vector/Set_Colour_Outfit.js
+++ /dev/null
@@ -1,53 +0,0 @@
-window.Art_Vector_Set_Colour_Outfit = function(artSlave) {
-
-var s = {
-	outfitBaseColour : undefined,
-	glassesColor : undefined
-	}
-
-if (artSlave.fuckdoll != 0 || artSlave.clothes == "restrictive latex" || artSlave.clothes == "a latex catsuit" || artSlave.clothes == "a cybersuit") {
-	s.outfitBaseColour = "#515351" ; /* standard "black rubber" latex color */
-	if (artSlave.clothingBaseColor) {
-		s.outfitBaseColour = artSlave.clothingBaseColor ; /* latex color selected by user */
-		/* TODO: rewrite all textual descriptions not to explicitly mention the latex being of black color. */
-	}
-}
-
-if (artSlave.fuckdoll != 0 || artSlave.clothes == "a comfortable bodysuit") {
-	s.outfitBaseColour = "#464646" ; /* bodysuit */
-	if (artSlave.clothingBaseColor) {
-		s.outfitBaseColour = artSlave.clothingBaseColor ; /* bodysuit color selected by user */
-	}
-}
-
-/* head addons */
-switch (artSlave.eyewear) {
-	case "corrective glasses":
-	case "glasses":
-	case "blurring glasses":
-		s.glassesColor = "#010101";
-		break;
-	default:
-		/* use color for "glasses" by default */
-		s.glassesColor = "#010101";
-	}
-
-switch (artSlave.collar) {
-	case "porcelain mask":
-		s.glassesColor = "#FFFFFF";
-		break;
-	default:
-		/* use color for "mask" by default */
-		s.glassesColor = "#010101";
-	}
-
-if (artSlave.glassesColor) {
-	s.glassesColor = artSlave.glassesColor; /* glasses color selected by user */
-}
-
-if (artSlave.eyeColor) {
-	s.eyeColor = extractColor(artSlave.eyeColor, 1);
-}
-
-return s;
-}
diff --git a/src/art/vector/Set_Colour_Outfit.tw b/src/art/vector/Set_Colour_Outfit.tw
deleted file mode 100644
index 08c35b6c1e0c0a5123f1b1a160a4ded6da620c7e..0000000000000000000000000000000000000000
--- a/src/art/vector/Set_Colour_Outfit.tw
+++ /dev/null
@@ -1,10 +0,0 @@
-:: Art_Vector_Set_Colour_Outfit_
-
-/* BEWARE: _outfitBaseColour is used by Art_Vector_Set_Colour_Skin_ */
-/* BEWARE: _outfitBaseColour is read by Wardrobe Use */
-/* BEWARE: _glassesColor is read by Wardrobe Use */
-
-<<set _s = Art_Vector_Set_Colour_Outfit(_artSlave) >>
-<<set _outfitBaseColour = _s.outfitBaseColour>>
-<<set _glassesColor = _s.glassesColor>>
-<<set _eyeColor = _s.eyeColor>>
\ No newline at end of file
diff --git a/src/art/vector/Set_Colour_Shoe.tw b/src/art/vector/Set_Colour_Shoe.tw
deleted file mode 100644
index c33f5997f3ceb5d52b7b12e81488da820f7eea4a..0000000000000000000000000000000000000000
--- a/src/art/vector/Set_Colour_Shoe.tw
+++ /dev/null
@@ -1,33 +0,0 @@
-:: Art_Vector_Set_Colour_Shoe_ [nobr]
-
-/* courtesy of Nov-X */
-
-/* BEWARE: _shoeColour is read by Wardrobe Use */
-
-/* note: only heels use this shadow */
-<<set _shoeShadowColour = "#616a6b">>
-
-<<switch _artSlave.shoes>>
-<<case "extreme heels" "heels">>
-	<<set _shoeColour = "#80808080">>
-<<case "boots">>
-	<<set _shoeColour = "#80808080">>
-<<case "flats">>
-	<<set _shoeColour = "#80808080">>
-<<case "pumps">>
-	<<set _shoeColour = "#80808080">>
-<<default>>
-	/* use color for "heels" by default */
-	<<set _shoeColour = "#595959">>
-<</switch>>
-
-<<if def _artSlave.shoeColor>>
-	<<set _shoeColour = _artSlave.shoeColor+";opacity: 0.4">> /* shoe color selected by user */
-	<<set _shoeShadowColour = _shoeColour+";opacity: 0.5">> /* TODO: do not abuse "color" variable for style definitions. do not rely on dark background for shadow effect either. */
-<</if>>
-
-/* override color in case of full body latex outfit */
-<<if _artSlave.fuckdoll != 0 || _artSlave.clothes == "restrictive latex" >>
-	<<set _shoeColour = _skinColour>>
-	<<set _shoeShadowColour = _shoeColour+";opacity: 0.5">> /* TODO: do not abuse "color" variable for style definitions. do not rely on dark background for shadow effect either. */
-<</if>>
diff --git a/src/art/vector/Set_Colour_Skin.js b/src/art/vector/Set_Colour_Skin.js
deleted file mode 100644
index 790667177f9c73853427d39531648686a2aafd2a..0000000000000000000000000000000000000000
--- a/src/art/vector/Set_Colour_Skin.js
+++ /dev/null
@@ -1,370 +0,0 @@
-window.Art_Vector_Set_Colour_Skin = function(artSlave, outfitBaseColour) {
-
-/* create an aggregator object yielding all computed styles */
-var s = {
-	areolaStyle: "#d76b93", /* this is the default and can be customized later */
-	labiaStyle: "#d76b93", /* this is the default and can be customized later */
-	bellybuttonStyle: "#d76b93",
-	/* todo: introduce fleshStyle */
-	/* these need to be declared so they can be set conditionally */
-	headSkinStyle: undefined,
-	torsoSkinStyle: undefined,
-	boobSkinStyle: undefined,
-	penisSkinStyle: undefined,
-	scrotumSkinStyle: undefined,
-	bellySkinStyle: undefined,
-	skinColour: undefined,
-	eyeColor: undefined,
-}
-
-	var colorSlave = skinColorCatcher(artSlave);
-	s.areolaStyle = colorSlave.areolaColor;
-	s.bellybuttonStyle = colorSlave.areolaColor;
-	s.labiaStyle = colorSlave.labiaColor;
-	s.skinColour = colorSlave.skinColor;
-
-/* BEGIN SKIN COLOR OVERRIDES FOR LATEX CLOTHING EMULATION */
-
-if (artSlave.fuckdoll != 0) {
-	/* slave is a fuckdoll - display all skin as if it was black rubber */
-	s.skinColour = outfitBaseColour;
-	s.areolaStyle = "fill:rgba(81,83,81,1);";
-	s.labiaStyle = s.areolaStyle;
-	s.bellybuttonStyle = s.areolaStyle;
-}
-
-/* slave wears restrictive latex - display most skin as if it was rubber */
-if (artSlave.clothes == "restrictive latex") {
-	/* nice latex does not cover any privates. */
-	s.boobSkinStyle = "fill:"+s.skinColour+";";
-	s.penisSkinStyle = "fill:"+s.skinColour+";";
-	s.scrotumSkinStyle = "fill:"+s.skinColour+";";
-	s.torsoSkinStyle = "fill:"+s.skinColour+";";
-	/* rest of body is covered in latex */
-	s.skinColour = outfitBaseColour;
-	s.bellybuttonStyle = outfitBaseColour;
-}
-
-if (artSlave.clothes == "a latex catsuit") {
-	/* nice latex does not cover head. */
-	s.headSkinStyle = "fill:"+s.skinColour+";";
-	/* rest of body is covered in latex */
-	s.skinColour = outfitBaseColour;
-	/* catsuit covers areolae and crotch, too */
-	s.bellybuttonStyle = outfitBaseColour;
-}
-
-if (artSlave.clothes == "a cybersuit") {
-	/* rest of body is covered in latex */
-	s.skinColour = outfitBaseColour;
-	s.bellybuttonStyle = outfitBaseColour;
-}
-
-/* END SKIN COLOR OVERRIDES FOR LATEX CLOTHING EMULATION */
-
-if (artSlave.clothes == "a comfortable bodysuit") {
-	/* nice bodysuit does not cover head. */
-	s.headSkinStyle = "fill:"+s.skinColour+";";
-	/* rest of body is covered in bodysuit */
-	s.skinColour = outfitBaseColour;
-	s.bellySkinStyle = outfitBaseColour;
-	s.bellybuttonStyle = outfitBaseColour;
-}
-
-/* outfit dick coloring to match outfit rgba in svg */
-switch (artSlave.clothes) {
-case "a cheerleader outfit":
-	s.scrotumSkinStyle = "fill:rgba(250,186,0,1);";
-	s.bellySkinStyle = "fill:rgba(95,110,160,1);";
-	break;
-case "cutoffs and a t-shirt":
-	s.scrotumSkinStyle = "fill:rgba(81,124,211,1);";
-	break;
-case "a halter top dress":
-	s.scrotumSkinStyle = "fill:rgba(94,51,124,1);";
-	s.bellySkinStyle = "fill:rgba(94,51,124,1);";
-	break;
-case "a hijab and abaya":
-	s.scrotumSkinStyle = "fill:rgba(51,51,51,1);";
-	s.bellySkinStyle = "fill:rgba(51,51,51,1);";
-	break;
-case "a niqab and abaya":
-	s.scrotumSkinStyle = "fill:rgba(51,51,51,1);";
-	s.bellySkinStyle = "fill:rgba(51,51,51,1);";
-	break;
-case "a burqa":
-	s.scrotumSkinStyle = "fill:rgba(51,51,51,1);";
-	s.bellySkinStyle = "fill:rgba(51,51,51,1);";
-	break;
-case "a hijab and blouse":
-	s.scrotumSkinStyle = "fill:rgba(85,0,34,1);";
-	s.bellySkinStyle = "fill:rgba(85,0,34,1);";
-	break;
-case "a burkini":
-	s.scrotumSkinStyle = "fill:rgba(0,97,158,1);";
-	s.bellySkinStyle = "fill:rgba(0,97,158,1);";
-	break;
-case "a klan robe":
-	s.scrotumSkinStyle = "fill:rgba(236,236,236,1);";
-	s.bellySkinStyle = "fill:rgba(236,236,236,1);";
-	break;
-case "a nice maid outfit":
-	s.scrotumSkinStyle = "fill:rgba(225,225,225,1);";
-	s.bellySkinStyle = "fill:rgba(225,225,225,1);";
-	break;
-case "a slutty maid outfit":
-	s.scrotumSkinStyle = "fill:rgba(225,225,225,1);";
-	s.bellySkinStyle = "fill:rgba(225,225,225,1);";
-	break;
-case "a leotard":
-	s.scrotumSkinStyle = "fill:rgba(120,15,55,1);";
-	s.bellySkinStyle = "fill:rgba(120,15,55,1);";
-	break;
-case "a military uniform":
-	s.scrotumSkinStyle = "fill:rgba(34,42,18,1);";
-	s.bellySkinStyle = "fill:rgba(34,42,18,1);";
-	break;
-case "a mini dress":
-	s.scrotumSkinStyle = "fill:rgba(26,26,26,1);";
-	s.bellySkinStyle = "fill:rgba(26,26,26,1);";
-	break;
-case "a nice nurse outfit":
-	s.scrotumSkinStyle = "fill:rgba(0,128,128,1);";
-	s.bellySkinStyle = "fill:rgba(0,128,128,1);";
-	break;
-case "a slutty nurse outfit":
-	s.scrotumSkinStyle = "fill:rgba(255,255,255,1);";
-	break;
-case "a scalemail bikini":
-	s.scrotumSkinStyle = "fill:rgba(133,146,158,1);";
-	break;
-case "striped panties":
-	s.scrotumSkinStyle = "fill:rgba(255,255,255,1);";
-	break;
-case "a schoolgirl outfit":
-	s.scrotumSkinStyle = "fill:rgba(28,31,36,1);";
-	s.bellySkinStyle = "fill:rgba(28,31,36,1);";
-	break;
-case "a ball gown":
-	s.scrotumSkinStyle = "fill:rgba(128,0,0,1);";
-	s.bellySkinStyle = "fill:rgba(128,0,0,1);";
-	break;
-case "battledress":
-	s.scrotumSkinStyle = "fill:rgba(34,42,18,1);";
-	s.bellySkinStyle = "fill:rgba(34,42,18,1);";
-	break;
-case "a slave gown":
-	s.scrotumSkinStyle = "fill:rgba(200,200,200,1);";
-	s.bellySkinStyle = "fill:rgba(200,200,200,1);";
-	break;
-case "a slutty outfit":
-	s.scrotumSkinStyle = "fill:rgba(63,126,181,1);";
-	break;
-case "spats and a tank top":
-	s.scrotumSkinStyle = "fill:rgba(51,51,51,1);";
-	break;
-case "a succubus outfit":
-	s.scrotumSkinStyle = "fill:rgba(128,0,0,1);";
-	s.bellySkinStyle = "fill:rgba(128,0,0,1);";
-	break;
-case "nice business attire":
-	s.scrotumSkinStyle = "fill:rgba(51,51,51,1);";
-	s.bellySkinStyle = "fill:rgba(51,51,51,1);";
-	break;
-case "slutty business attire":
-	s.scrotumSkinStyle = "fill:rgba(51,51,51,1);";
-	break;
-case "attractive lingerie for a pregnant woman":
-	s.scrotumSkinStyle = "fill:rgba(153,153,153,1);";
-	break;
-case "a bunny outfit":
-	s.scrotumSkinStyle = "fill:rgba(51,51,51,1);";
-	s.bellySkinStyle = "fill:rgba(51,51,51,1);";
-	break;
-case "conservative clothing":
-	s.scrotumSkinStyle = "fill:rgba(51,51,51,1);";
-	s.bellySkinStyle = "fill:rgba(51,51,51,1);";
-	break;
-case "harem gauze":
-	s.scrotumSkinStyle = "fill:rgba(0,168,131,1);";
-	break;
-case "a huipil":
-	s.scrotumSkinStyle = "fill:rgba(200,200,200,1);";
-	s.bellySkinStyle = "fill:rgba(200,200,200,1);";
-	break;
-case "a kimono":
-	s.scrotumSkinStyle = "fill:rgba(0,91,150,1);";
-	s.bellySkinStyle = "fill:rgba(0,91,150,1);";
-	break;
-case "a maternity dress":
-	s.scrotumSkinStyle = "fill:rgba(48,54,72,1);";
-	s.bellySkinStyle = "fill:rgba(48,54,72,1);";
-	break;
-case "a slutty qipao":
-	s.scrotumSkinStyle = "fill:rgba(204,177,68,1);";
-	s.bellySkinStyle = "fill:rgba(204,177,68,1);";
-	break;
-case "stretch pants and a crop-top":
-	s.scrotumSkinStyle = "fill:rgba(51,51,51,1);";
-	break;
-case "a toga":
-	s.scrotumSkinStyle = "fill:rgba(200,200,200,1);";
-	s.bellySkinStyle = "fill:rgba(200,200,200,1);";
-	break;
-case "a penitent nuns habit":
-	s.scrotumSkinStyle = "fill:rgba(114,93,73,1);";
-	break;
-case "a chattel habit":
-	s.scrotumSkinStyle = "fill:rgba(200,200,200,1);";
-	break;
-case "a monokini":
-	s.scrotumSkinStyle = "fill:rgba(33,47,61,1);";
-	break;
-case "a schutzstaffel uniform":
-	s.scrotumSkinStyle = "fill:rgba(51,51,51,1);";
-	s.bellySkinStyle = "fill:rgba(51,51,51,1);";
-	break;
-case "a slutty schutzstaffel uniform":
-	s.scrotumSkinStyle = "fill:rgba(51,51,51,1);";
-	s.bellySkinStyle = "fill:rgba(51,51,51,1);";
-	break;
-case "a red army uniform":
-	s.scrotumSkinStyle = "fill:rgba(114,93,73,1);";
-	s.bellySkinStyle = "fill:rgba(114,93,73,1);";
-	break;
-case "an apron":
-	s.scrotumSkinStyle = "fill:rgba(255,105,180,1);";
-	s.bellySkinStyle = "fill:rgba(255,105,180,1);";
-	break;
-case "a fallen nuns habit":
-	s.bellySkinStyle = "fill:rgba(51,51,51,1);";
-	break;
-case "a dirndl":
-	s.scrotumSkinStyle = "fill:rgba(128,0,51,1);";
-	s.bellySkinStyle = "fill:rgba(128,0,51,1);";
-	break;
-case "lederhosen":
-	s.scrotumSkinStyle = "fill:rgba(93,83,108,1);";
-	break;
-case "a long qipao":
-	s.scrotumSkinStyle = "fill:rgba(0,128,0,1);";
-	break;
-case "a mounty outfit":
-	s.scrotumSkinStyle = "fill:rgba(51,51,51,1);";
-	s.bellySkinStyle = "fill:rgba(128,0,0,1);";
-	break;
-case "battlearmor":
-	s.scrotumSkinStyle = "fill:rgba(200,200,200,1);";
-	break;
-case "striped underwear":
-	s.scrotumSkinStyle = "fill:rgba(255,255,255,1);";
-	break;
-case "panties":
-	s.scrotumSkinStyle = "fill:rgba(255,170,238,1);";
-	break;
-case "a thong":
-	s.scrotumSkinStyle = "fill:rgba(34,28,36,1);";
-	break;
-case "a button-up shirt and panties":
-	s.scrotumSkinStyle = "fill:rgba(255,255,255,1);";
-	s.bellySkinStyle = "fill:rgba(255,255,255,1);";
-	break;
-case "a slutty klan robe":
-	s.scrotumSkinStyle = "fill:rgba(128,0,0,1);";
-	break;
-case "cutoffs":
-	s.scrotumSkinStyle = "fill:rgba(81,124,211,1);";
-	break;
-case "sport shorts":
-	s.scrotumSkinStyle = "fill:rgba(51,51,51,1);";
-	break;
-case "sport shorts":
-	s.scrotumSkinStyle = "fill:rgba(51,51,51,1);";
-	break;
-case "sport shorts and a sports bra":
-	s.scrotumSkinStyle = "fill:rgba(51,51,51,1);";
-	break;
-case "a t-shirt and thong":
-	s.scrotumSkinStyle = "fill:rgba(200,55,171,1);";
-	s.bellySkinStyle = "fill:rgba(200,55,171,1);";
-	break;
-case "a t-shirt and panties":
-	s.scrotumSkinStyle = "fill:rgba(255,255,255,1);";
-	s.bellySkinStyle = "fill:rgba(255,255,255,1);";
-	break;
-case "jeans":
-	s.scrotumSkinStyle = "fill:rgba(81,124,211,1);";
-	break;
-case "leather pants":
-	s.scrotumSkinStyle = "fill:rgba(26,26,26,1);";
-	break;
-case "leather pants and pasties":
-	s.scrotumSkinStyle = "fill:rgba(85,0,0,1);";
-	break;
-case "leather pants and a tube top":
-	s.scrotumSkinStyle = "fill:rgba(26,26,26,1);";
-	break;
-case "a t-shirt and jeans":
-	s.scrotumSkinStyle = "fill:rgba(81,124,211,1);";
-	s.bellySkinStyle = "fill:rgba(255,255,255,1);";
-	break;
-case "a tank-top and panties":
-	s.scrotumSkinStyle = "fill:rgba(26,26,26,1);";
-	s.bellySkinStyle = "fill:rgba(26,26,26,1);";
-	break;
-case "a tank-top":
-	s.bellySkinStyle = "fill:rgba(255,255,255,1);";
-	break;
-case "a tube top and thong":
-	s.scrotumSkinStyle = "fill:rgba(34,28,36,1);";
-	break;
-case "boyshorts":
-	s.scrotumSkinStyle = "fill:rgba(26,26,26,1);";
-	break;
-case "an oversized t-shirt and boyshorts":
-	s.bellySkinStyle = "fill:rgba(255,255,255,1);";
-	break;
-case "a sweater and panties":
-	s.scrotumSkinStyle = "fill:rgba(26,26,26,1);";
-	s.bellySkinStyle = "fill:rgba(212,170,0,1);";
-	break;
-case "a sweater and cutoffs":
-	s.scrotumSkinStyle = "fill:rgba(77,77,77,1);";
-	s.bellySkinStyle = "fill:rgba(85,0,0,1);";
-	break;
-case "a police uniform":
-	s.scrotumSkinStyle = "fill:rgba(11,23,40,1);";
-	s.bellySkinStyle = "fill:rgba(11,23,40,1);";
-	break;
-case "a one-piece swimsuit":
-	s.scrotumSkinStyle = "fill:rgba(22,45,80,1);";
-	s.bellySkinStyle = "fill:rgba(22,45,80,1);";
-	break;
-case "a skimpy loincloth":
-	s.scrotumSkinStyle = "fill:rgba(145,124,111,1);";
-	break;
-case "kitty lingerie":
-	s.scrotumSkinStyle = "fill:rgba(255,170,238,1);";
-	break;
-case "an oversized t-shirt":
-	s.bellySkinStyle = "fill:rgba(255,255,255,1);";
-	break;
-case "a hanbok":
-	s.bellySkinStyle = "fill:rgba(255,109,182,1);";
-	break;
-case "a gothic lolita dress":
-	s.bellySkinStyle = "fill:rgba(26,26,26,1);";
-	break;
-case "a sweater":
-	s.bellySkinStyle = "fill:rgba(85,0,0,1);";
-	break;
-case "sport shorts and a t-shirt":
-	s.scrotumSkinStyle = "fill:rgba(200,55,171,1);";
-	s.bellySkinStyle = "fill:rgba(200,55,171,1);";
-	break;
-case "a biyelgee costume":
-	s.scrotumSkinStyle = "fill:rgba(33,68,120,1);";
-}
-
-return s;
-}
diff --git a/src/art/vector/Set_Colour_Skin.tw b/src/art/vector/Set_Colour_Skin.tw
deleted file mode 100644
index 2e2fba0e1480ab2f77e6c59d5d7436135affb79e..0000000000000000000000000000000000000000
--- a/src/art/vector/Set_Colour_Skin.tw
+++ /dev/null
@@ -1,15 +0,0 @@
-:: Art_Vector_Set_Colour_Skin_
-
-/* BEWARE: _outfitBaseColour is set by Art_Vector_Set_Colour_Outfit_ */
-
-<<set _s = Art_Vector_Set_Colour_Skin(_artSlave, _outfitBaseColour) >>
-<<set _areolaStyle = _s.areolaStyle>>
-<<set _bellySkinStyle = _s.bellySkinStyle>>
-<<set _boobSkinStyle = _s.boobSkinStyle>>
-<<set _headSkinStyle = _s.headSkinStyle>>
-<<set _labiaStyle = _s.labiaStyle>>
-<<set _penisSkinStyle = _s.penisSkinStyle>>
-<<set _scrotumSkinStyle = _s.scrotumSkinStyle>>
-<<set _skinColour = _s.skinColour>>
-<<set _torsoSkinStyle = _s.torsoSkinStyle>>
-<<set _bellybuttonStyle = _s.bellybuttonStyle>>
diff --git a/src/uncategorized/BackwardsCompatibility.tw b/src/uncategorized/BackwardsCompatibility.tw
index 4508a44250de139840eff4d038b575ebe30bdc72..95bd960c17f821c111cf6684de7659216dffe84b 100644
--- a/src/uncategorized/BackwardsCompatibility.tw
+++ b/src/uncategorized/BackwardsCompatibility.tw
@@ -2484,6 +2484,9 @@ Setting missing global variables:
 	<<set $PCSlutContacts = 1>>
 <</if>>
 
+<<if ndef $seeVectorArtHighlights>>
+	<<set $seeVectorArtHighlights = 1>>
+<</if>>
 <<if ndef $seeFaces>>
 	<<set $seeFaces = 1>>
 <</if>>