diff --git a/apps/app-frontend/src/assets/models/wide_player.gltf b/apps/app-frontend/src/assets/models/wide_player.gltf
new file mode 100644
index 000000000..bee6880a6
--- /dev/null
+++ b/apps/app-frontend/src/assets/models/wide_player.gltf
@@ -0,0 +1 @@
+{"asset":{"version":"2.0","generator":"Blockbench 4.12.4 glTF exporter"},"scenes":[{"nodes":[18],"name":"blockbench_export"}],"scene":0,"nodes":[{"translation":[0,-1.5,0],"name":"Head","mesh":0},{"translation":[0,-1.5,0],"name":"Hat Layer","mesh":1},{"rotation":[0.05228614400929896,-0.043559608510925024,0.002282862348496242,0.997679060715675],"translation":[0,1.5,0],"name":"Head","children":[0,1]},{"translation":[0,-1.5,0],"name":"Body","mesh":2},{"translation":[0,-1.5,0],"name":"Body Layer","mesh":3},{"translation":[0,1.5,0],"name":"Body","children":[3,4]},{"translation":[-0.3125,-1.375,0],"name":"Right Arm","mesh":4},{"translation":[-0.3125,-1.375,0],"name":"Right Arm Layer","mesh":5},{"rotation":[0.08715574274765817,0,0,0.9961946980917455],"translation":[0.3125,1.375,0],"name":"Right Arm","children":[6,7]},{"translation":[0.3125,-1.375,0],"name":"Left Arm","mesh":6},{"translation":[0.3125,-1.375,0],"name":"Left Arm Layer","mesh":7},{"rotation":[-0.10452846326765346,0,0,0.9945218953682733],"translation":[-0.3125,1.375,0],"name":"Left Arm","children":[9,10]},{"translation":[-0.11875,-0.75,0],"name":"Right Leg","mesh":8},{"translation":[-0.11875,-0.75,0],"name":"Right Leg Layer","mesh":9},{"rotation":[-0.09583115474787583,-0.0016727390282702394,0.01737205902003089,0.9952445947048578],"translation":[0.11875,0.75,0],"name":"Right Leg","children":[12,13]},{"translation":[0.11875,-0.75,0],"name":"Left Leg","mesh":10},{"translation":[0.11875,-0.75,0],"name":"Left Leg Layer","mesh":11},{"rotation":[0.08714246850588939,-0.0015210774457754552,-0.017385994761764084,0.9960429728140489],"translation":[-0.11875,0.75,0],"name":"Left Leg","children":[15,16]},{"children":[2,5,8,11,14,17]}],"bufferViews":[{"buffer":0,"byteOffset":0,"byteLength":288,"target":34962,"byteStride":12},{"buffer":0,"byteOffset":288,"byteLength":288,"target":34962,"byteStride":12},{"buffer":0,"byteOffset":576,"byteLength":192,"target":34962,"byteStride":8},{"buffer":0,"byteOffset":768,"byteLength":72,"target":34963},{"buffer":0,"byteOffset":840,"byteLength":288,"target":34962,"byteStride":12},{"buffer":0,"byteOffset":1128,"byteLength":288,"target":34962,"byteStride":12},{"buffer":0,"byteOffset":1416,"byteLength":192,"target":34962,"byteStride":8},{"buffer":0,"byteOffset":1608,"byteLength":72,"target":34963},{"buffer":0,"byteOffset":1680,"byteLength":288,"target":34962,"byteStride":12},{"buffer":0,"byteOffset":1968,"byteLength":288,"target":34962,"byteStride":12},{"buffer":0,"byteOffset":2256,"byteLength":192,"target":34962,"byteStride":8},{"buffer":0,"byteOffset":2448,"byteLength":72,"target":34963},{"buffer":0,"byteOffset":2520,"byteLength":288,"target":34962,"byteStride":12},{"buffer":0,"byteOffset":2808,"byteLength":288,"target":34962,"byteStride":12},{"buffer":0,"byteOffset":3096,"byteLength":192,"target":34962,"byteStride":8},{"buffer":0,"byteOffset":3288,"byteLength":72,"target":34963},{"buffer":0,"byteOffset":3360,"byteLength":288,"target":34962,"byteStride":12},{"buffer":0,"byteOffset":3648,"byteLength":288,"target":34962,"byteStride":12},{"buffer":0,"byteOffset":3936,"byteLength":192,"target":34962,"byteStride":8},{"buffer":0,"byteOffset":4128,"byteLength":72,"target":34963},{"buffer":0,"byteOffset":4200,"byteLength":288,"target":34962,"byteStride":12},{"buffer":0,"byteOffset":4488,"byteLength":288,"target":34962,"byteStride":12},{"buffer":0,"byteOffset":4776,"byteLength":192,"target":34962,"byteStride":8},{"buffer":0,"byteOffset":4968,"byteLength":72,"target":34963},{"buffer":0,"byteOffset":5040,"byteLength":288,"target":34962,"byteStride":12},{"buffer":0,"byteOffset":5328,"byteLength":288,"target":34962,"byteStride":12},{"buffer":0,"byteOffset":5616,"byteLength":192,"target":34962,"byteStride":8},{"buffer":0,"byteOffset":5808,"byteLength":72,"target":34963},{"buffer":0,"byteOffset":5880,"byteLength":288,"target":34962,"byteStride":12},{"buffer":0,"byteOffset":6168,"byteLength":288,"target":34962,"byteStride":12},{"buffer":0,"byteOffset":6456,"byteLength":192,"target":34962,"byteStride":8},{"buffer":0,"byteOffset":6648,"byteLength":72,"target":34963},{"buffer":0,"byteOffset":6720,"byteLength":288,"target":34962,"byteStride":12},{"buffer":0,"byteOffset":7008,"byteLength":288,"target":34962,"byteStride":12},{"buffer":0,"byteOffset":7296,"byteLength":192,"target":34962,"byteStride":8},{"buffer":0,"byteOffset":7488,"byteLength":72,"target":34963},{"buffer":0,"byteOffset":7560,"byteLength":288,"target":34962,"byteStride":12},{"buffer":0,"byteOffset":7848,"byteLength":288,"target":34962,"byteStride":12},{"buffer":0,"byteOffset":8136,"byteLength":192,"target":34962,"byteStride":8},{"buffer":0,"byteOffset":8328,"byteLength":72,"target":34963},{"buffer":0,"byteOffset":8400,"byteLength":288,"target":34962,"byteStride":12},{"buffer":0,"byteOffset":8688,"byteLength":288,"target":34962,"byteStride":12},{"buffer":0,"byteOffset":8976,"byteLength":192,"target":34962,"byteStride":8},{"buffer":0,"byteOffset":9168,"byteLength":72,"target":34963},{"buffer":0,"byteOffset":9240,"byteLength":288,"target":34962,"byteStride":12},{"buffer":0,"byteOffset":9528,"byteLength":288,"target":34962,"byteStride":12},{"buffer":0,"byteOffset":9816,"byteLength":192,"target":34962,"byteStride":8},{"buffer":0,"byteOffset":10008,"byteLength":72,"target":34963}],"buffers":[{"byteLength":10080,"uri":"data:application/octet-stream;base64,AACAPgAAAEAAAIA+AACAPgAAAEAAAIC+AACAPgAAwD8AAIA+AACAPgAAwD8AAIC+AACAvgAAAEAAAIC+AACAvgAAAEAAAIA+AACAvgAAwD8AAIC+AACAvgAAwD8AAIA+AACAvgAAAEAAAIC+AACAPgAAAEAAAIC+AACAvgAAAEAAAIA+AACAPgAAAEAAAIA+AACAvgAAwD8AAIA+AACAPgAAwD8AAIA+AACAvgAAwD8AAIC+AACAPgAAwD8AAIC+AACAvgAAAEAAAIA+AACAPgAAAEAAAIA+AACAvgAAwD8AAIA+AACAPgAAwD8AAIA+AACAPgAAAEAAAIC+AACAvgAAAEAAAIC+AACAPgAAwD8AAIC+AACAvgAAwD8AAIC+AACAPwAAAAAAAAAAAACAPwAAAAAAAAAAAACAPwAAAAAAAAAAAACAPwAAAAAAAAAAAACAvwAAAAAAAAAAAACAvwAAAAAAAAAAAACAvwAAAAAAAAAAAACAvwAAAAAAAAAAAAAAAAAAgD8AAAAAAAAAAAAAgD8AAAAAAAAAAAAAgD8AAAAAAAAAAAAAgD8AAAAAAAAAAAAAgL8AAAAAAAAAAAAAgL8AAAAAAAAAAAAAgL8AAAAAAAAAAAAAgL8AAAAAAAAAAAAAAAAAAIA/AAAAAAAAAAAAAIA/AAAAAAAAAAAAAIA/AAAAAAAAAAAAAIA/AAAAAAAAAAAAAIC/AAAAAAAAAAAAAIC/AAAAAAAAAAAAAIC/AAAAAAAAAAAAAIC/AACAOQBAAD4AgP89AEAAPgAAgDkAwH8+AID/PQDAfz4AIIA+AEAAPgDgvz4AQAA+ACCAPgDAfz4A4L8+AMB/PgDAfz4AgP89AEAAPgCA/z0AwH8+AACAOQBAAD4AAIA5AOC/PgAAgDkAIIA+AACAOQDgvz4AgP89ACCAPgCA/z0AIMA+AEAAPgDg/z4AQAA+ACDAPgDAfz4A4P8+AMB/PgBAAD4AQAA+AMB/PgBAAD4AQAA+AMB/PgDAfz4AwH8+AAACAAEAAgADAAEABAAGAAUABgAHAAUACAAKAAkACgALAAkADAAOAA0ADgAPAA0AEAASABEAEgATABEAFAAWABUAFgAXABUAAACQPgAAAkAAAJA+AACQPgAAAkAAAJC+AACQPgAAvD8AAJA+AACQPgAAvD8AAJC+AACQvgAAAkAAAJC+AACQvgAAAkAAAJA+AACQvgAAvD8AAJC+AACQvgAAvD8AAJA+AACQvgAAAkAAAJC+AACQPgAAAkAAAJC+AACQvgAAAkAAAJA+AACQPgAAAkAAAJA+AACQvgAAvD8AAJA+AACQPgAAvD8AAJA+AACQvgAAvD8AAJC+AACQPgAAvD8AAJC+AACQvgAAAkAAAJA+AACQPgAAAkAAAJA+AACQvgAAvD8AAJA+AACQPgAAvD8AAJA+AACQPgAAAkAAAJC+AACQvgAAAkAAAJC+AACQPgAAvD8AAJC+AACQvgAAvD8AAJC+AACAPwAAAAAAAAAAAACAPwAAAAAAAAAAAACAPwAAAAAAAAAAAACAPwAAAAAAAAAAAACAvwAAAAAAAAAAAACAvwAAAAAAAAAAAACAvwAAAAAAAAAAAACAvwAAAAAAAAAAAAAAAAAAgD8AAAAAAAAAAAAAgD8AAAAAAAAAAAAAgD8AAAAAAAAAAAAAgD8AAAAAAAAAAAAAgL8AAAAAAAAAAAAAgL8AAAAAAAAAAAAAgL8AAAAAAAAAAAAAgL8AAAAAAAAAAAAAAAAAAIA/AAAAAAAAAAAAAIA/AAAAAAAAAAAAAIA/AAAAAAAAAAAAAIA/AAAAAAAAAAAAAIC/AAAAAAAAAAAAAIC/AAAAAAAAAAAAAIC/AAAAAAAAAAAAAIC/ABAAPwBAAD4A8B8/AEAAPgAQAD8AwH8+APAfPwDAfz4AEEA/AEAAPgDwXz8AQAA+ABBAPwDAfz4A8F8/AMB/PgDwPz8AgP89ABAgPwCA/z0A8D8/AACAOQAQID8AAIA5APBfPwAAgDkAEEA/AACAOQDwXz8AgP89ABBAPwCA/z0AEGA/AEAAPgDwfz8AQAA+ABBgPwDAfz4A8H8/AMB/PgAQID8AQAA+APA/PwBAAD4AECA/AMB/PgDwPz8AwH8+AAACAAEAAgADAAEABAAGAAUABgAHAAUACAAKAAkACgALAAkADAAOAA0ADgAPAA0AEAASABEAEgATABEAFAAWABUAFgAXABUAAACAPgAAwD8AAAA+AACAPgAAwD8AAAC+AACAPgAAQD8AAAA+AACAPgAAQD8AAAC+AACAvgAAwD8AAAC+AACAvgAAwD8AAAA+AACAvgAAQD8AAAC+AACAvgAAQD8AAAA+AACAvgAAwD8AAAC+AACAPgAAwD8AAAC+AACAvgAAwD8AAAA+AACAPgAAwD8AAAA+AACAvgAAQD8AAAA+AACAPgAAQD8AAAA+AACAvgAAQD8AAAC+AACAPgAAQD8AAAC+AACAvgAAwD8AAAA+AACAPgAAwD8AAAA+AACAvgAAQD8AAAA+AACAPgAAQD8AAAA+AACAPgAAwD8AAAC+AACAvgAAwD8AAAC+AACAPgAAQD8AAAC+AACAvgAAQD8AAAC+AACAPwAAAAAAAAAAAACAPwAAAAAAAAAAAACAPwAAAAAAAAAAAACAPwAAAAAAAAAAAACAvwAAAAAAAAAAAACAvwAAAAAAAAAAAACAvwAAAAAAAAAAAACAvwAAAAAAAAAAAAAAAAAAgD8AAAAAAAAAAAAAgD8AAAAAAAAAAAAAgD8AAAAAAAAAAAAAgD8AAAAAAAAAAAAAgL8AAAAAAAAAAAAAgL8AAAAAAAAAAAAAgL8AAAAAAAAAAAAAgL8AAAAAAAAAAAAAAAAAAIA/AAAAAAAAAAAAAIA/AAAAAAAAAAAAAIA/AAAAAAAAAAAAAIA/AAAAAAAAAAAAAIC/AAAAAAAAAAAAAIC/AAAAAAAAAAAAAIC/AAAAAAAAAAAAAIC/ACCAPgAgoD4A4J8+ACCgPgAggD4A4P8+AOCfPgDg/z4AIOA+ACCgPgDg/z4AIKA+ACDgPgDg/z4A4P8+AOD/PgDg3z4A4J8+ACCgPgDgnz4A4N8+ACCAPgAgoD4AIIA+APAPPwAggD4AIOA+ACCAPgDwDz8A4J8+ACDgPgDgnz4AEAA/ACCgPgDwHz8AIKA+ABAAPwDg/z4A8B8/AOD/PgAgoD4AIKA+AODfPgAgoD4AIKA+AOD/PgDg3z4A4P8+AAACAAEAAgADAAEABAAGAAUABgAHAAUACAAKAAkACgALAAkADAAOAA0ADgAPAA0AEAASABEAEgATABEAFAAWABUAFgAXABUAAACIPgAAwj8AABA+AACIPgAAwj8AABC+AACIPgAAPD8AABA+AACIPgAAPD8AABC+AACIvgAAwj8AABC+AACIvgAAwj8AABA+AACIvgAAPD8AABC+AACIvgAAPD8AABA+AACIvgAAwj8AABC+AACIPgAAwj8AABC+AACIvgAAwj8AABA+AACIPgAAwj8AABA+AACIvgAAPD8AABA+AACIPgAAPD8AABA+AACIvgAAPD8AABC+AACIPgAAPD8AABC+AACIvgAAwj8AABA+AACIPgAAwj8AABA+AACIvgAAPD8AABA+AACIPgAAPD8AABA+AACIPgAAwj8AABC+AACIvgAAwj8AABC+AACIPgAAPD8AABC+AACIvgAAPD8AABC+AACAPwAAAAAAAAAAAACAPwAAAAAAAAAAAACAPwAAAAAAAAAAAACAPwAAAAAAAAAAAACAvwAAAAAAAAAAAACAvwAAAAAAAAAAAACAvwAAAAAAAAAAAACAvwAAAAAAAAAAAAAAAAAAgD8AAAAAAAAAAAAAgD8AAAAAAAAAAAAAgD8AAAAAAAAAAAAAgD8AAAAAAAAAAAAAgL8AAAAAAAAAAAAAgL8AAAAAAAAAAAAAgL8AAAAAAAAAAAAAgL8AAAAAAAAAAAAAAAAAAIA/AAAAAAAAAAAAAIA/AAAAAAAAAAAAAIA/AAAAAAAAAAAAAIA/AAAAAAAAAAAAAIC/AAAAAAAAAAAAAIC/AAAAAAAAAAAAAIC/AAAAAAAAAAAAAIC/ACCAPgAQED8A4J8+ABAQPwAggD4A8D8/AOCfPgDwPz8AIOA+ABAQPwDg/z4AEBA/ACDgPgDwPz8A4P8+APA/PwDg3z4A8A8/ACCgPgDwDz8A4N8+ABAAPwAgoD4AEAA/APAPPwAQAD8AIOA+ABAAPwDwDz8A8A8/ACDgPgDwDz8AEAA/ABAQPwDwHz8AEBA/ABAAPwDwPz8A8B8/APA/PwAgoD4AEBA/AODfPgAQED8AIKA+APA/PwDg3z4A8D8/AAACAAEAAgADAAEABAAGAAUABgAHAAUACAAKAAkACgALAAkADAAOAA0ADgAPAA0AEAASABEAEgATABEAFAAWABUAFgAXABUAAAAAPwAAwD8AAAA+AAAAPwAAwD8AAAC+AAAAPwAAQD8AAAA+AAAAPwAAQD8AAAC+AACAPgAAwD8AAAC+AACAPgAAwD8AAAA+AACAPgAAQD8AAAC+AACAPgAAQD8AAAA+AACAPgAAwD8AAAC+AAAAPwAAwD8AAAC+AACAPgAAwD8AAAA+AAAAPwAAwD8AAAA+AACAPgAAQD8AAAA+AAAAPwAAQD8AAAA+AACAPgAAQD8AAAC+AAAAPwAAQD8AAAC+AACAPgAAwD8AAAA+AAAAPwAAwD8AAAA+AACAPgAAQD8AAAA+AAAAPwAAQD8AAAA+AAAAPwAAwD8AAAC+AACAPgAAwD8AAAC+AAAAPwAAQD8AAAC+AACAPgAAQD8AAAC+AACAPwAAAAAAAAAAAACAPwAAAAAAAAAAAACAPwAAAAAAAAAAAACAPwAAAAAAAAAAAACAvwAAAAAAAAAAAACAvwAAAAAAAAAAAACAvwAAAAAAAAAAAACAvwAAAAAAAAAAAAAAAAAAgD8AAAAAAAAAAAAAgD8AAAAAAAAAAAAAgD8AAAAAAAAAAAAAgD8AAAAAAAAAAAAAgL8AAAAAAAAAAAAAgL8AAAAAAAAAAAAAgL8AAAAAAAAAAAAAgL8AAAAAAAAAAAAAAAAAAIA/AAAAAAAAAAAAAIA/AAAAAAAAAAAAAIA/AAAAAAAAAAAAAIA/AAAAAAAAAAAAAIC/AAAAAAAAAAAAAIC/AAAAAAAAAAAAAIC/AAAAAAAAAAAAAIC/ABAgPwAgoD4A8C8/ACCgPgAQID8A4P8+APAvPwDg/z4AEEA/ACCgPgDwTz8AIKA+ABBAPwDg/z4A8E8/AOD/PgDwPz8A4J8+ABAwPwDgnz4A8D8/ACCAPgAQMD8AIIA+APBPPwAggD4AEEA/ACCAPgDwTz8A4J8+ABBAPwDgnz4AEFA/ACCgPgDwXz8AIKA+ABBQPwDg/z4A8F8/AOD/PgAQMD8AIKA+APA/PwAgoD4AEDA/AOD/PgDwPz8A4P8+AAACAAEAAgADAAEABAAGAAUABgAHAAUACAAKAAkACgALAAkADAAOAA0ADgAPAA0AEAASABEAEgATABEAFAAWABUAFgAXABUAAAAEPwAAwj8AABA+AAAEPwAAwj8AABC+AAAEPwAAPD8AABA+AAAEPwAAPD8AABC+AABwPgAAwj8AABC+AABwPgAAwj8AABA+AABwPgAAPD8AABC+AABwPgAAPD8AABA+AABwPgAAwj8AABC+AAAEPwAAwj8AABC+AABwPgAAwj8AABA+AAAEPwAAwj8AABA+AABwPgAAPD8AABA+AAAEPwAAPD8AABA+AABwPgAAPD8AABC+AAAEPwAAPD8AABC+AABwPgAAwj8AABA+AAAEPwAAwj8AABA+AABwPgAAPD8AABA+AAAEPwAAPD8AABA+AAAEPwAAwj8AABC+AABwPgAAwj8AABC+AAAEPwAAPD8AABC+AABwPgAAPD8AABC+AACAPwAAAAAAAAAAAACAPwAAAAAAAAAAAACAPwAAAAAAAAAAAACAPwAAAAAAAAAAAACAvwAAAAAAAAAAAACAvwAAAAAAAAAAAACAvwAAAAAAAAAAAACAvwAAAAAAAAAAAAAAAAAAgD8AAAAAAAAAAAAAgD8AAAAAAAAAAAAAgD8AAAAAAAAAAAAAgD8AAAAAAAAAAAAAgL8AAAAAAAAAAAAAgL8AAAAAAAAAAAAAgL8AAAAAAAAAAAAAgL8AAAAAAAAAAAAAAAAAAIA/AAAAAAAAAAAAAIA/AAAAAAAAAAAAAIA/AAAAAAAAAAAAAIA/AAAAAAAAAAAAAIC/AAAAAAAAAAAAAIC/AAAAAAAAAAAAAIC/AAAAAAAAAAAAAIC/ABAgPwAQED8A8C8/ABAQPwAQID8A8D8/APAvPwDwPz8AEEA/ABAQPwDwTz8AEBA/ABBAPwDwPz8A8E8/APA/PwDwPz8A8A8/ABAwPwDwDz8A8D8/ABAAPwAQMD8AEAA/APBPPwAQAD8AEEA/ABAAPwDwTz8A8A8/ABBAPwDwDz8AEFA/ABAQPwDwXz8AEBA/ABBQPwDwPz8A8F8/APA/PwAQMD8AEBA/APA/PwAQED8AEDA/APA/PwDwPz8A8D8/AAACAAEAAgADAAEABAAGAAUABgAHAAUACAAKAAkACgALAAkADAAOAA0ADgAPAA0AEAASABEAEgATABEAFAAWABUAFgAXABUAAACAvgAAwD8AAAA+AACAvgAAwD8AAAC+AACAvgAAQD8AAAA+AACAvgAAQD8AAAC+AAAAvwAAwD8AAAC+AAAAvwAAwD8AAAA+AAAAvwAAQD8AAAC+AAAAvwAAQD8AAAA+AAAAvwAAwD8AAAC+AACAvgAAwD8AAAC+AAAAvwAAwD8AAAA+AACAvgAAwD8AAAA+AAAAvwAAQD8AAAA+AACAvgAAQD8AAAA+AAAAvwAAQD8AAAC+AACAvgAAQD8AAAC+AAAAvwAAwD8AAAA+AACAvgAAwD8AAAA+AAAAvwAAQD8AAAA+AACAvgAAQD8AAAA+AACAvgAAwD8AAAC+AAAAvwAAwD8AAAC+AACAvgAAQD8AAAC+AAAAvwAAQD8AAAC+AACAPwAAAAAAAAAAAACAPwAAAAAAAAAAAACAPwAAAAAAAAAAAACAPwAAAAAAAAAAAACAvwAAAAAAAAAAAACAvwAAAAAAAAAAAACAvwAAAAAAAAAAAACAvwAAAAAAAAAAAAAAAAAAgD8AAAAAAAAAAAAAgD8AAAAAAAAAAAAAgD8AAAAAAAAAAAAAgD8AAAAAAAAAAAAAgL8AAAAAAAAAAAAAgL8AAAAAAAAAAAAAgL8AAAAAAAAAAAAAgL8AAAAAAAAAAAAAAAAAAIA/AAAAAAAAAAAAAIA/AAAAAAAAAAAAAIA/AAAAAAAAAAAAAIA/AAAAAAAAAAAAAIC/AAAAAAAAAAAAAIC/AAAAAAAAAAAAAIC/AAAAAAAAAAAAAIC/ABAAPwAQUD8A8A8/ABBQPwAQAD8A8H8/APAPPwDwfz8AECA/ABBQPwDwLz8AEFA/ABAgPwDwfz8A8C8/APB/PwDwHz8A8E8/ABAQPwDwTz8A8B8/ABBAPwAQED8AEEA/APAvPwAQQD8AECA/ABBAPwDwLz8A8E8/ABAgPwDwTz8AEDA/ABBQPwDwPz8AEFA/ABAwPwDwfz8A8D8/APB/PwAQED8AEFA/APAfPwAQUD8AEBA/APB/PwDwHz8A8H8/AAACAAEAAgADAAEABAAGAAUABgAHAAUACAAKAAkACgALAAkADAAOAA0ADgAPAA0AEAASABEAEgATABEAFAAWABUAFgAXABUAAABwvgAAwj8AABA+AABwvgAAwj8AABC+AABwvgAAPD8AABA+AABwvgAAPD8AABC+AAAEvwAAwj8AABC+AAAEvwAAwj8AABA+AAAEvwAAPD8AABC+AAAEvwAAPD8AABA+AAAEvwAAwj8AABC+AABwvgAAwj8AABC+AAAEvwAAwj8AABA+AABwvgAAwj8AABA+AAAEvwAAPD8AABA+AABwvgAAPD8AABA+AAAEvwAAPD8AABC+AABwvgAAPD8AABC+AAAEvwAAwj8AABA+AABwvgAAwj8AABA+AAAEvwAAPD8AABA+AABwvgAAPD8AABA+AABwvgAAwj8AABC+AAAEvwAAwj8AABC+AABwvgAAPD8AABC+AAAEvwAAPD8AABC+AACAPwAAAAAAAAAAAACAPwAAAAAAAAAAAACAPwAAAAAAAAAAAACAPwAAAAAAAAAAAACAvwAAAAAAAAAAAACAvwAAAAAAAAAAAACAvwAAAAAAAAAAAACAvwAAAAAAAAAAAAAAAAAAgD8AAAAAAAAAAAAAgD8AAAAAAAAAAAAAgD8AAAAAAAAAAAAAgD8AAAAAAAAAAAAAgL8AAAAAAAAAAAAAgL8AAAAAAAAAAAAAgL8AAAAAAAAAAAAAgL8AAAAAAAAAAAAAAAAAAIA/AAAAAAAAAAAAAIA/AAAAAAAAAAAAAIA/AAAAAAAAAAAAAIA/AAAAAAAAAAAAAIC/AAAAAAAAAAAAAIC/AAAAAAAAAAAAAIC/AAAAAAAAAAAAAIC/ABBAPwAQUD8A8E8/ABBQPwAQQD8A8H8/APBPPwDwfz8AEGA/ABBQPwDwbz8AEFA/ABBgPwDwfz8A8G8/APB/PwDwXz8A8E8/ABBQPwDwTz8A8F8/ABBAPwAQUD8AEEA/APBvPwAQQD8AEGA/ABBAPwDwbz8A8E8/ABBgPwDwTz8AEHA/ABBQPwDwfz8AEFA/ABBwPwDwfz8A8H8/APB/PwAQUD8AEFA/APBfPwAQUD8AEFA/APB/PwDwXz8A8H8/AAACAAEAAgADAAEABAAGAAUABgAHAAUACAAKAAkACgALAAkADAAOAA0ADgAPAA0AEAASABEAEgATABEAFAAWABUAFgAXABUAmpl5PgAAQD8AAAA+mpl5PgAAQD8AAAC+mpl5PgAAAAAAAAA+mpl5PgAAAAAAAAC+zczMuwAAQD8AAAC+zczMuwAAQD8AAAA+zczMuwAAAAAAAAC+zczMuwAAAAAAAAA+zczMuwAAQD8AAAC+mpl5PgAAQD8AAAC+zczMuwAAQD8AAAA+mpl5PgAAQD8AAAA+zczMuwAAAAAAAAA+mpl5PgAAAAAAAAA+zczMuwAAAAAAAAC+mpl5PgAAAAAAAAC+zczMuwAAQD8AAAA+mpl5PgAAQD8AAAA+zczMuwAAAAAAAAA+mpl5PgAAAAAAAAA+mpl5PgAAQD8AAAC+zczMuwAAQD8AAAC+mpl5PgAAAAAAAAC+zczMuwAAAAAAAAC+AACAPwAAAAAAAAAAAACAPwAAAAAAAAAAAACAPwAAAAAAAAAAAACAPwAAAAAAAAAAAACAvwAAAAAAAAAAAACAvwAAAAAAAAAAAACAvwAAAAAAAAAAAACAvwAAAAAAAAAAAAAAAAAAgD8AAAAAAAAAAAAAgD8AAAAAAAAAAAAAgD8AAAAAAAAAAAAAgD8AAAAAAAAAAAAAgL8AAAAAAAAAAAAAgL8AAAAAAAAAAAAAgL8AAAAAAAAAAAAAgL8AAAAAAAAAAAAAAAAAAIA/AAAAAAAAAAAAAIA/AAAAAAAAAAAAAIA/AAAAAAAAAAAAAIA/AAAAAAAAAAAAAIC/AAAAAAAAAAAAAIC/AAAAAAAAAAAAAIC/AAAAAAAAAAAAAIC/AACAOQAgoD4AAH89ACCgPgAAgDkA4P8+AAB/PQDg/z4AQAA+ACCgPgDAPz4AIKA+AEAAPgDg/z4AwD8+AOD/PgCA/z0A4J8+AICAPQDgnz4AgP89ACCAPgCAgD0AIIA+AMA/PgAggD4AQAA+ACCAPgDAPz4A4J8+AEAAPgDgnz4AQEA+ACCgPgDAfz4AIKA+AEBAPgDg/z4AwH8+AOD/PgCAgD0AIKA+AID/PQAgoD4AgIA9AOD/PgCA/z0A4P8+AAACAAEAAgADAAEABAAGAAUABgAHAAUACAAKAAkACgALAAkADAAOAA0ADgAPAA0AEAASABEAEgATABEAFAAWABUAFgAXABUAzcyEPgAARD8AABA+zcyEPgAARD8AABC+zcyEPgAAgLwAABA+zcyEPgAAgLwAABC+MzOzvAAARD8AABC+MzOzvAAARD8AABA+MzOzvAAAgLwAABC+MzOzvAAAgLwAABA+MzOzvAAARD8AABC+zcyEPgAARD8AABC+MzOzvAAARD8AABA+zcyEPgAARD8AABA+MzOzvAAAgLwAABA+zcyEPgAAgLwAABA+MzOzvAAAgLwAABC+zcyEPgAAgLwAABC+MzOzvAAARD8AABA+zcyEPgAARD8AABA+MzOzvAAAgLwAABA+zcyEPgAAgLwAABA+zcyEPgAARD8AABC+MzOzvAAARD8AABC+zcyEPgAAgLwAABC+MzOzvAAAgLwAABC+AACAPwAAAAAAAAAAAACAPwAAAAAAAAAAAACAPwAAAAAAAAAAAACAPwAAAAAAAAAAAACAvwAAAAAAAAAAAACAvwAAAAAAAAAAAACAvwAAAAAAAAAAAACAvwAAAAAAAAAAAAAAAAAAgD8AAAAAAAAAAAAAgD8AAAAAAAAAAAAAgD8AAAAAAAAAAAAAgD8AAAAAAAAAAAAAgL8AAAAAAAAAAAAAgL8AAAAAAAAAAAAAgL8AAAAAAAAAAAAAgL8AAAAAAAAAAAAAAAAAAIA/AAAAAAAAAAAAAIA/AAAAAAAAAAAAAIA/AAAAAAAAAAAAAIA/AAAAAAAAAAAAAIC/AAAAAAAAAAAAAIC/AAAAAAAAAAAAAIC/AAAAAAAAAAAAAIC/AACAOQAQED8AAH89ABAQPwAAgDkA8D8/AAB/PQDwPz8AQAA+ABAQPwDAPz4AEBA/AEAAPgDwPz8AwD8+APA/PwCA/z0A8A8/AICAPQDwDz8AgP89ABAAPwCAgD0AEAA/AMA/PgAQAD8AQAA+ABAAPwDAPz4A8A8/AEAAPgDwDz8AQEA+ABAQPwDAfz4AEBA/AEBAPgDwPz8AwH8+APA/PwCAgD0AEBA/AID/PQAQED8AgIA9APA/PwCA/z0A8D8/AAACAAEAAgADAAEABAAGAAUABgAHAAUACAAKAAkACgALAAkADAAOAA0ADgAPAA0AEAASABEAEgATABEAFAAWABUAFgAXABUAzczMOwAAQD8AAAA+zczMOwAAQD8AAAC+zczMOwAAAAAAAAA+zczMOwAAAAAAAAC+mpl5vgAAQD8AAAC+mpl5vgAAQD8AAAA+mpl5vgAAAAAAAAC+mpl5vgAAAAAAAAA+mpl5vgAAQD8AAAC+zczMOwAAQD8AAAC+mpl5vgAAQD8AAAA+zczMOwAAQD8AAAA+mpl5vgAAAAAAAAA+zczMOwAAAAAAAAA+mpl5vgAAAAAAAAC+zczMOwAAAAAAAAC+mpl5vgAAQD8AAAA+zczMOwAAQD8AAAA+mpl5vgAAAAAAAAA+zczMOwAAAAAAAAA+zczMOwAAQD8AAAC+mpl5vgAAQD8AAAC+zczMOwAAAAAAAAC+mpl5vgAAAAAAAAC+AACAPwAAAAAAAAAAAACAPwAAAAAAAAAAAACAPwAAAAAAAAAAAACAPwAAAAAAAAAAAACAvwAAAAAAAAAAAACAvwAAAAAAAAAAAACAvwAAAAAAAAAAAACAvwAAAAAAAAAAAAAAAAAAgD8AAAAAAAAAAAAAgD8AAAAAAAAAAAAAgD8AAAAAAAAAAAAAgD8AAAAAAAAAAAAAgL8AAAAAAAAAAAAAgL8AAAAAAAAAAAAAgL8AAAAAAAAAAAAAgL8AAAAAAAAAAAAAAAAAAIA/AAAAAAAAAAAAAIA/AAAAAAAAAAAAAIA/AAAAAAAAAAAAAIA/AAAAAAAAAAAAAIC/AAAAAAAAAAAAAIC/AAAAAAAAAAAAAIC/AAAAAAAAAAAAAIC/ACCAPgAQUD8A4J8+ABBQPwAggD4A8H8/AOCfPgDwfz8AIMA+ABBQPwDg3z4AEFA/ACDAPgDwfz8A4N8+APB/PwDgvz4A8E8/ACCgPgDwTz8A4L8+ABBAPwAgoD4AEEA/AODfPgAQQD8AIMA+ABBAPwDg3z4A8E8/ACDAPgDwTz8AIOA+ABBQPwDg/z4AEFA/ACDgPgDwfz8A4P8+APB/PwAgoD4AEFA/AOC/PgAQUD8AIKA+APB/PwDgvz4A8H8/AAACAAEAAgADAAEABAAGAAUABgAHAAUACAAKAAkACgALAAkADAAOAA0ADgAPAA0AEAASABEAEgATABEAFAAWABUAFgAXABUAMzOzPAAARD8AABA+MzOzPAAARD8AABC+MzOzPAAAgLwAABA+MzOzPAAAgLwAABC+zcyEvgAARD8AABC+zcyEvgAARD8AABA+zcyEvgAAgLwAABC+zcyEvgAAgLwAABA+zcyEvgAARD8AABC+MzOzPAAARD8AABC+zcyEvgAARD8AABA+MzOzPAAARD8AABA+zcyEvgAAgLwAABA+MzOzPAAAgLwAABA+zcyEvgAAgLwAABC+MzOzPAAAgLwAABC+zcyEvgAARD8AABA+MzOzPAAARD8AABA+zcyEvgAAgLwAABA+MzOzPAAAgLwAABA+MzOzPAAARD8AABC+zcyEvgAARD8AABC+MzOzPAAAgLwAABC+zcyEvgAAgLwAABC+AACAPwAAAAAAAAAAAACAPwAAAAAAAAAAAACAPwAAAAAAAAAAAACAPwAAAAAAAAAAAACAvwAAAAAAAAAAAACAvwAAAAAAAAAAAACAvwAAAAAAAAAAAACAvwAAAAAAAAAAAAAAAAAAgD8AAAAAAAAAAAAAgD8AAAAAAAAAAAAAgD8AAAAAAAAAAAAAgD8AAAAAAAAAAAAAgL8AAAAAAAAAAAAAgL8AAAAAAAAAAAAAgL8AAAAAAAAAAAAAgL8AAAAAAAAAAAAAAAAAAIA/AAAAAAAAAAAAAIA/AAAAAAAAAAAAAIA/AAAAAAAAAAAAAIA/AAAAAAAAAAAAAIC/AAAAAAAAAAAAAIC/AAAAAAAAAAAAAIC/AAAAAAAAAAAAAIC/AACAOQAQUD8AAH89ABBQPwAAgDkA8H8/AAB/PQDwfz8AQAA+ABBQPwDAPz4AEFA/AEAAPgDwfz8AwD8+APB/PwCA/z0A8E8/AICAPQDwTz8AgP89ABBAPwCAgD0AEEA/AMA/PgAQQD8AQAA+ABBAPwDAPz4A8E8/AEAAPgDwTz8AQEA+ABBQPwDAfz4AEFA/AEBAPgDwfz8AwH8+APB/PwCAgD0AEFA/AID/PQAQUD8AgIA9APB/PwCA/z0A8H8/AAACAAEAAgADAAEABAAGAAUABgAHAAUACAAKAAkACgALAAkADAAOAA0ADgAPAA0AEAASABEAEgATABEAFAAWABUAFgAXABUA"}],"accessors":[{"bufferView":0,"componentType":5126,"count":24,"max":[0.25,2,0.25],"min":[-0.25,1.5,-0.25],"type":"VEC3"},{"bufferView":1,"componentType":5126,"count":24,"max":[1,1,1],"min":[-1,-1,-1],"type":"VEC3"},{"bufferView":2,"componentType":5126,"count":24,"max":[0.499755859375,0.249755859375],"min":[0.000244140625,0.000244140625],"type":"VEC2"},{"bufferView":3,"componentType":5123,"count":36,"max":[23],"min":[0],"type":"SCALAR"},{"bufferView":4,"componentType":5126,"count":24,"max":[0.28125,2.03125,0.28125],"min":[-0.28125,1.46875,-0.28125],"type":"VEC3"},{"bufferView":5,"componentType":5126,"count":24,"max":[1,1,1],"min":[-1,-1,-1],"type":"VEC3"},{"bufferView":6,"componentType":5126,"count":24,"max":[0.999755859375,0.249755859375],"min":[0.500244140625,0.000244140625],"type":"VEC2"},{"bufferView":7,"componentType":5123,"count":36,"max":[23],"min":[0],"type":"SCALAR"},{"bufferView":8,"componentType":5126,"count":24,"max":[0.25,1.5,0.125],"min":[-0.25,0.75,-0.125],"type":"VEC3"},{"bufferView":9,"componentType":5126,"count":24,"max":[1,1,1],"min":[-1,-1,-1],"type":"VEC3"},{"bufferView":10,"componentType":5126,"count":24,"max":[0.624755859375,0.499755859375],"min":[0.250244140625,0.250244140625],"type":"VEC2"},{"bufferView":11,"componentType":5123,"count":36,"max":[23],"min":[0],"type":"SCALAR"},{"bufferView":12,"componentType":5126,"count":24,"max":[0.265625,1.515625,0.140625],"min":[-0.265625,0.734375,-0.140625],"type":"VEC3"},{"bufferView":13,"componentType":5126,"count":24,"max":[1,1,1],"min":[-1,-1,-1],"type":"VEC3"},{"bufferView":14,"componentType":5126,"count":24,"max":[0.624755859375,0.749755859375],"min":[0.250244140625,0.500244140625],"type":"VEC2"},{"bufferView":15,"componentType":5123,"count":36,"max":[23],"min":[0],"type":"SCALAR"},{"bufferView":16,"componentType":5126,"count":24,"max":[0.5,1.5,0.125],"min":[0.25,0.75,-0.125],"type":"VEC3"},{"bufferView":17,"componentType":5126,"count":24,"max":[1,1,1],"min":[-1,-1,-1],"type":"VEC3"},{"bufferView":18,"componentType":5126,"count":24,"max":[0.874755859375,0.499755859375],"min":[0.625244140625,0.250244140625],"type":"VEC2"},{"bufferView":19,"componentType":5123,"count":36,"max":[23],"min":[0],"type":"SCALAR"},{"bufferView":20,"componentType":5126,"count":24,"max":[0.515625,1.515625,0.140625],"min":[0.234375,0.734375,-0.140625],"type":"VEC3"},{"bufferView":21,"componentType":5126,"count":24,"max":[1,1,1],"min":[-1,-1,-1],"type":"VEC3"},{"bufferView":22,"componentType":5126,"count":24,"max":[0.874755859375,0.749755859375],"min":[0.625244140625,0.500244140625],"type":"VEC2"},{"bufferView":23,"componentType":5123,"count":36,"max":[23],"min":[0],"type":"SCALAR"},{"bufferView":24,"componentType":5126,"count":24,"max":[-0.25,1.5,0.125],"min":[-0.5,0.75,-0.125],"type":"VEC3"},{"bufferView":25,"componentType":5126,"count":24,"max":[1,1,1],"min":[-1,-1,-1],"type":"VEC3"},{"bufferView":26,"componentType":5126,"count":24,"max":[0.749755859375,0.999755859375],"min":[0.500244140625,0.750244140625],"type":"VEC2"},{"bufferView":27,"componentType":5123,"count":36,"max":[23],"min":[0],"type":"SCALAR"},{"bufferView":28,"componentType":5126,"count":24,"max":[-0.234375,1.515625,0.140625],"min":[-0.515625,0.734375,-0.140625],"type":"VEC3"},{"bufferView":29,"componentType":5126,"count":24,"max":[1,1,1],"min":[-1,-1,-1],"type":"VEC3"},{"bufferView":30,"componentType":5126,"count":24,"max":[0.999755859375,0.999755859375],"min":[0.750244140625,0.750244140625],"type":"VEC2"},{"bufferView":31,"componentType":5123,"count":36,"max":[23],"min":[0],"type":"SCALAR"},{"bufferView":32,"componentType":5126,"count":24,"max":[0.24375000596046448,0.75,0.125],"min":[-0.0062500000931322575,0,-0.125],"type":"VEC3"},{"bufferView":33,"componentType":5126,"count":24,"max":[1,1,1],"min":[-1,-1,-1],"type":"VEC3"},{"bufferView":34,"componentType":5126,"count":24,"max":[0.249755859375,0.499755859375],"min":[0.000244140625,0.250244140625],"type":"VEC2"},{"bufferView":35,"componentType":5123,"count":36,"max":[23],"min":[0],"type":"SCALAR"},{"bufferView":36,"componentType":5126,"count":24,"max":[0.2593750059604645,0.765625,0.140625],"min":[-0.02187499962747097,-0.015625,-0.140625],"type":"VEC3"},{"bufferView":37,"componentType":5126,"count":24,"max":[1,1,1],"min":[-1,-1,-1],"type":"VEC3"},{"bufferView":38,"componentType":5126,"count":24,"max":[0.249755859375,0.749755859375],"min":[0.000244140625,0.500244140625],"type":"VEC2"},{"bufferView":39,"componentType":5123,"count":36,"max":[23],"min":[0],"type":"SCALAR"},{"bufferView":40,"componentType":5126,"count":24,"max":[0.0062500000931322575,0.75,0.125],"min":[-0.24375000596046448,0,-0.125],"type":"VEC3"},{"bufferView":41,"componentType":5126,"count":24,"max":[1,1,1],"min":[-1,-1,-1],"type":"VEC3"},{"bufferView":42,"componentType":5126,"count":24,"max":[0.499755859375,0.999755859375],"min":[0.250244140625,0.750244140625],"type":"VEC2"},{"bufferView":43,"componentType":5123,"count":36,"max":[23],"min":[0],"type":"SCALAR"},{"bufferView":44,"componentType":5126,"count":24,"max":[0.02187499962747097,0.765625,0.140625],"min":[-0.2593750059604645,-0.015625,-0.140625],"type":"VEC3"},{"bufferView":45,"componentType":5126,"count":24,"max":[1,1,1],"min":[-1,-1,-1],"type":"VEC3"},{"bufferView":46,"componentType":5126,"count":24,"max":[0.249755859375,0.999755859375],"min":[0.000244140625,0.750244140625],"type":"VEC2"},{"bufferView":47,"componentType":5123,"count":36,"max":[23],"min":[0],"type":"SCALAR"}],"materials":[{"pbrMetallicRoughness":{"metallicFactor":0,"roughnessFactor":1,"baseColorTexture":{"index":0}},"alphaMode":"MASK","alphaCutoff":0.05,"doubleSided":true}],"textures":[{"sampler":0,"source":0}],"samplers":[{"magFilter":9728,"minFilter":9728,"wrapS":33071,"wrapT":33071}],"images":[{"mimeType":"image/png","uri":"data:image/png;base64,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"}],"meshes":[{"primitives":[{"mode":4,"attributes":{"POSITION":0,"NORMAL":1,"TEXCOORD_0":2},"indices":3,"material":0}]},{"primitives":[{"mode":4,"attributes":{"POSITION":4,"NORMAL":5,"TEXCOORD_0":6},"indices":7,"material":0}]},{"primitives":[{"mode":4,"attributes":{"POSITION":8,"NORMAL":9,"TEXCOORD_0":10},"indices":11,"material":0}]},{"primitives":[{"mode":4,"attributes":{"POSITION":12,"NORMAL":13,"TEXCOORD_0":14},"indices":15,"material":0}]},{"primitives":[{"mode":4,"attributes":{"POSITION":16,"NORMAL":17,"TEXCOORD_0":18},"indices":19,"material":0}]},{"primitives":[{"mode":4,"attributes":{"POSITION":20,"NORMAL":21,"TEXCOORD_0":22},"indices":23,"material":0}]},{"primitives":[{"mode":4,"attributes":{"POSITION":24,"NORMAL":25,"TEXCOORD_0":26},"indices":27,"material":0}]},{"primitives":[{"mode":4,"attributes":{"POSITION":28,"NORMAL":29,"TEXCOORD_0":30},"indices":31,"material":0}]},{"primitives":[{"mode":4,"attributes":{"POSITION":32,"NORMAL":33,"TEXCOORD_0":34},"indices":35,"material":0}]},{"primitives":[{"mode":4,"attributes":{"POSITION":36,"NORMAL":37,"TEXCOORD_0":38},"indices":39,"material":0}]},{"primitives":[{"mode":4,"attributes":{"POSITION":40,"NORMAL":41,"TEXCOORD_0":42},"indices":43,"material":0}]},{"primitives":[{"mode":4,"attributes":{"POSITION":44,"NORMAL":45,"TEXCOORD_0":46},"indices":47,"material":0}]}]}
\ No newline at end of file
diff --git a/apps/app-frontend/src/pages/Skins.vue b/apps/app-frontend/src/pages/Skins.vue
index 32e6beea7..1c4e7f709 100644
--- a/apps/app-frontend/src/pages/Skins.vue
+++ b/apps/app-frontend/src/pages/Skins.vue
@@ -1,6 +1,6 @@
diff --git a/packages/ui/src/vue-shims.d.ts b/packages/ui/src/vue-shims.d.ts
index 41c2ecce6..aae8c737a 100644
--- a/packages/ui/src/vue-shims.d.ts
+++ b/packages/ui/src/vue-shims.d.ts
@@ -4,3 +4,8 @@ declare module '*.vue' {
const component: ReturnType
export default component
}
+
+declare module '*.glsl' {
+ const value: string
+ export default value
+}
diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml
index a221cffa3..0a1ce3f5f 100644
--- a/pnpm-lock.yaml
+++ b/pnpm-lock.yaml
@@ -420,9 +420,18 @@ importers:
'@modrinth/utils':
specifier: workspace:*
version: link:../utils
+ '@tresjs/cientos':
+ specifier: ^4.3.0
+ version: 4.3.0(@tresjs/core@4.3.4(three@0.172.0)(typescript@5.5.4)(vue@3.5.13(typescript@5.5.4)))(@types/three@0.172.0)(three@0.172.0)(typescript@5.5.4)(vue@3.5.13(typescript@5.5.4))
+ '@tresjs/core':
+ specifier: ^4.3.4
+ version: 4.3.4(three@0.172.0)(typescript@5.5.4)(vue@3.5.13(typescript@5.5.4))
'@types/markdown-it':
specifier: ^14.1.1
version: 14.1.1
+ '@types/three':
+ specifier: ^0.172.0
+ version: 0.172.0
'@vintl/how-ago':
specifier: ^3.0.1
version: 3.0.1(@formatjs/intl@2.10.4(typescript@5.5.4))
@@ -444,6 +453,9 @@ importers:
qrcode.vue:
specifier: ^3.4.1
version: 3.4.1(vue@3.5.13(typescript@5.5.4))
+ three:
+ specifier: ^0.172.0
+ version: 0.172.0
vue-multiselect:
specifier: 3.0.0
version: 3.0.0
@@ -546,6 +558,9 @@ packages:
resolution: {integrity: sha512-UrcABB+4bUrFABwbluTIBErXwvbsU/V7TZWfmbgJfbkwiBuziS9gxdODUyuiecfdGQ85jglMW6juS3+z5TsKLw==}
engines: {node: '>=10'}
+ '@alvarosabu/utils@3.2.0':
+ resolution: {integrity: sha512-aoGWRfaQjOo9TUwrBA6W0zwTHktgrXy69GIFNILT4gHsqscw6+X8P6uoSlZVQFr887SPm8x3aDin5EBVq8y4pw==}
+
'@ampproject/remapping@2.3.0':
resolution: {integrity: sha512-30iZtAPgz+LTIYoeivqYo853f02jBYSd5uGnGpkFV0M3xOt9aN73erkgYAmZU43x4VfqcnLxW9Kpg3R5LC4YYw==}
engines: {node: '>=6.0.0'}
@@ -2454,6 +2469,19 @@ packages:
'@tauri-apps/plugin-window-state@2.2.2':
resolution: {integrity: sha512-7pFwmMtGhhhE/WgmM7PUrj0BSSWVAQMfDdYbRalphIqqF1tWBvxtlxclx8bTutpXHLJTQoCpIeWtBEIXsoAlGw==}
+ '@tresjs/cientos@4.3.0':
+ resolution: {integrity: sha512-8YvzgqHab1lsRjTX2KAOg+glQfS+YeqF3wB8XB/+I7/IUconYetSiCJHwLb2FArI9iF7as0x3QRhx8Y2msiysg==}
+ peerDependencies:
+ '@tresjs/core': '>=4.2.1'
+ three: '>=0.133'
+ vue: '>=3.3'
+
+ '@tresjs/core@4.3.4':
+ resolution: {integrity: sha512-1wK8aWGTJTnB4ClTXC+yQ9FZvZsFW5sAVmhW2G83tedMXJvhKRilhFn3EBWOJSJ/9kGvb/8iRLlaCBqwF5b12g==}
+ peerDependencies:
+ three: '>=0.133'
+ vue: '>=3.4'
+
'@trysound/sax@0.2.0':
resolution: {integrity: sha512-L7z9BgrNEcYyUYtF+HaEfiS5ebkh9jXqbszz7pC0hRBPaatV0XjSD3+eHrpqFemQfgwiFF0QPIarnIihIDn7OA==}
engines: {node: '>=10.13.0'}
@@ -2473,6 +2501,9 @@ packages:
'@types/dompurify@3.0.5':
resolution: {integrity: sha512-1Wg0g3BtQF7sSb27fJQAKck1HECM6zV1EB66j8JH9i3LCjYabJa0FSdiSgsD5K/RbrsR0SiraKacLB+T8ZVYAg==}
+ '@types/draco3d@1.4.10':
+ resolution: {integrity: sha512-AX22jp8Y7wwaBgAixaSvkoG4M/+PlAcm3Qs4OW8yT9DM4xUpWKeFhLueTAyZF39pviAdcDdeJoACapiAceqNcw==}
+
'@types/eslint-scope@3.7.7':
resolution: {integrity: sha512-MzMFlSLBqNF2gcHWO0G1vP/YQyfvrxZ0bF+u7mzUdZ1/xK4A4sru+nraZz5i3iEIk1l1uyicaDVTB4QbbEkAYg==}
@@ -2545,6 +2576,9 @@ packages:
'@types/normalize-package-data@2.4.4':
resolution: {integrity: sha512-37i+OaWTh9qeK4LSHPsyRC7NahnGotNuZvjLSgcPzblpHB3rrCJxAOgI5gCdKm7coonsaX1Of0ILiTcnZjbfxA==}
+ '@types/offscreencanvas@2019.7.3':
+ resolution: {integrity: sha512-ieXiYmgSRXUDeOntE1InxjWyvEelZGP63M+cGuquuRLuIKKT1osnkXjxev9B7d1nXSug5vpunx+gNlbVxMlC9A==}
+
'@types/resolve@1.20.2':
resolution: {integrity: sha512-60BCwRFOZCQhDncwQdxxeOEEkbc5dIMccYLwbxsS4TUNeVECQ/pBJ0j09mrHOl/JJvpRPGwO9SvE4nR2Nb/a4Q==}
@@ -2575,6 +2609,9 @@ packages:
'@types/web-bluetooth@0.0.20':
resolution: {integrity: sha512-g9gZnnXVq7gM7v3tJCWV/qw7w+KeOlSHAhgF9RytFyifW6AF61hdT2ucrYhPq9hLs5JIryeupHV3qGk95dH9ow==}
+ '@types/web-bluetooth@0.0.21':
+ resolution: {integrity: sha512-oIQLCGWtcFZy2JW77j9k8nHzAOpqMHLQejDA48XXMWH6tjCQHz5RCFz1bzsmROyL6PUm+LLnUiI4BCn221inxA==}
+
'@types/webxr@0.5.21':
resolution: {integrity: sha512-geZIAtLzjGmgY2JUi6VxXdCrTb99A7yP49lxLr2Nm/uIK0PkkxcEi4OGhoGDO4pxCf3JwGz2GiJL2Ej4K2bKaA==}
@@ -2969,18 +3006,27 @@ packages:
'@vueuse/core@11.1.0':
resolution: {integrity: sha512-P6dk79QYA6sKQnghrUz/1tHi0n9mrb/iO1WTMk/ElLmTyNqgDeSZ3wcDf6fRBGzRJbeG1dxzEOvLENMjr+E3fg==}
+ '@vueuse/core@12.8.2':
+ resolution: {integrity: sha512-HbvCmZdzAu3VGi/pWYm5Ut+Kd9mn1ZHnn4L5G8kOQTPs/IwIAmJoBrmYk2ckLArgMXZj0AW3n5CAejLUO+PhdQ==}
+
'@vueuse/core@9.13.0':
resolution: {integrity: sha512-pujnclbeHWxxPRqXWmdkKV5OX4Wk4YeK7wusHqRwU0Q7EFusHoqNA/aPhB6KCh9hEqJkLAJo7bb0Lh9b+OIVzw==}
'@vueuse/metadata@11.1.0':
resolution: {integrity: sha512-l9Q502TBTaPYGanl1G+hPgd3QX5s4CGnpXriVBR5fEZ/goI6fvDaVmIl3Td8oKFurOxTmbXvBPSsgrd6eu6HYg==}
+ '@vueuse/metadata@12.8.2':
+ resolution: {integrity: sha512-rAyLGEuoBJ/Il5AmFHiziCPdQzRt88VxR+Y/A/QhJ1EWtWqPBBAxTAFaSkviwEuOEZNtW8pvkPgoCZQ+HxqW1A==}
+
'@vueuse/metadata@9.13.0':
resolution: {integrity: sha512-gdU7TKNAUVlXXLbaF+ZCfte8BjRJQWPCa2J55+7/h+yDtzw3vOoGQDRXzI6pyKyo6bXFT5/QoPE4hAknExjRLQ==}
'@vueuse/shared@11.1.0':
resolution: {integrity: sha512-YUtIpY122q7osj+zsNMFAfMTubGz0sn5QzE5gPzAIiCmtt2ha3uQUY1+JPyL4gRCTsLPX82Y9brNbo/aqlA91w==}
+ '@vueuse/shared@12.8.2':
+ resolution: {integrity: sha512-dznP38YzxZoNloI0qpEfpkms8knDtaoQ6Y/sfS0L7Yki4zh40LFHEhur0odJC6xTHG5dxWVPiUWBXn+wCG2s5w==}
+
'@vueuse/shared@9.13.0':
resolution: {integrity: sha512-UrnhU+Cnufu4S6JLCPZnkWh0WwZGUp72ktOF2DFptMlOs3TOdVv8xJN53zhHGARmVOsz5KqOls09+J1NR6sBKw==}
@@ -3385,6 +3431,11 @@ packages:
resolution: {integrity: sha512-8WB3Jcas3swSvjIeA2yvCJ+Miyz5l1ZmB6HFb9R1317dt9LCQoswg/BGrmAmkWVEszSrrg4RwmO46qIm2OEnSA==}
engines: {node: '>=16'}
+ camera-controls@2.10.1:
+ resolution: {integrity: sha512-KnaKdcvkBJ1Irbrzl8XD6WtZltkRjp869Jx8c0ujs9K+9WD+1D7ryBsCiVqJYUqt6i/HR5FxT7RLASieUD+Q5w==}
+ peerDependencies:
+ three: '>=0.126.1'
+
caniuse-api@3.0.0:
resolution: {integrity: sha512-bsTwuIg/BZZK/vreVTYYbSWoe2F+71P7K5QGEX+pT250DZbfU1MQ5prOKpPR+LL6uWKK3KMwMCAS74QB3Um1uw==}
@@ -3887,6 +3938,9 @@ packages:
resolution: {integrity: sha512-ZmdL2rui+eB2YwhsWzjInR8LldtZHGDoQ1ugH85ppHKwpUHL7j7rN0Ti9NCnGiQbhaZ11FpR+7ao1dNsmduNUg==}
engines: {node: '>=12'}
+ draco3d@1.5.7:
+ resolution: {integrity: sha512-m6WCKt/erDXcw+70IJXnG7M3awwQPAsZvJGX5zY7beBqpELw6RDGkYVU0W43AFxye4pDZ5i2Lbyc/NNGqwjUVQ==}
+
dset@3.1.4:
resolution: {integrity: sha512-2QF/g9/zTaPDc3BjNcVTGoBbXBgYfMTTceLaYcFJ/W9kggFUkhxD/hMEeuLKbugyef9SqAx8cpgwlIP/jinUTA==}
engines: {node: '>=4'}
@@ -4413,6 +4467,9 @@ packages:
fflate@0.4.8:
resolution: {integrity: sha512-FJqqoDBR00Mdj9ppamLa/Y7vxm+PRmNWA67N846RvsoYVMKB4q3y/de5PA7gUmRMYK/8CMz2GDZQmCRN1wBcWA==}
+ fflate@0.6.10:
+ resolution: {integrity: sha512-IQrh3lEPM93wVCEczc9SaAOvkmcoQn/G8Bo1e8ZPlY3X3bnAxWaBdvTdvM1hP62iZp0BXWDy4vTAy4fF0+Dlpg==}
+
fflate@0.8.2:
resolution: {integrity: sha512-cPJU47OaAoCbg0pBvzsgpTPhmhqI5eJjh/JIu8tPj5q+T7iLvW/JAYUqmE7KOB4R1ZyEhzBaIQpQpardBF5z8A==}
@@ -4638,6 +4695,15 @@ packages:
resolution: {integrity: sha512-s3Fq41ZVh7vbbe2PN3nrW7yC7U7MFVc5c98/iTl9c2GawNMKx/J648KQRW6WKkuU8GIbbh2IXfIRQjOZnXcTnw==}
engines: {node: '>=18'}
+ glsl-token-functions@1.0.1:
+ resolution: {integrity: sha512-EigGhp1g+aUVeUNY7H1o5tL/bnwIB3/FcRREPr2E7Du+/UDXN24hDkaZ3e4aWHDjHr9lJ6YHXMISkwhUYg9UOg==}
+
+ glsl-token-string@1.0.1:
+ resolution: {integrity: sha512-1mtQ47Uxd47wrovl+T6RshKGkRRCYWhnELmkEcUAPALWGTFe2XZpH3r45XAwL2B6v+l0KNsCnoaZCSnhzKEksg==}
+
+ glsl-tokenizer@2.1.5:
+ resolution: {integrity: sha512-XSZEJ/i4dmz3Pmbnpsy3cKh7cotvFlBiZnDOwnj/05EwNp2XrhQ4XKJxT7/pDt4kp4YcpRSKz8eTV7S+mwV6MA==}
+
gopd@1.0.1:
resolution: {integrity: sha512-d65bNlIadxvpb/A2abVdlqKqV563juRnZ1Wtk6s1sIR8uNsXR70xqIzVqxVf1eTqDunwT2MkczEeaezCKTZhwA==}
@@ -5076,6 +5142,9 @@ packages:
resolution: {integrity: sha512-jv+8jaWCl0g2lSBkNSVXdzfBA0npK1HGC2KtWM9FumFRoGS94g3NbCCLVnCYHLjp4GrW2KZeeSTMo5ddtznmGw==}
engines: {node: '>=18'}
+ isarray@0.0.1:
+ resolution: {integrity: sha512-D2S+3GLxWH+uhrNEcoh/fnmYeP8E8/zHl644d/jdA0g2uyXvy3sb0qxotE+ne0LtccHknQzWwZEzhak7oJ0COQ==}
+
isarray@1.0.0:
resolution: {integrity: sha512-VLghIWNM6ELQzo7zwmcg0NmTVyWKYjvIeM83yjp0wRDTmUnrM678fQbcKBo6n2CJEF0szoG//ytg+TKla89ALQ==}
@@ -6252,6 +6321,9 @@ packages:
posthog-js@1.158.2:
resolution: {integrity: sha512-ovb7GHHRNDf6vmuL+8lbDukewzDzQlLZXg3d475hrfHSBgidYeTxtLGtoBcUz4x6558BLDFjnSip+f3m4rV9LA==}
+ potpack@1.0.2:
+ resolution: {integrity: sha512-choctRBIV9EMT9WGAZHn3V7t0Z2pMQyl0EZE6pFc/6ml3ssw7Dlf/oAOvFwjm1HVsqfQN8GfeFyJ+d8tRzqueQ==}
+
preact@10.23.2:
resolution: {integrity: sha512-kKYfePf9rzKnxOAKDpsWhg/ysrHPqT+yQ7UW4JjdnqjFIeNUnNcEJvhuA8fDenxAGWzUqtd51DfVg7xp/8T9NA==}
@@ -6407,6 +6479,9 @@ packages:
resolution: {integrity: sha512-Ug69mNOpfvKDAc2Q8DRpMjjzdtrnv9HcSMX+4VsZxD1aZ6ZzrIE7rlzXBtWTyhULSMKg076AW6WR5iZpD0JiOg==}
engines: {node: '>=8'}
+ readable-stream@1.0.34:
+ resolution: {integrity: sha512-ok1qVCJuRkNmvebYikljxJA/UEsKwLl2nI1OmaqAu4/UE+h0wKCHok4XkL/gvi39OacXvw59RJUOFUkDib2rHg==}
+
readable-stream@2.3.8:
resolution: {integrity: sha512-8p0AUk4XODgIewSi0l8Epjs+EVnWiK7NoDIEGU0HhE7+ZyY8D1IMY7odu5lRrFXGg71L15KG8QrPmum45RTtdA==}
@@ -6860,6 +6935,15 @@ packages:
'@astrojs/starlight': '>=0.30.0'
astro: '>=5.1.5'
+ stats-gl@2.4.2:
+ resolution: {integrity: sha512-g5O9B0hm9CvnM36+v7SFl39T7hmAlv541tU81ME8YeSb3i1CIP5/QdDeSB3A0la0bKNHpxpwxOVRo2wFTYEosQ==}
+ peerDependencies:
+ '@types/three': '*'
+ three: '*'
+
+ stats.js@0.17.0:
+ resolution: {integrity: sha512-hNKz8phvYLPEcRkeG1rsGmV5ChMjKDAWU7/OJJdDErPBNChQXxCo3WZurGpnWc6gZhAzEPFad1aVgyOANH1sMw==}
+
statuses@2.0.1:
resolution: {integrity: sha512-RwNA9Z/7PrK06rYLIzFMlaF+l73iwpzsqRIFgbMLbTcLD6cOao82TaWefPXQvB2fOC4AjuYSEndS7N/mTCbkdQ==}
engines: {node: '>= 0.8'}
@@ -6896,6 +6980,9 @@ packages:
resolution: {integrity: sha512-UXSH262CSZY1tfu3G3Secr6uGLCFVPMhIqHjlgCUtCCcgihYc/xKs9djMTMUOb2j1mVSeU8EU6NWc/iQKU6Gfg==}
engines: {node: '>= 0.4'}
+ string_decoder@0.10.31:
+ resolution: {integrity: sha512-ev2QzSzWPYmy9GuqfIVildA4OdcGLeFZQrq5ys6RtiuF+RQQiZWr8TZNyAcuVXyQRYfEO+MsoB/1BuQVhOJuoQ==}
+
string_decoder@1.1.1:
resolution: {integrity: sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==}
@@ -7091,9 +7178,29 @@ packages:
thenify@3.3.1:
resolution: {integrity: sha512-RVZSIV5IG10Hk3enotrhvz0T9em6cyHBLkH/YAZuKqd8hRkKhSfCGIcP2KUY0EPxndzANBmNllzWPwak+bheSw==}
+ three-custom-shader-material@5.4.0:
+ resolution: {integrity: sha512-Yn1lFlKOk3Vul3npEGAmbbFUZ5S2+yjPgM2XqJEZEYRSUUH2vk+WVYrtTB6Bcq15wa7hLUXAKoctAvbRmBmbYA==}
+ peerDependencies:
+ '@react-three/fiber': '>=8.0'
+ react: '>=18.0'
+ three: '>=0.154'
+ peerDependenciesMeta:
+ '@react-three/fiber':
+ optional: true
+ react:
+ optional: true
+
+ three-stdlib@2.36.0:
+ resolution: {integrity: sha512-kv0Byb++AXztEGsULgMAs8U2jgUdz6HPpAB/wDJnLiLlaWQX2APHhiTJIN7rqW+Of0eRgcp7jn05U1BsCP3xBA==}
+ peerDependencies:
+ three: '>=0.128.0'
+
three@0.172.0:
resolution: {integrity: sha512-6HMgMlzU97MsV7D/tY8Va38b83kz8YJX+BefKjspMNAv0Vx6dxMogHOrnRl/sbMIs3BPUKijPqDqJ/+UwJbIow==}
+ through2@0.6.5:
+ resolution: {integrity: sha512-RkK/CCESdTKQZHdmKICijdKKsCRVHs5KsLZ6pACAmF/1GPUQhonHSXWNERctxEp7RmvjdNbZTL5z9V7nSCXKcg==}
+
tiny-invariant@1.3.3:
resolution: {integrity: sha512-+FbBPE1o9QAYvviau/qC5SE3caw21q3xkvWKBtja5vgqOWIHHJ3ioaq1VPfn/Szqctz2bU/oYeKd9/z5BL+PVg==}
@@ -7985,6 +8092,10 @@ packages:
engines: {node: '>= 0.10.0'}
hasBin: true
+ xtend@4.0.2:
+ resolution: {integrity: sha512-LKYU1iAXJXUgAXn9URjiu+MWhyUXHsvfp7mcuYm9dSUKK0/CjtrUwFAxD82/mCWbtLsGjFIad0wIsod4zrTAEQ==}
+ engines: {node: '>=0.4'}
+
xxhash-wasm@1.1.0:
resolution: {integrity: sha512-147y/6YNh+tlp6nd/2pWq38i9h6mz/EuQ6njIrmW8D1BS5nCqs0P6DG+m6zTGnNz5I+uhZ0SHxBs9BsPrwcKDA==}
@@ -8069,6 +8180,8 @@ snapshots:
'@alloc/quick-lru@5.2.0': {}
+ '@alvarosabu/utils@3.2.0': {}
+
'@ampproject/remapping@2.3.0':
dependencies:
'@jridgewell/gen-mapping': 0.3.5
@@ -10158,6 +10271,33 @@ snapshots:
dependencies:
'@tauri-apps/api': 2.5.0
+ '@tresjs/cientos@4.3.0(@tresjs/core@4.3.4(three@0.172.0)(typescript@5.5.4)(vue@3.5.13(typescript@5.5.4)))(@types/three@0.172.0)(three@0.172.0)(typescript@5.5.4)(vue@3.5.13(typescript@5.5.4))':
+ dependencies:
+ '@tresjs/core': 4.3.4(three@0.172.0)(typescript@5.5.4)(vue@3.5.13(typescript@5.5.4))
+ '@vueuse/core': 12.8.2(typescript@5.5.4)
+ camera-controls: 2.10.1(three@0.172.0)
+ stats-gl: 2.4.2(@types/three@0.172.0)(three@0.172.0)
+ stats.js: 0.17.0
+ three: 0.172.0
+ three-custom-shader-material: 5.4.0(three@0.172.0)
+ three-stdlib: 2.36.0(three@0.172.0)
+ vue: 3.5.13(typescript@5.5.4)
+ transitivePeerDependencies:
+ - '@react-three/fiber'
+ - '@types/three'
+ - react
+ - typescript
+
+ '@tresjs/core@4.3.4(three@0.172.0)(typescript@5.5.4)(vue@3.5.13(typescript@5.5.4))':
+ dependencies:
+ '@alvarosabu/utils': 3.2.0
+ '@vue/devtools-api': 6.6.4
+ '@vueuse/core': 12.8.2(typescript@5.5.4)
+ three: 0.172.0
+ vue: 3.5.13(typescript@5.5.4)
+ transitivePeerDependencies:
+ - typescript
+
'@trysound/sax@0.2.0': {}
'@tweenjs/tween.js@23.1.3': {}
@@ -10176,6 +10316,8 @@ snapshots:
dependencies:
'@types/trusted-types': 2.0.7
+ '@types/draco3d@1.4.10': {}
+
'@types/eslint-scope@3.7.7':
dependencies:
'@types/eslint': 9.6.1
@@ -10257,6 +10399,8 @@ snapshots:
'@types/normalize-package-data@2.4.4': {}
+ '@types/offscreencanvas@2019.7.3': {}
+
'@types/resolve@1.20.2': {}
'@types/sax@1.2.7':
@@ -10286,6 +10430,8 @@ snapshots:
'@types/web-bluetooth@0.0.20': {}
+ '@types/web-bluetooth@0.0.21': {}
+
'@types/webxr@0.5.21': {}
'@typescript-eslint/eslint-plugin@6.21.0(@typescript-eslint/parser@6.21.0(eslint@9.13.0(jiti@2.4.1))(typescript@5.5.4))(eslint@9.13.0(jiti@2.4.1))(typescript@5.5.4)':
@@ -10943,6 +11089,15 @@ snapshots:
- '@vue/composition-api'
- vue
+ '@vueuse/core@12.8.2(typescript@5.5.4)':
+ dependencies:
+ '@types/web-bluetooth': 0.0.21
+ '@vueuse/metadata': 12.8.2
+ '@vueuse/shared': 12.8.2(typescript@5.5.4)
+ vue: 3.5.13(typescript@5.5.4)
+ transitivePeerDependencies:
+ - typescript
+
'@vueuse/core@9.13.0(vue@3.5.13(typescript@5.5.4))':
dependencies:
'@types/web-bluetooth': 0.0.16
@@ -10955,6 +11110,8 @@ snapshots:
'@vueuse/metadata@11.1.0': {}
+ '@vueuse/metadata@12.8.2': {}
+
'@vueuse/metadata@9.13.0': {}
'@vueuse/shared@11.1.0(vue@3.5.13(typescript@5.5.4))':
@@ -10964,6 +11121,12 @@ snapshots:
- '@vue/composition-api'
- vue
+ '@vueuse/shared@12.8.2(typescript@5.5.4)':
+ dependencies:
+ vue: 3.5.13(typescript@5.5.4)
+ transitivePeerDependencies:
+ - typescript
+
'@vueuse/shared@9.13.0(vue@3.5.13(typescript@5.5.4))':
dependencies:
vue-demi: 0.14.10(vue@3.5.13(typescript@5.5.4))
@@ -11542,6 +11705,10 @@ snapshots:
camelcase@8.0.0: {}
+ camera-controls@2.10.1(three@0.172.0):
+ dependencies:
+ three: 0.172.0
+
caniuse-api@3.0.0:
dependencies:
browserslist: 4.24.2
@@ -11982,6 +12149,8 @@ snapshots:
dotenv@16.4.5: {}
+ draco3d@1.5.7: {}
+
dset@3.1.4: {}
dunder-proto@1.0.1:
@@ -12846,6 +13015,8 @@ snapshots:
fflate@0.4.8: {}
+ fflate@0.6.10: {}
+
fflate@0.8.2: {}
file-entry-cache@6.0.1:
@@ -13119,6 +13290,14 @@ snapshots:
slash: 5.1.0
unicorn-magic: 0.1.0
+ glsl-token-functions@1.0.1: {}
+
+ glsl-token-string@1.0.1: {}
+
+ glsl-tokenizer@2.1.5:
+ dependencies:
+ through2: 0.6.5
+
gopd@1.0.1:
dependencies:
get-intrinsic: 1.2.4
@@ -13670,6 +13849,8 @@ snapshots:
dependencies:
system-architecture: 0.1.0
+ isarray@0.0.1: {}
+
isarray@1.0.0: {}
isarray@2.0.5: {}
@@ -15265,6 +15446,8 @@ snapshots:
preact: 10.23.2
web-vitals: 4.2.3
+ potpack@1.0.2: {}
+
preact@10.23.2: {}
preferred-pm@4.1.1:
@@ -15358,6 +15541,13 @@ snapshots:
parse-json: 5.2.0
type-fest: 0.6.0
+ readable-stream@1.0.34:
+ dependencies:
+ core-util-is: 1.0.3
+ inherits: 2.0.4
+ isarray: 0.0.1
+ string_decoder: 0.10.31
+
readable-stream@2.3.8(patch_hash=h52dazg37p4h3yox67pw36akse):
dependencies:
core-util-is: 1.0.3
@@ -16019,6 +16209,13 @@ snapshots:
transitivePeerDependencies:
- openapi-types
+ stats-gl@2.4.2(@types/three@0.172.0)(three@0.172.0):
+ dependencies:
+ '@types/three': 0.172.0
+ three: 0.172.0
+
+ stats.js@0.17.0: {}
+
statuses@2.0.1: {}
std-env@3.8.0: {}
@@ -16070,6 +16267,8 @@ snapshots:
define-properties: 1.2.1
es-object-atoms: 1.0.0
+ string_decoder@0.10.31: {}
+
string_decoder@1.1.1:
dependencies:
safe-buffer: 5.1.2
@@ -16292,8 +16491,31 @@ snapshots:
dependencies:
any-promise: 1.3.0
+ three-custom-shader-material@5.4.0(three@0.172.0):
+ dependencies:
+ glsl-token-functions: 1.0.1
+ glsl-token-string: 1.0.1
+ glsl-tokenizer: 2.1.5
+ object-hash: 3.0.0
+ three: 0.172.0
+
+ three-stdlib@2.36.0(three@0.172.0):
+ dependencies:
+ '@types/draco3d': 1.4.10
+ '@types/offscreencanvas': 2019.7.3
+ '@types/webxr': 0.5.21
+ draco3d: 1.5.7
+ fflate: 0.6.10
+ potpack: 1.0.2
+ three: 0.172.0
+
three@0.172.0: {}
+ through2@0.6.5:
+ dependencies:
+ readable-stream: 1.0.34
+ xtend: 4.0.2
+
tiny-invariant@1.3.3: {}
tinyexec@0.3.1: {}
@@ -17204,6 +17426,8 @@ snapshots:
commander: 2.20.3
cssfilter: 0.0.10
+ xtend@4.0.2: {}
+
xxhash-wasm@1.1.0: {}
y18n@5.0.8: {}