diff --git a/.vitepress/theme/styles.css b/.vitepress/theme/styles.css
index 89143e5..a337f4f 100644
--- a/.vitepress/theme/styles.css
+++ b/.vitepress/theme/styles.css
@@ -23,6 +23,11 @@
margin-right: auto;
}
+/* fix captions slightly clipping into images */
+i.center {
+ margin-top: 10px;
+}
+
/* colored text */
.red-text {
color: #f44336;
@@ -62,4 +67,4 @@ html::-webkit-scrollbar-thumb, html *::-webkit-scrollbar-thumb {
background-color: #76C945;
border-radius: 12px;
border: -1px solid #76C945;
-}
\ No newline at end of file
+}
diff --git a/images/textures/cf32-texturing-guidelines/1.png b/images/textures/cf32-texturing-guidelines/1.png
deleted file mode 100644
index 753e143..0000000
Binary files a/images/textures/cf32-texturing-guidelines/1.png and /dev/null differ
diff --git a/images/textures/cf32-texturing-guidelines/13.png b/images/textures/cf32-texturing-guidelines/13.png
deleted file mode 100644
index acb2627..0000000
Binary files a/images/textures/cf32-texturing-guidelines/13.png and /dev/null differ
diff --git a/images/textures/cf32-texturing-guidelines/21.png b/images/textures/cf32-texturing-guidelines/1px_items.png
similarity index 100%
rename from images/textures/cf32-texturing-guidelines/21.png
rename to images/textures/cf32-texturing-guidelines/1px_items.png
diff --git a/images/textures/cf32-texturing-guidelines/3.png b/images/textures/cf32-texturing-guidelines/3.png
deleted file mode 100644
index 3df8491..0000000
Binary files a/images/textures/cf32-texturing-guidelines/3.png and /dev/null differ
diff --git a/images/textures/cf32-texturing-guidelines/4.png b/images/textures/cf32-texturing-guidelines/4.png
deleted file mode 100644
index 6d624e7..0000000
Binary files a/images/textures/cf32-texturing-guidelines/4.png and /dev/null differ
diff --git a/images/textures/cf32-texturing-guidelines/5.png b/images/textures/cf32-texturing-guidelines/5.png
deleted file mode 100644
index 9dc61c0..0000000
Binary files a/images/textures/cf32-texturing-guidelines/5.png and /dev/null differ
diff --git a/images/textures/cf32-texturing-guidelines/8.png b/images/textures/cf32-texturing-guidelines/8.png
deleted file mode 100644
index 3d69f93..0000000
Binary files a/images/textures/cf32-texturing-guidelines/8.png and /dev/null differ
diff --git a/images/textures/cf32-texturing-guidelines/9.png b/images/textures/cf32-texturing-guidelines/9.png
deleted file mode 100644
index f024d1f..0000000
Binary files a/images/textures/cf32-texturing-guidelines/9.png and /dev/null differ
diff --git a/images/textures/cf32-texturing-guidelines/33.png b/images/textures/cf32-texturing-guidelines/bark.png
similarity index 100%
rename from images/textures/cf32-texturing-guidelines/33.png
rename to images/textures/cf32-texturing-guidelines/bark.png
diff --git a/images/textures/cf32-texturing-guidelines/35.png b/images/textures/cf32-texturing-guidelines/big_plants.png
similarity index 100%
rename from images/textures/cf32-texturing-guidelines/35.png
rename to images/textures/cf32-texturing-guidelines/big_plants.png
diff --git a/images/textures/cf32-texturing-guidelines/51.png b/images/textures/cf32-texturing-guidelines/bilinear.png
similarity index 100%
rename from images/textures/cf32-texturing-guidelines/51.png
rename to images/textures/cf32-texturing-guidelines/bilinear.png
diff --git a/images/textures/cf32-texturing-guidelines/28.png b/images/textures/cf32-texturing-guidelines/contiguous_stone.png
similarity index 100%
rename from images/textures/cf32-texturing-guidelines/28.png
rename to images/textures/cf32-texturing-guidelines/contiguous_stone.png
diff --git a/images/textures/cf32-texturing-guidelines/41.png b/images/textures/cf32-texturing-guidelines/contrasty_stone.png
similarity index 100%
rename from images/textures/cf32-texturing-guidelines/41.png
rename to images/textures/cf32-texturing-guidelines/contrasty_stone.png
diff --git a/images/textures/cf32-texturing-guidelines/26.png b/images/textures/cf32-texturing-guidelines/conventional.png
similarity index 100%
rename from images/textures/cf32-texturing-guidelines/26.png
rename to images/textures/cf32-texturing-guidelines/conventional.png
diff --git a/images/textures/cf32-texturing-guidelines/29.png b/images/textures/cf32-texturing-guidelines/distinct_stone.png
similarity index 100%
rename from images/textures/cf32-texturing-guidelines/29.png
rename to images/textures/cf32-texturing-guidelines/distinct_stone.png
diff --git a/images/textures/cf32-texturing-guidelines/44.png b/images/textures/cf32-texturing-guidelines/doors.png
similarity index 100%
rename from images/textures/cf32-texturing-guidelines/44.png
rename to images/textures/cf32-texturing-guidelines/doors.png
diff --git a/images/textures/cf32-texturing-guidelines/36.png b/images/textures/cf32-texturing-guidelines/foliage.png
similarity index 100%
rename from images/textures/cf32-texturing-guidelines/36.png
rename to images/textures/cf32-texturing-guidelines/foliage.png
diff --git a/images/textures/cf32-texturing-guidelines/17.png b/images/textures/cf32-texturing-guidelines/follow_default.png
similarity index 100%
rename from images/textures/cf32-texturing-guidelines/17.png
rename to images/textures/cf32-texturing-guidelines/follow_default.png
diff --git a/images/textures/cf32-texturing-guidelines/43.png b/images/textures/cf32-texturing-guidelines/fur.png
similarity index 100%
rename from images/textures/cf32-texturing-guidelines/43.png
rename to images/textures/cf32-texturing-guidelines/fur.png
diff --git a/images/textures/cf32-texturing-guidelines/27.png b/images/textures/cf32-texturing-guidelines/gem_and_metals.png
similarity index 100%
rename from images/textures/cf32-texturing-guidelines/27.png
rename to images/textures/cf32-texturing-guidelines/gem_and_metals.png
diff --git a/images/textures/cf32-texturing-guidelines/37.png b/images/textures/cf32-texturing-guidelines/grass.png
similarity index 100%
rename from images/textures/cf32-texturing-guidelines/37.png
rename to images/textures/cf32-texturing-guidelines/grass.png
diff --git a/images/textures/cf32-texturing-guidelines/42.png b/images/textures/cf32-texturing-guidelines/ice_and_glass.png
similarity index 100%
rename from images/textures/cf32-texturing-guidelines/42.png
rename to images/textures/cf32-texturing-guidelines/ice_and_glass.png
diff --git a/images/textures/cf32-texturing-guidelines/50.png b/images/textures/cf32-texturing-guidelines/indexing.png
similarity index 100%
rename from images/textures/cf32-texturing-guidelines/50.png
rename to images/textures/cf32-texturing-guidelines/indexing.png
diff --git a/images/textures/cf32-texturing-guidelines/24.png b/images/textures/cf32-texturing-guidelines/jaggies.png
similarity index 100%
rename from images/textures/cf32-texturing-guidelines/24.png
rename to images/textures/cf32-texturing-guidelines/jaggies.png
diff --git a/images/textures/cf32-texturing-guidelines/47.png b/images/textures/cf32-texturing-guidelines/jumble.png
similarity index 100%
rename from images/textures/cf32-texturing-guidelines/47.png
rename to images/textures/cf32-texturing-guidelines/jumble.png
diff --git a/images/textures/cf32-texturing-guidelines/31.png b/images/textures/cf32-texturing-guidelines/large_bricks.png
similarity index 100%
rename from images/textures/cf32-texturing-guidelines/31.png
rename to images/textures/cf32-texturing-guidelines/large_bricks.png
diff --git a/images/textures/cf32-texturing-guidelines/19.png b/images/textures/cf32-texturing-guidelines/less_is_more.png
similarity index 100%
rename from images/textures/cf32-texturing-guidelines/19.png
rename to images/textures/cf32-texturing-guidelines/less_is_more.png
diff --git a/images/textures/cf32-texturing-guidelines/23.png b/images/textures/cf32-texturing-guidelines/mob_faces.png
similarity index 100%
rename from images/textures/cf32-texturing-guidelines/23.png
rename to images/textures/cf32-texturing-guidelines/mob_faces.png
diff --git a/images/textures/cf32-texturing-guidelines/25.png b/images/textures/cf32-texturing-guidelines/overuse_2px.png
similarity index 100%
rename from images/textures/cf32-texturing-guidelines/25.png
rename to images/textures/cf32-texturing-guidelines/overuse_2px.png
diff --git a/images/textures/cf32-texturing-guidelines/20.png b/images/textures/cf32-texturing-guidelines/palette.png
similarity index 100%
rename from images/textures/cf32-texturing-guidelines/20.png
rename to images/textures/cf32-texturing-guidelines/palette.png
diff --git a/images/textures/cf32-texturing-guidelines/32.png b/images/textures/cf32-texturing-guidelines/polished_stone.png
similarity index 100%
rename from images/textures/cf32-texturing-guidelines/32.png
rename to images/textures/cf32-texturing-guidelines/polished_stone.png
diff --git a/images/textures/cf32-texturing-guidelines/38.png b/images/textures/cf32-texturing-guidelines/powders.png
similarity index 100%
rename from images/textures/cf32-texturing-guidelines/38.png
rename to images/textures/cf32-texturing-guidelines/powders.png
diff --git a/images/textures/cf32-texturing-guidelines/40.png b/images/textures/cf32-texturing-guidelines/prismarine.png
similarity index 100%
rename from images/textures/cf32-texturing-guidelines/40.png
rename to images/textures/cf32-texturing-guidelines/prismarine.png
diff --git a/images/textures/cf32-texturing-guidelines/45.png b/images/textures/cf32-texturing-guidelines/progartification.png
similarity index 100%
rename from images/textures/cf32-texturing-guidelines/45.png
rename to images/textures/cf32-texturing-guidelines/progartification.png
diff --git a/images/textures/cf32-texturing-guidelines/18.png b/images/textures/cf32-texturing-guidelines/reference_vattic.png
similarity index 100%
rename from images/textures/cf32-texturing-guidelines/18.png
rename to images/textures/cf32-texturing-guidelines/reference_vattic.png
diff --git a/images/textures/cf32-texturing-guidelines/34.png b/images/textures/cf32-texturing-guidelines/refined_wood.png
similarity index 100%
rename from images/textures/cf32-texturing-guidelines/34.png
rename to images/textures/cf32-texturing-guidelines/refined_wood.png
diff --git a/images/textures/cf32-texturing-guidelines/22.png b/images/textures/cf32-texturing-guidelines/reuse_textures.png
similarity index 100%
rename from images/textures/cf32-texturing-guidelines/22.png
rename to images/textures/cf32-texturing-guidelines/reuse_textures.png
diff --git a/images/textures/cf32-texturing-guidelines/39.png b/images/textures/cf32-texturing-guidelines/sandstone.png
similarity index 100%
rename from images/textures/cf32-texturing-guidelines/39.png
rename to images/textures/cf32-texturing-guidelines/sandstone.png
diff --git a/images/textures/cf32-texturing-guidelines/49.png b/images/textures/cf32-texturing-guidelines/softening.png
similarity index 100%
rename from images/textures/cf32-texturing-guidelines/49.png
rename to images/textures/cf32-texturing-guidelines/softening.png
diff --git a/images/textures/cf32-texturing-guidelines/46.png b/images/textures/cf32-texturing-guidelines/tile_with_edits.png
similarity index 100%
rename from images/textures/cf32-texturing-guidelines/46.png
rename to images/textures/cf32-texturing-guidelines/tile_with_edits.png
diff --git a/images/textures/cf32-texturing-guidelines/48.png b/images/textures/cf32-texturing-guidelines/tiled_detail.png
similarity index 100%
rename from images/textures/cf32-texturing-guidelines/48.png
rename to images/textures/cf32-texturing-guidelines/tiled_detail.png
diff --git a/images/textures/cf32-texturing-guidelines/30.png b/images/textures/cf32-texturing-guidelines/tiles.png
similarity index 100%
rename from images/textures/cf32-texturing-guidelines/30.png
rename to images/textures/cf32-texturing-guidelines/tiles.png
diff --git a/images/textures/f32-texturing-guidelines/10.png b/images/textures/f32-texturing-guidelines/10.png
deleted file mode 100644
index 608c667..0000000
Binary files a/images/textures/f32-texturing-guidelines/10.png and /dev/null differ
diff --git a/images/textures/f32-texturing-guidelines/11.png b/images/textures/f32-texturing-guidelines/11.png
deleted file mode 100644
index a6922f5..0000000
Binary files a/images/textures/f32-texturing-guidelines/11.png and /dev/null differ
diff --git a/images/textures/f32-texturing-guidelines/13.png b/images/textures/f32-texturing-guidelines/13.png
deleted file mode 100644
index 052733d..0000000
Binary files a/images/textures/f32-texturing-guidelines/13.png and /dev/null differ
diff --git a/images/textures/f32-texturing-guidelines/14.png b/images/textures/f32-texturing-guidelines/14.png
deleted file mode 100644
index a94044e..0000000
Binary files a/images/textures/f32-texturing-guidelines/14.png and /dev/null differ
diff --git a/images/textures/f32-texturing-guidelines/16.png b/images/textures/f32-texturing-guidelines/16.png
deleted file mode 100644
index 5d42869..0000000
Binary files a/images/textures/f32-texturing-guidelines/16.png and /dev/null differ
diff --git a/images/textures/f32-texturing-guidelines/17.png b/images/textures/f32-texturing-guidelines/1px_wide.png
similarity index 100%
rename from images/textures/f32-texturing-guidelines/17.png
rename to images/textures/f32-texturing-guidelines/1px_wide.png
diff --git a/images/textures/f32-texturing-guidelines/2.png b/images/textures/f32-texturing-guidelines/2.png
deleted file mode 100644
index 09d671e..0000000
Binary files a/images/textures/f32-texturing-guidelines/2.png and /dev/null differ
diff --git a/images/textures/f32-texturing-guidelines/25.png b/images/textures/f32-texturing-guidelines/25.png
deleted file mode 100644
index 8987a8c..0000000
Binary files a/images/textures/f32-texturing-guidelines/25.png and /dev/null differ
diff --git a/images/textures/f32-texturing-guidelines/3.png b/images/textures/f32-texturing-guidelines/3.png
deleted file mode 100644
index b1d7ed5..0000000
Binary files a/images/textures/f32-texturing-guidelines/3.png and /dev/null differ
diff --git a/images/textures/f32-texturing-guidelines/4.png b/images/textures/f32-texturing-guidelines/4.png
deleted file mode 100644
index 3f2ad1b..0000000
Binary files a/images/textures/f32-texturing-guidelines/4.png and /dev/null differ
diff --git a/images/textures/f32-texturing-guidelines/6.png b/images/textures/f32-texturing-guidelines/6.png
deleted file mode 100644
index 3b0f037..0000000
Binary files a/images/textures/f32-texturing-guidelines/6.png and /dev/null differ
diff --git a/images/textures/f32-texturing-guidelines/8.png b/images/textures/f32-texturing-guidelines/8.png
deleted file mode 100644
index f5c149c..0000000
Binary files a/images/textures/f32-texturing-guidelines/8.png and /dev/null differ
diff --git a/images/textures/f32-texturing-guidelines/9.png b/images/textures/f32-texturing-guidelines/9.png
deleted file mode 100644
index a088c8e..0000000
Binary files a/images/textures/f32-texturing-guidelines/9.png and /dev/null differ
diff --git a/images/textures/f32-texturing-guidelines/21.png b/images/textures/f32-texturing-guidelines/blending_colours.png
similarity index 100%
rename from images/textures/f32-texturing-guidelines/21.png
rename to images/textures/f32-texturing-guidelines/blending_colours.png
diff --git a/images/textures/f32-texturing-guidelines/39.png b/images/textures/f32-texturing-guidelines/bone.png
similarity index 100%
rename from images/textures/f32-texturing-guidelines/39.png
rename to images/textures/f32-texturing-guidelines/bone.png
diff --git a/images/textures/f32-texturing-guidelines/31.png b/images/textures/f32-texturing-guidelines/contiguous_stone.png
similarity index 100%
rename from images/textures/f32-texturing-guidelines/31.png
rename to images/textures/f32-texturing-guidelines/contiguous_stone.png
diff --git a/images/textures/f32-texturing-guidelines/36.png b/images/textures/f32-texturing-guidelines/coral.png
similarity index 100%
rename from images/textures/f32-texturing-guidelines/36.png
rename to images/textures/f32-texturing-guidelines/coral.png
diff --git a/images/textures/f32-texturing-guidelines/43.png b/images/textures/f32-texturing-guidelines/cylinder.png
similarity index 100%
rename from images/textures/f32-texturing-guidelines/43.png
rename to images/textures/f32-texturing-guidelines/cylinder.png
diff --git a/images/textures/f32-texturing-guidelines/42.png b/images/textures/f32-texturing-guidelines/fish.png
similarity index 100%
rename from images/textures/f32-texturing-guidelines/42.png
rename to images/textures/f32-texturing-guidelines/fish.png
diff --git a/images/textures/f32-texturing-guidelines/41.png b/images/textures/f32-texturing-guidelines/fur.png
similarity index 100%
rename from images/textures/f32-texturing-guidelines/41.png
rename to images/textures/f32-texturing-guidelines/fur.png
diff --git a/images/textures/f32-texturing-guidelines/30.png b/images/textures/f32-texturing-guidelines/gemstones.png
similarity index 100%
rename from images/textures/f32-texturing-guidelines/30.png
rename to images/textures/f32-texturing-guidelines/gemstones.png
diff --git a/images/textures/f32-texturing-guidelines/38.png b/images/textures/f32-texturing-guidelines/glazed_terracotta.png
similarity index 100%
rename from images/textures/f32-texturing-guidelines/38.png
rename to images/textures/f32-texturing-guidelines/glazed_terracotta.png
diff --git a/images/textures/f32-texturing-guidelines/44.png b/images/textures/f32-texturing-guidelines/jappafy.png
similarity index 100%
rename from images/textures/f32-texturing-guidelines/44.png
rename to images/textures/f32-texturing-guidelines/jappafy.png
diff --git a/images/textures/f32-texturing-guidelines/23.png b/images/textures/f32-texturing-guidelines/keep_noise.png
similarity index 100%
rename from images/textures/f32-texturing-guidelines/23.png
rename to images/textures/f32-texturing-guidelines/keep_noise.png
diff --git a/images/textures/f32-texturing-guidelines/45.png b/images/textures/f32-texturing-guidelines/keep_progart.png
similarity index 100%
rename from images/textures/f32-texturing-guidelines/45.png
rename to images/textures/f32-texturing-guidelines/keep_progart.png
diff --git a/images/textures/f32-texturing-guidelines/19.png b/images/textures/f32-texturing-guidelines/meaning.png
similarity index 100%
rename from images/textures/f32-texturing-guidelines/19.png
rename to images/textures/f32-texturing-guidelines/meaning.png
diff --git a/images/textures/f32-texturing-guidelines/mob_faces.png b/images/textures/f32-texturing-guidelines/mob_faces.png
new file mode 100644
index 0000000..cde2e76
Binary files /dev/null and b/images/textures/f32-texturing-guidelines/mob_faces.png differ
diff --git a/images/textures/f32-texturing-guidelines/26.png b/images/textures/f32-texturing-guidelines/overdone_dithering.png
similarity index 100%
rename from images/textures/f32-texturing-guidelines/26.png
rename to images/textures/f32-texturing-guidelines/overdone_dithering.png
diff --git a/images/textures/f32-texturing-guidelines/35.png b/images/textures/f32-texturing-guidelines/plants.png
similarity index 100%
rename from images/textures/f32-texturing-guidelines/35.png
rename to images/textures/f32-texturing-guidelines/plants.png
diff --git a/images/textures/f32-texturing-guidelines/32.png b/images/textures/f32-texturing-guidelines/polished_stone.png
similarity index 100%
rename from images/textures/f32-texturing-guidelines/32.png
rename to images/textures/f32-texturing-guidelines/polished_stone.png
diff --git a/images/textures/f32-texturing-guidelines/37.png b/images/textures/f32-texturing-guidelines/powders.png
similarity index 100%
rename from images/textures/f32-texturing-guidelines/37.png
rename to images/textures/f32-texturing-guidelines/powders.png
diff --git a/images/textures/f32-texturing-guidelines/24.png b/images/textures/f32-texturing-guidelines/remove_noise.png
similarity index 100%
rename from images/textures/f32-texturing-guidelines/24.png
rename to images/textures/f32-texturing-guidelines/remove_noise.png
diff --git a/images/textures/f32-texturing-guidelines/22.png b/images/textures/f32-texturing-guidelines/reuse_textures.png
similarity index 100%
rename from images/textures/f32-texturing-guidelines/22.png
rename to images/textures/f32-texturing-guidelines/reuse_textures.png
diff --git a/images/textures/f32-texturing-guidelines/33.png b/images/textures/f32-texturing-guidelines/rocky_textures.png
similarity index 100%
rename from images/textures/f32-texturing-guidelines/33.png
rename to images/textures/f32-texturing-guidelines/rocky_textures.png
diff --git a/images/textures/f32-texturing-guidelines/29.png b/images/textures/f32-texturing-guidelines/rough_metal.png
similarity index 100%
rename from images/textures/f32-texturing-guidelines/29.png
rename to images/textures/f32-texturing-guidelines/rough_metal.png
diff --git a/images/textures/f32-texturing-guidelines/18.png b/images/textures/f32-texturing-guidelines/shading.png
similarity index 100%
rename from images/textures/f32-texturing-guidelines/18.png
rename to images/textures/f32-texturing-guidelines/shading.png
diff --git a/images/textures/f32-texturing-guidelines/40.png b/images/textures/f32-texturing-guidelines/skin.png
similarity index 100%
rename from images/textures/f32-texturing-guidelines/40.png
rename to images/textures/f32-texturing-guidelines/skin.png
diff --git a/images/textures/f32-texturing-guidelines/28.png b/images/textures/f32-texturing-guidelines/smooth_metal.png
similarity index 100%
rename from images/textures/f32-texturing-guidelines/28.png
rename to images/textures/f32-texturing-guidelines/smooth_metal.png
diff --git a/images/textures/f32-texturing-guidelines/27.png b/images/textures/f32-texturing-guidelines/stairing_pixels.png
similarity index 100%
rename from images/textures/f32-texturing-guidelines/27.png
rename to images/textures/f32-texturing-guidelines/stairing_pixels.png
diff --git a/images/textures/f32-texturing-guidelines/20.png b/images/textures/f32-texturing-guidelines/too_much_detail.png
similarity index 100%
rename from images/textures/f32-texturing-guidelines/20.png
rename to images/textures/f32-texturing-guidelines/too_much_detail.png
diff --git a/images/textures/f32-texturing-guidelines/34.png b/images/textures/f32-texturing-guidelines/wood.png
similarity index 100%
rename from images/textures/f32-texturing-guidelines/34.png
rename to images/textures/f32-texturing-guidelines/wood.png
diff --git a/images/textures/cf32-texturing-guidelines/2.png b/images/textures/glossary/antialiasing.png
similarity index 100%
rename from images/textures/cf32-texturing-guidelines/2.png
rename to images/textures/glossary/antialiasing.png
diff --git a/images/textures/glossary/automatic_upscaling.png b/images/textures/glossary/automatic_upscaling.png
new file mode 100644
index 0000000..77f474f
Binary files /dev/null and b/images/textures/glossary/automatic_upscaling.png differ
diff --git a/images/textures/cf32-texturing-guidelines/7.png b/images/textures/glossary/banding.png
similarity index 100%
rename from images/textures/cf32-texturing-guidelines/7.png
rename to images/textures/glossary/banding.png
diff --git a/images/textures/f32-texturing-guidelines/5.png b/images/textures/glossary/checkerboarding.png
similarity index 100%
rename from images/textures/f32-texturing-guidelines/5.png
rename to images/textures/glossary/checkerboarding.png
diff --git a/images/textures/cf32-texturing-guidelines/14.png b/images/textures/glossary/contrast.png
similarity index 100%
rename from images/textures/cf32-texturing-guidelines/14.png
rename to images/textures/glossary/contrast.png
diff --git a/images/textures/cf32-texturing-guidelines/15.png b/images/textures/glossary/depth_shading.png
similarity index 100%
rename from images/textures/cf32-texturing-guidelines/15.png
rename to images/textures/glossary/depth_shading.png
diff --git a/images/textures/f32-texturing-guidelines/7.png b/images/textures/glossary/dithering.png
similarity index 100%
rename from images/textures/f32-texturing-guidelines/7.png
rename to images/textures/glossary/dithering.png
diff --git a/images/textures/cf32-texturing-guidelines/12.png b/images/textures/glossary/false_lines.png
similarity index 100%
rename from images/textures/cf32-texturing-guidelines/12.png
rename to images/textures/glossary/false_lines.png
diff --git a/images/textures/f32-texturing-guidelines/12.png b/images/textures/glossary/indexing.png
similarity index 100%
rename from images/textures/f32-texturing-guidelines/12.png
rename to images/textures/glossary/indexing.png
diff --git a/images/textures/cf32-texturing-guidelines/6.png b/images/textures/glossary/linear_dithering.png
similarity index 100%
rename from images/textures/cf32-texturing-guidelines/6.png
rename to images/textures/glossary/linear_dithering.png
diff --git a/images/textures/f32-texturing-guidelines/15.png b/images/textures/glossary/mixels.png
similarity index 100%
rename from images/textures/f32-texturing-guidelines/15.png
rename to images/textures/glossary/mixels.png
diff --git a/images/textures/glossary/nearest_upscaling.png b/images/textures/glossary/nearest_upscaling.png
new file mode 100644
index 0000000..a03d8b1
Binary files /dev/null and b/images/textures/glossary/nearest_upscaling.png differ
diff --git a/images/textures/f32-texturing-guidelines/1.png b/images/textures/glossary/no_blending.png
similarity index 100%
rename from images/textures/f32-texturing-guidelines/1.png
rename to images/textures/glossary/no_blending.png
diff --git a/images/textures/cf32-texturing-guidelines/10.png b/images/textures/glossary/noise.png
similarity index 100%
rename from images/textures/cf32-texturing-guidelines/10.png
rename to images/textures/glossary/noise.png
diff --git a/images/textures/cf32-texturing-guidelines/11.png b/images/textures/glossary/progart_vs_jappa.png
similarity index 100%
rename from images/textures/cf32-texturing-guidelines/11.png
rename to images/textures/glossary/progart_vs_jappa.png
diff --git a/images/textures/cf32-texturing-guidelines/16.png b/images/textures/glossary/stairing.png
similarity index 100%
rename from images/textures/cf32-texturing-guidelines/16.png
rename to images/textures/glossary/stairing.png
diff --git a/images/textures/glossary/vattic.png b/images/textures/glossary/vattic.png
new file mode 100644
index 0000000..ff67fc9
Binary files /dev/null and b/images/textures/glossary/vattic.png differ
diff --git a/images/textures/glossary/wispy_dithering.png b/images/textures/glossary/wispy_dithering.png
new file mode 100644
index 0000000..99270d0
Binary files /dev/null and b/images/textures/glossary/wispy_dithering.png differ
diff --git a/package.json b/package.json
index 67b8362..8bdb4ed 100644
--- a/package.json
+++ b/package.json
@@ -10,10 +10,10 @@
},
"dependencies": {
"gray-matter": "^4.0.3",
- "vitepress": "^1.2.2",
- "vue": "^3.4.27"
+ "vitepress": "^1.2.3",
+ "vue": "^3.4.31"
},
"devDependencies": {
- "@types/node": "^20.14.2"
+ "@types/node": "^20.14.9"
}
}
\ No newline at end of file
diff --git a/pages/textures/cf32-texturing-guidelines.md b/pages/textures/cf32-texturing-guidelines.md
index 329afdc..98357cb 100644
--- a/pages/textures/cf32-texturing-guidelines.md
+++ b/pages/textures/cf32-texturing-guidelines.md
@@ -8,324 +8,251 @@ date: "2022-08-22"
## Introduction
-
- Classic Faithful was made as a tribute to the original creator of the Faithful 32x32 resource pack, Vattic, and to all his hard work to build the Faithful community to what it is now, all the way back when it was just one person running everything.
-
Initially named "Emulated Vattic Textures", or "EM" for short, the pack was designed to fix the stylistic shift that came under the leadership of Kraineff and later the Compliance / Faithful Administration. The main Faithful pack's art direction shifted to something quite different to the original work Vattic had made, opting instead for a much more detailed, modern style to go along with the new textures the texture artist Jappa had made starting versions 1.14 inclusive. However, this style completely replaced the old one with no real alternative for those who preferred the old style. This is where we come in, as the spiritual successor to Vattic's Faithful, maintaining the original style of the packs.
-
However, contributions ended up being few and far between even though the project was intended to be community run and managed similarly to the main Faithful packs. This was both due to the project never being the main focus of Faithful, and the rapidly increasing and changing standards deterring anyone who wanted to try. Contributors had to walk the very tight line of achieving the same look and feel of Vattic's original work while maintaining Jappa's newer ideologies more reminiscent of traditional pixel art, which was no easy feat. As well as this, when a programmer art variant was started later on, contributors had to learn how to deal with excessive palette sizes and a number of other issues that plagued the original textures, while also upscaling using Vattic methods. All of this contributed to the project always being somewhat inactive and usually one to two people doing all the work for any given pack.
-
These guidelines are designed to formalize the unspoken procedures that were formed over time to recreate Vattic's style today, and to lay down some actual instructions for any aspiring artists rather than vague advice that rarely works.
-
With all of that being said, let's start with the basics.
-
-
-
-## Part 1: Terms and Definitions
-
-Over time, our community has adopted and come up with numerous terms regarding pixel art, texturing and the people involved in the process. Since these guidelines use these terms extensively, a definitive dictionary must be made for the layman.
-
-
- - (Color) Blending refers to the method of transitioning one color into another. It mostly occurs around the border between these two colors.
-
-
There are many types of blending. The most important ones in the context of Classic Faithful are listed here:
-
-
- - No blending is a simple border between two or more colors, without any additional effects. A work in progress texture tends to have no blending, as other blending methods are usually added later on. However, this tends to have a "plasticky" effect or look flat, which is undesirable in most cases.
-
-
- Picture 1: Example of a border between two colors, with no blending applied.
-
- - Antialiasing (AA) is a technique used to smooth the jaggedness of a pixelated border between colors. It uses an additional in-between color to provide a smoother transition. This is particularly useful for smoother textures or getting rid of harsh color borders that may form.
-
-
- Picture 2: A line with no antialiasing compared to a line with antialiasing applied to it.
-
- Picture 3: Example of antialiasing used in a texture featured in Classic Faithful.
-
- - Dithering is where pixels of a color border are displaced in such a way that said border is no longer as sharply defined and has parts protruding in and out of the other color. Places where these can be used will be explained further in the material reference list, however in most cases using it gives it an overly noisy or sharp appearance which isn't desirable most of the time.
-
Dithering can be done in multiple ways:
-
-
- - Checkerboard dithering (also known as simply "checkerboarding") is not recommended in most cases, because it is too repetitive and usually doesn't fit the material. Special cases include chainmail and some particle effects. It looks, exactly as you'd expect, like a checkerboard of two colors.
-
-
- Picture 4: Checkerboard dithering used as a transition between two colors.
-
- - Regular dithering (sometimes called "conventional dithering" or simply "dithering") consists of displacing pixels around the color border in such a way that little to no checkerboarding is created. These displaced pixels may look random, but oftentimes are cleverly laid out to avoid visual issues. Displaced pixels are usually a single pixel or sometimes a small cluster, but regular dithering should never convey any sense of directionality.
-
-
- Picture 5: Examples of regular dithering being used on certain materials.
-
- - Linear dithering (LD) is exactly like regular dithering, but the displaced pixels are longer and face in a particular direction, as if regular dithering was stretched. This gives a streaky look to the texture in question, which is particularly useful for refined wood textures and certain types of stone.
-
-
- Picture 6: Examples of linear dithering in wood and stone textures.
-
-
- Do note that these methods can be mixed and matched in certain amounts to get a material looking as it should.
- - Color banding describes the phenomenon of noticeable stripes of a single color appearing as a result of using multiple colors for a transition. This goes hand in hand with having no blending methods being employed, and just like using no blending it has a flat look which is generally undesirable. This can be prevented in many ways, such as through the usage of added colors, antialiasing, or simply reducing the amount or size of bands.
-
-
- Picture 7: Left: An example of noticeable color banding. Right: Most of the color banding removed.
-
-
- - Upscaling (a texture) refers to redrawing a vanilla resolution texture in a higher resolution (32x or 64x) according to these guidelines. In other contexts, it can refer to an image whose resolution has been increased. For example, all 1x1 pixels become 2x2 color areas using an image editing program, which is usually referred to as "nearest-neighbor" upscaling. There are other types of automatic upscaling (usually referred to as AI upscaling, despite having nothing to do with an AI) which can have varying levels of success such as bilinear and rotsprite. However, upscaling by hand will almost always look the best.
-
-
- Picture 8: Left: The vanilla 16x texture. Right: A 32x upscale of said texture.
-
- - Limiting palettes (LP), indexing textures, or color quantizing are names for the concept of reducing the amount of colors in a texture to only the necessary shades. This can either be done by hand or automatically using a program like GIMP or Aseprite. Limited palette textures generally have colors reused throughout the texture and noticeable color transitions, as opposed to a blurry texture where color transitions are fuzzy and hard to make out or noisy textures which will be covered directly below.
-
-
- Picture 9: Left: A "limited palette" texture. Center: A blurry texture. Right: A noisy texture.
-
- - Noise, as opposed to limited palette is a filter which randomly brightens and darkens pixels to give a grainer look, oftentimes used by novice pixel artists. In other contexts, it can mean a texture with no "definition", in that the detail has no meaning and is just a jumble of randomly placed pixels with no thought or reasoning behind them, oftentimes on materials that make no sense to be noisy.
-
-
- Picture 10: Left: A "noisy" texture with an excessively large palette. Right: A "noisy" texture with no definition and just a random mess of pixels.
-
- - Jasper "JAPPA" Boerstra is the current art director for Minecraft, formerly working on the game's art from 2017 to 2022. In addition, he was mostly responsible for the 1.14 texture update.
-
- - Programmer art (often colloquially referred to as "progart" or "PA") is an umbrella term that describes the textures and the general art style used in Minecraft before version 1.14 (except all of the new textures that were added in 1.13). These weren't made by Jappa, or any real artist, but by the developers of the game. Note that this term wasn't coined by Mojang, and outside of the Minecraft resource pack community it refers to placeholder visuals usually created by the programmers as placeholders for new features, which is what the pre-1.14 textures basically are, since many of the widely used ones were originally made by Notch in paint.net within a span of minutes.
-
- - Jappa textures directly oppose Programmer Art. They were made by dedicated pixel artists like Jappa and they have a consistent art style. They are featured in all versions after 1.14 inclusive.
-
-
- Picture 11: Left: Programmer art oak planks. Right: Jappa's oak planks.
-
- - Vattic is the original creator of the Faithful 32x32 texture pack in 2010. In the following years, the pack exploded in popularity, but in 2016, Vattic disappeared from the internet following some unfortunate IRL circumstances, leaving his pack discontinued at the peak of its popularity. After being found again in 2020, he authorized the Faithful project to continue the pack officially. Classic Faithful is built on upscaling textures based on Vattic's original principles, and to emulate his original style with both the new, Jappa textures and updating legacy versions of the pack with later programmer art textures. All of Vattic's original art can be found unmodified in the Wayback Archive.
-
- - False lines are the occurrence of several elements and/or color areas of a texture lining up in such a way that they create an illusion of a straight line, even when there is none in reality.
-
-
- Picture 12: An example of false lines.
-
- - Mixels describe pixels of clashing resolutions, for example if a texture uses 1x1 pixels and the other uses 2x2 pixels extensively, that would be considered mixels.
-
-
- Picture 13: Example of mixels in a texture.
-
- - Contrast is a method of classifying a certain color palette. High contrast means that the colors look very different from each other, and low contrast means the colors look very similar to each other. In more technical terms, it's the distance from each color on the wheel, usually in brightness, but sometimes with a mix of saturation and hue differences as well.
-
-
- Picture 14: Left: Example of a texture with low contrast. Right: The same texture with higher contrast.
-
- - Depth shading is an extremely versatile method of shading two or more pixel wide lines which can be employed in a multitude of scenarios. Essentially, one shades a thicker line to make one side lighter and one side darker, using some form of added color, or color from elsewhere in the texture. Depending on the material, the added color will either be lighter or darker than the base color, and this will go into more detail in the material reference list. While this term was initially used just for gaps, it has expanded over time to include any two pixel wide line that you want to shade in this method, including highlights and ridges.
-
-
- Picture 15: Examples of depth shading on gaps and highlights.
-
- - Stairing is a method of making lines and curves, where each pixel moved up or down in the line is joined back to the previous one. This generally does not look the best in large amounts, and should be avoided in excess. However, it can be used in conjunction with thinner and thicker lines to give more natural gaps or lines to various textures.
-
-
- Picture 16: Left: An example of stairing being overused on a texture. Right: Stairing being used in small amounts alongside thicker and thinner lines.
-
-
-## Part 2: General Rules and Tips
+*Classic Faithful was made as a tribute to the original creator of the Faithful 32x32 resource pack, Vattic, and to all his hard work to build the Faithful community to what it is now, all the way back when it was just one person running everything.*
+
+*Initially named "Emulated Vattic Textures", or "EM" for short, the pack was designed to fix the stylistic shift that came under the leadership of Kraineff and later the Compliance / Faithful Administration. The main Faithful pack's art direction shifted to something quite different to the original work Vattic had made, opting instead for a much more detailed, modern style to go along with the new textures the texture artist Jappa had made starting versions 1.14 inclusive. However, this style completely replaced the old one with no real alternative for those who preferred the old style. This is where we come in, as the spiritual successor to Vattic's Faithful, maintaining the original style of the packs.*
+
+*However, contributions ended up being few and far between even though the project was intended to be community run and managed similarly to the main Faithful packs. This was both due to the project never being the main focus of Faithful, and the rapidly increasing and changing standards deterring anyone who wanted to try. Contributors had to walk the very tight line of achieving the same look and feel of Vattic's original work while maintaining Jappa's newer ideologies more reminiscent of traditional pixel art, which was no easy feat. As well as this, when a programmer art variant was started later on, contributors had to learn how to deal with excessive palette sizes and a number of other issues that plagued the original textures, while also upscaling using Vattic methods. All of this contributed to the project always being somewhat inactive and usually one to two people doing all the work for any given pack.*
+
+*These guidelines are designed to formalize the unspoken procedures that were formed over time to recreate Vattic's style today, and to lay down some actual instructions for any aspiring artists rather than vague advice that rarely works.*
+
+*With all of that being said, let's start with the basics.*
+
+::: tip
+Many texturing and Faithful-specific terms are referred to throughout these guidelines. Make sure to read the [Faithful Texturing Glossary](/pages/textures/glossary) if you run into any terminology you're unfamiliar with.
+:::
+
+## Part 1: General Rules and Tips
### **Rules**
These requirements apply to all textures unless specified otherwise and must all be met for a texture to be considered viable for Classic Faithful.
-
- - Textures need to follow vanilla Minecraft textures whenever possible. This should go without saying, but textures have to keep the same proportions, general coloration, and representation as vanilla. A good rule of thumb is to check how the texture looks from far away compared with vanilla; the less difference, the better.
-
-
- Picture 17: Right: A texture with vanilla color placement, proportions, and overall structure. Left: Its vanilla counterpart.
-
- - When applicable, always reference Vattic's art. Another self explanatory one given the entire purpose of the pack. If the texture has a programmer art equivalent, or just generally fits into a similar material as one, always reference Vattic's original art when drawing textures. Not only does it make texturing much easier, but it also helps keep the stylistic cohesion of looking like Vattic's original Faithful 32x32.
-
-
- Picture 18: Left: Vattic's bricks. Right: Its Jappa equivalent.
-
- - With detailing, less is more. Don’t overdo dithering or antialiasing, use the minimal amount of detail to keep textures from looking flat or ugly. Always ask yourself "could Jappa have done this in a 16x canvas" before adding additional detail; if large details are not present in vanilla there's probably a reason for it. If something genuinely could not fit in the vanilla texture and makes no sense to not add, such as gravel not containing actual rocks, then it can be acceptable to add. However, always get feedback before changing anything noticeable about any texture.
-
-
- Picture 19: Left: A texture with just enough detail. Right: An overdetailed texture.
-
- - Don't overly change the vanilla palette. Adding in-between colors is encouraged to eliminate a "plasticky" flat look, but don't overdo it by making the texture completely nonvanilla or blurry. Generally, between one and three added colors should suffice, and oftentimes none are even necessary to begin with. As well as this, ensure that the darkest and lightest colors of the texture are untouched to avoid the overall contrast being significantly altered; any added colors should just be used to blend contrasty and/or flat areas rather than create nonvanilla contrast in the palette. Another thing to note is to never change any already existing colors in a texture, only add to them. There are certain specific exceptions to this rule which will be covered later on.
-
-
- Picture 20: Left: Vanilla texture. Center: Unnecessary use of added colors. Right: Constructive use of added colors.
-
- - When making item textures, thin out the borders to one pixel wide. Pretty much exactly what it sounds like; two pixel wide outlines for items in 32x almost always look disproportionate and bloated. If the texture doesn't have a clear outline or the vanilla texture itself doesn't use a one pixel wide outline, then it can be acceptable to use more than one pixel, but nearly all of the time you should be thinning them out.
-
-
- Picture 21: Left: Examples of textures with two pixel wide outlines. Right: Textures with one pixel wide outlines.
-
- - If a vanilla texture references an outdated texture, use the outdated texture as a base in the Classic Faithful counterpart. Examples of this include the observer top using an outdated furnace base, the end crystal using an outdated bedrock texture, and smooth stone using an outdated stone texture.
-
- - If a texture uses another texture as a base, use the already existing Classic Faithful rendition of it, if available. An example of this would be planks and the crafting table. Don't make planks from scratch just for the crafting table texture, as not only would this cause inconsistencies if the two are used in conjunction, but it would also waste a lot of effort.
-
-
- Picture 22: A texture that directly references another. Note the identical plank background on the crafting table.
-
- - Don't upscale useless textures. If a texture would end up looking identical to vanilla when upscaled, is unused, or is already so high resolution that there's no real need to upscale it, then just don't do it. It just bloats the file size of the pack and wastes your effort, pretty self explanatory.
-
+
+
+1. **Textures need to follow vanilla Minecraft textures whenever possible.** This should go without saying, but textures have to keep the same proportions, general coloration, and representation as vanilla. A good rule of thumb is to check how the texture looks from far away compared with vanilla; the less difference, the better.
+
+
+Right: A texture with vanilla color placement, proportions, and overall structure. Left: Its vanilla counterpart.
+
+
+
+2. **When applicable, always reference [Vattic's art](https://web.archive.org/web/20170630235514/faithful32x32.com/dl/faithful32pack.zip/).** Another self explanatory one given the entire purpose of the pack. If the texture has a programmer art equivalent, or just generally fits into a similar material as one, always reference Vattic's original art when drawing textures. Not only does it make texturing much easier, but it also helps keep the stylistic cohesion of looking like Vattic's original Faithful 32x32.
+
+
+Left: Vattic's bricks. Right: Its Jappa equivalent.
+
+
+
+3. **With detailing, less is more.** Don’t overdo dithering or antialiasing, instead use the minimal amount of detail to keep textures from looking flat or ugly. Always ask yourself "could Jappa have done this in a 16x canvas" before adding additional detail; if large details are not present in vanilla there's probably a reason for it. If something genuinely could not fit in the vanilla texture and makes no sense to not add, such as gravel not containing actual rocks, then it can be acceptable to add. However, always get feedback before changing anything noticeable about any texture.
+
+
+Left: A texture with just enough detail. Right: An overdetailed texture.
+
+
+
+4. **Don't overly change the vanilla palette.** Adding in-between colors is encouraged to eliminate a "plasticky" flat look, but don't overdo it by making the texture completely nonvanilla or blurry. Generally, between one and three added colors should suffice, and oftentimes none are even necessary to begin with. As well as this, ensure that the darkest and lightest colors of the texture are untouched to avoid the overall contrast being significantly altered; any added colors should just be used to blend contrasty and/or flat areas rather than create nonvanilla contrast in the palette. Another thing to note is to never change any already existing colors in a texture, only add to them. There are certain specific exceptions to this rule which will be covered later on.
+
+
+Left: Vanilla texture. Center: Unnecessary use of added colors. Right: Constructive use of added colors.
+
+
+
+5. **When making item textures, thin out the borders to one pixel wide.** Pretty much exactly what it sounds like; two pixel wide outlines for items in 32x almost always look disproportionate and bloated. If the texture doesn't have a clear outline or the vanilla texture itself doesn't use a one pixel wide outline, then it can be acceptable to use more than one pixel, but nearly all of the time you should be thinning them out.
+
+
+Left: Examples of textures with two pixel wide outlines. Right: Textures with one pixel wide outlines.
+
+
+
+6. **If a vanilla texture references an outdated texture, use the outdated texture as a base in the Classic Faithful counterpart.** Examples of this include the observer top using an outdated furnace base, the end crystal using an outdated bedrock texture, and smooth stone using an outdated stone texture.
+
+
+
+7. **If a texture uses another texture as a base, use the already existing Classic Faithful rendition of it, if available.** An example of this would be planks and the crafting table. Don't make planks from scratch just for the crafting table texture, as not only would this cause inconsistencies if the two are used in conjunction, but it would also waste a lot of effort.
+
+
+A texture that directly references another. Note the identical plank background on the crafting table.
+
+
+
+8. **Don't upscale useless textures.** If a texture would end up looking identical to vanilla when upscaled, is unused, or is already so high resolution that there's no real need to upscale it, then just don't do it. It just bloats the file size of the pack and wastes your effort, pretty self explanatory.
### **Tips**
These are less specific ways to improve your textures, and unlike rules can be subject to interpretation.
-
- - Mob faces can be difficult to interpret. If making eyes, try to blend the corner of the eye into the next color over using an added color. This can be seen on a number of mob textures, as Vattic employed this method a lot. Try to upscale other features unless you cannot make it work (or it creates your new sleep paralysis demon), in which case leaving it the same as default is fine (a "mixel" face).
-
-
- Picture 23: Left and center: Examples of "demixelled" mob faces. Right: A hard to interpret face left as mixels.
-
- - Smooth jagged lines whenever possible. When upscaling lines and curves in a texture, you have to ensure jagged or lumpy edges (oftentimes referred to as "jaggies") do not form. Essentially, you want to ensure differing lengths of pixels within the curve don't alternate or repeat, rather curving it in a more natural way where the lengths of each section get longer or shorter consistently.
-
-
- Picture 24: Left: Examples of jagged edges and curves. Right: Examples of smooth edges and curves.
-
- - Don't overuse undetailed two pixel wide lines. Not only does it look mixelly or incomplete which is undesired, but it also makes the texture look flat. The best way to upscale these types of textures would be to add a color or use an existing color to depth shade the block to eliminate these straight two pixel wide lines, or to simply reduce the width of the band if necessary.
-
-
- Picture 25: Left: Improper interpretation of textures. Right: Utilizing the larger canvas size to remove unnecessarily thick lines.
-
- - Cross reference other similar textures. This is one of the most important tips to make textures look like they fit in the pack in the first place. You don't just have to reference Vattic's art, but other pre-existing Classic Faithful textures as well. More information about how to shade specific materials can be found below, but this tip in particular will not only help you improve at getting the general style of Classic Faithful down, but improve at pixel art in general over time.
-
-
-**And most importantly,** **_always get feedback from others while upscaling a texture!_** **It will help you improve in ways you wouldn't even have thought of.**
-
-## Part 3: Material Reference List
+
+
+1. **Mob faces** can be difficult to interpret. If making eyes, try to blend the corner of the eye into the next color over using an added color. This can be seen on a number of mob textures, as Vattic employed this method a lot. Try to upscale other features unless you cannot make it work (or it creates your new sleep paralysis demon), in which case leaving it the same as default is fine (a "mixel" face).
+
+
+Left and center: Examples of "demixelled" mob faces. Right: A hard to interpret face left as mixels.
+
+
+
+2. **Smooth jagged lines whenever possible.** When upscaling lines and curves in a texture, you have to ensure jagged or lumpy edges (oftentimes referred to as "jaggies") do not form. Essentially, you want to ensure differing lengths of pixels within the curve don't alternate or repeat, rather curving it in a more natural way where the lengths of each section get longer or shorter consistently.
+
+
+Left: Examples of jagged edges and curves. Right: Examples of smooth edges and curves.
+
+
+
+3. **Don't overuse undetailed two pixel wide lines.** Not only does it look mixelly or incomplete which is undesired, but it also makes the texture look flat. The best way to upscale these types of textures would be to add a color or use an existing color to depth shade the block to eliminate these straight two pixel wide lines, or to simply reduce the width of the band if necessary.
+
+
+Left: Improper interpretation of textures. Right: Utilizing the larger canvas size to remove unnecessarily thick lines.
+
+
+
+4. **Cross reference other similar textures.** This is one of the most important tips to make textures look like they fit in the pack in the first place. You don't just have to reference Vattic's art, but other pre-existing Classic Faithful textures as well. More information about how to shade specific materials can be found below, but this tip in particular will not only help you improve at getting the general style of Classic Faithful down, but improve at pixel art in general over time.
+
+::: tip And most importantly...
+Always get feedback from others while drawing a texture! It will help you improve in ways you wouldn’t even have thought of.
+:::
+
+## Part 2: Material Reference List
+
This section goes into detail about how to shade materials that you shouldn't shade in the "normal" way. If a material is not on this list, refer to the first entry.
**Conventional/normal/painted upscaling** (used for basically everything not on this list) has no real special or unique way to shade these textures. Simply upscale them normally by smoothening out curves and shapes, taper off any lines and defined structures, add antialiasing and added colors to remove flat areas if and where needed, and keep stylistic cohesion present wherever possible by cross referencing existing textures as much as possible.
-
-Picture 26: Examples of conventionally upscaled blocks.
+
+Examples of conventionally upscaled blocks.
**Gem and metal blocks** should be upscaled through a normal pass, and similar to the shading on large bricks if there are defined gaps and highlights, blend them. Added color usage is also encouraged to accurately portray a shiny material. For gaps, depth shade them by adding a lighter color(s) rather than a darker one, to give the texture an almost "glowy" look..
-
-Picture 27: Examples of gem and metal blocks. Note the heavy usage of added colors and blended gaps.
+
+Examples of gem and metal blocks. Note the heavy usage of added colors and blended gaps.
**Contiguous stones** that are not broken up into defined shapes should not have any added colors, and should be upscaled in a highly "painted" style, meaning that blobs of color shouldn't have definition added to them where none exists, and it should be upscaled in a very literal sense of being closer to a simple "demixelling" pass. However, avoiding jagged edges and keeping stylistic cohesion present with the rest of the textures is still important.
-
-Picture 28: Examples of contiguous stone textures. Note the lack of added detail and the plasticky look.
+
+Examples of contiguous stone textures. Note the lack of added detail and the plasticky look.
**Rocky materials with distinct stones** should first use added colors to define what is a rock and what is a gap before doing anything else. After this, upscale normally while ensuring that the gaps and the rocks are visibly separated and don't overly blend into each other using added colors. Always shape based on the rocks, and the gaps will follow based on the rocks and look natural as a result. Otherwise, the rocks won't look anything like rocks!
-
-Picture 29: Examples of textures with distinct rocks. Note the visible separation of the rounded rocks and gaps through added colors, particularly in comparison to their vanilla counterparts.
+
+Examples of textures with distinct rocks. Note the visible separation of the rounded rocks and gaps through added colors, particularly in comparison to their vanilla counterparts.
**Small bricks and tiles** should thin out the gaps to one pixel wide in the direction that looks best, and be upscaled normally from there. If the bricks have highlights or shadows, thin those out as well to one pixel wide. If the texture ends up looking flat due to the larger brick size after thinning out the gaps and highlights, added colors and even dithering sometimes may be helpful depending on the texture.
-
-Picture 30: Examples of small bricks and tiles. Note the one pixel wide gaps/highlights and slight usage of dithering.
+
+Examples of small bricks and tiles. Note the one pixel wide gaps/highlights and slight usage of dithering.
**Large bricks (and polished stones in certain situations)** should leave the gaps, highlights, and shadows two pixels wide, and be upscaled normally from there. Depth shade the gaps and highlights, and for the gaps add a darker color as opposed to gems which add a lighter color. This helps give the gaps a 3d effect and makes the gaps a lot less flat and "AI upscaled" looking. If the bricks have a linear pattern, small amounts of linear dithering may also be helpful.
-
-Picture 31: Examples of larger bricks and polished stones. Note the usage of two pixel wide blended gaps, small amounts of linear dithering, but the overall painted look.
+
+Examples of larger bricks and polished stones. Note the usage of two pixel wide blended gaps, small amounts of linear dithering, but the overall painted look.
**Polished stone/wood** are the same as large bricks, only with the interior of the texture being tiled and the obvious tiling repetitions removed. However, only do this if it looks good, otherwise refer to the entry of large bricks if it has a "noisy" or nonvanilla appearance which is undesirable.
-
-Picture 32: Examples of polished stone and wood blocks. Note how the detail looks tiled and much more fine compared to vanilla, and the usage of two pixel wide blended gaps.
+
+Examples of polished stone and wood blocks. Note how the detail looks tiled and much more fine compared to vanilla, and the usage of two pixel wide blended gaps.
**Tree bark and mushroom stems** should have heavy amounts of antialiasing in the direction the texture goes added manually using added colors. This is primarily done to preserve the aesthetic of Vattic's original logs, which had an extremely glossy, almost motion blurred appearance and had no real reasoning for being so.
-
-Picture 33: Examples of heavily motion blurred logs. Note the usage of added colors going in the direction of the texture's linearity.
+
+Examples of heavily motion blurred logs. Note the usage of added colors going in the direction of the texture's linearity.
**Planks and other refined wood** should be upscaled with a lot of linear dithering and small amounts of antialiasing, to accurately portray a wood grain material. A method of doing this which is useful for planks involves stretching the vanilla texture, tiling it downwards, and fixing any awkward areas. Alternatively, if this method does not work well, simply extend out the detail to portray a linear look. Do not add colors unless absolutely necessary, and preserve default's contrast where possible.
-
-Picture 34: Examples of refined wood. Note the detailed and linear look.
+
+Examples of refined wood. Note the detailed and linear look.
**Leaves and larger plants** can use small amounts of dithering on the branches mixed in with a slightly increased usage of antialiasing and/or added colors. With thicker plants like cacti or bamboo, don't use any dithering and upscale conventionally.
-
-Picture 35: Examples of larger plants. Note the lack of any blending method on stalks and stems.
+
+Examples of larger plants. Note the lack of any blending method on stalks and stems.
**Flowers and other foliage** can use dithering more heavily than leaves or stalks. Similar to rocky stones, ensure that flowers have a defined shape and don't overly blend into the stems or leaves, and depending on the flower type either dither or antialias. For plant stems, antialias heavily and thin them out. Vines should be evenly conventionally dithered throughout the entire texture, and use heavy amounts of antialiasing in addition.
-
-Picture 36: Examples of general foliage. Note the usage of dithering on the vines and on certain flowers, and how the flower stems were thinned out.
+
+Examples of general foliage. Note the usage of dithering on the vines and on certain flowers, and how the flower stems were thinned out.
**Grassy textures and certain fungi** should use a "jumble" or "scramble" filter if your editing program has that, with a few edits to fix mixels and other visual issues. If it doesn't, manually dither it to give it a coarse texture. Keep the palette as close to vanilla as possible to preserve the contrast, sometimes you may want to use additional effects and index it back to the vanilla palette.
-
-Picture 37: Examples of grassy textures. Note the usage of patchy dithering.
+
+Examples of grassy textures. Note the usage of patchy dithering.
**Sand and other powdery materials** should tile the block in a 2x2 grid, then cut out random sections and rotate and/or flip them randomly to remove repetitions that stops the texture from looking just tiled on its own.
-
-Picture 38: Examples of powdery materials. Note the fine detail and how it looks almost tiled but isn't.
+
+Examples of powdery materials. Note the fine detail and how it looks almost tiled but isn't.
**Sandstone** should have large amounts of dithering present, a jumble tool may also suffice if necessary. Thin out natural gaps a lot more than otherwise, to give a more slate-like appearance. For more refined textures such as cut or chiseled sandstone antialiasing can also be used to properly convey smoothness.
-
-Picture 39: Examples of sandstone textures. Note the heavy usage of dithering, and heavy usage of antialiasing on polished blocks.
+
+Examples of sandstone textures. Note the heavy usage of dithering, and heavy usage of antialiasing on polished blocks.
**Prismarine** should use added colors and antialiasing excessively to convey a smooth, shiny material. Thin out and curve highlights, and reduce gaps to one pixel wide.
-
-Picture 40: Examples of prismarine textures. Note the heavy reliance on antialiasing to prevent flatness, and the one pixel wide gaps and highlights.
+
+Examples of prismarine textures. Note the heavy reliance on antialiasing to prevent flatness, and the one pixel wide gaps and highlights.
**Contrasty dirt and stone textures** should soften the colors by using a translucent layer of the midtone color or manually editing the contrasty colors, and tile vanilla 16x on top of the texture at a low opacity using another different layer. However, only do this if the texture is particularly contrasty and the vanilla palette doesn't look good in any way even with added colors, as this method can add a lot of unnecessary colors and should be used as a last resort.
-
-Picture 41: Examples of contrasty dirt and stone textures. Note the noisy look.
+
+Examples of contrasty dirt and stone textures. Note the noisy look.
**Icy and glassy textures** should use antialiasing excessively. For items in particular, added colors should be used to properly convey a smooth surface. For textures with an obvious diagonal shine, thin out the shine marks and use antialiasing in the direction of the the marks to convey a streaky look, almost like diagonal linear dithering.
-
-Picture 42: Examples of glassy and icy blocks. Note the usage of antialiasing and added colors.
+
+Examples of glassy and icy blocks. Note the usage of antialiasing and added colors.
**Fur and fabric** should avoid false lines forming at all costs, which is very easy to happen given the spiky nature of these materials. Upscale it normally, and try to avoid having lines every two pixels from 16x by thickening and thinning out some of the spikes on the texture. Generally, the farther from the base color a spike gets, the thinner it should be. This creates a more natural effect and stops it from looking mindlessly upscaled.
-
-Picture 43: Examples of fabric and fur textures. Note the heavy usage of tapering lines and spikes.
+
+Examples of fabric and fur textures. Note the heavy usage of tapering lines and spikes.
**Doors and trapdoors** should be upscaled like what they are made of. However, doors should always use one pixel wide borders, while trapdoors can use two pixel wide blended outlines for the outer border. This discrepancy is due to Vattic's original wooden door and trapdoor having this inconsistency present.
-
-Picture 44: Examples of doors and trapdoors. Note the usage of depth shading on the trapdoors and one pixel wide lines on the doors.
+
+Examples of doors and trapdoors. Note the usage of depth shading on the trapdoors and one pixel wide lines on the doors.
-
+::: tip And above all...
+Always reference [Vattic's art](https://web.archive.org/web/20170630235514/faithful32x32.com/dl/faithful32pack.zip/) or other similar textures if possible first. _Use these material guidelines only if there is no good reference point or equivalent!_
+:::
-**And above all, always reference [Vattic's art](https://web.archive.org/web/20170630235514/faithful32x32.com/dl/faithful32pack.zip/) or other similar textures if possible first.** **_Use these material guidelines only if there is no good reference point or equivalent!_**
-
-## Part 4: About Classic Faithful 32x PA
+## Part 3: About Classic Faithful 32x PA
These guidelines have been heavily focused on the 32x Jappa pack. However, the Classic Faithful 32x Programmer Art pack follows a similar enough style and logic to not merit an entirely separate doc.
@@ -339,70 +266,81 @@ While vanilla programmer art is deprecated and no longer updated, therefore lead
Even though newer Jappa textures have a distinct style from programmer art, the exact way a developer would have gone about making a certain texture can't ever be known for sure, and it is not up to us to interpret. The aforementioned nylium and netherrack issue has a clear solution, to replace the Jappa netherrack with programmer art netherrack. However, a texture like blackstone has no clear programmer art equivalent, and as such shouldn't be touched and reuse the Jappa texture.
-
-Picture 45: Left: Nylium, an example of a texture that should be "progartified" to fix an obvious oversight in the vanilla programmer art resource pack. Right: Blackstone, an example of a texture with no clear programmer art equivalent and as such should not be changed from its Jappa base.
+
+Left: Nylium, an example of a texture that should be "progartified" to fix an obvious oversight in the vanilla programmer art resource pack. Right: Blackstone, an example of a texture with no clear programmer art equivalent and as such should not be changed from its Jappa base.
That being said, here's a section to help upscale any of the most different aspects of programmer art and Jappa art.
-## Part 5: Upscaling Noise and Blurriness
+## Part 4: Upscaling Noise and Blurriness
This is a very useful skill for anyone interested in programmer art to learn, and an essential for working on Classic Faithful 32x PA. Programmer art palette sizes oftentimes make conventional upscaling near-impossible by hand, and cutting corners is usually necessary to produce textures in a timely manner. These types of textures are also generally exceptions to the palette rule, in that you can add a significant number of colors, as color counts weren't really considered during the creation of vanilla programmer art textures.
### **Noisy Textures**
+
Noise is usually present on textures because they are an original, programmer art texture, or are placeholder visuals for a snapshot texture. The reason for noise in textures is generally due to a programmer having no idea how to properly draw pixel art and hiding whatever they made behind a mess of darker and lighter pixels to make it harder to see.
-
- - Tiling with edits works very well if the texture is powdery or grainy, particularly when the texture is too chaotic and noisy to do it by hand. However, the most important part is to edit the texture after it's been tiled, or tiling repetitions will occur and it won't look good as a result.
-
-
- Picture 46: Left: The default texture. Center: The default texture tiled in a 2x2 grid. Right: Tiling repetitions removed.
-
- - Jumbling, sometimes also called "scrambling", "diffuse", or just "randomize", is a method of automatically upscaling textures with a lot of noise, which you may recall is how you should be upscaling grassy textures. Essentially, it gets demixelled by shuffling the pixels around randomly near, meaning that color placement stays similar to default. However, this method has a very rough and almost patchy look and not all materials will support it.
-
-
- Picture 47: Examples of texture upscaling via jumbling.
-
- - Tiled detail, which contrasty stone and dirt textures also use, however just without the contrast reduction. After doing a cursory upscale, likely using another method on this list such as bilinear or indexing, tile the same vanilla 16x texture you're upscaling on top of the texture at a low opacity using a different layer. This works best on dirty or very detailed textures however, as it has a very grainy appearance, similar to jumbling but even more detailed.
-
-
- Picture 48: Left: An automatically upscaled base. Center: The vanilla texture tiled. Right: The two overlaid on top of each other.
-
- - Softening is effectively the opposite effect of tiled detail, in that rather than making it more contrasty and grainy, it makes it less so. Basically, rather than tiling default on top you put a heavily blurred version of the texture on top at a very low opacity, decreasing the contrast on the colors and softening the overall texture to look less sharp.
-
-
- Picture 49: Left: A base upscale. Center: The base upscale blurred. Right: The two overlaid on top of each other.
-
- - Indexing and re-adding noise is a method where you index the palette down to a more reasonable size, upscale like normal or however the material should be shaded, then adding noise back and approximating the palette to something similar to what it originally was. On textures with defined gaps or other visible structures this is oftentimes the most viable option.
-
-
- Picture 50: Top right: The default vanilla texture. Top left: Indexed down to essential colors. Bottom Left: An upscale of the indexed version. Bottom right: Added noise back in, finished version.
-
- - Natively upscaling is pretty much exactly what it sounds like, and by far the most difficult on this list. Simply upscale the texture as usual, while keeping the noise present and avoiding mixelly areas.
-
-
-
-**Many of the techniques listed here can work in conjunction with each other. You can even crop out certain areas of a texture and upscale them separately, effectively isolating areas of a texture from each other to make palette sizes more manageable and localized.**
+
+
+1. **Tiling with edits** works very well if the texture is powdery or grainy, particularly when the texture is too chaotic and noisy to do it by hand. However, the most important part is to edit the texture after it's been tiled, or tiling repetitions will occur and it won't look good as a result.
+
+
+Left: The default texture. Center: The default texture tiled in a 2x2 grid. Right: Tiling repetitions removed.
+
+
+
+2. **Jumbling**, sometimes also called "scrambling", "diffuse", or just "randomize", is a method of automatically upscaling textures with a lot of noise, which you may recall is how you should be upscaling grassy textures. Essentially, it gets demixelled by shuffling the pixels around randomly near, meaning that color placement stays similar to default. However, this method has a very rough and almost patchy look and not all materials will support it.
+
+
+Examples of texture upscaling via jumbling.
+
+
+
+3. **Tiled detail**, which contrasty stone and dirt textures also use, however just without the contrast reduction. After doing a cursory upscale, likely using another method on this list such as bilinear or indexing, tile the same vanilla 16x texture you're upscaling on top of the texture at a low opacity using a different layer. This works best on dirty or very detailed textures however, as it has a very grainy appearance, similar to jumbling but even more detailed.
+
+
+Left: An automatically upscaled base. Center: The vanilla texture tiled. Right: The two overlaid on top of each other.
+
+
+
+4. **Softening** is effectively the opposite effect of tiled detail, in that rather than making it more contrasty and grainy, it makes it less so. Basically, rather than tiling default on top you put a heavily blurred version of the texture on top at a very low opacity, decreasing the contrast on the colors and softening the overall texture to look less sharp.
+
+
+Left: A base upscale. Center: The base upscale blurred. Right: The two overlaid on top of each other.
+
+
+
+5. **Indexing and re-adding noise** is a method where you index the palette down to a more reasonable size, upscale like normal or however the material should be shaded, then adding noise back and approximating the palette to something similar to what it originally was. On textures with defined gaps or other visible structures this is oftentimes the most viable option.
+
+
+Top right: The default vanilla texture. Top left: Indexed down to essential colors. Bottom Left: An upscale of the indexed version. Bottom right: Added noise back in, finished version.
+
+
+
+6. **Natively upscaling** is pretty much exactly what it sounds like, and by far the most difficult on this list. Simply upscale the texture as usual, while keeping the noise present and avoiding mixelly areas.
+
+::: tip
+Many of the techniques listed here can work in conjunction with each other. You can even crop out certain areas of a texture and upscale them separately, effectively isolating areas of a texture from each other to make palette sizes more manageable and localized.
+:::
### **Blurry Textures**
+
The majority of additional techniques for upscaling blurry textures are shared with noise.
-
- - Automatic upscaling, such as a bilinear or bicubic upscaling filter rather than nearest neighbor and doing it by hand can oftentimes do the trick. As it tends to add a lot of additional transition tones, it fits blurry textures very well.
-
-
- Picture 51: Left: The programmer art bone block. Right: A bilinear upscale of said bone block.
-
+
+
+1. **Automatic upscaling**, such as a bilinear or bicubic upscaling filter rather than nearest neighbor and doing it by hand can oftentimes do the trick. As it tends to add a lot of additional transition tones, it fits blurry textures very well.
+
+
+Left: The programmer art bone block. Right: A bilinear upscale of said bone block.
+
## Conclusion
-
- Well, you did it and got through the whole thing. You should hopefully now have an actual idea of what Classic Faithful looks like and how it's done behind the scenes. If you have any questions or want something changed, make sure to let us know on our Discord Server.
-
+*Well, you did it and got through the whole thing. You should hopefully now have an actual idea of what Classic Faithful looks like and how it's done behind the scenes. If you have any questions or want something changed, make sure to let us know on our [Discord Server](https://discord.gg/KSEhCVtg4J).*
## Credits go to…
-
- The Faithful 32x guidelines by Pomi108, which this document took heavy inspiration and sections from.
-
Written by Evorp.
-
Edits by ZapPack.
-
Images by various Classic Faithful contributors and Mojang Studios.
-
+
+- The [Faithful 32x guidelines](/pages/textures/f32-texturing-guidelines) by [Pomi108](https://github.com/Pomi108), which this document drew heavy inspiration from.
+- Written by [Evorp](https://github.com/3vorp).
+- Edits by [ZapPack](https://www.twitch.tv/zappack_).
+- Images by various Classic Faithful contributors and Mojang Studios.
diff --git a/pages/textures/f32-texturing-guidelines.md b/pages/textures/f32-texturing-guidelines.md
index c6732c3..f8e43d2 100644
--- a/pages/textures/f32-texturing-guidelines.md
+++ b/pages/textures/f32-texturing-guidelines.md
@@ -8,267 +8,216 @@ date: "2022-03-19"
## Introduction
-
- Faithful was meant to be a love letter to the artists that created the world of Minecraft. In doing a default style resource pack such as this, we pay respect to the art by following the design philosophies made by JAPPA in order to maintain Faithful.
- But since the pack was premised primarily on community contributions, the risk of inconsistency in the art loomed over us. We figured that with a set of rules or guidelines, these inconsistencies could be reduced and allow the pack to flourish.
- Initially, we tried to have minimal, ambiguous guidelines so as to not limit people’s creativity too much, in the hopes that artists would stick to approximately the same style. This proved to be too optimistic, and as the pack expanded, textures with increasing degrees of stylistic variety were added, hindering the overall consistency of the pack.
-
Whenever a texture that was borderline rule-breaking was made, it always led to controversy and a huge debate that would drag on for hours, and would never come to a clear conclusion.
-
The truth is, nobody really expressed a clear enough idea on what the pack’s style should be, nor were the preceding guidelines ever enforced heavily.
-
These new rules and guidelines aim to fix all of these problems, and will try to outline Faithful's stylistic direction with as much attention to detail and as much clarity as possible.
-
-
-## Part 1: Terms and Definitions
-
-Over time, our community has adopted and come up with numerous terms regarding pixel art, texturing and art techniques. Since these guidelines use these terms extensively, a definitive dictionary must be made for the layman.
-
-
- - (Colour) Blending refers to the method of transitioning one colour into another. It mostly occurs around the border between these two colours.
-
There are many types of blending. The most important ones are listed here:
-
-
- - No blending is a simple border between two or more colours, without any additional effects. An early in-development texture usually has no blending, which is added in later stages of the process.
-
This type of blending is discouraged in most cases, because it usually ends up making the texture look “plasticky” and fails to portray the material of the texture.
-
-
- Picture 1: Example of a border between two colours, with no blending applied.
-
- - Anti-Aliasing (AA) is a technique used to smooth the jaggedness of a pixelated border between colours. It uses an additional in-between colour (usually taken from somewhere else in the texture) to provide a smoother transition. This method is recommended to be used in conjunction with no blending on very smooth surfaces, like metal or plastic. It can also be used in small amounts on most other materials to eliminate drastic borders between light and dark colours.
-
-
- Picture 2: A line with no anti-aliasing compared to a line with anti-aliasing applied to it.
-
-
- Picture 3: Example of anti-aliasing used in a texture featured in Faithful.
-
- - Dithering is perhaps the most used texturing term in the Faithful servers. The word describes a method used very commonly for the many textures of raw, unprocessed materials found in Minecraft, such as stone, wood and others. To achieve dithering, one is required to displace the pixels of a colour border in such a way that said border is no longer as defined and has parts protruding in and out of the other colour.
-
Dithering can be done in multiple ways:
-
-
- - Checkerboard dithering (AKA checkering/checkerboarding) is not recommended in most cases, because it is too repetitive and usually doesn’t fit the material.
-
Special cases include chainmail and sand (in small amounts). It looks like a checkerboard of two colours.
-
-
- Picture 4: Checkerboard dithering used as a transition between two colours.
-
-
- Picture 5: Example of checkerboard dithering in a texture.
-
- - Regular dithering is the single most used dithering method, as it can be utilised in the largest array of cases, and the vast majority of Faithful textures, be it in high or low levels. The technique consists of placing displaced pixels around the colour border (which look random, but oftentimes are cleverly laid out to avoid visual issues) in such a way that little to no checkerboarding/checkering is created. Displaced pixels usually take the shape of a single 1px square or a 2x1px rectangle, but never full-on intentional lines. Regular dithering doesn’t convey any sense of directionality!
-
-
- Picture 6: Example of regular dithering in a texture.
-
- - Linear dithering (LD) is just like dithering, but with displaced pixels taking the shape of (usually) 1px wide lines that all go in the same direction, most of the time vertically or horizontally. This method is best used for textures that already have a linear pattern in vanilla, such as stone or wood.
-
-
- Picture 7: Example of linear dithering in a texture.
-
-
- Do note that all of these dithering methods can be mixed and matched at various intensities in a single texture. This is often required to accurately portray a desired material.
-
- Picture 8: Examples of mixed dithering methods: linear and regular on stone, regular and hints of checkerboard dithering on sand, respectively.
-
- - Colour banding describes the phenomenon of noticeable stripes of a single colour appearing as a result of using multiple colours for a transition. This is generally unwanted, just because it doesn’t look the best. Colour banding can be reduced by narrowing the individual colour stripes to be 1 pixel thick or so, but this method often can and does look bad. If it doesn’t work, keep the colours banded, it’s not that much of an issue.
-
-
- Picture 9: Left: An example of a texture with noticeable colour banding. Right: The same texture, with colour banding mostly eliminated.
-
-
- - Indexing colours refers to the process of reducing the colour count of an image. This is used when basing a texture off of its (usually) programmer art version, which oftentimes has needless amounts of colours. Since using too many colours would be against these guidelines, one is required to index them. This can be done automatically in an image editing program by using the Indexed Colours mode, but since that can cause problems, it’s recommended to either switch back to RGB/8 after indexing is done or to do the indexing manually.
-
-
-
- Picture 10: Left: An example of a texture with too many colours. Right: The same texture, with indexed colours.
-
- - Upscaling (a texture) in Faithful's context refers to redrawing a vanilla-resolution texture in a higher resolution (32x or 64x) according to these guidelines. In other contexts, it can refer to an image whose resolution has been increased for example, all 1x1 pixels become 2x2 colour areas using an image editing program, and/or with an AI.
-
- - JAPPA, or Jasper Boerstra is the current art director for Minecraft, formerly working on the game's art from 2017 to 2022.
-
- - Programmer art (often colloquially referred to as “progart”) is an umbrella term that describes the textures and the general art style used in Minecraft before version 1.14 (except all of the new textures that were added in 1.13). These weren’t made by JAPPA, or any real artist, but by the developers of the game. Note that this term wasn’t coined by Mojang, and outside of the Minecraft resource pack community it refers to placeholder visuals usually created by the programmers as placeholders for new features. Which is what the pre-1.14 textures basically are, since most of the widely used ones were originally made by Notch in paint.net within a span of minutes.
-
- - Jappa textures directly oppose Programmer Art. They were made by a single artist – JAPPA – and they have a consistent art style. They are featured in all versions after 1.14 inclusive.
-
-
- Picture 11: Left: Programmer art oak planks. Right: Jappa oak planks.
-
- - False lines are the occurrence of several elements and/or colour areas of a texture lining up in such a way that they create an illusion of a straight line, even when there is none in reality.
-
-
- Picture 12: An example of false lines.
-
- - Mixels describe pixels of clashing resolutions, for example if a texture uses 1x1 pixels and the other uses 2x2 pixels extensively, that would be considered mixels.
-
-
- Picture 13: Example of mixels in a texture.
-
- - A contrasty colour palette is a colour palette utilising colours which have high contrast between each other. Contrast in colour theory is defined as the difference in brightness or hue between two or more colours.
-
-
- Picture 14: Left: example of a texture with low contrast. Right: example of a texture with high contrast.
-
-
-## Part 2: General Rules and Tips
+*Faithful was meant to be a love letter to the artists that created the world of Minecraft. In doing a default style resource pack such as this, we pay respect to the art by following the design philosophies made by JAPPA in order to maintain Faithful.*
+
+*But since the pack was premised primarily on community contributions, the risk of inconsistency in the art loomed over us. We figured that with a set of rules or guidelines, these inconsistencies could be reduced and allow the pack to flourish.*
+
+*Initially, we tried to have minimal, ambiguous guidelines so as to not limit people’s creativity too much, in the hopes that artists would stick to approximately the same style. This proved to be too optimistic, and as the pack expanded, textures with increasing degrees of stylistic variety were added, hindering the overall consistency of the pack.*
+
+*Whenever a texture that was borderline rule-breaking was made, it always led to controversy and a huge debate that would drag on for hours, and would never come to a clear conclusion.*
+
+*The truth is, nobody really expressed a clear enough idea on what the pack’s style should be, nor were the preceding guidelines ever enforced heavily.*
+
+*These new rules and guidelines aim to fix all of these problems, and will try to outline Faithful's stylistic direction with as much attention to detail and as much clarity as possible.*
+
+::: tip
+Many texturing and Faithful-specific terms are referred to throughout these guidelines. Make sure to read the [Faithful Texturing Glossary](/pages/textures/glossary) if you run into any terminology you're unfamiliar with.
+:::
+
+## Part 1: General Rules and Tips
**Rules**
These requirements apply to all textures unless specified otherwise and must all be met for a texture to be considered viable for Faithful.
-
- - Textures need to mimic vanilla Minecraft textures, and should be heavily based upon them. This probably goes without saying, but it’s good to have it specified nonetheless. While you are not required to make your texture by directly editing the vanilla one, it is heavily recommended and usually helps your texture look better and closer to the default texture.
-
- - Outlines, dividing lines and the like that would end up being 2 pixels wide when upscaled to double the resolution should almost always be 1 pixel wide. Pretty straight-forward, most lines in Faithful should be 1 pixel wide (examples: glass, gold block, iron ingot, diamond). There are exceptions to this, especially if a line is not an outline/dividing line, and/or is curvy, or would be off-centre if it was 1 pixel wide. In these cases it’s acceptable to make the line wider.
-
-
- Picture 15: Top: Vanilla texture. Bottom left: Incorrect interpretation of lines present in the vanilla texture. Bottom right: Correct interpretation.
-
- - All textures are required to be shaded correctly according to their material and shape. Before shading a texture, define its material correctly (rough/smooth, shiny/non-reflective), and then use adequate shading methods. These are further described in the Material and Shape Reference List.
-
-
- Picture 16: Left: Incorrectly shaded item (see the Material and Shape Reference List). Right: Correctly shaded item.
-
- - All elements of a texture need to have their meaning, and should look like actual things instead of just shapes. Don’t just mindlessly upscale textures without paying attention to what they’re supposed to represent: When drawing an element of a texture, always think about what it’s supposed to represent in vanilla, and then draw the element according to this idea (while still keeping similarity to vanilla in mind, of course).
-
-
- Picture 17: Top: Vanilla texture. Bottom left: Incorrect upscale. Bottom right: Correct interpretation (note the individual leaves, which are required in double the resolution but aren’t possible to be depicted in the vanilla resolution).
-
- - Textures should stick to the vanilla colour palette. Self-explanatory; try to only use the colours that the vanilla texture uses. If you’re trying to blend two colours together using anti-aliasing, you can usually re-use a colour from elsewhere in the texture. In difficult circumstances you can add colours to help you, but most of the time, one or two is enough. If the texture you’re upscaling already has many colours, you can use that to your advantage, but you should still keep the palette limited to more or less than 10 colours. Additionally, never change existing colours from the vanilla palette! If a vanilla texture uses 5 specific colours, make sure your texture uses these exact ones.
-
This rule does not apply to animated textures that used to be generated procedurally in the past: e.g. water, lava, nether portal, fire and soul fire.
-
- - Do not make up features/details that are not clearly present in the vanilla texture and don’t add them to your texture, unless not having them makes absolutely no sense in double the resolution. While upscaling a texture, one might have the tendency to add significant elements that are not present in vanilla. This is discouraged, as it makes a texture look too distant from the vanilla look most of the time. This also applies to various details in a texture: If appropriate, a normal amount is encouraged, but don’t overdo it.
-
-
- Picture 18: Top: Vanilla texture. Bottom left: A texture with too many added details. Bottom right: A texture with just enough details and features.
-
- - When blending colour using anti-aliasing or dithering, make sure that darkest colours never directly border the lightest ones and vice versa. Dirt is an example of this. Always have a transition colour in between the colours. In some cases this is desired, but not in many. If you’re a beginner Faithful contributor, always follow this rule.
-
-
- Picture 19: Left: Improper colour borders. Note the very harsh-looking colour borders caused by the lack of a transition colour. Right: Correct colour transitions.
-
- - Try to eliminate colour banding, if possible. As already described in previous sections, this can be done by cleverly reducing the width of each colour band to one or two pixels. Don’t brute force it though, in some cases where the colour palette is especially limited this can harm the texture overall. It’s certainly possible to do in most cases though.
-
- - Unless it’s intentional and makes sense to have, there should never be large single-colour areas in your texture. This applies especially to raw materials like stone or wood. You can always break these areas up by using dithering or other methods.
-
- - If a texture uses another texture as a base, use the already existing Faithful rendition of it, if available. An example of this would be stone and ores. Don’t make stone from scratch just for the ore texture. Make your life simpler and re-use existing textures when you can.
-
-
- Picture 20: An ore texture. Note how the already existing stone texture is used in the background.
-
- - If a texture would end up looking identical to vanilla when upscaled (while following all the above rules), it shall not be included in Faithful. Self-explanatory. Textures like these look exactly the same as vanilla when used in-game, and so they only bloat the pack and needlessly increase the file size.
-
- - If a texture has issues noted on the Mojira website, Mojang's offical bug tracker, then changes should be made to fix them. Some examples of bugs that are allowed to be fixed include: unused/misaligned pixels or textures, “Jappafication” errors, and parity issues. Fixing bugs allows for the pack to have issues in textures resolved before they are added into the base game, which saves us time.
-
- - Noise that was clearly generated using a filter is only to be kept if removing it would alter the general look of the texture too significantly. If noise is upscaled, its palette should be reduced to a minimum.
-
-
- Picture 21: In this particular texture, the noise is contrasty and visible enough to be kept and upscaled.
-
-
- Picture 22: The shulker box is an example of a texture where the noise is barely visible, and therefore should be removed.
-
+
+
+1. **Textures need to mimic vanilla Minecraft textures, and should be heavily based upon them.** This probably goes without saying, but it’s good to have it specified nonetheless. While you are not required to make your texture by directly editing the vanilla one, it is heavily recommended and usually helps your texture look better and closer to the default texture.
+
+
+
+2. **Outlines, dividing lines and the like that would end up being 2 pixels wide when upscaled to double the resolution should almost always be 1 pixel wide.** Pretty straightforward; most lines in Faithful should be 1 pixel wide (examples: glass, gold block, iron ingot, diamond). There are exceptions to this, especially if a line is not an outline/dividing line and/or is curvy, or would be off-centre if it was 1 pixel wide – in these cases it’s acceptable to make the line wider.
+
+
+Top: Vanilla texture. Bottom left: Improper interpretation of lines present in the vanilla texture. Bottom right: Better interpretation.
+
+
+
+3. **All textures are required to be shaded correctly according to their material and shape.** Before shading a texture, define its material correctly (rough/smooth, shiny/non-reflective), and then use adequate shading methods. These are further described in the Material and Shape Reference List.
+
+
+Left: Incorrectly shaded item (see the Material and Shape Reference List). Right: Correctly shaded item.
+
+
+
+4. **All elements of a texture need to have their meaning, and should look like actual things instead of just shapes.** Don’t just mindlessly upscale textures without paying attention to what they’re supposed to represent: When drawing an element of a texture, always think about what it’s supposed to represent in vanilla, and then draw the element according to this idea (while still keeping similarity to vanilla in mind, of course).
+
+
+Top: Vanilla texture. Bottom left: Incorrect upscale. Bottom right: Correct interpretation (note the individual leaves, which are required in double the resolution but aren’t possible to be depicted in the vanilla resolution).
+
+
+
+
+5. **Textures should stick to the vanilla colour palette.** Self-explanatory; try to only use the colours that the vanilla texture uses. If you’re trying to blend two colours together using anti-aliasing, you can usually re-use a colour from elsewhere in the texture. In difficult circumstances you can add colours to help you, but most of the time, one or two is enough. If the texture you’re upscaling already has many colours, you can use that to your advantage, but you should still keep the palette limited to more or less than 10 colours. Additionally, never change existing colours from the vanilla palette! If a vanilla texture uses 5 specific colours, make sure your texture uses these exact ones. \
+This rule does not apply to animated textures that used to be generated procedurally in the past: e.g. water, lava, nether portal, fire and soul fire.
+
+
+
+6. **Do not make up features/details that are not clearly present in the vanilla texture and don’t add them to your texture, unless not having them makes absolutely no sense in double the resolution.** While upscaling a texture, one might have the tendency to add significant elements that are not present in vanilla. This is discouraged, as it makes a texture look too distant from the vanilla look most of the time. This also applies to various details in a texture: If appropriate, a normal amount is encouraged, but don’t overdo it.
+
+
+Top: Vanilla texture. Bottom left: A texture with too many added details. Bottom right: A texture with just enough details and features.
+
+
+
+7. **When blending colour using anti-aliasing or dithering, make sure that darkest colours never directly border the lightest ones and vice versa.** Dirt is an example of this. Always have a transition colour in between the colours. In some cases this is desired, but not in many. If you’re a beginner Faithful contributor, always follow this rule.
+
+
+Left: Improper colour borders. Note the very harsh-looking colour borders caused by the lack of a transition colour. Right: Correct colour transitions.
+
+
+
+8. **Try to eliminate colour banding, if possible.** This can be done by cleverly reducing the width of each colour band to one or two pixels. Don’t brute force it though, since in some cases where the colour palette is especially limited this can harm the texture overall. It’s certainly possible to do in most cases though.
+
+
+
+9. **Unless it’s intentional and makes sense to have, there should never be large single-colour areas in your texture.** This applies especially to raw materials like stone or wood. You can always break these areas up by using dithering or other methods.
+
+
+
+10. **Noise** that was clearly generated using a filter is only to be kept if removing it would alter the general look of the texture too significantly. If noise is upscaled, its palette should be reduced to a minimum.
+
+
+In this particular texture, the noise is contrasty and visible enough to be kept and upscaled.
+
+
+The shulker box is an example of a texture where the noise is barely visible, and therefore should be removed.
+
+
+
+11. **If a texture uses another texture as a base, use the already existing Faithful rendition of it, if available.** An example of this would be stone and ores. Don’t make stone from scratch just for the ore texture. Make your life simpler and re-use existing textures when you can.
+
+
+An ore texture. Note how the already existing stone texture is used in the background.
+
+
+
+12. **If a texture would end up looking identical to vanilla when upscaled (while following all the above rules), it shall not be included in Faithful.** Self-explanatory. Textures like these look exactly the same as vanilla when used in-game, and so they only bloat the pack and needlessly increase the file size.
+
+
+
+13. **If a texture has issues noted on the Mojira website, Mojang's offical bug tracker, then changes should be made to fix them.** Some examples of bugs that are allowed to be fixed include: unused/misaligned pixels or textures, “Jappafication” errors, and parity issues. Fixing bugs allows for the pack to have issues in textures resolved before they are added into the base game, which saves us time.
::: danger NOTE
-Special rules and/or exceptions can apply to specific textures if the Art Director Council approves it.
+Special rules and/or exceptions can apply to specific textures if the Art Director Council approves it.
:::
**Tips**
-
- - Mob faces can be particularly hard to interpret in only double the resolution. If all attempts at upscaling the face end up looking bad, it is acceptable to use a “mixel-face” – just keeping the vanilla mob face, without any edits, on an upscaled background.
-
-
- Picture 23: An acceptable mob face.
-
- - Dithering should not be overdone, unless you’re re-drawing a particularly noisy texture (e.g. sand). Also while dithering, try to avoid lone pixels, as in the ones that do not border other ones of the same colour.
-
-
- Picture 24: A close-up of a colour transition with lone pixels, which should be avoided.
-
- - Try to minimise the occurrence of stairing pixels, an example of which is shown below.
-
-
- Picture 25: Left: Example of a colour transition featuring stairing pixels. Right: The same transition, with the stairing removed.
-
-
-**And most importantly, always get feedback from others while drawing a texture! It will help you improve in ways you wouldn’t even have thought of.**
-
-## Part 3: Material and Shape Reference List
-This section goes into detail about how to draw and shade specific materials and shapes.
-
+
+
+1. **Mob faces** can be particularly hard to interpret in only double the resolution. If all attempts at upscaling the face end up looking bad, it is acceptable to use a “mixel-face” – just keeping the vanilla mob face, without any edits, on an upscaled background.
+
+
+An acceptable mob face.
+
+
+
+2. **Dithering** should not be overdone, unless you’re re-drawing a particularly noisy texture (e.g. sand). Also while dithering, try to avoid lone pixels, as in the ones that do not border other ones of the same colour.
+
+
+A close-up of a colour transition with lone pixels, which should be avoided.
+
+
+
+3. **Try to minimise the occurrence of stairing pixels**, an example of which is shown below.
+
+
+Left: Example of a colour transition featuring stairing pixels. Right: The same transition, with the stairing removed.
+
+::: tip And most importantly...
+Always get feedback from others while drawing a texture! It will help you improve in ways you wouldn’t even have thought of.
+:::
+
+## Part 2: Material and Shape Reference List
+
+This section goes into detail about how to draw and shade specific materials and shapes.
### Materials
+
There exists a correlation between the roughness and shininess of a material and the colour blending method. Generally, the rougher a material is, the more dithering you should use. The same applies to high-contrast colours and minimal colour blending for shiny materials.
**Smooth metal** should only use anti-aliasing as a colour blending method, or no blending at all. The colour palette should be limited and contrasty. In some cases mild linear dithering is acceptable if it’s required to keep the texture from looking like plastic. Additionally, in item textures, faces of an object which are in the shade should have a lighter outline (as well as the item outline itself) to simulate light reflection.
-
-Picture 26: Examples of various smooth metal textures.
+
+Examples of various smooth metal textures.
**Rough metals** such as raw ore blocks, netherite, anvils and even iron golems should follow the same lighting logic as regular metals while being dithered. Regular dithering should be used as the preferred method.
-
-Picture 27: Examples of rough metal textures.
+
+Examples of rough metal textures.
**Diamonds and other gemstones** in Minecraft’s context should be shaded like reflective rocks more than anything – they usually don’t let much light pass through, unlike their real-life counterparts. Only anti-aliasing should be used here. For faces in the shade in item textures, the same shading logic as on smooth metal textures applies.
-
-Picture 28: Examples of gemstone textures.
+
+Examples of gemstone textures.
**Contiguous stones** that are not broken up into smaller rocks are very rough, so they should use dithering as much as possible. For textures with a linear pattern (stone, dripstone), it is recommended to use a mixture of linear and regular dithering to emphasise the material even more. Anti-aliasing can be used here, but only when the material is smoother than usual, like with dripstone.
-
-Picture 29: Examples of contiguous raw stone textures.
+
+Examples of contiguous raw stone textures.
**Polished stones** should use dithering (linear when applicable) a bit, but not nearly as much as raw stones. Instead, anti-aliasing should be used in heavier amounts to express the smoothness of the material.
Smooth stone is a special case however, as it directly reuses regular stone’s texture pattern (which you should do as well, as per rule 10).
-
-Picture 30: Examples of polished stone textures.
+
+Examples of polished stone textures.
**Rocky materials** such as cobblestone and netherrack should be dithered as much as raw stones, but unless the rocks are arranged in a clear linear pattern (like in the deepslate texture), linear dithering should never be used.
-
-Picture 31: Examples of rocky material textures.
+
+Examples of rocky material textures.
**Wood** should use a lot of linear dithering and very minimal amounts of regular dithering. To smooth colour transitions, anti-aliasing can be used if it looks good.
-
-Picture 32: Examples of wood textures.
+
+Examples of wood textures.
**Most flowers, foliage, and other plant matter** can use dithering (linear or regular) depending on the general roughness/smoothness of the surface. While flower petals can employ this shading method, genuine leaves should never use dithering.
-
-Picture 33: Examples of plant textures.
+
+Examples of plant textures.
**Corals** should mainly use anti-aliasing, but regular dithering is also acceptable.
-
-Picture 34: Examples of coral textures.
+
+Examples of coral textures.
**Sand and other powdery materials** should be heavily dithered: there should be no large contiguous area of a single colour. Even checkerboard dithering can be used in this case, in small amounts. Anti-aliasing is encouraged to a smaller degree. This also applies to gravel, where the individual rocks that make up the material are clearly visible.
-
-Picture 35: Examples of powdery textures.
+
+Examples of powdery textures.
@@ -282,8 +231,8 @@ Smooth stone is a special case however, as it directly reuses regular stone’s
**Glazed terracotta** should only use minimal amounts of anti-aliasing when required, otherwise no colour blending should be present.
-
-Picture 36: Examples of glazed terracotta textures.
+
+Examples of glazed terracotta textures.
@@ -293,8 +242,8 @@ Smooth stone is a special case however, as it directly reuses regular stone’s
**Bones** (including skeletons) should ideally mainly use anti-aliasing, with a bit of occasional linear dithering sprinkled in, near colour transitions. This applies to tusks as well.
-
-Picture 37: Examples of bone textures.
+
+Examples of bone textures.
@@ -304,8 +253,8 @@ Smooth stone is a special case however, as it directly reuses regular stone’s
**Skin (in mob textures) and leather** should mainly use anti-aliasing. Not using many colour blending methods can lead to heavy colour banding and looking plasticky, so this is a reminder to try and eliminate that if possible. Depending on the roughness of a specific skin type, linear and regular dithering can also be used to communicate the feel of the material.
-
-Picture 38: Examples of skin textures.
+
+Examples of skin textures.
@@ -315,15 +264,15 @@ Smooth stone is a special case however, as it directly reuses regular stone’s
**Fur and hair** should employ linear dithering, but in such a way that it creates visible strands of hair. Some regular dithering and anti-aliasing can also come in handy. This applies to wool on sheep as well.
-
-Picture 39: Examples of fur/hair textures.
+
+Examples of fur/hair textures.
**Fish entities** should have clearly visible scales present where appropriate (don’t just draw a checkerboard!). Basically all colour blending methods can be used here.
-
-Picture 40: Example of a fish texture.
+
+Example of a fish texture.
@@ -333,39 +282,40 @@ Smooth stone is a special case however, as it directly reuses regular stone’s
**Cylindrical type objects** such as iron bars, individual dynamite sticks that make up TNT and metal railings should have visible shades along both sides and a highlight on the side near the centre like so:
-
-Picture 41: An example showing how to shade cylindrical type objects
+
+An example showing how to shade cylindrical type objects.
-## Part 4: Fixing JAPPA’s Mistakes and Things He’s Forgotten
+## Part 3: Fixing JAPPA’s Mistakes and Things He’s Forgotten
Faithful extends its field of expertise to correcting JAPPA’s mistakes. One such example would be the oak sign, which until 1.17 used this texture:
-
-Picture 42: Pre-1.17 vanilla oak sign texture
+
+Pre-1.17 vanilla oak sign texture.
-It is obvious that this texture uses the programmer art oak planks and bark. This is not viable for Faithful, as the pack strives for consistency, and as such it has been decided to use the already existing jappa plank and bark textures instead. Besides the sign, many more textures requiring this treatment exist. Some uncertainties about this have emerged though, so after all this time we are finally defining the replaceable textures properly:
+It is obvious that this texture uses the programmer art oak planks and bark. This is not viable for Faithful, as the pack strives for consistency, and as such it has been decided to use the already existing jappa plank and bark textures instead. Besides the sign, many more textures requiring this treatment exist. Some uncertainties about this have emerged over time, so a specific rule has been made:
**Only replace programmer art textures (or textures that weren’t changed in the texture update) if it’s absolutely obvious what they should be changed to.**
Let’s take the sign texture mentioned above as an example. It is clear that it uses programmer art textures with very little modifications, and even when these edits exist, they’re simple recolours. Thus, this process can be replicated with the Jappa planks in order to make a viable Faithful texture.
-On the contrary, a texture that should NOT be “Jappafied” is blaze powder, for instance. The number of colours and the shading style make it clear that it was not made by JAPPA, meaning that it can be classed as programmer art. One might think of trying to re-interpret the texture using the art style present in other item textures by JAPPA, but one major problem arises – there is no obvious way to do it correctly. What colour palette should be used? How contrastive should the colours be? Should the shape be preserved? Would the same shading methods be kept? Nobody knows for sure, and these assumptions are not for Faithful artists to make. As such, this texture, and all the other textures that fall into this category, are to be left as-is, and should be upscaled like any other texture according to the rules mentioned above.
+On the contrary, a texture that should NOT be “Jappafied” is blaze powder. The number of colours and the shading style make it clear that it was not made by JAPPA, meaning that it can be classified as programmer art. One might think of trying to re-interpret the texture using the art style present in other item textures by JAPPA, but one major problem arises – there is no obvious way to do it correctly. What colour palette should be used? How contrasty should the colours be? Should the shape be preserved? Would the same shading methods be kept? Nobody knows for sure, and these assumptions are not for Faithful artists to make. As such, this texture, and all the other textures that fall into this category, are to be left as-is, and should be upscaled like any other texture according to the rules mentioned above.
-
-Picture 43: Blaze powder, an example of a texture that should not be “Jappafied”.
+
+Blaze powder, an example of a texture that should not be “Jappafied”.
## Conclusion
+
Wow, this turned out way longer than we expected it to be. Would you believe that these guidelines were over a month in development? Well, we hope that you have found them useful and descriptive, and that they have cleared up any misbeliefs or doubts you might have had. If you have any questions, want to give feedback for this document or just post your textures, message us on our Discord server!
## Final Note
+
These rules and guidelines are subject to change at any time. Significant changes to this document will be announced publicly.
## Credits
-
- Written by Pomi108 for use in the Faithful project
-
Edited by Anonymous, Juknum, and Fred figglehorn
-
Images compiled by Anonymous and Pomi108
-
Credit for images goes to various Faithful and Faithful contributors, Mojang Studios and Google Images
-
+
+- Written by Pomi108 for use in the Faithful project
+- Edited by Anonymous, Juknum, and Fred figglehorn
+- Images compiled by Anonymous and Pomi108
+- Credit for images goes to various Faithful contributors, Mojang Studios and Google Images
diff --git a/pages/textures/f64-texturing-guidelines.md b/pages/textures/f64-texturing-guidelines.md
index 45fb300..b33f334 100644
--- a/pages/textures/f64-texturing-guidelines.md
+++ b/pages/textures/f64-texturing-guidelines.md
@@ -14,6 +14,10 @@ date: "2023-09-27"
*Now, let's get started.*
+::: tip
+Many texturing and Faithful-specific terms are referred to throughout these guidelines. Make sure to read the [Faithful Texturing Glossary](/pages/textures/glossary) if you run into any terminology you're unfamiliar with.
+:::
+
## Use the Resolution to your Advantage
To put it simply, a 64x64 canvas is **big**. With this added space comes both advantages and disadvantages, which need to be addressed.
diff --git a/pages/textures/glossary.md b/pages/textures/glossary.md
new file mode 100644
index 0000000..d3af8dc
--- /dev/null
+++ b/pages/textures/glossary.md
@@ -0,0 +1,175 @@
+---
+title: "The Faithful Texturing Glossary"
+category: "Textures"
+date: "2024-06-30"
+---
+
+# The Faithful Texturing Glossary
+
+## Introduction
+
+*Faithful isn't without its specific jargon, from important names to broader pixel art-related texturing terms. Instead of having to constantly describe to new users who JAPPA is or what dithering means, we figured it would be easier to list them all out right here.*
+
+*All Faithful texturing guidelines extensively reference terms found in this document, so it's recommended to read this before doing anything else.*
+
+## Color Blending
+
+Color blending refers to the method of transitioning one color into another, usually around the border of two colors. Different materials and styles will employ many different types of color blending, often at the same time.
+
+### No Blending
+
+No blending is a simple border between two or more colors, without any additional effects. A work in progress texture tends to have no blending, as other blending methods are usually added later on. However, this tends to have a "plasticky" effect or look flat.
+
+
+Example of a color border with no blending method applied.
+
+### Banding
+
+Color banding describes the phenomenon of noticeable stripes of a single color appearing as a result of using multiple colors for a transition. This goes hand in hand with having no blending methods being employed, but is generally undesirable for looking flat
+
+
+Left: An example of noticeable color banding. Right: Most of the color banding removed.
+
+### Antialiasing
+
+Antialiasing (AA) is a technique used to smooth the jaggedness of a pixelated border between colors by adding a thin layer of an additional in-between color. This is particularly useful for smoother textures or getting rid of harsh color borders, but is often employed in small amounts everywhere to eliminate harsh contrast.
+
+
+A line with no antialiasing compared to a line with antialiasing applied to it.
+
+### Dithering
+
+Dithering, also known as regular or conventional dithering, is a technique where pixels of a color border are displaced in such a way that said border is no longer as sharply defined and has parts protruding in and out of the other color. It's commonly used for rough textures in the main Faithful packs and generally adding texture to a material.
+
+
+Example of regular dithering in a texture.
+
+### Checkerboard Dithering
+
+Checkerboard dithering (also known as checkerboarding) is exactly what the name describes — a simple checkerboard between two colors. This is often used in stylized pixel art, but is usually not suitable for Minecraft textures as it looks very repetitive.
+
+
+Example of a checkerboarded color border.
+
+### Linear Dithering
+
+Linear dithering (LD) is just like dithering, but the displaced pixels are longer and face in a particular direction, as if regular dithering was stretched. This is frequently used for wood-adjacent textures to mirror real-life wood grain, but can be applied in many different contexts as a smoother alternative to regular dithering.
+
+
+Examples of linearly dithered textures.
+
+### Wispy Dithering
+
+Wispy dithering is a form of linear dithering, where instead of using single pixels to smooth out color transitions, small clusters of (often linear) pixels are used instead. Faithful 64x makes use of this extensively as conventional dithering in higher resolutions can look undesirably grainy or fine.
+
+
+Regular dithering being converted to wispy dithering in Faithful 64x.
+
+### Depth Shading
+
+Depth shading is an extremely versatile method of shading two or more pixel wide lines, frequently used by the Classic Faithful packs. Essentially, one shades a thicker line to make one side lighter and one side darker using a transition tone. The added color can be either lighter or darker than the base color depending on the texture's material. While this term was initially used just for gaps, it has expanded over time to include any two pixel wide line that can be shaded in this way, including highlights and ridges.
+
+
+Examples of depth shading in Classic Faithful.
+
+## Upscaling
+
+Upscaling simply refers to changing the resolution of an image to be bigger. In Faithful-related contexts, upscaling generally refers to redrawing a vanilla resolution texture in a higher resolution (e.g. 32x or 64x). There are a few different types of upscaling.
+
+### Automatic Upscaling
+
+Automatic upscaling (usually referred to as AI upscaling, despite having nothing to do with AI) is an umbrella term for algorithmic based upscaling methods. Some examples of automatic upscaling algorithms are bilinear upscaling, XBR upscaling, and RotSprite upscaling. These methods are usually unsuitable for Faithful, at least in an unedited form, since these generalized algorithms can't handle detail or color placement in a consistent way.
+
+
+Different algorithmic upscaling methods.
+
+### Nearest Neighbor Upscaling
+
+Nearest neighbor upscaling is a specific type of automatic upscaling where individual pixels retain their size relative to the canvas regardless of the actual resolution. This means the texture looks identical despite being physically bigger, and it's a helpful base for manually upscaling the image in comparison with most other automatic methods.
+
+
+Left: The default texture. Right: 2x nearest neighbor upscaled texture.
+
+## Palette
+
+In pixel art, a palette refers to the colors being used in an image. Since pixel art typically employs an intentionally limited palette, there are usually only a handful of colors being used at any point.
+
+### Color Indexing
+
+Color indexing, color quantizing, or limiting palettes (LP) are names for the concept of reducing the amount of colors in a texture to only the necessary shades. This can either be done by hand or automatically using a program like GIMP or Aseprite. Limited palette textures generally have colors reused throughout the texture and noticeable color transitions.
+
+
+Left: Original texture. Right: Automatically indexed version of texture.
+
+### Noise
+
+Noise, as opposed to a limited palette, is a filter which randomly brightens and darkens pixels to make a texture grainier, often used by novice pixel artists. In other contexts, it can mean a texture with no "definition", in that the detail has no meaning and is just a jumble of randomly placed pixels with no thought or reasoning behind them, oftentimes on materials that make no sense to be noisy.
+
+
+Left: A "noisy" texture with an excessively large palette. Right: A random mess of pixels with no definition, which can also be called "noisy".
+
+### Contrast
+
+Contrast is a method of classifying a certain color palette. High contrast means that the colors look very different from each other, and low contrast means the colors look very similar to each other. In more technical terms, it's the average distance between each color, usually in brightness, but sometimes with a mix of saturation and hue differences as well.
+
+
+The same texture with reduced and increased contrast.
+
+## Texturing Pitfalls
+
+These are texturing mistakes so common we've come up with names for them.
+
+### False Lines
+
+False lines are the occurrence of several elements and/or color areas of a texture lining up in such a way that they create an illusion of a straight line, even when there is none in reality.
+
+
+Example of false lines.
+
+### Mixels
+
+Mixels describe pixels of clashing resolutions. If a texture uses both 1x1 and 2x2 pixels interchangeably, that would be considered mixels.
+
+
+Example of mixels.
+
+### Stairing
+
+Not to be confused with staring, stairing is a method of making lines and curves, where each pixel moved up or down in the line is joined back to the previous one. While this can be employed in small amounts to create more natural looking gaps, it generally doesn't look good in large amounts and should be avoided.
+
+
+Left: Excessively staired gaps. Right: More varied gaps.
+
+## Art Styles
+
+### Jappa Textures
+
+Jasper "JAPPA" Boerstra is the current art director for Minecraft, and the lead artist from 2017 to 2022. He was also responsible for the 1.14 texture update, where the majority of the game's art was redone and polished with his style. These redone textures and any textures made after 1.14 by dedicated artists like him are often called Jappa textures in his honor.
+
+### Programmer Art
+
+Programmer art, often colloquially referred to as "progart" or "PA", is an umbrella term that describes the textures and the general art style used in Minecraft before version 1.14. These weren't made by Jappa, or any real artist, but by the developers of the game.
+
+Note that this term wasn't coined by Mojang, and outside of the Minecraft resource pack community it refers to placeholder visuals usually created by the programmers as placeholders for new features. This is what the pre-1.14 textures basically are, since many of the widely used ones were originally made by Notch in Paint.NET within a span of minutes.
+
+
+A programmer art texture and its equivalent Jappa texture.
+
+### Vattic
+
+Vattic is the original creator of the Faithful 32x32 texture pack, and the lead artist from 2010 to 2016. His art style focuses heavily on layering and added color usage over more conventional pixel art techniques like dithering, and is the primary inspiration for the Classic Faithful packs.
+
+
+A vanilla texture and its equivalent Vattic texture.
+
+## Conclusion
+
+If you think there's a term missing from here that's commonly used, let us know on our [Discord Server](https://discord.gg/sN9YRQbBv7) — new terms are always evolving and this document will grow as needed.
+
+Good luck texturing!
+
+## Credits
+
+- Written by Pomi108 and Evorp.
+- Images from Faithful contributors, Mojang Studios, and Google Images.
+- Edited by Jamiscus, DMgaming, and Fred figglehorn.
diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml
index d45429b..242441e 100644
--- a/pnpm-lock.yaml
+++ b/pnpm-lock.yaml
@@ -12,15 +12,15 @@ importers:
specifier: ^4.0.3
version: 4.0.3
vitepress:
- specifier: ^1.2.2
- version: 1.2.2(@algolia/client-search@4.23.2)(@types/node@20.14.2)(search-insights@2.13.0)
+ specifier: ^1.2.3
+ version: 1.2.3(@algolia/client-search@4.23.2)(@types/node@20.14.9)(postcss@8.4.38)(search-insights@2.13.0)
vue:
- specifier: ^3.4.27
- version: 3.4.27
+ specifier: ^3.4.31
+ version: 3.4.31
devDependencies:
'@types/node':
- specifier: ^20.14.2
- version: 20.14.2
+ specifier: ^20.14.9
+ version: 20.14.9
packages:
@@ -97,8 +97,8 @@ packages:
resolution: {integrity: sha512-Y4OZ+ytlatR8AI+8KZfKuL5urKp7qey08ha31L8b3BwewJAoJamTzyvxPR/5D+KkdJCGPq/+8TukHBlY10FX9A==}
engines: {node: '>=6.9.0'}
- '@babel/parser@7.24.4':
- resolution: {integrity: sha512-zTvEBcghmeBma9QIGunWevvBAp4/Qu9Bdq+2k0Ot4fVMD6v3dsC9WOcRSKk7tRRyBM/53yKMJko9xOatGQAwSg==}
+ '@babel/parser@7.24.7':
+ resolution: {integrity: sha512-9uUYRm6OqQrCqQdG1iCBwBPZgN8ciDBro2nIOFaiRz1/BCxaI7CNvQbDHvsArAC7Tw9Hda/B3U+6ui9u4HWXPw==}
engines: {node: '>=6.0.0'}
hasBin: true
@@ -129,140 +129,140 @@ packages:
search-insights:
optional: true
- '@esbuild/aix-ppc64@0.20.2':
- resolution: {integrity: sha512-D+EBOJHXdNZcLJRBkhENNG8Wji2kgc9AZ9KiPr1JuZjsNtyHzrsfLRrY0tk2H2aoFu6RANO1y1iPPUCDYWkb5g==}
+ '@esbuild/aix-ppc64@0.21.5':
+ resolution: {integrity: sha512-1SDgH6ZSPTlggy1yI6+Dbkiz8xzpHJEVAlF/AM1tHPLsf5STom9rwtjE4hKAF20FfXXNTFqEYXyJNWh1GiZedQ==}
engines: {node: '>=12'}
cpu: [ppc64]
os: [aix]
- '@esbuild/android-arm64@0.20.2':
- resolution: {integrity: sha512-mRzjLacRtl/tWU0SvD8lUEwb61yP9cqQo6noDZP/O8VkwafSYwZ4yWy24kan8jE/IMERpYncRt2dw438LP3Xmg==}
+ '@esbuild/android-arm64@0.21.5':
+ resolution: {integrity: sha512-c0uX9VAUBQ7dTDCjq+wdyGLowMdtR/GoC2U5IYk/7D1H1JYC0qseD7+11iMP2mRLN9RcCMRcjC4YMclCzGwS/A==}
engines: {node: '>=12'}
cpu: [arm64]
os: [android]
- '@esbuild/android-arm@0.20.2':
- resolution: {integrity: sha512-t98Ra6pw2VaDhqNWO2Oph2LXbz/EJcnLmKLGBJwEwXX/JAN83Fym1rU8l0JUWK6HkIbWONCSSatf4sf2NBRx/w==}
+ '@esbuild/android-arm@0.21.5':
+ resolution: {integrity: sha512-vCPvzSjpPHEi1siZdlvAlsPxXl7WbOVUBBAowWug4rJHb68Ox8KualB+1ocNvT5fjv6wpkX6o/iEpbDrf68zcg==}
engines: {node: '>=12'}
cpu: [arm]
os: [android]
- '@esbuild/android-x64@0.20.2':
- resolution: {integrity: sha512-btzExgV+/lMGDDa194CcUQm53ncxzeBrWJcncOBxuC6ndBkKxnHdFJn86mCIgTELsooUmwUm9FkhSp5HYu00Rg==}
+ '@esbuild/android-x64@0.21.5':
+ resolution: {integrity: sha512-D7aPRUUNHRBwHxzxRvp856rjUHRFW1SdQATKXH2hqA0kAZb1hKmi02OpYRacl0TxIGz/ZmXWlbZgjwWYaCakTA==}
engines: {node: '>=12'}
cpu: [x64]
os: [android]
- '@esbuild/darwin-arm64@0.20.2':
- resolution: {integrity: sha512-4J6IRT+10J3aJH3l1yzEg9y3wkTDgDk7TSDFX+wKFiWjqWp/iCfLIYzGyasx9l0SAFPT1HwSCR+0w/h1ES/MjA==}
+ '@esbuild/darwin-arm64@0.21.5':
+ resolution: {integrity: sha512-DwqXqZyuk5AiWWf3UfLiRDJ5EDd49zg6O9wclZ7kUMv2WRFr4HKjXp/5t8JZ11QbQfUS6/cRCKGwYhtNAY88kQ==}
engines: {node: '>=12'}
cpu: [arm64]
os: [darwin]
- '@esbuild/darwin-x64@0.20.2':
- resolution: {integrity: sha512-tBcXp9KNphnNH0dfhv8KYkZhjc+H3XBkF5DKtswJblV7KlT9EI2+jeA8DgBjp908WEuYll6pF+UStUCfEpdysA==}
+ '@esbuild/darwin-x64@0.21.5':
+ resolution: {integrity: sha512-se/JjF8NlmKVG4kNIuyWMV/22ZaerB+qaSi5MdrXtd6R08kvs2qCN4C09miupktDitvh8jRFflwGFBQcxZRjbw==}
engines: {node: '>=12'}
cpu: [x64]
os: [darwin]
- '@esbuild/freebsd-arm64@0.20.2':
- resolution: {integrity: sha512-d3qI41G4SuLiCGCFGUrKsSeTXyWG6yem1KcGZVS+3FYlYhtNoNgYrWcvkOoaqMhwXSMrZRl69ArHsGJ9mYdbbw==}
+ '@esbuild/freebsd-arm64@0.21.5':
+ resolution: {integrity: sha512-5JcRxxRDUJLX8JXp/wcBCy3pENnCgBR9bN6JsY4OmhfUtIHe3ZW0mawA7+RDAcMLrMIZaf03NlQiX9DGyB8h4g==}
engines: {node: '>=12'}
cpu: [arm64]
os: [freebsd]
- '@esbuild/freebsd-x64@0.20.2':
- resolution: {integrity: sha512-d+DipyvHRuqEeM5zDivKV1KuXn9WeRX6vqSqIDgwIfPQtwMP4jaDsQsDncjTDDsExT4lR/91OLjRo8bmC1e+Cw==}
+ '@esbuild/freebsd-x64@0.21.5':
+ resolution: {integrity: sha512-J95kNBj1zkbMXtHVH29bBriQygMXqoVQOQYA+ISs0/2l3T9/kj42ow2mpqerRBxDJnmkUDCaQT/dfNXWX/ZZCQ==}
engines: {node: '>=12'}
cpu: [x64]
os: [freebsd]
- '@esbuild/linux-arm64@0.20.2':
- resolution: {integrity: sha512-9pb6rBjGvTFNira2FLIWqDk/uaf42sSyLE8j1rnUpuzsODBq7FvpwHYZxQ/It/8b+QOS1RYfqgGFNLRI+qlq2A==}
+ '@esbuild/linux-arm64@0.21.5':
+ resolution: {integrity: sha512-ibKvmyYzKsBeX8d8I7MH/TMfWDXBF3db4qM6sy+7re0YXya+K1cem3on9XgdT2EQGMu4hQyZhan7TeQ8XkGp4Q==}
engines: {node: '>=12'}
cpu: [arm64]
os: [linux]
- '@esbuild/linux-arm@0.20.2':
- resolution: {integrity: sha512-VhLPeR8HTMPccbuWWcEUD1Az68TqaTYyj6nfE4QByZIQEQVWBB8vup8PpR7y1QHL3CpcF6xd5WVBU/+SBEvGTg==}
+ '@esbuild/linux-arm@0.21.5':
+ resolution: {integrity: sha512-bPb5AHZtbeNGjCKVZ9UGqGwo8EUu4cLq68E95A53KlxAPRmUyYv2D6F0uUI65XisGOL1hBP5mTronbgo+0bFcA==}
engines: {node: '>=12'}
cpu: [arm]
os: [linux]
- '@esbuild/linux-ia32@0.20.2':
- resolution: {integrity: sha512-o10utieEkNPFDZFQm9CoP7Tvb33UutoJqg3qKf1PWVeeJhJw0Q347PxMvBgVVFgouYLGIhFYG0UGdBumROyiig==}
+ '@esbuild/linux-ia32@0.21.5':
+ resolution: {integrity: sha512-YvjXDqLRqPDl2dvRODYmmhz4rPeVKYvppfGYKSNGdyZkA01046pLWyRKKI3ax8fbJoK5QbxblURkwK/MWY18Tg==}
engines: {node: '>=12'}
cpu: [ia32]
os: [linux]
- '@esbuild/linux-loong64@0.20.2':
- resolution: {integrity: sha512-PR7sp6R/UC4CFVomVINKJ80pMFlfDfMQMYynX7t1tNTeivQ6XdX5r2XovMmha/VjR1YN/HgHWsVcTRIMkymrgQ==}
+ '@esbuild/linux-loong64@0.21.5':
+ resolution: {integrity: sha512-uHf1BmMG8qEvzdrzAqg2SIG/02+4/DHB6a9Kbya0XDvwDEKCoC8ZRWI5JJvNdUjtciBGFQ5PuBlpEOXQj+JQSg==}
engines: {node: '>=12'}
cpu: [loong64]
os: [linux]
- '@esbuild/linux-mips64el@0.20.2':
- resolution: {integrity: sha512-4BlTqeutE/KnOiTG5Y6Sb/Hw6hsBOZapOVF6njAESHInhlQAghVVZL1ZpIctBOoTFbQyGW+LsVYZ8lSSB3wkjA==}
+ '@esbuild/linux-mips64el@0.21.5':
+ resolution: {integrity: sha512-IajOmO+KJK23bj52dFSNCMsz1QP1DqM6cwLUv3W1QwyxkyIWecfafnI555fvSGqEKwjMXVLokcV5ygHW5b3Jbg==}
engines: {node: '>=12'}
cpu: [mips64el]
os: [linux]
- '@esbuild/linux-ppc64@0.20.2':
- resolution: {integrity: sha512-rD3KsaDprDcfajSKdn25ooz5J5/fWBylaaXkuotBDGnMnDP1Uv5DLAN/45qfnf3JDYyJv/ytGHQaziHUdyzaAg==}
+ '@esbuild/linux-ppc64@0.21.5':
+ resolution: {integrity: sha512-1hHV/Z4OEfMwpLO8rp7CvlhBDnjsC3CttJXIhBi+5Aj5r+MBvy4egg7wCbe//hSsT+RvDAG7s81tAvpL2XAE4w==}
engines: {node: '>=12'}
cpu: [ppc64]
os: [linux]
- '@esbuild/linux-riscv64@0.20.2':
- resolution: {integrity: sha512-snwmBKacKmwTMmhLlz/3aH1Q9T8v45bKYGE3j26TsaOVtjIag4wLfWSiZykXzXuE1kbCE+zJRmwp+ZbIHinnVg==}
+ '@esbuild/linux-riscv64@0.21.5':
+ resolution: {integrity: sha512-2HdXDMd9GMgTGrPWnJzP2ALSokE/0O5HhTUvWIbD3YdjME8JwvSCnNGBnTThKGEB91OZhzrJ4qIIxk/SBmyDDA==}
engines: {node: '>=12'}
cpu: [riscv64]
os: [linux]
- '@esbuild/linux-s390x@0.20.2':
- resolution: {integrity: sha512-wcWISOobRWNm3cezm5HOZcYz1sKoHLd8VL1dl309DiixxVFoFe/o8HnwuIwn6sXre88Nwj+VwZUvJf4AFxkyrQ==}
+ '@esbuild/linux-s390x@0.21.5':
+ resolution: {integrity: sha512-zus5sxzqBJD3eXxwvjN1yQkRepANgxE9lgOW2qLnmr8ikMTphkjgXu1HR01K4FJg8h1kEEDAqDcZQtbrRnB41A==}
engines: {node: '>=12'}
cpu: [s390x]
os: [linux]
- '@esbuild/linux-x64@0.20.2':
- resolution: {integrity: sha512-1MdwI6OOTsfQfek8sLwgyjOXAu+wKhLEoaOLTjbijk6E2WONYpH9ZU2mNtR+lZ2B4uwr+usqGuVfFT9tMtGvGw==}
+ '@esbuild/linux-x64@0.21.5':
+ resolution: {integrity: sha512-1rYdTpyv03iycF1+BhzrzQJCdOuAOtaqHTWJZCWvijKD2N5Xu0TtVC8/+1faWqcP9iBCWOmjmhoH94dH82BxPQ==}
engines: {node: '>=12'}
cpu: [x64]
os: [linux]
- '@esbuild/netbsd-x64@0.20.2':
- resolution: {integrity: sha512-K8/DhBxcVQkzYc43yJXDSyjlFeHQJBiowJ0uVL6Tor3jGQfSGHNNJcWxNbOI8v5k82prYqzPuwkzHt3J1T1iZQ==}
+ '@esbuild/netbsd-x64@0.21.5':
+ resolution: {integrity: sha512-Woi2MXzXjMULccIwMnLciyZH4nCIMpWQAs049KEeMvOcNADVxo0UBIQPfSmxB3CWKedngg7sWZdLvLczpe0tLg==}
engines: {node: '>=12'}
cpu: [x64]
os: [netbsd]
- '@esbuild/openbsd-x64@0.20.2':
- resolution: {integrity: sha512-eMpKlV0SThJmmJgiVyN9jTPJ2VBPquf6Kt/nAoo6DgHAoN57K15ZghiHaMvqjCye/uU4X5u3YSMgVBI1h3vKrQ==}
+ '@esbuild/openbsd-x64@0.21.5':
+ resolution: {integrity: sha512-HLNNw99xsvx12lFBUwoT8EVCsSvRNDVxNpjZ7bPn947b8gJPzeHWyNVhFsaerc0n3TsbOINvRP2byTZ5LKezow==}
engines: {node: '>=12'}
cpu: [x64]
os: [openbsd]
- '@esbuild/sunos-x64@0.20.2':
- resolution: {integrity: sha512-2UyFtRC6cXLyejf/YEld4Hajo7UHILetzE1vsRcGL3earZEW77JxrFjH4Ez2qaTiEfMgAXxfAZCm1fvM/G/o8w==}
+ '@esbuild/sunos-x64@0.21.5':
+ resolution: {integrity: sha512-6+gjmFpfy0BHU5Tpptkuh8+uw3mnrvgs+dSPQXQOv3ekbordwnzTVEb4qnIvQcYXq6gzkyTnoZ9dZG+D4garKg==}
engines: {node: '>=12'}
cpu: [x64]
os: [sunos]
- '@esbuild/win32-arm64@0.20.2':
- resolution: {integrity: sha512-GRibxoawM9ZCnDxnP3usoUDO9vUkpAxIIZ6GQI+IlVmr5kP3zUq+l17xELTHMWTWzjxa2guPNyrpq1GWmPvcGQ==}
+ '@esbuild/win32-arm64@0.21.5':
+ resolution: {integrity: sha512-Z0gOTd75VvXqyq7nsl93zwahcTROgqvuAcYDUr+vOv8uHhNSKROyU961kgtCD1e95IqPKSQKH7tBTslnS3tA8A==}
engines: {node: '>=12'}
cpu: [arm64]
os: [win32]
- '@esbuild/win32-ia32@0.20.2':
- resolution: {integrity: sha512-HfLOfn9YWmkSKRQqovpnITazdtquEW8/SoHW7pWpuEeguaZI4QnCRW6b+oZTztdBnZOS2hqJ6im/D5cPzBTTlQ==}
+ '@esbuild/win32-ia32@0.21.5':
+ resolution: {integrity: sha512-SWXFF1CL2RVNMaVs+BBClwtfZSvDgtL//G/smwAc5oVK/UPu2Gu9tIaRgFmYFFKrmg3SyAjSrElf0TiJ1v8fYA==}
engines: {node: '>=12'}
cpu: [ia32]
os: [win32]
- '@esbuild/win32-x64@0.20.2':
- resolution: {integrity: sha512-N49X4lJX27+l9jbLKSqZ6bKNjzQvHaT8IIFUy+YIqmXQdjYCToGWwOItDrfby14c78aDd5NHQl29xingXfCdLQ==}
+ '@esbuild/win32-x64@0.21.5':
+ resolution: {integrity: sha512-tQd/1efJuzPC6rCFwEvLtci/xNFcTZknmXs98FYDfGE4wP9ClFV98nyKrzJKVPMhdDnjzLhdUyMX4PsQAPjwIw==}
engines: {node: '>=12'}
cpu: [x64]
os: [win32]
@@ -345,11 +345,11 @@ packages:
cpu: [x64]
os: [win32]
- '@shikijs/core@1.6.0':
- resolution: {integrity: sha512-NIEAi5U5R7BLkbW1pG/ZKu3eb1lzc3/+jD0lFsuxMT7zjaf9bbNwdNyMr7zh/Zl8EXQtQ+MYBAt5G+JLu+5DlA==}
+ '@shikijs/core@1.10.0':
+ resolution: {integrity: sha512-BZcr6FCmPfP6TXaekvujZcnkFmJHZ/Yglu97r/9VjzVndQA56/F4WjUKtJRQUnK59Wi7p/UTAOekMfCJv7jnYg==}
- '@shikijs/transformers@1.6.0':
- resolution: {integrity: sha512-qGfHe1ECiqfE2STPWvfogIj/9Q0SK+MCRJdoITkW7AmFuB7DmbFnBT2US84+zklJOB51MzNO8RUXZiauWssJlQ==}
+ '@shikijs/transformers@1.10.0':
+ resolution: {integrity: sha512-5Eu/kuJu7/CzAjFlTJkyyPoLTLSVQZ31Ps81cjIeR/3PDJ2RUuX1/R8d0qFziBKToym1LXbNiXoJQq0mg5+Cwg==}
'@types/estree@1.0.5':
resolution: {integrity: sha512-/kYRxGDLWzHOB7q+wtSUQlFrtcdUccpfy+X+9iMBpHK8QLLhx2wIPYuS5DYtR9Wa/YlZAbIovy7qVdB1Aq6Lyw==}
@@ -363,30 +363,30 @@ packages:
'@types/mdurl@2.0.0':
resolution: {integrity: sha512-RGdgjQUZba5p6QEFAVx2OGb8rQDL/cPRG7GiedRzMcJ1tYnUANBncjbSB1NRGwbvjcPeikRABz2nshyPk1bhWg==}
- '@types/node@20.14.2':
- resolution: {integrity: sha512-xyu6WAMVwv6AKFLB+e/7ySZVr/0zLCzOa7rSpq6jNwpqOrUbcACDWC+53d4n2QHOnDou0fbIsg8wZu/sxrnI4Q==}
+ '@types/node@20.14.9':
+ resolution: {integrity: sha512-06OCtnTXtWOZBJlRApleWndH4JsRVs1pDCc8dLSQp+7PpUpX3ePdHyeNSFTeSe7FtKyQkrlPvHwJOW3SLd8Oyg==}
'@types/web-bluetooth@0.0.20':
resolution: {integrity: sha512-g9gZnnXVq7gM7v3tJCWV/qw7w+KeOlSHAhgF9RytFyifW6AF61hdT2ucrYhPq9hLs5JIryeupHV3qGk95dH9ow==}
- '@vitejs/plugin-vue@5.0.4':
- resolution: {integrity: sha512-WS3hevEszI6CEVEx28F8RjTX97k3KsrcY6kvTg7+Whm5y3oYvcqzVeGCU3hxSAn4uY2CLCkeokkGKpoctccilQ==}
+ '@vitejs/plugin-vue@5.0.5':
+ resolution: {integrity: sha512-LOjm7XeIimLBZyzinBQ6OSm3UBCNVCpLkxGC0oWmm2YPzVZoxMsdvNVimLTBzpAnR9hl/yn1SHGuRfe6/Td9rQ==}
engines: {node: ^18.0.0 || >=20.0.0}
peerDependencies:
vite: ^5.0.0
vue: ^3.2.25
- '@vue/compiler-core@3.4.27':
- resolution: {integrity: sha512-E+RyqY24KnyDXsCuQrI+mlcdW3ALND6U7Gqa/+bVwbcpcR3BRRIckFoz7Qyd4TTlnugtwuI7YgjbvsLmxb+yvg==}
+ '@vue/compiler-core@3.4.31':
+ resolution: {integrity: sha512-skOiodXWTV3DxfDhB4rOf3OGalpITLlgCeOwb+Y9GJpfQ8ErigdBUHomBzvG78JoVE8MJoQsb+qhZiHfKeNeEg==}
- '@vue/compiler-dom@3.4.27':
- resolution: {integrity: sha512-kUTvochG/oVgE1w5ViSr3KUBh9X7CWirebA3bezTbB5ZKBQZwR2Mwj9uoSKRMFcz4gSMzzLXBPD6KpCLb9nvWw==}
+ '@vue/compiler-dom@3.4.31':
+ resolution: {integrity: sha512-wK424WMXsG1IGMyDGyLqB+TbmEBFM78hIsOJ9QwUVLGrcSk0ak6zYty7Pj8ftm7nEtdU/DGQxAXp0/lM/2cEpQ==}
- '@vue/compiler-sfc@3.4.27':
- resolution: {integrity: sha512-nDwntUEADssW8e0rrmE0+OrONwmRlegDA1pD6QhVeXxjIytV03yDqTey9SBDiALsvAd5U4ZrEKbMyVXhX6mCGA==}
+ '@vue/compiler-sfc@3.4.31':
+ resolution: {integrity: sha512-einJxqEw8IIJxzmnxmJBuK2usI+lJonl53foq+9etB2HAzlPjAS/wa7r0uUpXw5ByX3/0uswVSrjNb17vJm1kQ==}
- '@vue/compiler-ssr@3.4.27':
- resolution: {integrity: sha512-CVRzSJIltzMG5FcidsW0jKNQnNRYC8bT21VegyMMtHmhW3UOI7knmUehzswXLrExDLE6lQCZdrhD4ogI7c+vuw==}
+ '@vue/compiler-ssr@3.4.31':
+ resolution: {integrity: sha512-RtefmITAje3fJ8FSg1gwgDhdKhZVntIVbwupdyZDSifZTRMiWxWehAOTCc8/KZDnBOcYQ4/9VWxsTbd3wT0hAA==}
'@vue/devtools-api@7.2.1':
resolution: {integrity: sha512-6oNCtyFOrNdqm6GUkFujsCgFlpbsHLnZqq7edeM/+cxAbMyCWvsaCsIMUaz7AiluKLccCGEM8fhOsjaKgBvb7g==}
@@ -399,41 +399,44 @@ packages:
'@vue/devtools-shared@7.2.1':
resolution: {integrity: sha512-PCJF4UknJmOal68+X9XHyVeQ+idv0LFujkTOIW30+GaMJqwFVN9LkQKX4gLqn61KkGMdJTzQ1bt7EJag3TI6AA==}
- '@vue/reactivity@3.4.27':
- resolution: {integrity: sha512-kK0g4NknW6JX2yySLpsm2jlunZJl2/RJGZ0H9ddHdfBVHcNzxmQ0sS0b09ipmBoQpY8JM2KmUw+a6sO8Zo+zIA==}
+ '@vue/reactivity@3.4.31':
+ resolution: {integrity: sha512-VGkTani8SOoVkZNds1PfJ/T1SlAIOf8E58PGAhIOUDYPC4GAmFA2u/E14TDAFcf3vVDKunc4QqCe/SHr8xC65Q==}
- '@vue/runtime-core@3.4.27':
- resolution: {integrity: sha512-7aYA9GEbOOdviqVvcuweTLe5Za4qBZkUY7SvET6vE8kyypxVgaT1ixHLg4urtOlrApdgcdgHoTZCUuTGap/5WA==}
+ '@vue/runtime-core@3.4.31':
+ resolution: {integrity: sha512-LDkztxeUPazxG/p8c5JDDKPfkCDBkkiNLVNf7XZIUnJ+66GVGkP+TIh34+8LtPisZ+HMWl2zqhIw0xN5MwU1cw==}
- '@vue/runtime-dom@3.4.27':
- resolution: {integrity: sha512-ScOmP70/3NPM+TW9hvVAz6VWWtZJqkbdf7w6ySsws+EsqtHvkhxaWLecrTorFxsawelM5Ys9FnDEMt6BPBDS0Q==}
+ '@vue/runtime-dom@3.4.31':
+ resolution: {integrity: sha512-2Auws3mB7+lHhTFCg8E9ZWopA6Q6L455EcU7bzcQ4x6Dn4cCPuqj6S2oBZgN2a8vJRS/LSYYxwFFq2Hlx3Fsaw==}
- '@vue/server-renderer@3.4.27':
- resolution: {integrity: sha512-dlAMEuvmeA3rJsOMJ2J1kXU7o7pOxgsNHVr9K8hB3ImIkSuBrIdy0vF66h8gf8Tuinf1TK3mPAz2+2sqyf3KzA==}
+ '@vue/server-renderer@3.4.31':
+ resolution: {integrity: sha512-D5BLbdvrlR9PE3by9GaUp1gQXlCNadIZytMIb8H2h3FMWJd4oUfkUTEH2wAr3qxoRz25uxbTcbqd3WKlm9EHQA==}
peerDependencies:
- vue: 3.4.27
+ vue: 3.4.31
'@vue/shared@3.4.27':
resolution: {integrity: sha512-DL3NmY2OFlqmYYrzp39yi3LDkKxa5vZVwxWdQ3rG0ekuWscHraeIbnI8t+aZK7qhYqEqWKTUdijadunb9pnrgA==}
- '@vueuse/core@10.9.0':
- resolution: {integrity: sha512-/1vjTol8SXnx6xewDEKfS0Ra//ncg4Hb0DaZiwKf7drgfMsKFExQ+FnnENcN6efPen+1kIzhLQoGSy0eDUVOMg==}
+ '@vue/shared@3.4.31':
+ resolution: {integrity: sha512-Yp3wtJk//8cO4NItOPpi3QkLExAr/aLBGZMmTtW9WpdwBCJpRM6zj9WgWktXAl8IDIozwNMByT45JP3tO3ACWA==}
- '@vueuse/integrations@10.9.0':
- resolution: {integrity: sha512-acK+A01AYdWSvL4BZmCoJAcyHJ6EqhmkQEXbQLwev1MY7NBnS+hcEMx/BzVoR9zKI+UqEPMD9u6PsyAuiTRT4Q==}
+ '@vueuse/core@10.11.0':
+ resolution: {integrity: sha512-x3sD4Mkm7PJ+pcq3HX8PLPBadXCAlSDR/waK87dz0gQE+qJnaaFhc/dZVfJz+IUYzTMVGum2QlR7ImiJQN4s6g==}
+
+ '@vueuse/integrations@10.11.0':
+ resolution: {integrity: sha512-Pp6MtWEIr+NDOccWd8j59Kpjy5YDXogXI61Kb1JxvSfVBO8NzFQkmrKmSZz47i+ZqHnIzxaT38L358yDHTncZg==}
peerDependencies:
- async-validator: '*'
- axios: '*'
- change-case: '*'
- drauu: '*'
- focus-trap: '*'
- fuse.js: '*'
- idb-keyval: '*'
- jwt-decode: '*'
- nprogress: '*'
- qrcode: '*'
- sortablejs: '*'
- universal-cookie: '*'
+ async-validator: ^4
+ axios: ^1
+ change-case: ^4
+ drauu: ^0.3
+ focus-trap: ^7
+ fuse.js: ^6
+ idb-keyval: ^6
+ jwt-decode: ^3
+ nprogress: ^0.2
+ qrcode: ^1.5
+ sortablejs: ^1
+ universal-cookie: ^6
peerDependenciesMeta:
async-validator:
optional: true
@@ -460,11 +463,11 @@ packages:
universal-cookie:
optional: true
- '@vueuse/metadata@10.9.0':
- resolution: {integrity: sha512-iddNbg3yZM0X7qFY2sAotomgdHK7YJ6sKUvQqbvwnf7TmaVPxS4EJydcNsVejNdS8iWCtDk+fYXr7E32nyTnGA==}
+ '@vueuse/metadata@10.11.0':
+ resolution: {integrity: sha512-kQX7l6l8dVWNqlqyN3ePW3KmjCQO3ZMgXuBMddIu83CmucrsBfXlH+JoviYyRBws/yLTQO8g3Pbw+bdIoVm4oQ==}
- '@vueuse/shared@10.9.0':
- resolution: {integrity: sha512-Uud2IWncmAfJvRaFYzv5OHDli+FbOzxiVEQdLCKQKLyhz94PIyFC3CHcH7EDMwIn8NPtD06+PNbC/PiO0LGLtw==}
+ '@vueuse/shared@10.11.0':
+ resolution: {integrity: sha512-fyNoIXEq3PfX1L3NkNhtVQUSRtqYwJtJg+Bp9rIzculIZWHTkKSysujrOk2J+NrRulLTQH9+3gGSfYLWSEWU1A==}
algoliasearch@4.23.2:
resolution: {integrity: sha512-8aCl055IsokLuPU8BzLjwzXjb7ty9TPcUFFOk0pYOwsE5DMVhE3kwCMFtsCFKcnoPZK7oObm+H5mbnSO/9ioxQ==}
@@ -479,8 +482,8 @@ packages:
resolution: {integrity: sha512-V0hjH4dGPh9Ao5p0MoRY6BVqtwCjhz6vI5LT8AJ55H+4g9/4vbHx1I54fS0XuclLhDHArPQCiMjDxjaL8fPxhw==}
engines: {node: '>=0.12'}
- esbuild@0.20.2:
- resolution: {integrity: sha512-WdOOppmUNU+IbZ0PaDiTst80zjnrOkyJNHoKupIcVyU8Lvla3Ugx94VzkQ32Ijqd7UhHJy75gNWDMUekcrSJ6g==}
+ esbuild@0.21.5:
+ resolution: {integrity: sha512-mg3OPMV4hXywwpoDxu3Qda5xCKQi+vCTZq8S9J/EpkhB2HzKXq4SNFZE3+NK93JYxc8VMSep+lOUSC/RVKaBqw==}
engines: {node: '>=12'}
hasBin: true
@@ -568,8 +571,8 @@ packages:
resolution: {integrity: sha512-vfD3pmTzGpufjScBh50YHKzEu2lxBWhVEHsNGoEXmCmn2hKGfeNLYMzCJpe8cD7gqX7TJluOVpBkAequ6dgMmA==}
engines: {node: '>=4'}
- shiki@1.6.0:
- resolution: {integrity: sha512-P31ROeXcVgW/k3Z+vUUErcxoTah7ZRaimctOpzGuqAntqnnSmx1HOsvnbAB8Z2qfXPRhw61yptAzCsuKOhTHwQ==}
+ shiki@1.10.0:
+ resolution: {integrity: sha512-YD2sXQ+TMD/F9BimV9Jn0wj35pqOvywvOG/3PB6hGHyGKlM7TJ9tyJ02jOb2kF8F0HfJwKNYrh3sW7jEcuRlXA==}
source-map-js@1.2.0:
resolution: {integrity: sha512-itJW8lvSA0TXEphiRoawsCksnlf8SyvmFzIhltqAHluXd88pkCd+cXJVHTDwdCr0IzwptSm035IHQktUu1QUMg==}
@@ -596,8 +599,8 @@ packages:
undici-types@5.26.5:
resolution: {integrity: sha512-JlCMO+ehdEIKqlFxk6IfVoAUVmgz7cU7zD/h9XZ0qzeosSHmUJVOzSQvvYSYWXkFXC+IfLKSIffhv0sVZup6pA==}
- vite@5.2.11:
- resolution: {integrity: sha512-HndV31LWW05i1BLPMUCE1B9E9GFbOu1MbenhS58FuK6owSO5qHm7GiCotrNY1YE5rMeQSFBGmT5ZaLEjFizgiQ==}
+ vite@5.3.2:
+ resolution: {integrity: sha512-6lA7OBHBlXUxiJxbO5aAY2fsHHzDr1q7DvXYnyZycRs2Dz+dXBWuhpWHvmljTRTpQC2uvGmUFFkSHF2vGo90MA==}
engines: {node: ^18.0.0 || >=20.0.0}
hasBin: true
peerDependencies:
@@ -624,8 +627,8 @@ packages:
terser:
optional: true
- vitepress@1.2.2:
- resolution: {integrity: sha512-uZ3nXR5NY4nYj3RJWCo5jev9qlNZAQo5SUXu1U0QSUx84cUm/o7hCTDVjZ4njVSVui+PsV1oAbdQOg8ygbaf4w==}
+ vitepress@1.2.3:
+ resolution: {integrity: sha512-GvEsrEeNLiDE1+fuwDAYJCYLNZDAna+EtnXlPajhv/MYeTjbNK6Bvyg6NoTdO1sbwuQJ0vuJR99bOlH53bo6lg==}
hasBin: true
peerDependencies:
markdown-it-mathjax3: ^4
@@ -636,8 +639,8 @@ packages:
postcss:
optional: true
- vue-demi@0.14.7:
- resolution: {integrity: sha512-EOG8KXDQNwkJILkx/gPcoL/7vH+hORoBaKgGe+6W7VFMvCYJfmF2dGbvgDroVnI8LU7/kTu8mbjRZGBU1z9NTA==}
+ vue-demi@0.14.8:
+ resolution: {integrity: sha512-Uuqnk9YE9SsWeReYqK2alDI5YzciATE0r2SkA6iMAtuXvNTMNACJLJEXNXaEy94ECuBe4Sk6RzRU80kjdbIo1Q==}
engines: {node: '>=12'}
hasBin: true
peerDependencies:
@@ -647,8 +650,8 @@ packages:
'@vue/composition-api':
optional: true
- vue@3.4.27:
- resolution: {integrity: sha512-8s/56uK6r01r1icG/aEOHqyMVxd1bkYcSe9j8HcKtr/xTOFWvnzIVTehNW+5Yt89f+DLBe4A569pnZLS5HzAMA==}
+ vue@3.4.31:
+ resolution: {integrity: sha512-njqRrOy7W3YLAlVqSKpBebtZpDVg21FPoaq1I7f/+qqBThK9ChAIjkRWgeP6Eat+8C+iia4P3OYqpATP21BCoQ==}
peerDependencies:
typescript: '*'
peerDependenciesMeta:
@@ -765,7 +768,7 @@ snapshots:
'@babel/helper-validator-identifier@7.22.20': {}
- '@babel/parser@7.24.4':
+ '@babel/parser@7.24.7':
dependencies:
'@babel/types': 7.24.0
@@ -794,77 +797,78 @@ snapshots:
'@algolia/autocomplete-preset-algolia': 1.9.3(@algolia/client-search@4.23.2)(algoliasearch@4.23.2)
'@docsearch/css': 3.6.0
algoliasearch: 4.23.2
+ optionalDependencies:
search-insights: 2.13.0
transitivePeerDependencies:
- '@algolia/client-search'
- '@esbuild/aix-ppc64@0.20.2':
+ '@esbuild/aix-ppc64@0.21.5':
optional: true
- '@esbuild/android-arm64@0.20.2':
+ '@esbuild/android-arm64@0.21.5':
optional: true
- '@esbuild/android-arm@0.20.2':
+ '@esbuild/android-arm@0.21.5':
optional: true
- '@esbuild/android-x64@0.20.2':
+ '@esbuild/android-x64@0.21.5':
optional: true
- '@esbuild/darwin-arm64@0.20.2':
+ '@esbuild/darwin-arm64@0.21.5':
optional: true
- '@esbuild/darwin-x64@0.20.2':
+ '@esbuild/darwin-x64@0.21.5':
optional: true
- '@esbuild/freebsd-arm64@0.20.2':
+ '@esbuild/freebsd-arm64@0.21.5':
optional: true
- '@esbuild/freebsd-x64@0.20.2':
+ '@esbuild/freebsd-x64@0.21.5':
optional: true
- '@esbuild/linux-arm64@0.20.2':
+ '@esbuild/linux-arm64@0.21.5':
optional: true
- '@esbuild/linux-arm@0.20.2':
+ '@esbuild/linux-arm@0.21.5':
optional: true
- '@esbuild/linux-ia32@0.20.2':
+ '@esbuild/linux-ia32@0.21.5':
optional: true
- '@esbuild/linux-loong64@0.20.2':
+ '@esbuild/linux-loong64@0.21.5':
optional: true
- '@esbuild/linux-mips64el@0.20.2':
+ '@esbuild/linux-mips64el@0.21.5':
optional: true
- '@esbuild/linux-ppc64@0.20.2':
+ '@esbuild/linux-ppc64@0.21.5':
optional: true
- '@esbuild/linux-riscv64@0.20.2':
+ '@esbuild/linux-riscv64@0.21.5':
optional: true
- '@esbuild/linux-s390x@0.20.2':
+ '@esbuild/linux-s390x@0.21.5':
optional: true
- '@esbuild/linux-x64@0.20.2':
+ '@esbuild/linux-x64@0.21.5':
optional: true
- '@esbuild/netbsd-x64@0.20.2':
+ '@esbuild/netbsd-x64@0.21.5':
optional: true
- '@esbuild/openbsd-x64@0.20.2':
+ '@esbuild/openbsd-x64@0.21.5':
optional: true
- '@esbuild/sunos-x64@0.20.2':
+ '@esbuild/sunos-x64@0.21.5':
optional: true
- '@esbuild/win32-arm64@0.20.2':
+ '@esbuild/win32-arm64@0.21.5':
optional: true
- '@esbuild/win32-ia32@0.20.2':
+ '@esbuild/win32-ia32@0.21.5':
optional: true
- '@esbuild/win32-x64@0.20.2':
+ '@esbuild/win32-x64@0.21.5':
optional: true
'@jridgewell/sourcemap-codec@1.4.15': {}
@@ -914,11 +918,11 @@ snapshots:
'@rollup/rollup-win32-x64-msvc@4.14.1':
optional: true
- '@shikijs/core@1.6.0': {}
+ '@shikijs/core@1.10.0': {}
- '@shikijs/transformers@1.6.0':
+ '@shikijs/transformers@1.10.0':
dependencies:
- shiki: 1.6.0
+ shiki: 1.10.0
'@types/estree@1.0.5': {}
@@ -931,114 +935,118 @@ snapshots:
'@types/mdurl@2.0.0': {}
- '@types/node@20.14.2':
+ '@types/node@20.14.9':
dependencies:
undici-types: 5.26.5
'@types/web-bluetooth@0.0.20': {}
- '@vitejs/plugin-vue@5.0.4(vite@5.2.11)(vue@3.4.27)':
+ '@vitejs/plugin-vue@5.0.5(vite@5.3.2(@types/node@20.14.9))(vue@3.4.31)':
dependencies:
- vite: 5.2.11(@types/node@20.14.2)
- vue: 3.4.27
+ vite: 5.3.2(@types/node@20.14.9)
+ vue: 3.4.31
- '@vue/compiler-core@3.4.27':
+ '@vue/compiler-core@3.4.31':
dependencies:
- '@babel/parser': 7.24.4
- '@vue/shared': 3.4.27
+ '@babel/parser': 7.24.7
+ '@vue/shared': 3.4.31
entities: 4.5.0
estree-walker: 2.0.2
source-map-js: 1.2.0
- '@vue/compiler-dom@3.4.27':
+ '@vue/compiler-dom@3.4.31':
dependencies:
- '@vue/compiler-core': 3.4.27
- '@vue/shared': 3.4.27
+ '@vue/compiler-core': 3.4.31
+ '@vue/shared': 3.4.31
- '@vue/compiler-sfc@3.4.27':
+ '@vue/compiler-sfc@3.4.31':
dependencies:
- '@babel/parser': 7.24.4
- '@vue/compiler-core': 3.4.27
- '@vue/compiler-dom': 3.4.27
- '@vue/compiler-ssr': 3.4.27
- '@vue/shared': 3.4.27
+ '@babel/parser': 7.24.7
+ '@vue/compiler-core': 3.4.31
+ '@vue/compiler-dom': 3.4.31
+ '@vue/compiler-ssr': 3.4.31
+ '@vue/shared': 3.4.31
estree-walker: 2.0.2
magic-string: 0.30.10
postcss: 8.4.38
source-map-js: 1.2.0
- '@vue/compiler-ssr@3.4.27':
+ '@vue/compiler-ssr@3.4.31':
dependencies:
- '@vue/compiler-dom': 3.4.27
- '@vue/shared': 3.4.27
+ '@vue/compiler-dom': 3.4.31
+ '@vue/shared': 3.4.31
- '@vue/devtools-api@7.2.1(vue@3.4.27)':
+ '@vue/devtools-api@7.2.1(vue@3.4.31)':
dependencies:
- '@vue/devtools-kit': 7.2.1(vue@3.4.27)
+ '@vue/devtools-kit': 7.2.1(vue@3.4.31)
transitivePeerDependencies:
- vue
- '@vue/devtools-kit@7.2.1(vue@3.4.27)':
+ '@vue/devtools-kit@7.2.1(vue@3.4.31)':
dependencies:
'@vue/devtools-shared': 7.2.1
hookable: 5.5.3
mitt: 3.0.1
perfect-debounce: 1.0.0
speakingurl: 14.0.1
- vue: 3.4.27
+ vue: 3.4.31
'@vue/devtools-shared@7.2.1':
dependencies:
rfdc: 1.3.1
- '@vue/reactivity@3.4.27':
+ '@vue/reactivity@3.4.31':
dependencies:
- '@vue/shared': 3.4.27
+ '@vue/shared': 3.4.31
- '@vue/runtime-core@3.4.27':
+ '@vue/runtime-core@3.4.31':
dependencies:
- '@vue/reactivity': 3.4.27
- '@vue/shared': 3.4.27
+ '@vue/reactivity': 3.4.31
+ '@vue/shared': 3.4.31
- '@vue/runtime-dom@3.4.27':
+ '@vue/runtime-dom@3.4.31':
dependencies:
- '@vue/runtime-core': 3.4.27
- '@vue/shared': 3.4.27
+ '@vue/reactivity': 3.4.31
+ '@vue/runtime-core': 3.4.31
+ '@vue/shared': 3.4.31
csstype: 3.1.3
- '@vue/server-renderer@3.4.27(vue@3.4.27)':
+ '@vue/server-renderer@3.4.31(vue@3.4.31)':
dependencies:
- '@vue/compiler-ssr': 3.4.27
- '@vue/shared': 3.4.27
- vue: 3.4.27
+ '@vue/compiler-ssr': 3.4.31
+ '@vue/shared': 3.4.31
+ vue: 3.4.31
'@vue/shared@3.4.27': {}
- '@vueuse/core@10.9.0(vue@3.4.27)':
+ '@vue/shared@3.4.31': {}
+
+ '@vueuse/core@10.11.0(vue@3.4.31)':
dependencies:
'@types/web-bluetooth': 0.0.20
- '@vueuse/metadata': 10.9.0
- '@vueuse/shared': 10.9.0(vue@3.4.27)
- vue-demi: 0.14.7(vue@3.4.27)
+ '@vueuse/metadata': 10.11.0
+ '@vueuse/shared': 10.11.0(vue@3.4.31)
+ vue-demi: 0.14.8(vue@3.4.31)
transitivePeerDependencies:
- '@vue/composition-api'
- vue
- '@vueuse/integrations@10.9.0(focus-trap@7.5.4)(vue@3.4.27)':
+ '@vueuse/integrations@10.11.0(focus-trap@7.5.4)(vue@3.4.31)':
dependencies:
- '@vueuse/core': 10.9.0(vue@3.4.27)
- '@vueuse/shared': 10.9.0(vue@3.4.27)
+ '@vueuse/core': 10.11.0(vue@3.4.31)
+ '@vueuse/shared': 10.11.0(vue@3.4.31)
+ vue-demi: 0.14.8(vue@3.4.31)
+ optionalDependencies:
focus-trap: 7.5.4
- vue-demi: 0.14.7(vue@3.4.27)
transitivePeerDependencies:
- '@vue/composition-api'
- vue
- '@vueuse/metadata@10.9.0': {}
+ '@vueuse/metadata@10.11.0': {}
- '@vueuse/shared@10.9.0(vue@3.4.27)':
+ '@vueuse/shared@10.11.0(vue@3.4.31)':
dependencies:
- vue-demi: 0.14.7(vue@3.4.27)
+ vue-demi: 0.14.8(vue@3.4.31)
transitivePeerDependencies:
- '@vue/composition-api'
- vue
@@ -1069,31 +1077,31 @@ snapshots:
entities@4.5.0: {}
- esbuild@0.20.2:
+ esbuild@0.21.5:
optionalDependencies:
- '@esbuild/aix-ppc64': 0.20.2
- '@esbuild/android-arm': 0.20.2
- '@esbuild/android-arm64': 0.20.2
- '@esbuild/android-x64': 0.20.2
- '@esbuild/darwin-arm64': 0.20.2
- '@esbuild/darwin-x64': 0.20.2
- '@esbuild/freebsd-arm64': 0.20.2
- '@esbuild/freebsd-x64': 0.20.2
- '@esbuild/linux-arm': 0.20.2
- '@esbuild/linux-arm64': 0.20.2
- '@esbuild/linux-ia32': 0.20.2
- '@esbuild/linux-loong64': 0.20.2
- '@esbuild/linux-mips64el': 0.20.2
- '@esbuild/linux-ppc64': 0.20.2
- '@esbuild/linux-riscv64': 0.20.2
- '@esbuild/linux-s390x': 0.20.2
- '@esbuild/linux-x64': 0.20.2
- '@esbuild/netbsd-x64': 0.20.2
- '@esbuild/openbsd-x64': 0.20.2
- '@esbuild/sunos-x64': 0.20.2
- '@esbuild/win32-arm64': 0.20.2
- '@esbuild/win32-ia32': 0.20.2
- '@esbuild/win32-x64': 0.20.2
+ '@esbuild/aix-ppc64': 0.21.5
+ '@esbuild/android-arm': 0.21.5
+ '@esbuild/android-arm64': 0.21.5
+ '@esbuild/android-x64': 0.21.5
+ '@esbuild/darwin-arm64': 0.21.5
+ '@esbuild/darwin-x64': 0.21.5
+ '@esbuild/freebsd-arm64': 0.21.5
+ '@esbuild/freebsd-x64': 0.21.5
+ '@esbuild/linux-arm': 0.21.5
+ '@esbuild/linux-arm64': 0.21.5
+ '@esbuild/linux-ia32': 0.21.5
+ '@esbuild/linux-loong64': 0.21.5
+ '@esbuild/linux-mips64el': 0.21.5
+ '@esbuild/linux-ppc64': 0.21.5
+ '@esbuild/linux-riscv64': 0.21.5
+ '@esbuild/linux-s390x': 0.21.5
+ '@esbuild/linux-x64': 0.21.5
+ '@esbuild/netbsd-x64': 0.21.5
+ '@esbuild/openbsd-x64': 0.21.5
+ '@esbuild/sunos-x64': 0.21.5
+ '@esbuild/win32-arm64': 0.21.5
+ '@esbuild/win32-ia32': 0.21.5
+ '@esbuild/win32-x64': 0.21.5
esprima@4.0.1: {}
@@ -1182,9 +1190,9 @@ snapshots:
extend-shallow: 2.0.1
kind-of: 6.0.3
- shiki@1.6.0:
+ shiki@1.10.0:
dependencies:
- '@shikijs/core': 1.6.0
+ '@shikijs/core': 1.10.0
source-map-js@1.2.0: {}
@@ -1200,33 +1208,35 @@ snapshots:
undici-types@5.26.5: {}
- vite@5.2.11(@types/node@20.14.2):
+ vite@5.3.2(@types/node@20.14.9):
dependencies:
- '@types/node': 20.14.2
- esbuild: 0.20.2
+ esbuild: 0.21.5
postcss: 8.4.38
rollup: 4.14.1
optionalDependencies:
+ '@types/node': 20.14.9
fsevents: 2.3.3
- vitepress@1.2.2(@algolia/client-search@4.23.2)(@types/node@20.14.2)(search-insights@2.13.0):
+ vitepress@1.2.3(@algolia/client-search@4.23.2)(@types/node@20.14.9)(postcss@8.4.38)(search-insights@2.13.0):
dependencies:
'@docsearch/css': 3.6.0
'@docsearch/js': 3.6.0(@algolia/client-search@4.23.2)(search-insights@2.13.0)
- '@shikijs/core': 1.6.0
- '@shikijs/transformers': 1.6.0
+ '@shikijs/core': 1.10.0
+ '@shikijs/transformers': 1.10.0
'@types/markdown-it': 14.1.1
- '@vitejs/plugin-vue': 5.0.4(vite@5.2.11)(vue@3.4.27)
- '@vue/devtools-api': 7.2.1(vue@3.4.27)
+ '@vitejs/plugin-vue': 5.0.5(vite@5.3.2(@types/node@20.14.9))(vue@3.4.31)
+ '@vue/devtools-api': 7.2.1(vue@3.4.31)
'@vue/shared': 3.4.27
- '@vueuse/core': 10.9.0(vue@3.4.27)
- '@vueuse/integrations': 10.9.0(focus-trap@7.5.4)(vue@3.4.27)
+ '@vueuse/core': 10.11.0(vue@3.4.31)
+ '@vueuse/integrations': 10.11.0(focus-trap@7.5.4)(vue@3.4.31)
focus-trap: 7.5.4
mark.js: 8.11.1
minisearch: 6.3.0
- shiki: 1.6.0
- vite: 5.2.11(@types/node@20.14.2)
- vue: 3.4.27
+ shiki: 1.10.0
+ vite: 5.3.2(@types/node@20.14.9)
+ vue: 3.4.31
+ optionalDependencies:
+ postcss: 8.4.38
transitivePeerDependencies:
- '@algolia/client-search'
- '@types/node'
@@ -1254,14 +1264,14 @@ snapshots:
- typescript
- universal-cookie
- vue-demi@0.14.7(vue@3.4.27):
+ vue-demi@0.14.8(vue@3.4.31):
dependencies:
- vue: 3.4.27
+ vue: 3.4.31
- vue@3.4.27:
+ vue@3.4.31:
dependencies:
- '@vue/compiler-dom': 3.4.27
- '@vue/compiler-sfc': 3.4.27
- '@vue/runtime-dom': 3.4.27
- '@vue/server-renderer': 3.4.27(vue@3.4.27)
- '@vue/shared': 3.4.27
+ '@vue/compiler-dom': 3.4.31
+ '@vue/compiler-sfc': 3.4.31
+ '@vue/runtime-dom': 3.4.31
+ '@vue/server-renderer': 3.4.31(vue@3.4.31)
+ '@vue/shared': 3.4.31