Compare commits

...
5 Commits
Author SHA1 Message Date
tresabhi dc6c528167 logs 2026-07-05 14:06:46 -05:00
tresabhi b4d5d4c16e reduce ground brightness in static mode 2026-07-05 14:04:09 -05:00
tresabhi f2f6d4ff49 add persistent count for the number of model users to unload only when
uses drops to 0
2026-07-05 13:44:04 -05:00
tresabhi cdbb7647f0 fixed fill and clip rule naming 2026-07-05 13:41:21 -05:00
TrèsAbhi 41e40de791 New Crowdin updates (#251)
* New translations en.json (Ukrainian)

[ci skip]

* New translations en.json (Ukrainian)

[ci skip]

* New translations en.json (Ukrainian)

[ci skip]
2026-07-04 22:05:48 -05:00
7 changed files with 32 additions and 9 deletions

No files matched your search

+5
View File
@@ -0,0 +1,5 @@
{
"words": [
"Tankopedia"
]
}
+7
View File
@@ -0,0 +1,7 @@
# BlitzKit 1.30.6
## Fixes
- Tanks no longer "randomly" appear dark in Tankopedia and Mixer
- The ground is now as dark as other modes when Static Armor is selected in Tankopedia
- Fixed some naming issues with the "equal" icon, improving performance a tiny tiny bit
+1 -1
View File
@@ -1,6 +1,6 @@
{
"name": "blitzkit",
"version": "1.30.5",
"version": "1.30.6",
"license": "BlitzKit License",
"private": true,
"scripts": {
+6 -6
View File
@@ -919,13 +919,13 @@
"external": "External",
"gap": "Gap",
"gun": "Gun",
"track": "Tracks"
"track": "Гусениці"
},
"status": {
"penetration": "{damage}hp penetration",
"penetration": "{damage} од. шкоди з пробиттям",
"blocked": "Заблоковано",
"ricochet": "Рикошет",
"splash": "{damage}hp splash"
"splash": "{damage} Од"
},
"stats": {
"thickness_and_angle": "{thickness}mm {angle}°",
@@ -1048,7 +1048,7 @@
"caliber": "Калібр",
"penetration": "Бронепробиття",
"damage": "Шкода",
"damageWithoutAssault": "Damage without assault shells",
"damageWithoutAssault": "Шкода без урахування золотих снарядів",
"clipDamage": "Clipping potential",
"moduleDamage": "Шкода по модулях",
"explosionRadius": "Радіус розльоту уламків",
@@ -1057,7 +1057,7 @@
"dispersion": "Нерухомо",
"dispersionMoving": "У русі",
"dispersionHullTraversing": "Hull traversing",
"dispersionTurretTraversing": "Turret traversing",
"dispersionTurretTraversing": "Обертання башти",
"dispersionShooting": "Shooting",
"dispersionGunDamaged": "Gun damaged",
"gunDepression": "Depression",
@@ -1174,7 +1174,7 @@
},
"performance": {
"name": "Performance",
"button": "View tanks",
"button": "Переглянути танки",
"description": "Tank performance statistics",
"seo_description": "Best tanks and their performances in World of Tanks Blitz",
"estimation": {
@@ -264,6 +264,7 @@ export function StaticArmorSceneComponent({
<mesh
{...meshProps}
key={key}
castShadow
material={surfaceMaterial}
onPointerDown={onPointerDown}
userData={
@@ -11,8 +11,8 @@ export function EqualIcon(props: ComponentProps<"svg">) {
{...props}
>
<path
fill-rule="evenodd"
clip-rule="evenodd"
fillRule="evenodd"
clipRule="evenodd"
d="M1.5 5C1.22386 5 1 5.22386 1 5.5C1 5.77614 1.22386 6 1.5 6H13.5C13.7761 6 14 5.77614 14 5.5C14 5.22386 13.7761 5 13.5 5H1.5ZM1 9.5C1 9.22386 1.22386 9 1.5 9H13.5C13.7761 9 14 9.22386 14 9.5C14 9.77614 13.7761 10 13.5 10H1.5C1.22386 10 1 9.77614 1 9.5Z"
fill="currentColor"
/>
+10
View File
@@ -3,9 +3,19 @@ import { useEffect } from "react";
import { Cache, Group, Mesh, MeshStandardMaterial, Object3D } from "three";
import { GLTFLoader, type GLTF } from "three-stdlib";
const users: Record<string, number> = {};
export function useDispose(gltf: GLTF & ObjectMap, path: string) {
useEffect(() => {
if (path in users) {
users[path]++;
} else {
users[path] = 1;
}
return () => {
if (--users[path] > 0) return;
gltf.scene.traverse((object) => {
if (object instanceof Mesh) {
if (object.material instanceof MeshStandardMaterial) {